474 lines
14 KiB
JSON
474 lines
14 KiB
JSON
{
|
|
"configById": {
|
|
"Plot!gjvhbp": {
|
|
"paths": [
|
|
{
|
|
"value": "/range/fl.range",
|
|
"enabled": true,
|
|
"timestampMethod": "receiveTime"
|
|
},
|
|
{
|
|
"value": "/range/rl.range",
|
|
"enabled": true,
|
|
"timestampMethod": "receiveTime"
|
|
},
|
|
{
|
|
"value": "/range/fr.range",
|
|
"enabled": true,
|
|
"timestampMethod": "receiveTime"
|
|
},
|
|
{
|
|
"value": "/range/rr.range",
|
|
"enabled": true,
|
|
"timestampMethod": "receiveTime"
|
|
}
|
|
],
|
|
"minYValue": -0.039230484541325744,
|
|
"maxYValue": 1,
|
|
"showXAxisLabels": true,
|
|
"showYAxisLabels": true,
|
|
"showLegend": true,
|
|
"legendDisplay": "floating",
|
|
"showPlotValuesInLegend": false,
|
|
"isSynced": true,
|
|
"xAxisVal": "timestamp",
|
|
"sidebarDimension": 240,
|
|
"foxglovePanelTitle": "Plot",
|
|
"followingViewWidth": 30
|
|
},
|
|
"Plot!1u5bb0v": {
|
|
"paths": [
|
|
{
|
|
"value": "/imu_broadcaster/imu.orientation.w",
|
|
"enabled": true,
|
|
"timestampMethod": "receiveTime"
|
|
},
|
|
{
|
|
"value": "/imu_broadcaster/imu.orientation.x",
|
|
"enabled": true,
|
|
"timestampMethod": "receiveTime"
|
|
},
|
|
{
|
|
"value": "/imu_broadcaster/imu.orientation.y",
|
|
"enabled": true,
|
|
"timestampMethod": "receiveTime"
|
|
},
|
|
{
|
|
"value": "/imu_broadcaster/imu.orientation.z",
|
|
"enabled": true,
|
|
"timestampMethod": "receiveTime"
|
|
}
|
|
],
|
|
"minYValue": -1.1,
|
|
"maxYValue": 1.1,
|
|
"showXAxisLabels": true,
|
|
"showYAxisLabels": true,
|
|
"showLegend": true,
|
|
"legendDisplay": "floating",
|
|
"showPlotValuesInLegend": false,
|
|
"isSynced": true,
|
|
"xAxisVal": "timestamp",
|
|
"sidebarDimension": 240,
|
|
"foxglovePanelTitle": "Plot",
|
|
"followingViewWidth": 30
|
|
},
|
|
"Tab!2qhku9u": {
|
|
"activeTabIdx": 0,
|
|
"tabs": [
|
|
{
|
|
"title": "Ranges Plots",
|
|
"layout": "Plot!gjvhbp"
|
|
},
|
|
{
|
|
"title": "IMU Plots",
|
|
"layout": "Plot!1u5bb0v"
|
|
}
|
|
]
|
|
},
|
|
"3D!40jejke": {
|
|
"cameraState": {
|
|
"perspective": true,
|
|
"distance": 4.7565377051017865,
|
|
"phi": 0.5121483430698642,
|
|
"thetaOffset": 89.80364880250498,
|
|
"targetOffset": [
|
|
0.04217571585974451,
|
|
-0.03971452594915587,
|
|
1.5648103050465003e-17
|
|
],
|
|
"target": [
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"targetOrientation": [
|
|
0,
|
|
0,
|
|
0,
|
|
1
|
|
],
|
|
"fovy": 45,
|
|
"near": 0.5,
|
|
"far": 5000
|
|
},
|
|
"followMode": "follow-pose",
|
|
"scene": {
|
|
"transforms": {
|
|
"axisScale": 0.4499999999999996,
|
|
"labelSize": 0.013834613718625963
|
|
},
|
|
"enableStats": true,
|
|
"ignoreColladaUpAxis": false,
|
|
"syncCamera": false
|
|
},
|
|
"transforms": {
|
|
"frame:base_link": {
|
|
"visible": false
|
|
},
|
|
"frame:body_link": {
|
|
"visible": false
|
|
},
|
|
"frame:cover_link": {
|
|
"visible": false
|
|
},
|
|
"frame:imu_link": {
|
|
"visible": false
|
|
},
|
|
"frame:camera_link": {
|
|
"visible": false
|
|
},
|
|
"frame:fl_range": {
|
|
"visible": false
|
|
},
|
|
"frame:fr_range": {
|
|
"visible": false
|
|
},
|
|
"frame:rl_range": {
|
|
"visible": false
|
|
},
|
|
"frame:rr_range": {
|
|
"visible": false
|
|
},
|
|
"frame:fl_wheel_link": {
|
|
"visible": true
|
|
},
|
|
"frame:fr_wheel_link": {
|
|
"visible": true
|
|
},
|
|
"frame:rl_wheel_link": {
|
|
"visible": true
|
|
},
|
|
"frame:rr_wheel_link": {
|
|
"visible": true
|
|
},
|
|
"frame:slamtec_rplidar_a2_link": {
|
|
"visible": false
|
|
},
|
|
"frame:laser": {
|
|
"visible": false
|
|
},
|
|
"frame:orbbec_astra_link": {
|
|
"visible": false
|
|
},
|
|
"frame:depth": {
|
|
"visible": false
|
|
},
|
|
"frame:odom": {
|
|
"visible": false
|
|
}
|
|
},
|
|
"topics": {
|
|
"/scan": {
|
|
"visible": true,
|
|
"colorField": "range",
|
|
"colorMode": "flat",
|
|
"colorMap": "turbo",
|
|
"pointSize": 8,
|
|
"flatColor": "#f90000"
|
|
},
|
|
"/robot_description": {
|
|
"visible": false
|
|
}
|
|
},
|
|
"layers": {
|
|
"e827a6dc-875b-448a-8475-5497577c2e1b": {
|
|
"visible": true,
|
|
"frameLocked": true,
|
|
"label": "URDF",
|
|
"instanceId": "e827a6dc-875b-448a-8475-5497577c2e1b",
|
|
"layerId": "foxglove.Urdf",
|
|
"url": "http://{{.Host}}:{{env "FOXGLOVE_PORT"}}/rosbot.urdf",
|
|
"order": 1
|
|
},
|
|
"b2c64820-a936-4f65-82b5-7a04ef902009": {
|
|
"visible": true,
|
|
"frameLocked": true,
|
|
"label": "Grid",
|
|
"instanceId": "b2c64820-a936-4f65-82b5-7a04ef902009",
|
|
"layerId": "foxglove.Grid",
|
|
"size": 10,
|
|
"divisions": 100,
|
|
"lineWidth": 1,
|
|
"color": "#248eff",
|
|
"position": [
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"rotation": [
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"order": 2
|
|
}
|
|
},
|
|
"publish": {
|
|
"type": "point",
|
|
"poseTopic": "/move_base_simple/goal",
|
|
"pointTopic": "/clicked_point",
|
|
"poseEstimateTopic": "/initialpose",
|
|
"poseEstimateXDeviation": 0.5,
|
|
"poseEstimateYDeviation": 0.5,
|
|
"poseEstimateThetaDeviation": 0.26179939
|
|
},
|
|
"foxglovePanelTitle": "Lidar View"
|
|
},
|
|
"RosOut!b0toow": {
|
|
"searchTerms": [],
|
|
"minLogLevel": 2
|
|
},
|
|
"Teleop!yh7wcv": {
|
|
"topic": "/cmd_vel",
|
|
"publishRate": 1,
|
|
"upButton": {
|
|
"field": "linear-x",
|
|
"value": 0.19754204525471783
|
|
},
|
|
"downButton": {
|
|
"field": "linear-x",
|
|
"value": -0.20000000000000015
|
|
},
|
|
"leftButton": {
|
|
"field": "angular-z",
|
|
"value": 1
|
|
},
|
|
"rightButton": {
|
|
"field": "angular-z",
|
|
"value": -1
|
|
},
|
|
"foxglovePanelTitle": "Diff Drive"
|
|
},
|
|
"ImageViewPanel!40iocf4": {
|
|
"cameraTopic": "/camera/color/image_raw/compressed",
|
|
"enabledMarkerTopics": [],
|
|
"mode": "fit",
|
|
"pan": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"rotation": 0,
|
|
"synchronize": true,
|
|
"transformMarkers": false,
|
|
"zoom": 1,
|
|
"foxglovePanelTitle": "Astra Compressed Image"
|
|
},
|
|
"Gauge!4jffafa": {
|
|
"path": "/battery.voltage",
|
|
"minValue": 9.8,
|
|
"maxValue": 12.6,
|
|
"colorMap": "turbo",
|
|
"colorMode": "colormap",
|
|
"gradient": [
|
|
"#0000ff",
|
|
"#ff00ff"
|
|
],
|
|
"reverse": false,
|
|
"foxglovePanelTitle": "Battery"
|
|
},
|
|
"Indicator!11kizr9": {
|
|
"path": "/battery.voltage",
|
|
"style": "background",
|
|
"fallbackColor": "#000000",
|
|
"fallbackLabel": "Ok",
|
|
"rules": [
|
|
{
|
|
"operator": "<",
|
|
"rawValue": "10.8",
|
|
"color": "#ff0000",
|
|
"label": "Plug charger!"
|
|
}
|
|
],
|
|
"foxglovePanelTitle": "Plug Charger Info"
|
|
},
|
|
"Plot!4dl4s92": {
|
|
"paths": [
|
|
{
|
|
"value": "/battery.voltage",
|
|
"enabled": true,
|
|
"timestampMethod": "receiveTime"
|
|
}
|
|
],
|
|
"minYValue": 9.482842712474614,
|
|
"maxYValue": 13,
|
|
"showXAxisLabels": true,
|
|
"showYAxisLabels": true,
|
|
"showLegend": true,
|
|
"legendDisplay": "floating",
|
|
"showPlotValuesInLegend": true,
|
|
"isSynced": true,
|
|
"xAxisVal": "timestamp",
|
|
"sidebarDimension": 240,
|
|
"foxglovePanelTitle": "Plot",
|
|
"followingViewWidth": 60
|
|
},
|
|
"Publish!1f6cruz": {
|
|
"topicName": "/led/left",
|
|
"datatype": "std_msgs/msg/Bool",
|
|
"buttonText": "LED1 Turn ON",
|
|
"buttonTooltip": "",
|
|
"buttonColor": "#00A871",
|
|
"advancedView": false,
|
|
"value": "{\n \"data\": true\n}",
|
|
"foxglovePanelTitle": "LED1 Turn ON"
|
|
},
|
|
"Publish!1wozu40": {
|
|
"topicName": "/led/right",
|
|
"datatype": "std_msgs/msg/Bool",
|
|
"buttonText": "LED2 Turn ON",
|
|
"buttonTooltip": "",
|
|
"buttonColor": "#00A871",
|
|
"advancedView": false,
|
|
"value": "{\n \"data\": true\n}",
|
|
"foxglovePanelTitle": "LED2 Turn ON"
|
|
},
|
|
"Indicator!2z34jcy": {
|
|
"path": "/button/left.data",
|
|
"style": "background",
|
|
"fallbackColor": "#ff0000",
|
|
"fallbackLabel": "Released",
|
|
"rules": [
|
|
{
|
|
"operator": "=",
|
|
"rawValue": "true",
|
|
"color": "#26c578",
|
|
"label": "Pressed"
|
|
}
|
|
],
|
|
"foxglovePanelTitle": "Left Button"
|
|
},
|
|
"Publish!3cb71c0": {
|
|
"topicName": "/led/left",
|
|
"datatype": "std_msgs/msg/Bool",
|
|
"buttonText": "LED1 Turn OFF",
|
|
"buttonTooltip": "",
|
|
"buttonColor": "#a80000",
|
|
"advancedView": false,
|
|
"value": "{\n \"data\": false\n}",
|
|
"foxglovePanelTitle": "LED1 Turn OFF"
|
|
},
|
|
"Publish!46onm9c": {
|
|
"topicName": "/led/right",
|
|
"datatype": "std_msgs/msg/Bool",
|
|
"buttonText": "LED2 Turn OFF",
|
|
"buttonTooltip": "",
|
|
"buttonColor": "#a80000",
|
|
"advancedView": false,
|
|
"value": "{\n \"data\": false\n}",
|
|
"foxglovePanelTitle": "LED2 Turn OFF"
|
|
},
|
|
"Indicator!1hywfa1": {
|
|
"path": "/button/right.data",
|
|
"style": "background",
|
|
"fallbackColor": "#ff0000",
|
|
"fallbackLabel": "Released",
|
|
"rules": [
|
|
{
|
|
"operator": "=",
|
|
"rawValue": "true",
|
|
"color": "#26c578",
|
|
"label": "Pressed"
|
|
}
|
|
],
|
|
"foxglovePanelTitle": "Left Button"
|
|
}
|
|
},
|
|
"globalVariables": {
|
|
"globalVariable": 7
|
|
},
|
|
"userNodes": {
|
|
"f5206e1d-deee-4f90-a03e-f561fbb9a7dd": {
|
|
"sourceCode": "// The ./types module provides helper types for your Input events and messages.\nimport { Input, Message } from \"./types\";\n\n// Your script can output well-known message types, any of your custom message types, or\n// complete custom message types.\n//\n// Use `Message` to access your data source types or well-known types:\n// type Twist = Message<\"geometry_msgs/Twist\">;\n//\n// Conventionally, it's common to make a _type alias_ for your script's output type\n// and use that type name as the return type for your script function.\n// Here we've called the type `Output` but you can pick any type name.\ntype Output = {\n hello: string;\n};\n\n// These are the topics your script \"subscribes\" to. Studio will invoke your script function\n// when any message is received on one of these topics.\nexport const inputs = [\"/input/topic\"];\n\n// Any output your script produces is \"published\" to this topic. Published messages are only visible within Studio, not to your original data source.\nexport const output = \"/studio_script/output_topic\";\n\n// This function is called with messages from your input topics.\n// The first argument is an event with the topic, receive time, and message.\n// Use the `Input<...>` helper to get the correct event type for your input topic messages.\nexport default function script(event: Input<\"/input/topic\">): Output {\n return {\n hello: \"world!\",\n };\n};",
|
|
"name": "f5206e1d"
|
|
},
|
|
"1a9e6183-d4b1-47dd-a024-efc14ab90b6b": {
|
|
"sourceCode": "// This example shows how to subscribe to multiple input topics.\n//\n// NOTE:\n// User Scripts can subscribe to multiple input topics, but can only publish on a single topic.\n\nimport { Input } from \"./types\";\n\ntype Output = { topic: string };\ntype GlobalVariables = { id: number };\n\n// List all the input topics in the `input` array\nexport const inputs = [\"/input/topic\", \"/input/another\"];\nexport const output = \"/studio_script/output_topic\";\n\n// Make an InputEvent type alias. Since our node will get a message from either input topic, we need to enumerate the topics.\ntype InputEvent = Input<\"/input/topic\"> | Input<\"/input/another\">;\n\nexport default function node(event: InputEvent, globalVars: GlobalVariables): Output {\n // Remember that your node will get messages on each topic, so you\n // need to check each event's topic to know which fields are available on the message.\n switch (event.topic) {\n case \"/input/topic\":\n // topic specific input logic\n // Our message fields are specific to our topic message\n break;\n case \"/input/another\":\n // another specific logic\n break;\n }\n\n // Nodes can only output one type of message regardless of the inputs\n // Here we echo back the input topic as an example.\n return {\n topic: event.topic,\n };\n};\n",
|
|
"name": "1a9e6183"
|
|
}
|
|
},
|
|
"playbackConfig": {
|
|
"speed": 1
|
|
},
|
|
"layout": {
|
|
"first": {
|
|
"direction": "row",
|
|
"first": "Tab!2qhku9u",
|
|
"second": {
|
|
"first": "3D!40jejke",
|
|
"second": {
|
|
"first": "RosOut!b0toow",
|
|
"second": "Teleop!yh7wcv",
|
|
"direction": "column"
|
|
},
|
|
"direction": "row",
|
|
"splitPercentage": 57.03330110757996
|
|
},
|
|
"splitPercentage": 30.5849582172702
|
|
},
|
|
"second": {
|
|
"first": "ImageViewPanel!40iocf4",
|
|
"second": {
|
|
"first": {
|
|
"first": {
|
|
"first": "Gauge!4jffafa",
|
|
"second": "Indicator!11kizr9",
|
|
"direction": "column"
|
|
},
|
|
"second": "Plot!4dl4s92",
|
|
"direction": "row"
|
|
},
|
|
"second": {
|
|
"first": {
|
|
"first": "Publish!1f6cruz",
|
|
"second": {
|
|
"first": "Publish!1wozu40",
|
|
"second": "Indicator!2z34jcy",
|
|
"direction": "row",
|
|
"splitPercentage": 30.461538461538503
|
|
},
|
|
"direction": "row",
|
|
"splitPercentage": 23.167848699763567
|
|
},
|
|
"second": {
|
|
"first": {
|
|
"first": "Publish!3cb71c0",
|
|
"second": "Publish!46onm9c",
|
|
"direction": "row",
|
|
"splitPercentage": 49.49494949494945
|
|
},
|
|
"second": "Indicator!1hywfa1",
|
|
"direction": "row",
|
|
"splitPercentage": 46.808510638297854
|
|
},
|
|
"direction": "column"
|
|
},
|
|
"direction": "row",
|
|
"splitPercentage": 57.106729218589656
|
|
},
|
|
"direction": "row",
|
|
"splitPercentage": 30.63012301119672
|
|
},
|
|
"direction": "column",
|
|
"splitPercentage": 67.44897959183673
|
|
}
|
|
} |