Split ros wrapper into two docker images.
This commit is contained in:
@ -129,7 +129,7 @@ Tested with a _Jetson AGX Orin Developer Kit_ module.
|
|||||||
- Build docker container:
|
- Build docker container:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build --progress=plain -f extras/ros/dockerfile -t rapidposetriangulation_ros .
|
docker build --progress=plain -f extras/ros/dockerfile_2d -t rapidposetriangulation_ros2d .
|
||||||
```
|
```
|
||||||
|
|
||||||
- Run and test:
|
- Run and test:
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
test_node:
|
test_node:
|
||||||
image: rapidposetriangulation_ros
|
image: rapidposetriangulation_ros2d
|
||||||
network_mode: "host"
|
network_mode: "host"
|
||||||
ipc: "host"
|
ipc: "host"
|
||||||
runtime: nvidia
|
runtime: nvidia
|
||||||
@ -18,7 +18,7 @@ services:
|
|||||||
command: /bin/bash -i -c 'sleep infinity'
|
command: /bin/bash -i -c 'sleep infinity'
|
||||||
|
|
||||||
estimator:
|
estimator:
|
||||||
image: rapidposetriangulation_ros
|
image: rapidposetriangulation_ros2d
|
||||||
network_mode: "host"
|
network_mode: "host"
|
||||||
ipc: "host"
|
ipc: "host"
|
||||||
runtime: nvidia
|
runtime: nvidia
|
||||||
|
|||||||
@ -7,10 +7,11 @@ Run pose estimator with ros topics as inputs and publish detected poses.
|
|||||||
- Build container:
|
- Build container:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build --progress=plain -t rapidposetriangulation_ros -f extras/ros/dockerfile .
|
docker build --progress=plain -t rapidposetriangulation_ros2d -f extras/ros/dockerfile_2d .
|
||||||
|
docker build --progress=plain -t rapidposetriangulation_ros3d -f extras/ros/dockerfile_3d .
|
||||||
```
|
```
|
||||||
|
|
||||||
- Update or remove the `ROS_DOMAIN_ID` in `docker-compose.yml` to fit your environment
|
- Update or remove the `ROS_DOMAIN_ID` in the `docker-compose.yml` files to fit your environment
|
||||||
|
|
||||||
- Run and test:
|
- Run and test:
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
test_node:
|
test_node:
|
||||||
image: rapidposetriangulation_ros
|
image: rapidposetriangulation_ros2d
|
||||||
network_mode: "host"
|
network_mode: "host"
|
||||||
ipc: "host"
|
ipc: "host"
|
||||||
runtime: nvidia
|
runtime: nvidia
|
||||||
@ -18,7 +18,7 @@ services:
|
|||||||
command: /bin/bash -i -c 'sleep infinity'
|
command: /bin/bash -i -c 'sleep infinity'
|
||||||
|
|
||||||
estimator:
|
estimator:
|
||||||
image: rapidposetriangulation_ros
|
image: rapidposetriangulation_ros2d
|
||||||
network_mode: "host"
|
network_mode: "host"
|
||||||
ipc: "host"
|
ipc: "host"
|
||||||
runtime: nvidia
|
runtime: nvidia
|
||||||
@ -36,7 +36,7 @@ services:
|
|||||||
command: /bin/bash -i -c 'export ROS_DOMAIN_ID=18 && ros2 run rpt2d_wrapper_cpp rpt2d_wrapper'
|
command: /bin/bash -i -c 'export ROS_DOMAIN_ID=18 && ros2 run rpt2d_wrapper_cpp rpt2d_wrapper'
|
||||||
|
|
||||||
pose_visualizer:
|
pose_visualizer:
|
||||||
image: rapidposetriangulation_ros
|
image: rapidposetriangulation_ros2d
|
||||||
network_mode: "host"
|
network_mode: "host"
|
||||||
ipc: "host"
|
ipc: "host"
|
||||||
runtime: nvidia
|
runtime: nvidia
|
||||||
@ -54,7 +54,7 @@ services:
|
|||||||
command: /bin/bash -i -c 'sleep 2 && export ROS_DOMAIN_ID=18 && ros2 run pose2d_visualizer pose2d_visualizer $CAMID'
|
command: /bin/bash -i -c 'sleep 2 && export ROS_DOMAIN_ID=18 && ros2 run pose2d_visualizer pose2d_visualizer $CAMID'
|
||||||
|
|
||||||
pose_viewer:
|
pose_viewer:
|
||||||
image: rapidposetriangulation_ros
|
image: rapidposetriangulation_ros2d
|
||||||
network_mode: "host"
|
network_mode: "host"
|
||||||
ipc: "host"
|
ipc: "host"
|
||||||
runtime: nvidia
|
runtime: nvidia
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
test_node:
|
test_node:
|
||||||
image: rapidposetriangulation_ros
|
image: rapidposetriangulation_ros3d
|
||||||
network_mode: "host"
|
network_mode: "host"
|
||||||
ipc: "host"
|
ipc: "host"
|
||||||
runtime: nvidia
|
runtime: nvidia
|
||||||
@ -18,7 +18,7 @@ services:
|
|||||||
command: /bin/bash -i -c 'sleep infinity'
|
command: /bin/bash -i -c 'sleep infinity'
|
||||||
|
|
||||||
triangulator:
|
triangulator:
|
||||||
image: rapidposetriangulation_ros
|
image: rapidposetriangulation_ros3d
|
||||||
network_mode: "host"
|
network_mode: "host"
|
||||||
ipc: "host"
|
ipc: "host"
|
||||||
runtime: nvidia
|
runtime: nvidia
|
||||||
|
|||||||
@ -45,17 +45,14 @@ RUN echo "source /project/dev_ws/install/setup.bash" >> ~/.bashrc
|
|||||||
# Copy modules
|
# Copy modules
|
||||||
COPY ./extras/include/ /RapidPoseTriangulation/extras/include/
|
COPY ./extras/include/ /RapidPoseTriangulation/extras/include/
|
||||||
COPY ./scripts/ /RapidPoseTriangulation/scripts/
|
COPY ./scripts/ /RapidPoseTriangulation/scripts/
|
||||||
COPY ./rpt/ /RapidPoseTriangulation/rpt/
|
|
||||||
COPY ./extras/ros/rpt_msgs/ /RapidPoseTriangulation/extras/ros/rpt_msgs/
|
COPY ./extras/ros/rpt_msgs/ /RapidPoseTriangulation/extras/ros/rpt_msgs/
|
||||||
COPY ./extras/ros/pose2d_visualizer/ /RapidPoseTriangulation/extras/ros/pose2d_visualizer/
|
COPY ./extras/ros/pose2d_visualizer/ /RapidPoseTriangulation/extras/ros/pose2d_visualizer/
|
||||||
COPY ./extras/ros/rpt2d_wrapper_cpp/ /RapidPoseTriangulation/extras/ros/rpt2d_wrapper_cpp/
|
COPY ./extras/ros/rpt2d_wrapper_cpp/ /RapidPoseTriangulation/extras/ros/rpt2d_wrapper_cpp/
|
||||||
COPY ./extras/ros/rpt3d_wrapper_cpp/ /RapidPoseTriangulation/extras/ros/rpt3d_wrapper_cpp/
|
|
||||||
|
|
||||||
# Link and build as ros package
|
# Link and build as ros package
|
||||||
RUN ln -s /RapidPoseTriangulation/extras/ros/rpt_msgs/ /project/dev_ws/src/
|
RUN ln -s /RapidPoseTriangulation/extras/ros/rpt_msgs/ /project/dev_ws/src/
|
||||||
RUN ln -s /RapidPoseTriangulation/extras/ros/pose2d_visualizer/ /project/dev_ws/src/
|
RUN ln -s /RapidPoseTriangulation/extras/ros/pose2d_visualizer/ /project/dev_ws/src/
|
||||||
RUN ln -s /RapidPoseTriangulation/extras/ros/rpt2d_wrapper_cpp/ /project/dev_ws/src/
|
RUN ln -s /RapidPoseTriangulation/extras/ros/rpt2d_wrapper_cpp/ /project/dev_ws/src/
|
||||||
RUN ln -s /RapidPoseTriangulation/extras/ros/rpt3d_wrapper_cpp/ /project/dev_ws/src/
|
|
||||||
RUN /bin/bash -i -c 'cd /project/dev_ws/; colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release'
|
RUN /bin/bash -i -c 'cd /project/dev_ws/; colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release'
|
||||||
|
|
||||||
# Update ros packages -> autocompletion and check
|
# Update ros packages -> autocompletion and check
|
||||||
44
extras/ros/dockerfile_3d
Normal file
44
extras/ros/dockerfile_3d
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
FROM ros:humble-ros-base-jammy
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Set the working directory to /project
|
||||||
|
WORKDIR /project/
|
||||||
|
|
||||||
|
# Update and install basic tools
|
||||||
|
RUN apt-get update && apt-get upgrade -y
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends git nano wget
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends python3-pip
|
||||||
|
RUN pip3 install --upgrade pip
|
||||||
|
|
||||||
|
# Fix ros package building error
|
||||||
|
RUN pip3 install --no-cache-dir "setuptools<=58.2.0"
|
||||||
|
|
||||||
|
# Add ROS2 sourcing by default
|
||||||
|
RUN echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
|
||||||
|
|
||||||
|
# Create ROS2 workspace for project packages
|
||||||
|
RUN mkdir -p /project/dev_ws/src/
|
||||||
|
RUN cd /project/dev_ws/; colcon build
|
||||||
|
RUN echo "source /project/dev_ws/install/setup.bash" >> ~/.bashrc
|
||||||
|
|
||||||
|
# Copy modules
|
||||||
|
COPY ./extras/include/ /RapidPoseTriangulation/extras/include/
|
||||||
|
COPY ./rpt/ /RapidPoseTriangulation/rpt/
|
||||||
|
COPY ./extras/ros/rpt_msgs/ /RapidPoseTriangulation/extras/ros/rpt_msgs/
|
||||||
|
COPY ./extras/ros/rpt3d_wrapper_cpp/ /RapidPoseTriangulation/extras/ros/rpt3d_wrapper_cpp/
|
||||||
|
|
||||||
|
# Link and build as ros package
|
||||||
|
RUN ln -s /RapidPoseTriangulation/extras/ros/rpt_msgs/ /project/dev_ws/src/
|
||||||
|
RUN ln -s /RapidPoseTriangulation/extras/ros/rpt3d_wrapper_cpp/ /project/dev_ws/src/
|
||||||
|
RUN /bin/bash -i -c 'cd /project/dev_ws/; colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release'
|
||||||
|
|
||||||
|
# Update ros packages -> autocompletion and check
|
||||||
|
RUN /bin/bash -i -c 'ros2 pkg list'
|
||||||
|
|
||||||
|
# Clear cache to save space, only has an effect if image is squashed
|
||||||
|
RUN apt-get autoremove -y \
|
||||||
|
&& apt-get clean \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /RapidPoseTriangulation/
|
||||||
|
CMD ["/bin/bash"]
|
||||||
Reference in New Issue
Block a user