Files
robot-plugins/plugins/turtlebot3-burger.json

181 lines
4.8 KiB
JSON

{
"robotId": "turtlebot3-burger",
"name": "TurtleBot3 Burger",
"description": "A compact, affordable, programmable, ROS2-based mobile robot for education and research",
"platform": "ROS2",
"version": "2.0.0",
"pluginApiVersion": "1.0",
"hriStudioVersion": ">=0.1.0",
"trustLevel": "official",
"category": "mobile-robot",
"manufacturer": {
"name": "ROBOTIS",
"website": "https://www.robotis.com/",
"support": "https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/"
},
"documentation": {
"mainUrl": "https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/",
"apiReference": "https://emanual.robotis.com/docs/en/platform/turtlebot3/ros2_manipulation/",
"wikiUrl": "https://wiki.ros.org/turtlebot3",
"videoUrl": "https://www.youtube.com/watch?v=rVM994ZhsEM"
},
"assets": {
"thumbnailUrl": "assets/turtlebot3-burger/thumb.png",
"images": {
"main": "assets/turtlebot3-burger/main.jpg",
"angles": {
"front": "assets/turtlebot3-burger/front.png",
"side": "assets/turtlebot3-burger/side.png",
"top": "assets/turtlebot3-burger/top.png"
},
"logo": "assets/turtlebot3-burger/logo.png"
},
"model": {
"format": "URDF",
"url": "https://raw.githubusercontent.com/ROBOTIS-GIT/turtlebot3/master/turtlebot3_description/urdf/turtlebot3_burger.urdf"
}
},
"specs": {
"dimensions": {
"length": 0.138,
"width": 0.178,
"height": 0.192,
"weight": 1.0
},
"capabilities": ["differential_drive", "lidar", "imu", "odometry"],
"maxSpeed": 0.22,
"batteryLife": 2.5
},
"ros2Config": {
"namespace": "turtlebot3",
"nodePrefix": "hri_studio",
"defaultTopics": {
"cmd_vel": "/cmd_vel",
"odom": "/odom",
"scan": "/scan",
"imu": "/imu",
"joint_states": "/joint_states"
}
},
"actions": [
{
"id": "move_velocity",
"name": "Set Velocity",
"description": "Control the robot's linear and angular velocity",
"category": "movement",
"icon": "navigation",
"timeout": 30000,
"retryable": true,
"parameterSchema": {
"type": "object",
"properties": {
"linear": {
"type": "number",
"minimum": -0.22,
"maximum": 0.22,
"default": 0,
"description": "Forward/backward velocity in m/s"
},
"angular": {
"type": "number",
"minimum": -2.84,
"maximum": 2.84,
"default": 0,
"description": "Rotational velocity in rad/s"
}
},
"required": ["linear", "angular"]
},
"ros2": {
"messageType": "geometry_msgs/msg/Twist",
"topic": "/cmd_vel",
"payloadMapping": {
"type": "transform",
"transformFn": "transformToTwist"
},
"qos": {
"reliability": "reliable",
"durability": "volatile",
"history": "keep_last",
"depth": 1
}
}
},
{
"id": "move_to_pose",
"name": "Move to Position",
"description": "Navigate to a specific position on the map",
"category": "movement",
"icon": "target",
"timeout": 60000,
"retryable": true,
"parameterSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"default": 0,
"description": "X coordinate in meters"
},
"y": {
"type": "number",
"default": 0,
"description": "Y coordinate in meters"
},
"theta": {
"type": "number",
"default": 0,
"description": "Final orientation in radians"
}
},
"required": ["x", "y", "theta"]
},
"ros2": {
"messageType": "geometry_msgs/msg/PoseStamped",
"action": "/navigate_to_pose",
"payloadMapping": {
"type": "transform",
"transformFn": "transformToPoseStamped"
}
}
},
{
"id": "stop_robot",
"name": "Stop Robot",
"description": "Immediately stop all robot movement",
"category": "movement",
"icon": "square",
"timeout": 5000,
"retryable": false,
"parameterSchema": {
"type": "object",
"properties": {},
"required": []
},
"ros2": {
"messageType": "geometry_msgs/msg/Twist",
"topic": "/cmd_vel",
"payloadMapping": {
"type": "static",
"payload": {
"linear": { "x": 0.0, "y": 0.0, "z": 0.0 },
"angular": { "x": 0.0, "y": 0.0, "z": 0.0 }
}
},
"qos": {
"reliability": "reliable",
"durability": "volatile",
"history": "keep_last",
"depth": 1
}
}
}
]
}