{ "robotId": "nao6-ros2", "name": "NAO6 Robot (ROS2 Integration)", "description": "NAO V6 humanoid robot with ROS2 integration. Verified working actions include speech, walking, and animations.", "platform": "ROS2", "version": "3.0.0", "pluginApiVersion": "1.0", "hriStudioVersion": ">=0.1.0", "trustLevel": "verified", "category": "humanoid-robot", "manufacturer": { "name": "SoftBank Robotics", "website": "https://www.softbankrobotics.com/" }, "capabilities": ["bipedal_walking", "speech_synthesis", "gestures"], "specs": { "dimensions": {"length": 0.275, "width": 0.311, "height": 0.574, "weight": 5.4}, "maxSpeed": 0.55, "batteryLife": 1.5 }, "ros2Config": { "namespace": "nao", "nodePrefix": "hri_studio", "defaultTopics": { "cmd_vel": "/cmd_vel", "speech": "/speech", "joint_angles": "/joint_angles", "animation": "/animation" } }, "actions": [ { "id": "say_text", "name": "Say Text", "description": "Make the robot speak text", "category": "speech", "icon": "message-square", "timeout": 10000, "retryable": true, "parameterSchema": { "type": "object", "properties": { "text": { "type": "string", "title": "Text", "description": "Text for the robot to speak" } }, "required": ["text"] }, "ros2": { "topic": "/speech", "messageType": "std_msgs/msg/String", "payloadMapping": { "type": "static", "payload": {"data": "{{text}}"} } } }, { "id": "say_with_emotion", "name": "Say with Emotion", "description": "Make the robot speak with emotion", "category": "speech", "icon": "smile", "timeout": 10000, "retryable": true, "parameterSchema": { "type": "object", "properties": { "text": {"type": "string", "title": "Text"}, "emotion": {"type": "string", "title": "Emotion", "enum": ["happy", "sad", "neutral"]} }, "required": ["text"] }, "ros2": { "topic": "/speech", "messageType": "std_msgs/msg/String", "payloadMapping": { "type": "transform", "transformFn": "transformToEmotionSpeech" } } }, { "id": "walk_forward", "name": "Walk Forward", "description": "Walk forward", "category": "movement", "icon": "arrow-up", "timeout": 5000, "retryable": true, "parameterSchema": { "type": "object", "properties": { "speed": {"type": "number", "title": "Speed", "default": 0.1, "minimum": 0, "maximum": 0.55} } }, "ros2": { "topic": "/cmd_vel", "messageType": "geometry_msgs/msg/Twist", "payloadMapping": { "type": "static", "payload": {"linear": {"x": 0.1, "y": 0, "z": 0}, "angular": {"x": 0, "y": 0, "z": 0}} } } }, { "id": "walk_backward", "name": "Walk Backward", "description": "Walk backward", "category": "movement", "icon": "arrow-down", "timeout": 5000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/cmd_vel", "messageType": "geometry_msgs/msg/Twist", "payloadMapping": { "type": "static", "payload": {"linear": {"x": -0.1, "y": 0, "z": 0}, "angular": {"x": 0, "y": 0, "z": 0}} } } }, { "id": "turn_left", "name": "Turn Left", "description": "Turn left in place", "category": "movement", "icon": "corner-up-left", "timeout": 5000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/cmd_vel", "messageType": "geometry_msgs/msg/Twist", "payloadMapping": { "type": "static", "payload": {"linear": {"x": 0, "y": 0, "z": 0}, "angular": {"x": 0, "y": 0, "z": -0.3}} } } }, { "id": "turn_right", "name": "Turn Right", "description": "Turn right in place", "category": "movement", "icon": "corner-up-right", "timeout": 5000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/cmd_vel", "messageType": "geometry_msgs/msg/Twist", "payloadMapping": { "type": "static", "payload": {"linear": {"x": 0, "y": 0, "z": 0}, "angular": {"x": 0, "y": 0, "z": 0.3}} } } }, { "id": "stop_walking", "name": "Stop", "description": "Stop all robot movement", "category": "movement", "icon": "square", "timeout": 1000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/cmd_vel", "messageType": "geometry_msgs/msg/Twist", "payloadMapping": { "type": "static", "payload": {"linear": {"x": 0, "y": 0, "z": 0}, "angular": {"x": 0, "y": 0, "z": 0}} } } }, { "id": "wake_up", "name": "Wake Up", "description": "Wake up the robot (stand up)", "category": "movement", "icon": "sun", "timeout": 5000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/naoqi_driver/ALMotion/wakeUp", "messageType": "std_msgs/msg/Empty", "payloadMapping": { "type": "service", "service": "/naoqi_driver/ALMotion/wakeUp", "args": {} } } }, { "id": "rest", "name": "Rest", "description": "Put robot to rest (sit down)", "category": "movement", "icon": "moon", "timeout": 5000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/naoqi_driver/ALMotion/rest", "messageType": "std_msgs/msg/Empty", "payloadMapping": { "type": "service", "service": "/naoqi_driver/ALMotion/rest", "args": {} } } }, { "id": "play_animation_bow", "name": "Bow", "description": "Polite bow gesture", "category": "movement", "icon": "user-check", "timeout": 3000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/animation", "messageType": "std_msgs/msg/String", "payloadMapping": { "type": "static", "payload": {"data": "animations/Stand/Gestures/BowShort_1"} } } }, { "id": "play_animation_hey", "name": "Hey", "description": "Hey/get attention gesture", "category": "movement", "icon": "hand", "timeout": 3000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/animation", "messageType": "std_msgs/msg/String", "payloadMapping": { "type": "static", "payload": {"data": "animations/Stand/Gestures/Hey_1"} } } }, { "id": "play_animation_show_floor", "name": "Show Floor", "description": "Show the floor gesture", "category": "movement", "icon": "footprints", "timeout": 3000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/animation", "messageType": "std_msgs/msg/String", "payloadMapping": { "type": "static", "payload": {"data": "animations/Stand/Gestures/ShowFloor_1"} } } }, { "id": "play_animation_enthusiastic", "name": "Enthusiastic", "description": "Enthusiastic arm wave", "category": "movement", "icon": "sparkles", "timeout": 3000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/animation", "messageType": "std_msgs/msg/String", "payloadMapping": { "type": "static", "payload": {"data": "animations/Stand/Gestures/Enthusiastic_4"} } } }, { "id": "play_animation_yes", "name": "Yes (Nod)", "description": "Nodding yes gesture", "category": "movement", "icon": "thumbs-up", "timeout": 3000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/animation", "messageType": "std_msgs/msg/String", "payloadMapping": { "type": "static", "payload": {"data": "animations/Stand/Gestures/Yes_1"} } } }, { "id": "play_animation_no", "name": "No (Head Shake)", "description": "Head shaking no gesture", "category": "movement", "icon": "thumbs-down", "timeout": 3000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/animation", "messageType": "std_msgs/msg/String", "payloadMapping": { "type": "static", "payload": {"data": "animations/Stand/Gestures/No_3"} } } }, { "id": "play_animation_idontknow", "name": "I Don't Know", "description": "I don't know shrug gesture", "category": "movement", "icon": "help-circle", "timeout": 3000, "retryable": true, "parameterSchema": {"type": "object", "properties": {}}, "ros2": { "topic": "/animation", "messageType": "std_msgs/msg/String", "payloadMapping": { "type": "static", "payload": {"data": "animations/Stand/Gestures/IDontKnow_1"} } } } ] }