-
Notifications
You must be signed in to change notification settings - Fork 16
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
Add Docker development environment and install script for A25 #10
Open
MarcOlivierFecteau
wants to merge
3
commits into
SherbyRobotics:ros2
Choose a base branch
from
MarcOlivierFecteau:features/docker
base: ros2
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Add Docker development environment and install script for A25 #10
MarcOlivierFecteau
wants to merge
3
commits into
SherbyRobotics:ros2
from
MarcOlivierFecteau:features/docker
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This commit completes the Dockerfile started in A24 for installation pipeline validation, and updates the target to ROS2-Jazzy / Ubuntu 24.04 (in order to be compatible with the RPi5 for A25). The Docker image has been built and run successfully on Windows 11 (23H2) on amd64 architecture, and the baseline codebase (including ROS package dependencies) has been built succesfully inside the container. Note that the "test" program (`ros2 launch racecar_bringup teleop.launch.py`) has NOT been tested. Therefore, the baseline codebase SHOULD be tested with the proper hardware setup (i.e. racecar with RPi5 w/ Ubuntu24.04) BEFORE accepting this PR. This commit also adds utility scripts for building and running the Docker image on Windows, for ROS environment setup on entering the Docker container, and for building the ROS packages with `colcon`. NOTES: - The permissions for accessing the joystick controller and the TTY devices have NOT been given, and SHOULD be given BEFORE testing the baseline codebase; - The Dockerfile COULD (probably) be optimized to reduce the size of the image.
I would gladly test the baseline codebase on the hardware if you could provide me with a (known-good) racecar. I can provide my own RPi5 (and Arduino Mega2560), but it has 8GB of RAM, and I think the racecar SHOULD be able to run on a RPi5 with 4GB RAM, so if you (SherbyRobotics, or the "Robotics department" of UdeS) could provide me with a 4GB model, it would be ideal. |
MarcOlivierFecteau
changed the title
Add Docker development environment for A25
Add Docker development environment and installation script for A25
Jan 22, 2025
The requirements for this feature state that the install script SHOULD be the same for both the Docker image and the direct installation on a RaspberryPi 5. Therefore, a more 'barebone' base Docker image is used, and the installation of the package dependencies was moved into the `ros_entrypoint.sh`. NOTES: - The install script was tested inside a Docker container running the `Ubuntu 24.04 amd64` base image from Windows 11 amd64. The install script SHOULD be tested (and validated) on a RaspberryPi 5 with a fresh install of Ubuntu 24.04 arm64 BEFORE merging the PR. - I tested the install script inside a Docker container running the `Ubuntu 24.04 arm64` bsae image from Windows 11 amd64, but I encountered the following issues: - The install script took more than 1 hour to run; - There were errors when trying to find certain packages or files.
MarcOlivierFecteau
force-pushed
the
features/docker
branch
from
January 22, 2025 03:25
1db5d66
to
e335b6d
Compare
MarcOlivierFecteau
changed the title
Add Docker development environment and installation script for A25
Add Docker development environment and install script for A25
Jan 22, 2025
This commit adds (temporary) Band-Aids to make the install script not crash: - `rosdep init` error due to existing list file; - hard-coded username for chown in `/` workaround; - add `--cmake-clean-cache` to `colcon build` and links it to `source` to avoid skipping build; The install script has been tested on an RPi5 8GB with an Ethernet connection. The install script took ~20 minutes to complete. However, the "test" ROS2 program (`racecar_teleop/teleop.launch.py`) is yet to be tested on a racecar. NOTES: - The install script can easily take 30+ minutes to complete on a RPi5 4GB with no heatsink/fan; - The "temporary" Band-Aids SHOULD be replaced before A25 for a more elegant solution.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit completes the Dockerfile started in A24 for installation pipeline validation, and updates the target to ROS2-Jazzy / Ubuntu 24.04 (in order to be compatible with the RPi5 for A25). The Docker image has been built and run successfully on Windows 11 (23H2) on amd64 architecture, and the baseline codebase (including ROS package dependencies) has been built succesfully inside the container. Note that the "test" program (
ros2 launch racecar_bringup teleop.launch.py
) has NOT been tested. Therefore, the baseline codebase SHOULD be tested with the proper hardware setup (i.e. racecar with RPi5 w/ Ubuntu24.04) BEFORE accepting this PR.This commit also adds utility scripts for building and running the Docker image on Windows, for ROS environment setup on entering the Docker container, and for building the ROS packages with
colcon
.NOTES: