@@ -95,7 +95,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
9595RUN rosdep init && rosdep update
9696
9797# Pytorch
98- # Used by elevation_mapping_cupy
98+ # Used by elevation_mapping_cupy and not rosdep resolvable for cuda version
9999RUN python3 -m pip install -U --extra-index-url https://download.pytorch.org/whl/cu121 \
100100 torch \
101101 torchvision \
@@ -121,21 +121,21 @@ RUN python3 -m pip install \
121121 flake8-import-order\
122122 flake8-class-newline\
123123 flake8-blind-except\
124- flake8-quotes\
124+ flake8-quotes
125125 # For Python code formatting. Not sure what package uses it
126126 # black==21.12b0\
127127 #### For elevation_mapping_cupy ####
128- ruamel.yaml\
129- scikit-learn\
130- shapely\
131- opencv-python\
132- cupy-cuda12x\
133- scipy\
134- simple-parsing\
135- "numpy<2.0.0"
128+ # ruamel.yaml\ # replacing with apt python-ruamel.yaml
129+ # scikit-learn\ # replacing with apt python3-sklearn - might not be needeed
130+ # shapely\ # replacing with apt python3-shapely
131+ # opencv-python\ # replacing with apt installed python3-opencv
132+ # cupy-cuda12x\ # extra rosdeps
133+ # scipy\ # apt install scipy instead
134+ # simple-parsing\ # extra rosdeps
135+ # "numpy<2.0.0" # extra rosdeps
136136
137137# Needed for elevation_mapping_cupy to not have run-time errors
138- RUN python3 -m pip install transforms3d -U
138+ # RUN python3 -m pip install transforms3d -U # Replacing with rosdep python3-transforms3d
139139
140140# Set up non-root user
141141RUN groupadd --gid $USER_GID $USERNAME \
@@ -156,51 +156,57 @@ RUN distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
156156 && apt clean \
157157 && rm -rf /var/lib/apt/lists/*
158158
159- RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
160- apt update && apt install -y --no-install-recommends \
159+ # RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
160+ # apt update && apt install -y --no-install-recommends \
161161 # For elevation_mapping_cupy
162- libboost-all-dev\
163- && apt clean && \
164- rm -rf /var/lib/apt/lists/*
162+ # libboost-all-dev\ # resolved by rosdep as boost
163+ # && apt clean && \
164+ # rm -rf /var/lib/apt/lists/*
165165
166- RUN apt update && \
167- DEBIAN_FRONTEND=${DEBIAN_FRONTEND} apt install -y \
166+ # RUN apt update && \
167+ # DEBIAN_FRONTEND=${DEBIAN_FRONTEND} apt install -y \
168168 #### For elevation_mapping_cupy ####
169- ros-${ROS_DISTRO}-grid-map-msgs\
170- ros-${ROS_DISTRO}-grid-map-ros\
171- ros-${ROS_DISTRO}-image-transport\
172- ros-${ROS_DISTRO}-pcl-ros\
173- ros-${ROS_DISTRO}-cv-bridge\
174- ros-${ROS_DISTRO}-tf-transformations\
175- ros-${ROS_DISTRO}-rviz2\
176- ros-${ROS_DISTRO}-gazebo-ros\
177- ros-${ROS_DISTRO}-grid-map-cv\
178- ros-${ROS_DISTRO}-grid-map-core\
179- ros-${ROS_DISTRO}-grid-map-demos\
169+ # ros-${ROS_DISTRO}-grid-map-msgs\ # rosdep grid_map_msgs
170+ # ros-${ROS_DISTRO}-grid-map-ros\ # rosdep grid_map_ros
171+ # ros-${ROS_DISTRO}-image-transport\ # rosdep image_transport
172+ # ros-${ROS_DISTRO}-pcl-ros\# rosdep pcl_ros
173+ # ros-${ROS_DISTRO}-cv-bridge\ # rosdep cv_bridge
174+ # ros-${ROS_DISTRO}-tf-transformations\ # rosdep tf-transformations
175+ # ros-${ROS_DISTRO}-rviz2\ # rosdep rviz2
176+ # ros-${ROS_DISTRO}-gazebo-ros\ # replacing with rosdep gazebo_ros_pkgs
177+ # ros-${ROS_DISTRO}-grid-map-cv\ # rosdep grid_map_cv
178+ # ros-${ROS_DISTRO}-grid-map-core\ # rosdep grid_map_core
179+ # ros-${ROS_DISTRO}-grid-map-demos\ # rosdep grid_map_demos
180180 ##################################
181181 #### For debugging elevation_mapping_cupy by setting up turtlebot3_simulations####
182182 # ros-${ROS_DISTRO}-turtlebot3*\
183- ros-${ROS_DISTRO}-camera-calibration-parsers\
184- ros-${ROS_DISTRO}-camera-info-manager\
185- ros-${ROS_DISTRO}-gazebo-plugins\
186- ros-${ROS_DISTRO}-turtlebot3-msgs\
187- ros-${ROS_DISTRO}-turtlebot3-teleop\
188- ros-${ROS_DISTRO}-gazebo-ros-pkgs\
183+ # ros-${ROS_DISTRO}-camera-calibration-parsers\
184+ # ros-${ROS_DISTRO}-camera-info-manager\
185+ # ros-${ROS_DISTRO}-gazebo-plugins\
186+ # ros-${ROS_DISTRO}-turtlebot3-msgs\
187+ # ros-${ROS_DISTRO}-turtlebot3-teleop\
188+ # ros-${ROS_DISTRO}-gazebo-ros-pkgs\ # replacing with rosdep gazebo_ros_pkgs
189189 ##############################################
190- && apt clean && \
191- rm -rf /var/lib/apt/lists/*
190+ # && apt clean && \
191+ # rm -rf /var/lib/apt/lists/*
192192
193193# Development stage
194194FROM dev as dev2
195195ARG WORKSPACE="/home/ros/workspace"
196196
197- # Print workspace to terminal
198- RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
199- echo "Workspace: ${WORKSPACE}"
200-
201197RUN mkdir -p ${WORKSPACE}/src/elevation_mapping_cupy && chown -R ${USER_UID}:${USER_GID} /home/${USERNAME}
202198RUN echo "if [ -f ${WORKSPACE}/install/setup.bash ]; then source ${WORKSPACE}/install/setup.bash; fi" >> /home/ros/.bashrc
203199WORKDIR ${WORKSPACE}
200+
201+ # TODO: move up later before commiting
202+ # Setup rosdep
203+ # COPY extra_rosdeps.yaml /etc/ros/rosdep/sources.list.d/emcupy-rosdeps.yaml
204+ RUN ln -s /home/ros/workspace/src/elevation_mapping_cupy/docker/extra_rosdeps.yaml /etc/ros/rosdep/sources.list.d/emcupy-rosdeps.yaml
205+ RUN --mount=type=cache,target=/var/cache/apt \
206+ rosdep init \
207+ && echo "yaml file:///home/ros/workspace/src/elevation_mapping_cupy/docker/extra_rosdeps.yaml" | tee /etc/ros/rosdep/sources.list.d/00-emcupy-rosdeps.list \
208+ && rosdep update
209+
204210# Switch to non-root user
205211USER $USERNAME
206212
0 commit comments