From e1de2cbf77cc6922b0e12ebcb60613da432d5862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Ellensohn?= Date: Tue, 2 Apr 2024 11:13:35 +0200 Subject: [PATCH] update --- docker-compose.yaml | 99 +++++++++++++++------------------------------ 1 file changed, 33 insertions(+), 66 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index c1b717c..d8b900a 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -39,10 +39,6 @@ services: - ./config/entrypoint.sh:/entrypoint.sh - ./config/cyclonedds.xml:/cyclonedds.xml - # 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. - # rmp: - # #ipv4_address: 192.168.0.101 #actually don't need to set ips. they are set automatically by docker-compose. SHould be inherited by all child services. - # Overlay image containing the project specific source code. overlay: extends: base @@ -72,10 +68,6 @@ services: tags: - ghcr.io/bjoernellens1/ros2_rmp/rmp:guis target: guis - x-bake: - platforms: - - linux/arm64 - - linux/amd64 command: > /bin/bash devices: @@ -191,20 +183,7 @@ services: image: ghcr.io/bjoernellens1/ros2_rmp/rmp:guis command: > ros2 launch cps_rmp220_support rviz.launch.py - # Needed to display graphical applications - privileged: true # really necessary? - 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 - + # Foxglove Studio Bridge foxglove_bridge: extends: overlay @@ -226,35 +205,6 @@ services: volumes: - ./config/foxglove/default.json:/foxglove/default-layout.json - # USB Camera Stream - # cam: - # extends: overlay - # command: > - # ros2 run ros2_cam_openCV cam_node - # devices: - # - /dev/video0:/dev/video0 - - # cam: - # extends: overlay - # command: > - # ros2 launch ffmpeg_image_transport cam.launch.py - # devices: - # - /dev/video0:/dev/video0 - # - /dev/dri:/dev/dri - webcam: - extends: overlay - image: husarion/image-transport:humble-4.2.0 - devices: - - /dev/video0:/dev/video0 - - /dev/dri:/dev/dri - volumes: - - ./:/repo - command: > - ros2 launch /repo/webcam.launch.py - ffmpeg_encoding:=libx264 - ffmpeg_preset:=ultrafast - ffmpeg_tune:=zerolatency - # ROS2 Frontier exploration explorer: extends: overlay @@ -336,7 +286,7 @@ services: ros2 launch depthai_examples stereo.launch.py #devices: #- /dev/oakd-lite:/dev/oakd-lite # need corresponding udevrules for this to work: -# SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666", SYMLINK+="oakd-lite" + # SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666", SYMLINK+="oakd-lite" #- /dev/:/dev/ device_cgroup_rules: - 'c 189:* rmw' @@ -378,14 +328,17 @@ services: depends_on: - foxglove - olivetin - roscore: - image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable - command: | - bash -c "source /opt/ros/noetic/setup.bash && roscore" - network_mode: host - environment: - - ROS_DOMAIN_ID=5 - restart: always + # roscore: + # image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable + # command: | + # bash -c "source /opt/ros/noetic/setup.bash && roscore" + # network_mode: host + # environment: + # - ROS_DOMAIN_ID=5 + # restart: always + + # Webui Stuff + # need to properly setup ros1bridge initialization ros1bridge: image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable command: | @@ -399,16 +352,12 @@ services: webui-joystick: image: husarion/webui-ros-joystick:noetic-0.0.1-20230510-stable network_mode: host - # networks: - # - caddy_network - # ports: - # - 8000:8000 ipc: host environment: - ROS_DOMAIN_ID=5 restart: always - #depends_on: - # - ros1bridge + depends_on: + - ros1bridge command: roslaunch webui-ros-joystick webui.launch olivetin: container_name: olivetin @@ -439,6 +388,24 @@ services: ports: - "1337:1337" restart: always + + # Webcam stream with ffmpeg x264 compression + # need to add ros-humble-v4l2-camera + webcam: + #extends: overlay + build: https://github.com/bjoernellens1/image-transport-docker/raw/main/demo/webcam/Dockerfile.webcam + image: husarion/image-transport:humble-4.2.0 + devices: + - /dev/video1:/dev/video0 + - /dev/dri:/dev/dri + volumes: + - ./:/repo + command: > + ros2 launch /repo/webcam.launch.py + ffmpeg_encoding:=libx264 + ffmpeg_preset:=ultrafast + ffmpeg_tune:=zerolatency + ################################################################################################################################ # Docker related extra stuff #