diff --git a/config/foxglove/extensions/yulong.virtual-joystick-0.0.1.foxe b/config/foxglove/extensions/yulong.virtual-joystick-0.0.1.foxe new file mode 100644 index 0000000..7901c20 Binary files /dev/null and b/config/foxglove/extensions/yulong.virtual-joystick-0.0.1.foxe differ diff --git a/config/foxglove/foxglove-layout.json b/config/foxglove/foxglove-layout.json new file mode 100644 index 0000000..60a3e1d --- /dev/null +++ b/config/foxglove/foxglove-layout.json @@ -0,0 +1,155 @@ +{ + "configById": { + "virtual-joystick.Virtual Joystick!26sdvuh": { + "topic": "/cmd_vel", + "publishRate": 60, + "maxLinearSpeed": 0.5, + "maxAngularSpeed": 2 + }, + "3D!18i6zy7": { + "layers": { + "845139cb-26bc-40b3-8161-8ab60af4baf5": { + "visible": true, + "frameLocked": true, + "label": "Grid", + "instanceId": "845139cb-26bc-40b3-8161-8ab60af4baf5", + "layerId": "foxglove.Grid", + "size": 10, + "divisions": 10, + "lineWidth": 1, + "color": "#248eff", + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "order": 1 + } + }, + "cameraState": { + "distance": 20, + "perspective": true, + "phi": 60, + "target": [ + 0, + 0, + 0 + ], + "targetOffset": [ + 0, + 0, + 0 + ], + "targetOrientation": [ + 0, + 0, + 0, + 1 + ], + "thetaOffset": 45, + "fovy": 45, + "near": 0.5, + "far": 5000 + }, + "followMode": "follow-pose", + "scene": {}, + "transforms": {}, + "topics": {}, + "publish": { + "type": "point", + "poseTopic": "/move_base_simple/goal", + "pointTopic": "/clicked_point", + "poseEstimateTopic": "/initialpose", + "poseEstimateXDeviation": 0.5, + "poseEstimateYDeviation": 0.5, + "poseEstimateThetaDeviation": 0.26179939 + }, + "imageMode": {} + }, + "Image!3mnp456": { + "cameraState": { + "distance": 20, + "perspective": true, + "phi": 60, + "target": [ + 0, + 0, + 0 + ], + "targetOffset": [ + 0, + 0, + 0 + ], + "targetOrientation": [ + 0, + 0, + 0, + 1 + ], + "thetaOffset": 45, + "fovy": 45, + "near": 0.5, + "far": 5000 + }, + "followMode": "follow-pose", + "scene": {}, + "transforms": {}, + "topics": {}, + "layers": {}, + "publish": { + "type": "point", + "poseTopic": "/move_base_simple/goal", + "pointTopic": "/clicked_point", + "poseEstimateTopic": "/initialpose", + "poseEstimateXDeviation": 0.5, + "poseEstimateYDeviation": 0.5, + "poseEstimateThetaDeviation": 0.26179939 + }, + "imageMode": {} + }, + "RawMessages!os6rgs": { + "diffEnabled": false, + "diffMethod": "custom", + "diffTopicPath": "", + "showFullMessageForDiff": false, + "topicPath": "" + }, + "Battery Indicator.Battery display!3gjrnnu": { + "batteryTopic": "", + "topic": { + "batteryTopic": "" + } + } + }, + "globalVariables": {}, + "userNodes": {}, + "playbackConfig": { + "speed": 1 + }, + "layout": { + "direction": "row", + "first": "virtual-joystick.Virtual Joystick!26sdvuh", + "second": { + "first": "3D!18i6zy7", + "second": { + "first": "Image!3mnp456", + "second": { + "first": "RawMessages!os6rgs", + "second": "Battery Indicator.Battery display!3gjrnnu", + "direction": "column", + "splitPercentage": 79.02494331065759 + }, + "direction": "column", + "splitPercentage": 30 + }, + "direction": "row", + "splitPercentage": 70 + } + } +} \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index caee339..14b90de 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -214,30 +214,48 @@ services: # This section is mostly for supervision from PC # ################################################################################################################################ + # foxglove-bridge: + # image: husarion/foxglove-bridge:humble + # # 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 + + # Foxglove Studio Bridge foxglove-bridge: - image: husarion/foxglove-bridge:humble - # Interactive shell + extends: overlay + command: > + ros2 launch foxglove_bridge foxglove_bridge_launch.xml port:=8765 stdin_open: true tty: true # Networking and IPC for ROS 2 - network_mode: host + #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 foxglove: - image: husarion/foxglove + #image: husarion/foxglove + image: ghcr.io/foxglove/studio:latest depends_on: - foxglove-bridge ports: - 8080:8080 + volumes: + - ./config/foxglove/extensions:/src/extensions + - ./config/foxglove/foxglove-layout.json:/foxglove/default-layout.json # rviz2 rviz2: