diff --git a/docker-compose.yaml b/docker-compose.yaml index 176a185..85f3d16 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -106,7 +106,7 @@ services: # Controller controller: - extends: base + extends: base command: > ros2 run segwayrmp SmartCar --ros-args -r cmd_vel:=cmd_vel_out -p serial_full_name:=/dev/segway devices: @@ -129,6 +129,8 @@ services: # teleop teleop: extends: base + depends_on: + - controller command: > ros2 launch rmp220_teleop robot_joystick.launch.py devices: @@ -169,6 +171,9 @@ services: # localiaztion by ekf node ekf: extends: overlay + depends_on: + - controller + - rsp command: > ros2 launch cps_rmp220_support robot_localization.launch.py # Interactive shell @@ -184,6 +189,10 @@ services: # mapping mapping: extends: overlay + depends_on: + - ekf + - rsp + - lidar command: > ros2 launch cps_rmp220_support robot_mapping.launch.py # Interactive shell @@ -199,6 +208,10 @@ services: # slam-toolbox-localization localization: extends: overlay + depends_on: + - ekf + - rsp + - lidar command: > ros2 launch cps_rmp220_support robot_mapping_localization.launch.py map_file_name:=/repo/maps/map.yaml # Interactive shell @@ -214,6 +227,10 @@ services: # amcl_localization amcl: extends: overlay + depends_on: + - ekf + - rsp + - lidar command: > ros2 launch cps_rmp220_support robot_amcl.launch.py map:=/repo/maps/map.yaml # Interactive shell @@ -335,6 +352,14 @@ services: # ROS2 Frontier exploration explorer: extends: overlay + depends_on: + - controller + - teleop + - rsp + - lidar + - mapping + - ekf + - navigation command: > ros2 launch cps_rmp220_support robot_exploration.launch.py stdin_open: true diff --git a/docker/Dockerfile b/docker/Dockerfile index 5a24518..fec1925 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -17,6 +17,8 @@ ENV ROS_DISTRO=${ROS_DISTRO} SHELL ["/bin/bash", "-c"] # Create Colcon workspace with external dependencies +RUN echo "update base 26.09.2023 - test" + RUN mkdir -p /rmp_ws/src WORKDIR /rmp_ws/src COPY dependencies.arm64.repos . @@ -78,6 +80,7 @@ ENTRYPOINT [ "/entrypoint.sh" ] FROM base AS overlay # Create an overlay Colcon workspace +RUN echo "update overlay 26.09.2023" RUN mkdir -p /overlay_ws/src WORKDIR /overlay_ws/src COPY overlay.repos . @@ -85,10 +88,11 @@ RUN vcs import < overlay.repos WORKDIR /overlay_ws -RUN echo "update overlay 22.09.2023" +ENV DEBIAN_FRONTEND noninteractive RUN source /rmp_ws/install/setup.bash \ && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install ros-humble-robot-localization -y \ && rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} -y \ && rm -rf /var/lib/apt/lists/* diff --git a/rviz2.yaml b/rviz2.yaml index 0319f4d..2816ed6 100644 --- a/rviz2.yaml +++ b/rviz2.yaml @@ -40,4 +40,31 @@ services: - ${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority # networks: # not using bridging anymore, instead try using all services on macvlan? let's see... shoudl word for now. Bridging does definitely not work because multicast is not supported here. # pc: + # ipv4_address: 192.168.0.201 #here need to set fixed ip to avoid collissions with other containers on robot. + + rviz2-depthai: + image: luxonis/depthai-ros:humble-latest + command: > + ros2 launch cps_rmp220_support rviz.launch.py + # Interactive shell + stdin_open: true + tty: true + # Networking and IPC for ROS 2 + network_mode: host + ipc: host + # Needed to display graphical applications + privileged: true + environment: + # Allows graphical programs in the container. + - DISPLAY=${DISPLAY} + - QT_X11_NO_MITSHM=1 + - NVIDIA_DRIVER_CAPABILITIES=all + - ROS_DOMAIN_ID=5 + - RMW_IMPLEMENTATION=rmw_cyclonedds_cpp + volumes: + # Allows graphical programs in the container. + - /tmp/.X11-unix:/tmp/.X11-unix:rw + - ${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority + # networks: # not using bridging anymore, instead try using all services on macvlan? let's see... shoudl word for now. Bridging does definitely not work because multicast is not supported here. + # pc: # ipv4_address: 192.168.0.201 #here need to set fixed ip to avoid collissions with other containers on robot. \ No newline at end of file