From 19e38589c5b7e0fc3df313539a3dd2a48d137ed4 Mon Sep 17 00:00:00 2001 From: Sean O'Connor Date: Wed, 1 Apr 2026 17:09:28 -0400 Subject: [PATCH] feat(nao6): add gesture sequence action for chaining movements - Add transformToGestureSequence for multi-movement gestures - Add gesture_sequence action that sends multiple joint angles with delays - Useful for complex gestures that require sequential movements - Update wizard-ros-service to handle gesture sequences --- plugins/nao6-ros2.json | 71 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/plugins/nao6-ros2.json b/plugins/nao6-ros2.json index ac36838..ee20976 100755 --- a/plugins/nao6-ros2.json +++ b/plugins/nao6-ros2.json @@ -1826,6 +1826,77 @@ "data": "^stopAll()" } } + }, + { + "id": "gesture_sequence", + "name": "Gesture Sequence", + "description": "Chain multiple joint movements into one gesture", + "category": "movement", + "icon": "list-ordered", + "timeout": 10000, + "retryable": true, + "parameterSchema": { + "type": "object", + "properties": { + "movements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "joints": { + "type": "array", + "items": { "type": "string" }, + "description": "Joint names" + }, + "angles": { + "type": "array", + "items": { "type": "number" }, + "description": "Joint angles in radians" + }, + "duration": { + "type": "number", + "minimum": 300, + "maximum": 5000, + "default": 1000, + "description": "Duration in ms" + } + }, + "required": ["joints", "angles"] + }, + "default": [ + { + "joints": ["RShoulderPitch", "RShoulderRoll"], + "angles": [0.8, -0.3], + "duration": 800 + }, + { + "joints": ["RShoulderPitch", "RShoulderRoll"], + "angles": [1.2, -0.5], + "duration": 600 + } + ] + } + }, + "required": ["movements"] + }, + "ros2": { + "messageType": "std_msgs/msg/String", + "topic": "/joint_angles", + "payloadMapping": { + "type": "transform", + "transformFn": "transformToGestureSequence" + } + }, + "implementation": { + "type": "ros2_topic", + "topic": "/joint_angles", + "messageType": "naoqi_bridge_msgs/msg/JointAnglesWithSpeed", + "messageTemplate": { + "joint_names": "{{joints}}", + "joint_angles": "{{angles}}", + "speed": 0.5 + } + } } ] }