removed foxglove
Signed-off-by: Jakub Delicat <jakub.delicat@pwr.edu.pl>
This commit is contained in:
parent
d40f010eea
commit
53b1fcbe35
@ -1,21 +0,0 @@
|
||||
ARG ROS_DISTRO=humble
|
||||
|
||||
FROM husarnet/ros:$ROS_DISTRO-ros-core
|
||||
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
|
||||
RUN apt update && \
|
||||
apt upgrade -y && \
|
||||
apt install -y \
|
||||
ros-$ROS_DISTRO-rosbridge-suite \
|
||||
ros-$ROS_DISTRO-tf2-msgs \
|
||||
|
||||
# custom msgs dependency
|
||||
ros-$ROS_DISTRO-rosidl-typesupport-c \
|
||||
&& \
|
||||
apt-get autoremove -y && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=delicjusz/pioneer /ros2_ws /ros2_ws
|
||||
RUN echo $(dpkg -s ros-$ROS_DISTRO-rosbridge-suite | grep 'Version' | sed -r 's/Version:\s([0-9]+.[0-9]+.[0-9]*).*/\1/g') >> /version.txt
|
@ -1,39 +0,0 @@
|
||||
# docker compose -f compose.foxglove.master.yaml up
|
||||
|
||||
services:
|
||||
restrictions-republisher:
|
||||
image: delicjusz/rosbridge
|
||||
network_mode: host
|
||||
ipc: host
|
||||
restart: on-failure
|
||||
environment:
|
||||
- RMW_IMPLEMENTATION=rmw_fastrtps_cpp
|
||||
- FASTRTPS_DEFAULT_PROFILES_FILE=/fastdds.xml
|
||||
volumes:
|
||||
- ./fastdds.xml:/fastdds.xml
|
||||
- ./rescrictions_republisher.py:/rescrictions_republisher.py
|
||||
command: >
|
||||
bash -c "source /ros2_ws/install/setup.bash && python3 /rescrictions_republisher.py"
|
||||
|
||||
rosbridge:
|
||||
image: delicjusz/rosbridge
|
||||
network_mode: host
|
||||
ipc: host
|
||||
restart: on-failure
|
||||
environment:
|
||||
- RMW_IMPLEMENTATION=rmw_fastrtps_cpp
|
||||
- FASTRTPS_DEFAULT_PROFILES_FILE=/fastdds.xml
|
||||
volumes:
|
||||
- ./fastdds.xml:/fastdds.xml
|
||||
command: >
|
||||
bash -c "source /ros2_ws/install/setup.bash && ros2 launch rosbridge_server rosbridge_websocket_launch.xml"
|
||||
|
||||
foxglove-master:
|
||||
image: husarion/foxglove:humble-1.39.1-20230220
|
||||
ports:
|
||||
- 5050:5050
|
||||
volumes:
|
||||
- ./config/master_layout.json:/src/FoxgloveDefaultLayout.json
|
||||
environment:
|
||||
- FOXGLOVE_PORT=5050
|
||||
- ROSBRIDGE_PORT=9090
|
@ -1,31 +0,0 @@
|
||||
# docker compose -f compose.foxglove.yaml up
|
||||
x-net-config:
|
||||
&net-config
|
||||
network_mode: host
|
||||
ipc: host
|
||||
|
||||
services:
|
||||
foxglove:
|
||||
image: husarion/foxglove:humble-1.39.1-20230220
|
||||
restart: on-failure
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- ./config/user_layout.json:/src/FoxgloveDefaultLayout.json
|
||||
environment:
|
||||
- FOXGLOVE_PORT=8080
|
||||
- ROSBRIDGE_PORT=9090
|
||||
|
||||
# rosbridge:
|
||||
# image: delicjusz/rosbridge
|
||||
# <<: *net-config
|
||||
# restart: on-failure
|
||||
# environment:
|
||||
# - RMW_IMPLEMENTATION=rmw_fastrtps_cpp
|
||||
# - FASTRTPS_DEFAULT_PROFILES_FILE=/fastdds.xml
|
||||
# volumes:
|
||||
# - ./fastdds.xml:/fastdds.xml
|
||||
# - ./rosbridge_websocket_launch.xml:/opt/ros/humble/share/rosbridge_server/launch/rosbridge_websocket_launch.xml
|
||||
# command: >
|
||||
# bash -c "source /ros2_ws/install/setup.bash && ros2 launch rosbridge_server rosbridge_websocket_launch.xml
|
||||
# pioneer_id:=${PIONEER_ID}"
|
@ -1,279 +0,0 @@
|
||||
{
|
||||
"configById": {
|
||||
"Gauge!36uqsdw": {
|
||||
"path": "/pioneers/restrictions.linear_velocity.data",
|
||||
"minValue": 0.1,
|
||||
"maxValue": 0.8,
|
||||
"colorMap": "turbo",
|
||||
"colorMode": "colormap",
|
||||
"gradient": [
|
||||
"#fff900",
|
||||
"#ff00ff"
|
||||
],
|
||||
"reverse": false,
|
||||
"foxglovePanelTitle": "Linear Velocity"
|
||||
},
|
||||
"Gauge!16s1huo": {
|
||||
"path": "/pioneers/restrictions.angular_velocity.data",
|
||||
"minValue": 0.1,
|
||||
"maxValue": 1.2,
|
||||
"colorMap": "turbo",
|
||||
"colorMode": "colormap",
|
||||
"gradient": [
|
||||
"#fff900",
|
||||
"#ff00ff"
|
||||
],
|
||||
"reverse": false,
|
||||
"foxglovePanelTitle": "Angular Velocity"
|
||||
},
|
||||
"Gauge!43oiv40": {
|
||||
"path": "/pioneers/restrictions.linear_velocity.data",
|
||||
"minValue": 0.02,
|
||||
"maxValue": 1.2,
|
||||
"colorMap": "rainbow",
|
||||
"colorMode": "gradient",
|
||||
"gradient": [
|
||||
"#ffffff",
|
||||
"#ff0000"
|
||||
],
|
||||
"reverse": false,
|
||||
"foxglovePanelTitle": "Distance"
|
||||
},
|
||||
"Indicator!2kcvhko": {
|
||||
"path": "/pioneer5/robot_info.state.data",
|
||||
"style": "background",
|
||||
"fallbackColor": "#a0a0a0",
|
||||
"fallbackLabel": "Inactive",
|
||||
"rules": [
|
||||
{
|
||||
"operator": "=",
|
||||
"rawValue": "true",
|
||||
"color": "#68e24a",
|
||||
"label": "Active"
|
||||
}
|
||||
],
|
||||
"foxglovePanelTitle": "Status"
|
||||
},
|
||||
"Publish!1jggeko": {
|
||||
"topicName": "/pioneer5/clutch",
|
||||
"datatype": "std_msgs/msg/Bool",
|
||||
"buttonText": "Enable",
|
||||
"buttonTooltip": "",
|
||||
"buttonColor": "#00A871",
|
||||
"advancedView": false,
|
||||
"value": "{\n \"data\": true\n}",
|
||||
"foxglovePanelTitle": "Motors"
|
||||
},
|
||||
"Publish!2bcq74b": {
|
||||
"topicName": "/pioneer5/clutch",
|
||||
"datatype": "std_msgs/msg/Bool",
|
||||
"buttonText": "Disable",
|
||||
"buttonTooltip": "",
|
||||
"buttonColor": "#aeaeae",
|
||||
"advancedView": false,
|
||||
"value": "{\n \"data\": false\n}",
|
||||
"foxglovePanelTitle": " Motors"
|
||||
},
|
||||
"Indicator!s9ir7d": {
|
||||
"path": "/pioneer5/robot_info.clutch.data",
|
||||
"style": "background",
|
||||
"fallbackColor": "#a0a0a0",
|
||||
"fallbackLabel": "Off",
|
||||
"rules": [
|
||||
{
|
||||
"operator": "=",
|
||||
"rawValue": "true",
|
||||
"color": "#68e24a",
|
||||
"label": "On"
|
||||
}
|
||||
],
|
||||
"foxglovePanelTitle": "Motors"
|
||||
},
|
||||
"Indicator!4am2dga": {
|
||||
"path": "/pioneer5/robot_info.obstacle_detected.data",
|
||||
"style": "background",
|
||||
"fallbackColor": "#a0a0a0",
|
||||
"fallbackLabel": "👌",
|
||||
"rules": [
|
||||
{
|
||||
"operator": "=",
|
||||
"rawValue": "true",
|
||||
"color": "#ff005e",
|
||||
"label": "😱"
|
||||
}
|
||||
],
|
||||
"foxglovePanelTitle": "Obstacle"
|
||||
},
|
||||
"Gauge!44f06dp": {
|
||||
"path": "/pioneer5/robot_info.battery_voltage.data",
|
||||
"minValue": 11.9,
|
||||
"maxValue": 12.9,
|
||||
"colorMap": "red-yellow-green",
|
||||
"colorMode": "colormap",
|
||||
"gradient": [
|
||||
"#0000ff",
|
||||
"#ff00ff"
|
||||
],
|
||||
"reverse": false,
|
||||
"foxglovePanelTitle": "Battry Voltage"
|
||||
},
|
||||
"Indicator!36yp9u": {
|
||||
"path": "/pioneers/master_stop.data",
|
||||
"style": "background",
|
||||
"fallbackColor": "#ff0000",
|
||||
"fallbackLabel": "Robots Stopped",
|
||||
"rules": [
|
||||
{
|
||||
"operator": "=",
|
||||
"rawValue": "true",
|
||||
"color": "#68e24a",
|
||||
"label": "Robots Released"
|
||||
}
|
||||
],
|
||||
"foxglovePanelTitle": "Master Stop"
|
||||
},
|
||||
"Publish!3ucy03l": {
|
||||
"topicName": "/pioneers/master_stop",
|
||||
"datatype": "std_msgs/msg/Bool",
|
||||
"buttonText": "Start",
|
||||
"buttonTooltip": "",
|
||||
"buttonColor": "#00A871",
|
||||
"advancedView": false,
|
||||
"value": "{\n \"data\": true\n}"
|
||||
},
|
||||
"Publish!3eo06na": {
|
||||
"topicName": "/pioneers/restrictions",
|
||||
"datatype": "ros2aria_msgs/msg/RestrictionsMsg",
|
||||
"buttonText": "Publish",
|
||||
"buttonTooltip": "",
|
||||
"buttonColor": "#00A871",
|
||||
"advancedView": true,
|
||||
"value": "{\n \"distance\": {\n \"data\": 0.2 },\n \"linear_velocity\": {\n \"data\": 0.2\n },\n \"angular_velocity\": {\n \"data\": ${ELKO}\n }\n}\n"
|
||||
},
|
||||
"Publish!2llenrw": {
|
||||
"topicName": "/pioneers/master_stop",
|
||||
"datatype": "std_msgs/msg/Bool",
|
||||
"buttonText": "STOP ",
|
||||
"buttonTooltip": "",
|
||||
"buttonColor": "#ff0000",
|
||||
"advancedView": false,
|
||||
"value": "{\n \"data\": false\n}",
|
||||
"foxglovePanelTitle": "Master"
|
||||
},
|
||||
"RawMessages!2n2d99y": {
|
||||
"diffEnabled": false,
|
||||
"diffMethod": "custom",
|
||||
"diffTopicPath": "",
|
||||
"showFullMessageForDiff": false,
|
||||
"topicPath": "/pioneers/restrictions"
|
||||
},
|
||||
"Tab!4eriapz": {
|
||||
"activeTabIdx": 0,
|
||||
"tabs": [
|
||||
{
|
||||
"title": "Restrictions",
|
||||
"layout": {
|
||||
"first": "Gauge!36uqsdw",
|
||||
"second": {
|
||||
"first": "Gauge!16s1huo",
|
||||
"second": "Gauge!43oiv40",
|
||||
"direction": "row",
|
||||
"splitPercentage": 51.44124168514412
|
||||
},
|
||||
"direction": "row",
|
||||
"splitPercentage": 32.84023668639053
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Tab!3irkbr4": {
|
||||
"activeTabIdx": 0,
|
||||
"tabs": [
|
||||
{
|
||||
"title": "5",
|
||||
"layout": {
|
||||
"first": {
|
||||
"first": "Indicator!2kcvhko",
|
||||
"second": {
|
||||
"first": {
|
||||
"first": "Publish!1jggeko",
|
||||
"second": "Publish!2bcq74b",
|
||||
"direction": "row",
|
||||
"splitPercentage": 47.44522280433317
|
||||
},
|
||||
"second": {
|
||||
"first": "Indicator!s9ir7d",
|
||||
"second": "Indicator!4am2dga",
|
||||
"direction": "row",
|
||||
"splitPercentage": 51.020408163265316
|
||||
},
|
||||
"direction": "row",
|
||||
"splitPercentage": 50.046709461147984
|
||||
},
|
||||
"direction": "row",
|
||||
"splitPercentage": 33.5482533335995
|
||||
},
|
||||
"second": "Gauge!44f06dp",
|
||||
"direction": "row",
|
||||
"splitPercentage": 83.10937586339708
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"globalVariables": {
|
||||
"restrictions": {
|
||||
"distance": {
|
||||
"data": 0
|
||||
},
|
||||
"linear_velocity": {
|
||||
"data": 0.2
|
||||
},
|
||||
"angular_velocity": {
|
||||
"data": 0.6
|
||||
}
|
||||
},
|
||||
"ELKO": 5,
|
||||
"elko": 6
|
||||
},
|
||||
"userNodes": {
|
||||
"ed523c47-5740-4915-a163-89d74f63276b": {
|
||||
"sourceCode": "import { MessageWriter } from \"@foxglove/rosmsg2-serialization\";\n\n// message definition comes from `parse()` in @foxglove/rosmsg\nconst writer = new MessageWriter(pointStampedMessageDefinition);\n\n// serialize the passed in object to a Uint8Array as a geometry_msgs/PointStamped message\nconst uint8Array = writer.writeMessage({\n header: {\n stamp: { sec: 0, nanosec: 0 },\n frame_id: \"\"\n },\n x: 1,\n y: 0,\n z: 0\n});",
|
||||
"name": "ed523c47"
|
||||
}
|
||||
},
|
||||
"playbackConfig": {
|
||||
"speed": 1
|
||||
},
|
||||
"layout": {
|
||||
"first": "Indicator!36yp9u",
|
||||
"second": {
|
||||
"first": {
|
||||
"first": {
|
||||
"first": {
|
||||
"first": "Publish!3ucy03l",
|
||||
"second": "Publish!3eo06na",
|
||||
"direction": "column",
|
||||
"splitPercentage": 17.645846217274784
|
||||
},
|
||||
"second": {
|
||||
"first": "Publish!2llenrw",
|
||||
"second": "RawMessages!2n2d99y",
|
||||
"direction": "column",
|
||||
"splitPercentage": 18.30550401978973
|
||||
},
|
||||
"direction": "row",
|
||||
"splitPercentage": 55.393939393939384
|
||||
},
|
||||
"second": "Tab!4eriapz",
|
||||
"direction": "column",
|
||||
"splitPercentage": 71.5909090909091
|
||||
},
|
||||
"second": "Tab!3irkbr4",
|
||||
"direction": "row",
|
||||
"splitPercentage": 37.61825264329438
|
||||
},
|
||||
"direction": "column",
|
||||
"splitPercentage": 12.5
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,482 +0,0 @@
|
||||
{
|
||||
"configById": {
|
||||
"Indicator!3tlipvy": {
|
||||
"path": "/pioneer5/robot_info.obstacle_detected.data",
|
||||
"style": "background",
|
||||
"fallbackColor": "#a0a0a0",
|
||||
"fallbackLabel": "Ok",
|
||||
"rules": [
|
||||
{
|
||||
"operator": "=",
|
||||
"rawValue": "true",
|
||||
"color": "#ff0000",
|
||||
"label": "Detected Obstacle"
|
||||
}
|
||||
],
|
||||
"foxglovePanelTitle": "Obstacle"
|
||||
},
|
||||
"Gauge!3u4tuia": {
|
||||
"path": "/pioneer5/robot_info.minimal_distance.data",
|
||||
"minValue": 0.02,
|
||||
"maxValue": 1.002,
|
||||
"colorMap": "turbo",
|
||||
"colorMode": "colormap",
|
||||
"gradient": [
|
||||
"#0000ff",
|
||||
"#ff00ff"
|
||||
],
|
||||
"reverse": false,
|
||||
"foxglovePanelTitle": "Actual Distance"
|
||||
},
|
||||
"Tab!25ni7og": {
|
||||
"activeTabIdx": 0,
|
||||
"tabs": [
|
||||
{
|
||||
"title": "Restrictions",
|
||||
"layout": {
|
||||
"first": {
|
||||
"first": "Gauge!njxcom",
|
||||
"second": {
|
||||
"first": "Indicator!cjpcwp",
|
||||
"second": {
|
||||
"first": "RawMessages!21kcr2s",
|
||||
"second": "Indicator!2f5tlku",
|
||||
"direction": "row"
|
||||
},
|
||||
"direction": "column"
|
||||
},
|
||||
"direction": "column"
|
||||
},
|
||||
"second": {
|
||||
"first": {
|
||||
"first": "Gauge!3h30jw7",
|
||||
"second": {
|
||||
"first": "Indicator!3i4t2ed",
|
||||
"second": {
|
||||
"first": "RawMessages!3rm8fcv",
|
||||
"second": "Indicator!c84ni4",
|
||||
"direction": "row"
|
||||
},
|
||||
"direction": "column"
|
||||
},
|
||||
"direction": "column"
|
||||
},
|
||||
"second": {
|
||||
"first": "Gauge!2nkb668",
|
||||
"second": {
|
||||
"first": "Indicator!1qk7sa6",
|
||||
"second": {
|
||||
"first": "RawMessages!260vbhh",
|
||||
"second": "Indicator!1o4qvq1",
|
||||
"direction": "row"
|
||||
},
|
||||
"direction": "column"
|
||||
},
|
||||
"direction": "column"
|
||||
},
|
||||
"direction": "row"
|
||||
},
|
||||
"direction": "row",
|
||||
"splitPercentage": 34.15445097342172
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Gauge!njxcom": {
|
||||
"path": "/pioneers/restrictions.linear_velocity.data",
|
||||
"minValue": 0.1,
|
||||
"maxValue": 0.8,
|
||||
"colorMap": "turbo",
|
||||
"colorMode": "colormap",
|
||||
"gradient": [
|
||||
"#0000ff",
|
||||
"#ff0000"
|
||||
],
|
||||
"reverse": false,
|
||||
"foxglovePanelTitle": "Max Linear Velocity"
|
||||
},
|
||||
"Indicator!cjpcwp": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "Linear",
|
||||
"rules": []
|
||||
},
|
||||
"RawMessages!21kcr2s": {
|
||||
"diffEnabled": false,
|
||||
"diffMethod": "custom",
|
||||
"diffTopicPath": "",
|
||||
"showFullMessageForDiff": false,
|
||||
"topicPath": "/pioneers/restrictions.linear_velocity.data"
|
||||
},
|
||||
"Indicator!2f5tlku": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "m/s",
|
||||
"rules": []
|
||||
},
|
||||
"Gauge!3h30jw7": {
|
||||
"path": "/pioneers/restrictions.angular_velocity.data",
|
||||
"minValue": 0.1,
|
||||
"maxValue": 1.2,
|
||||
"colorMap": "turbo",
|
||||
"colorMode": "colormap",
|
||||
"gradient": [
|
||||
"#0000ff",
|
||||
"#ff00ff"
|
||||
],
|
||||
"reverse": false,
|
||||
"foxglovePanelTitle": "Max Angular Velocity"
|
||||
},
|
||||
"Indicator!3i4t2ed": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "Angular",
|
||||
"rules": []
|
||||
},
|
||||
"RawMessages!3rm8fcv": {
|
||||
"diffEnabled": false,
|
||||
"diffMethod": "custom",
|
||||
"diffTopicPath": "",
|
||||
"showFullMessageForDiff": false,
|
||||
"topicPath": "/pioneers/restrictions.angular_velocity.data"
|
||||
},
|
||||
"Indicator!c84ni4": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "rad/s",
|
||||
"rules": []
|
||||
},
|
||||
"Gauge!2nkb668": {
|
||||
"path": "/pioneers/restrictions.distance.data",
|
||||
"minValue": 0.02,
|
||||
"maxValue": 1.002,
|
||||
"colorMap": "turbo",
|
||||
"colorMode": "colormap",
|
||||
"gradient": [
|
||||
"#0000ff",
|
||||
"#ff00ff"
|
||||
],
|
||||
"reverse": false,
|
||||
"foxglovePanelTitle": "Min Distance"
|
||||
},
|
||||
"Indicator!1qk7sa6": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "Distance",
|
||||
"rules": []
|
||||
},
|
||||
"RawMessages!260vbhh": {
|
||||
"diffEnabled": false,
|
||||
"diffMethod": "custom",
|
||||
"diffTopicPath": "",
|
||||
"showFullMessageForDiff": false,
|
||||
"topicPath": "/pioneers/restrictions.distance.data"
|
||||
},
|
||||
"Indicator!1o4qvq1": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "m",
|
||||
"rules": []
|
||||
},
|
||||
"Tab!352avk9": {
|
||||
"activeTabIdx": 0,
|
||||
"tabs": [
|
||||
{
|
||||
"title": "Power",
|
||||
"layout": {
|
||||
"first": "Indicator!2hteqsw",
|
||||
"second": {
|
||||
"first": "Gauge!3i4ynjz",
|
||||
"second": {
|
||||
"first": "RawMessages!1c7650k",
|
||||
"second": "Indicator!23srs9s",
|
||||
"direction": "row"
|
||||
},
|
||||
"direction": "row",
|
||||
"splitPercentage": 64.840306644664
|
||||
},
|
||||
"direction": "column",
|
||||
"splitPercentage": 43.13186813186813
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Tab!p30d7b": {
|
||||
"activeTabIdx": 0,
|
||||
"tabs": [
|
||||
{
|
||||
"title": "Robot Info",
|
||||
"layout": {
|
||||
"first": "Indicator!10t7upb",
|
||||
"second": {
|
||||
"first": {
|
||||
"first": "Publish!4g2w69i",
|
||||
"second": "Publish!16m0ff9",
|
||||
"direction": "row"
|
||||
},
|
||||
"second": {
|
||||
"first": {
|
||||
"first": "Indicator!1fbii9b",
|
||||
"second": {
|
||||
"first": "RawMessages!4asurb8",
|
||||
"second": "Indicator!4fr19o1",
|
||||
"direction": "row"
|
||||
},
|
||||
"direction": "column"
|
||||
},
|
||||
"second": {
|
||||
"first": "Indicator!3tmnyvt",
|
||||
"second": {
|
||||
"first": "RawMessages!a9n4ba",
|
||||
"second": "Indicator!3dorkxh",
|
||||
"direction": "row"
|
||||
},
|
||||
"direction": "column"
|
||||
},
|
||||
"direction": "row"
|
||||
},
|
||||
"direction": "column",
|
||||
"splitPercentage": 33.29027329235685
|
||||
},
|
||||
"direction": "column",
|
||||
"splitPercentage": 18.67321867321867
|
||||
}
|
||||
},
|
||||
{
|
||||
"title": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Indicator!2hteqsw": {
|
||||
"path": "/pioneer5/robot_info.battery_voltage.data",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "Ok",
|
||||
"rules": [
|
||||
{
|
||||
"operator": "<",
|
||||
"rawValue": "12.2",
|
||||
"color": "#ff0000",
|
||||
"label": "Plug Charger"
|
||||
}
|
||||
],
|
||||
"foxglovePanelTitle": "Battery Status"
|
||||
},
|
||||
"Gauge!3i4ynjz": {
|
||||
"path": "/pioneer5/robot_info.battery_voltage.data",
|
||||
"minValue": 11.9,
|
||||
"maxValue": 12.9,
|
||||
"colorMap": "red-yellow-green",
|
||||
"colorMode": "colormap",
|
||||
"gradient": [
|
||||
"#0000ff",
|
||||
"#ff00ff"
|
||||
],
|
||||
"reverse": false,
|
||||
"foxglovePanelTitle": "Battery Voltage"
|
||||
},
|
||||
"RawMessages!1c7650k": {
|
||||
"diffEnabled": false,
|
||||
"diffMethod": "custom",
|
||||
"diffTopicPath": "",
|
||||
"showFullMessageForDiff": false,
|
||||
"topicPath": "/pioneer5/robot_info.battery_voltage.data"
|
||||
},
|
||||
"Indicator!23srs9s": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "V",
|
||||
"rules": []
|
||||
},
|
||||
"Indicator!10t7upb": {
|
||||
"path": "/pioneer5/clutch.data",
|
||||
"style": "background",
|
||||
"fallbackColor": "#a0a0a0",
|
||||
"fallbackLabel": "Off",
|
||||
"rules": [
|
||||
{
|
||||
"operator": "=",
|
||||
"rawValue": "true",
|
||||
"color": "#68e24a",
|
||||
"label": "On"
|
||||
}
|
||||
],
|
||||
"foxglovePanelTitle": "Motors"
|
||||
},
|
||||
"Publish!4g2w69i": {
|
||||
"topicName": "/pioneer5/clutch",
|
||||
"datatype": "std_msgs/msg/Bool",
|
||||
"buttonText": "Enable",
|
||||
"buttonTooltip": "",
|
||||
"buttonColor": "#68e24a",
|
||||
"advancedView": false,
|
||||
"value": "{\n \"data\": true\n}"
|
||||
},
|
||||
"Publish!16m0ff9": {
|
||||
"topicName": "/pioneer5/clutch",
|
||||
"datatype": "std_msgs/msg/Bool",
|
||||
"buttonText": "Disable",
|
||||
"buttonTooltip": "",
|
||||
"buttonColor": "#a0a0a0",
|
||||
"advancedView": false,
|
||||
"value": "{\n \"data\": false\n}"
|
||||
},
|
||||
"Indicator!1fbii9b": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "Linear",
|
||||
"rules": []
|
||||
},
|
||||
"RawMessages!4asurb8": {
|
||||
"diffEnabled": false,
|
||||
"diffMethod": "custom",
|
||||
"diffTopicPath": "",
|
||||
"showFullMessageForDiff": false,
|
||||
"topicPath": "/pioneer5/robot_info.twist.linear.x"
|
||||
},
|
||||
"Indicator!4fr19o1": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "m/s",
|
||||
"rules": []
|
||||
},
|
||||
"Indicator!3tmnyvt": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "Angular",
|
||||
"rules": []
|
||||
},
|
||||
"RawMessages!a9n4ba": {
|
||||
"diffEnabled": false,
|
||||
"diffMethod": "custom",
|
||||
"diffTopicPath": "",
|
||||
"showFullMessageForDiff": false,
|
||||
"topicPath": "/pioneer5/robot_info.twist.angular.z"
|
||||
},
|
||||
"Indicator!3dorkxh": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "rad/s",
|
||||
"rules": []
|
||||
},
|
||||
"Indicator!1b8x9ac": {
|
||||
"path": "/pioneers/master_stop.data",
|
||||
"style": "background",
|
||||
"fallbackColor": "#ff0000",
|
||||
"fallbackLabel": "Robots Stopped",
|
||||
"rules": [
|
||||
{
|
||||
"operator": "=",
|
||||
"rawValue": "false",
|
||||
"color": "#68e24a",
|
||||
"label": "Robots Released"
|
||||
}
|
||||
],
|
||||
"foxglovePanelTitle": "Master Stop"
|
||||
},
|
||||
"Tab!2vc4ruw": {
|
||||
"activeTabIdx": 0,
|
||||
"tabs": [
|
||||
{
|
||||
"title": "Restrictions",
|
||||
"layout": {
|
||||
"first": {
|
||||
"first": "Indicator!3tlipvy",
|
||||
"second": "Gauge!3u4tuia",
|
||||
"direction": "row",
|
||||
"splitPercentage": 77.87689562890276
|
||||
},
|
||||
"second": "Tab!25ni7og",
|
||||
"direction": "column",
|
||||
"splitPercentage": 18.796068796068795
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Indicator!2q85lgg": {
|
||||
"path": "",
|
||||
"style": "background",
|
||||
"fallbackColor": "#181818",
|
||||
"fallbackLabel": "",
|
||||
"rules": [
|
||||
{
|
||||
"operator": "=",
|
||||
"rawValue": "true",
|
||||
"color": "#68e24a",
|
||||
"label": "True"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Tab!3q786g": {
|
||||
"activeTabIdx": 0,
|
||||
"tabs": [
|
||||
{
|
||||
"title": "1",
|
||||
"layout": {
|
||||
"first": "Tab!352avk9",
|
||||
"second": "Tab!p30d7b",
|
||||
"direction": "column",
|
||||
"splitPercentage": 45.796737766624844
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Teleop!4981td7": {
|
||||
"topic": "/pioneer5/cmd_vel",
|
||||
"publishRate": 1,
|
||||
"upButton": {
|
||||
"field": "linear-x",
|
||||
"value": 1
|
||||
},
|
||||
"downButton": {
|
||||
"field": "linear-x",
|
||||
"value": -1
|
||||
},
|
||||
"leftButton": {
|
||||
"field": "angular-z",
|
||||
"value": 1
|
||||
},
|
||||
"rightButton": {
|
||||
"field": "angular-z",
|
||||
"value": -1
|
||||
}
|
||||
}
|
||||
},
|
||||
"globalVariables": {},
|
||||
"userNodes": {},
|
||||
"playbackConfig": {
|
||||
"speed": 1
|
||||
},
|
||||
"layout": {
|
||||
"first": "Indicator!1b8x9ac",
|
||||
"second": {
|
||||
"first": {
|
||||
"first": "Tab!2vc4ruw",
|
||||
"second": {
|
||||
"first": "Indicator!2q85lgg",
|
||||
"second": "Tab!3q786g",
|
||||
"direction": "row",
|
||||
"splitPercentage": 7.045834893512966
|
||||
},
|
||||
"direction": "row",
|
||||
"splitPercentage": 47.75143090760425
|
||||
},
|
||||
"second": "Teleop!4981td7",
|
||||
"direction": "row",
|
||||
"splitPercentage": 65.43606206527555
|
||||
},
|
||||
"direction": "column",
|
||||
"splitPercentage": 12.989690721649486
|
||||
}
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
import rclpy
|
||||
from rclpy.node import Node
|
||||
|
||||
from std_msgs.msg import Bool
|
||||
from ros2aria_msgs.msg import RestrictionsMsg
|
||||
from rclpy.qos import QoSDurabilityPolicy
|
||||
from rclpy.qos import QoSHistoryPolicy
|
||||
from rclpy.qos import QoSLivelinessPolicy
|
||||
from rclpy.qos import QoSProfile
|
||||
from rclpy.qos import QoSReliabilityPolicy
|
||||
import sys
|
||||
|
||||
class RestrictionRepublisher(Node):
|
||||
|
||||
def __init__(self):
|
||||
|
||||
profile = QoSProfile(
|
||||
depth=10,
|
||||
history=QoSHistoryPolicy.KEEP_ALL,
|
||||
reliability=QoSReliabilityPolicy.RELIABLE,
|
||||
durability=QoSDurabilityPolicy.TRANSIENT_LOCAL)
|
||||
super().__init__('restriction_republisher')
|
||||
self.restriction_pub_ = self.create_publisher(RestrictionsMsg, '/pioneers/restrictions', qos_profile=profile)
|
||||
self.master_stop_pub_ = self.create_publisher(Bool, '/pioneers/master_stop', qos_profile=profile)
|
||||
self.restriction_sub_ = self.create_subscription(RestrictionsMsg, '/pioneers/restrictions', self.restriction_callback, qos_profile=profile)
|
||||
self.master_stop_sub_ = self.create_subscription(Bool, '/pioneers/master_stop', self.master_stop_callback, qos_profile=profile)
|
||||
timer_period = 1.0
|
||||
self.timer = self.create_timer(timer_period, self.timer_callback)
|
||||
|
||||
self.master_stop_msg = Bool()
|
||||
self.restriction_msg = RestrictionsMsg()
|
||||
self.master_stop_msg. data = True
|
||||
self.restriction_msg.distance.data = sys.float_info.max
|
||||
self.restriction_msg.linear_velocity.data = 0.0
|
||||
self.restriction_msg.angular_velocity.data = 0.0
|
||||
|
||||
def timer_callback(self):
|
||||
self.restriction_pub_.publish(self.restriction_msg)
|
||||
self.master_stop_pub_.publish(self.master_stop_msg)
|
||||
|
||||
def restriction_callback(self, msg):
|
||||
if msg != self.restriction_msg:
|
||||
self.get_logger().info('New restricitons.')
|
||||
self.restriction_msg = msg
|
||||
|
||||
def master_stop_callback(self, msg):
|
||||
if msg != self.master_stop_msg:
|
||||
self.get_logger().info('New master stop.')
|
||||
self.master_stop_msg = msg
|
||||
|
||||
def main(args=None):
|
||||
rclpy.init(args=args)
|
||||
|
||||
restriction_republisher = RestrictionRepublisher()
|
||||
|
||||
rclpy.spin(restriction_republisher)
|
||||
restriction_republisher.destroy_node()
|
||||
rclpy.shutdown()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
@ -1,74 +0,0 @@
|
||||
<launch>
|
||||
<arg name="port" default="9090" />
|
||||
<arg name="address" default="" />
|
||||
<arg name="ssl" default="false" />
|
||||
<arg name="certfile" default=""/>
|
||||
<arg name="keyfile" default="" />
|
||||
|
||||
<arg name="retry_startup_delay" default="5.0" />
|
||||
|
||||
<arg name="fragment_timeout" default="600" />
|
||||
<arg name="delay_between_messages" default="0" />
|
||||
<arg name="max_message_size" default="10000000" />
|
||||
<arg name="unregister_timeout" default="10.0" />
|
||||
|
||||
<arg name="use_compression" default="false" />
|
||||
<arg name="call_services_in_new_thread" default="false" />
|
||||
|
||||
<arg name="topics_glob" default="" />
|
||||
<arg name="services_glob" default="" />
|
||||
<arg name="params_glob" default="" />
|
||||
<arg name="bson_only_mode" default="false" />
|
||||
<arg name="pioneer_id" default="0" />
|
||||
|
||||
<arg unless="$(var bson_only_mode)" name="binary_encoder" default="default"/>
|
||||
|
||||
<group if="$(var ssl)">
|
||||
<node name="rosbridge_websocket" pkg="rosbridge_server" exec="rosbridge_websocket" output="screen">
|
||||
<param name="certfile" value="$(var certfile)" />
|
||||
<param name="keyfile" value="$(var keyfile)" />
|
||||
<param name="port" value="$(var port)"/>
|
||||
<param name="address" value="$(var address)"/>
|
||||
<param name="retry_startup_delay" value="$(var retry_startup_delay)"/>
|
||||
<param name="fragment_timeout" value="$(var fragment_timeout)"/>
|
||||
<param name="delay_between_messages" value="$(var delay_between_messages)"/>
|
||||
<param name="max_message_size" value="$(var max_message_size)"/>
|
||||
<param name="unregister_timeout" value="$(var unregister_timeout)"/>
|
||||
<param name="use_compression" value="$(var use_compression)"/>
|
||||
<param name="call_services_in_new_thread" value="$(var call_services_in_new_thread)"/>
|
||||
|
||||
<param name="topics_glob" value="$(var topics_glob)"/>
|
||||
<param name="services_glob" value="$(var services_glob)"/>
|
||||
<param name="params_glob" value="$(var params_glob)"/>
|
||||
<remap from="/client_count" to="/pioneer$(var pioneer_id)/client_count"/>
|
||||
<remap from="/connected_clients" to="/pioneer$(var pioneer_id)/connected_clients"/>
|
||||
</node>
|
||||
</group>
|
||||
<group unless="$(var ssl)">
|
||||
<node name="rosbridge_websocket" pkg="rosbridge_server" exec="rosbridge_websocket" output="screen">
|
||||
<param name="port" value="$(var port)"/>
|
||||
<param name="address" value="$(var address)"/>
|
||||
<param name="retry_startup_delay" value="$(var retry_startup_delay)"/>
|
||||
<param name="fragment_timeout" value="$(var fragment_timeout)"/>
|
||||
<param name="delay_between_messages" value="$(var delay_between_messages)"/>
|
||||
<param name="max_message_size" value="$(var max_message_size)"/>
|
||||
<param name="unregister_timeout" value="$(var unregister_timeout)"/>
|
||||
<param name="use_compression" value="$(var use_compression)"/>
|
||||
<param name="call_services_in_new_thread" value="$(var call_services_in_new_thread)"/>
|
||||
|
||||
<param name="topics_glob" value="$(var topics_glob)"/>
|
||||
<param name="services_glob" value="$(var services_glob)"/>
|
||||
<param name="params_glob" value="$(var params_glob)"/>
|
||||
|
||||
<param name="bson_only_mode" value="$(var bson_only_mode)"/>
|
||||
<remap from="/client_count" to="/pioneer$(var pioneer_id)/client_count"/>
|
||||
<remap from="/connected_clients" to="/pioneer$(var pioneer_id)/connected_clients"/>
|
||||
</node>
|
||||
</group>
|
||||
|
||||
<node name="rosapi" pkg="rosapi" exec="rosapi_node">
|
||||
<param name="topics_glob" value="$(var topics_glob)"/>
|
||||
<param name="services_glob" value="$(var services_glob)"/>
|
||||
<param name="params_glob" value="$(var params_glob)"/>
|
||||
</node>
|
||||
</launch>
|
Loading…
Reference in New Issue
Block a user