-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hardware ZED Camera Node Part 1 (Installation Overhaul) #91
Conversation
…o environment variables
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed all changes, but I haven't run any code, so I'm not approving yet. I'll run it first thing this morning.
Overall everything looks reasonable, but it would be good to update the downstream example repo with how to use this now. I think that is a pretty good test bed to be sure everything runs and to provide a real world-ish use case example.
@@ -10,33 +10,59 @@ Obelisk should be used as a dependency for external robot control code that is w | |||
3. Use Obelisk in a project that uses `pixi`. | |||
|
|||
### Initial Setup |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be worth clarifying that if the user wants to use Obelisk in a custom docker container (i.e. not the one we provide) then they will want to clone this inside the docker container and run the command that modify the "system level deps", because all of the conditional building is really for the dev container and presumably the user won't want to dev their robot stack in the Obelisk dev container.
On the flip side maybe this is an overreach of the docs, but I think it might make the intended use clearer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made a halfway attempt at commenting on this - if we need further clarity, let's resolve in a future PR
…on3.10/dist-packages
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
This PR begins the process of implementing a ZED2 Camera Node in Obelisk. We start by overhauling the way dependencies are managed/installed with conditional builds and configuring the packages that we build based on the initial setup flags.
Closes #87.
DONE
Installation
The major change to installation is that we now expose build args set when running
setup.sh
to theDockerfile
, which means the image now conditionally builds system-level dependencies based on environment variables on the system. Example usage:setup.sh
--zed
and a--basic
flag. these flags will setOBELISK_BASIC=true
andOBELISK_ZED=true
.install_sys_deps.sh
script into thedocker/
directoryinstall_sys_deps.sh
--basic
and--zed
flag. Basic will install the stuff that's in there now. Zed will install the ZED SDK.Dockerfile
anddocker-compose
yamlsOBELISK_BASIC
andOBELISK_ZED
environment variables as build args--basic
or--zed
conditionally into theinstall_sys_deps.sh
script, which should be added to the imagedocker_setup.sh
touser_setup.sh
, move it toscripts
directory, and copy it into thedocker
directory upon runningsetup.sh
bash install_system_deps.sh --leap
obk
if it wasn't installed already and if the sdk files have been downloadedUsage
messages-build
andros-build
pixi tasks in favor of theobk-build
andobk
alias. These tasks are now calledmessages-build-ci
andros-build-ci
, and are only used for CIsetup.sh
on the host system (for example, if we specify--leap
, we install the leap-related packages in obelisk, and if we don't, we exclude those packages). More concrete example:File Structure
TODOs
Functional
ObeliskSensor
calledZed2Sensors
which initializes and synchronizes several ZED camera outputs, publishing anObkImage
message.Future Issues
obelisk_ws
to reduce package clutter. Issue Organize Example Code #94.source setup.sh --recommended --zed --leap --install-sys-deps
apparently broken on local systemsource setup.sh --recommended --zed --leap --install-sys-deps-docker
fails to install deps in the docker filesystem correctly