Files
hristudio/plugin_dump.json

928 lines
79 KiB
JSON

jsonb_pretty
---------------------------------------------------------------------------------------
[ +
{ +
"id": "walk_velocity", +
"icon": "navigation", +
"name": "Walk with Velocity", +
"ros2": { +
"qos": { +
"depth": 1, +
"history": "keep_last", +
"durability": "volatile", +
"reliability": "reliable" +
}, +
"topic": "/cmd_vel", +
"messageType": "geometry_msgs/msg/Twist", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "transformToTwist" +
} +
}, +
"timeout": 5000, +
"category": "movement", +
"retryable": true, +
"description": "Control robot walking with linear and angular velocities", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"linear", +
"angular" +
], +
"properties": { +
"linear": { +
"type": "number", +
"default": 0, +
"maximum": 0.55, +
"minimum": -0.55, +
"description": "Forward velocity in m/s" +
}, +
"angular": { +
"type": "number", +
"default": 0, +
"maximum": 2, +
"minimum": -2, +
"description": "Angular velocity in rad/s" +
} +
} +
} +
}, +
{ +
"id": "walk_forward", +
"icon": "arrow-up", +
"name": "Walk Forward", +
"ros2": { +
"topic": "/cmd_vel", +
"messageType": "geometry_msgs/msg/Twist", +
"payloadMapping": { +
"type": "static", +
"payload": { +
"linear": { +
"x": "{{speed}}", +
"y": 0, +
"z": 0 +
}, +
"angular": { +
"x": 0, +
"y": 0, +
"z": 0 +
} +
} +
} +
}, +
"timeout": 30000, +
"category": "movement", +
"retryable": true, +
"description": "Make the robot walk forward at specified speed", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"speed" +
], +
"properties": { +
"speed": { +
"type": "number", +
"default": 0.1, +
"maximum": 0.3, +
"minimum": 0.01, +
"description": "Walking speed in m/s" +
}, +
"duration": { +
"type": "number", +
"default": 0, +
"maximum": 30, +
"minimum": 0, +
"description": "Duration to walk in seconds (0 = indefinite)" +
} +
} +
} +
}, +
{ +
"id": "walk_backward", +
"icon": "arrow-down", +
"name": "Walk Backward", +
"ros2": { +
"topic": "/cmd_vel", +
"messageType": "geometry_msgs/msg/Twist", +
"payloadMapping": { +
"type": "static", +
"payload": { +
"linear": { +
"x": "-{{speed}}", +
"y": 0, +
"z": 0 +
}, +
"angular": { +
"x": 0, +
"y": 0, +
"z": 0 +
} +
} +
} +
}, +
"timeout": 30000, +
"category": "movement", +
"retryable": true, +
"description": "Make the robot walk backward at specified speed", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"speed" +
], +
"properties": { +
"speed": { +
"type": "number", +
"default": 0.1, +
"maximum": 0.3, +
"minimum": 0.01, +
"description": "Walking speed in m/s" +
}, +
"duration": { +
"type": "number", +
"default": 0, +
"maximum": 30, +
"minimum": 0, +
"description": "Duration to walk in seconds (0 = indefinite)" +
} +
} +
} +
}, +
{ +
"id": "turn_left", +
"icon": "rotate-ccw", +
"name": "Turn Left", +
"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": "{{speed}}" +
} +
} +
} +
}, +
"timeout": 30000, +
"category": "movement", +
"retryable": true, +
"description": "Make the robot turn left at specified angular speed", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"speed" +
], +
"properties": { +
"speed": { +
"type": "number", +
"default": 0.3, +
"maximum": 1, +
"minimum": 0.1, +
"description": "Angular speed in rad/s" +
}, +
"duration": { +
"type": "number", +
"default": 0, +
"maximum": 30, +
"minimum": 0, +
"description": "Duration to turn in seconds (0 = indefinite)" +
} +
} +
} +
}, +
{ +
"id": "turn_right", +
"icon": "rotate-cw", +
"name": "Turn Right", +
"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": "-{{speed}}" +
} +
} +
} +
}, +
"timeout": 30000, +
"category": "movement", +
"retryable": true, +
"description": "Make the robot turn right at specified angular speed", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"speed" +
], +
"properties": { +
"speed": { +
"type": "number", +
"default": 0.3, +
"maximum": 1, +
"minimum": 0.1, +
"description": "Angular speed in rad/s" +
}, +
"duration": { +
"type": "number", +
"default": 0, +
"maximum": 30, +
"minimum": 0, +
"description": "Duration to turn in seconds (0 = indefinite)" +
} +
} +
} +
}, +
{ +
"id": "stop_walking", +
"icon": "square", +
"name": "Stop Walking", +
"ros2": { +
"qos": { +
"depth": 1, +
"history": "keep_last", +
"durability": "volatile", +
"reliability": "reliable" +
}, +
"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 +
} +
} +
} +
}, +
"timeout": 3000, +
"category": "movement", +
"retryable": false, +
"description": "Immediately stop robot movement", +
"parameterSchema": { +
"type": "object", +
"required": [ +
], +
"properties": { +
} +
} +
}, +
{ +
"id": "say_text", +
"icon": "volume-2", +
"name": "Say Text", +
"ros2": { +
"qos": { +
"durability": "volatile", +
"reliability": "reliable" +
}, +
"topic": "/speech", +
"messageType": "std_msgs/msg/String", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "transformToStringMessage" +
} +
}, +
"timeout": 15000, +
"category": "interaction", +
"retryable": true, +
"description": "Make the robot speak using text-to-speech", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"text" +
], +
"properties": { +
"text": { +
"type": "string", +
"default": "Hello from NAO!", +
"description": "Text to speak" +
} +
} +
} +
}, +
{ +
"id": "say_with_emotion", +
"icon": "heart", +
"name": "Say Text with Emotion", +
"ros2": { +
"topic": "/speech", +
"messageType": "std_msgs/msg/String", +
"payloadMapping": { +
"type": "static", +
"payload": { +
"data": "\\rspd={{speed}}\\\\rst={{emotion}}\\{{text}}" +
} +
} +
}, +
"timeout": 15000, +
"category": "interaction", +
"retryable": true, +
"description": "Speak text with emotional expression using SSML-like markup",+
"parameterSchema": { +
"type": "object", +
"required": [ +
"text" +
], +
"properties": { +
"text": { +
"type": "string", +
"default": "Hello! I'm feeling great today!", +
"description": "Text for the robot to speak" +
}, +
"speed": { +
"type": "number", +
"default": 1, +
"maximum": 2, +
"minimum": 0.5, +
"description": "Speech speed multiplier" +
}, +
"emotion": { +
"enum": [ +
"neutral", +
"happy", +
"sad", +
"excited", +
"calm" +
], +
"type": "string", +
"default": "neutral", +
"description": "Emotional tone for speech" +
} +
} +
} +
}, +
{ +
"id": "set_volume", +
"icon": "volume-x", +
"name": "Set Volume", +
"ros2": { +
"topic": "/audio_volume", +
"messageType": "std_msgs/msg/Float32", +
"payloadMapping": { +
"type": "static", +
"payload": { +
"data": "{{volume}}" +
} +
} +
}, +
"timeout": 5000, +
"category": "interaction", +
"retryable": true, +
"description": "Adjust the robot's audio volume level", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"volume" +
], +
"properties": { +
"volume": { +
"type": "number", +
"default": 0.5, +
"maximum": 1, +
"minimum": 0, +
"description": "Volume level (0.0 = silent, 1.0 = maximum)" +
} +
} +
} +
}, +
{ +
"id": "set_language", +
"icon": "globe", +
"name": "Set Language", +
"ros2": { +
"topic": "/set_language", +
"messageType": "std_msgs/msg/String", +
"payloadMapping": { +
"type": "static", +
"payload": { +
"data": "{{language}}" +
} +
} +
}, +
"timeout": 5000, +
"category": "interaction", +
"retryable": true, +
"description": "Change the robot's speech language", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"language" +
], +
"properties": { +
"language": { +
"enum": [ +
"en-US", +
"en-GB", +
"fr-FR", +
"de-DE", +
"es-ES", +
"it-IT", +
"ja-JP", +
"ko-KR", +
"zh-CN" +
], +
"type": "string", +
"default": "en-US", +
"description": "Speech language" +
} +
} +
} +
}, +
{ +
"id": "move_head", +
"icon": "eye", +
"name": "Move Head", +
"ros2": { +
"topic": "/joint_angles", +
"messageType": "naoqi_bridge_msgs/msg/JointAnglesWithSpeed", +
"payloadMapping": { +
"type": "static", +
"payload": { +
"speed": "{{speed}}", +
"joint_names": [ +
"HeadYaw", +
"HeadPitch" +
], +
"joint_angles": [ +
"{{yaw}}", +
"{{pitch}}" +
] +
} +
} +
}, +
"timeout": 10000, +
"category": "movement", +
"retryable": true, +
"description": "Control head orientation (yaw and pitch)", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"yaw", +
"pitch" +
], +
"properties": { +
"yaw": { +
"type": "number", +
"default": 0, +
"maximum": 2.09, +
"minimum": -2.09, +
"description": "Head yaw angle in radians" +
}, +
"pitch": { +
"type": "number", +
"default": 0, +
"maximum": 0.51, +
"minimum": -0.67, +
"description": "Head pitch angle in radians" +
}, +
"speed": { +
"type": "number", +
"default": 0.3, +
"maximum": 1, +
"minimum": 0.1, +
"description": "Movement speed (0.1 = slow, 1.0 = fast)" +
} +
} +
} +
}, +
{ +
"id": "move_arm", +
"icon": "hand", +
"name": "Move Arm", +
"ros2": { +
"topic": "/joint_angles", +
"messageType": "naoqi_bridge_msgs/msg/JointAnglesWithSpeed", +
"payloadMapping": { +
"type": "static", +
"payload": { +
"speed": "{{speed}}", +
"joint_names": [ +
"{{arm === 'left' ? 'L' : 'R'}}ShoulderPitch", +
"{{arm === 'left' ? 'L' : 'R'}}ShoulderRoll", +
"{{arm === 'left' ? 'L' : 'R'}}ElbowYaw", +
"{{arm === 'left' ? 'L' : 'R'}}ElbowRoll" +
], +
"joint_angles": [ +
"{{shoulder_pitch}}", +
"{{shoulder_roll}}", +
"{{elbow_yaw}}", +
"{{elbow_roll}}" +
] +
} +
} +
}, +
"timeout": 10000, +
"category": "movement", +
"retryable": true, +
"description": "Control arm joint positions", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"arm", +
"shoulder_pitch", +
"shoulder_roll", +
"elbow_yaw", +
"elbow_roll" +
], +
"properties": { +
"arm": { +
"enum": [ +
"left", +
"right" +
], +
"type": "string", +
"default": "right", +
"description": "Which arm to control" +
}, +
"speed": { +
"type": "number", +
"default": 0.3, +
"maximum": 1, +
"minimum": 0.1, +
"description": "Movement speed (0.1 = slow, 1.0 = fast)" +
}, +
"elbow_yaw": { +
"type": "number", +
"default": 0, +
"maximum": 2.09, +
"minimum": -2.09, +
"description": "Elbow yaw angle in radians" +
}, +
"elbow_roll": { +
"type": "number", +
"default": -0.5, +
"maximum": -0.03, +
"minimum": -1.54, +
"description": "Elbow roll angle in radians" +
}, +
"shoulder_roll": { +
"type": "number", +
"default": 0.2, +
"maximum": 1.33, +
"minimum": -0.31, +
"description": "Shoulder roll angle in radians" +
}, +
"shoulder_pitch": { +
"type": "number", +
"default": 1.4, +
"maximum": 2.09, +
"minimum": -2.09, +
"description": "Shoulder pitch angle in radians" +
} +
} +
} +
}, +
{ +
"id": "set_joint_angle", +
"icon": "settings", +
"name": "Set Joint Angle", +
"ros2": { +
"topic": "/joint_angles", +
"messageType": "naoqi_bridge_msgs/msg/JointAnglesWithSpeed", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "transformToJointAngles" +
} +
}, +
"timeout": 10000, +
"category": "movement", +
"retryable": true, +
"description": "Control individual joint angles", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"joint_name", +
"angle" +
], +
"properties": { +
"angle": { +
"type": "number", +
"default": 0, +
"maximum": 3.14159, +
"minimum": -3.14159, +
"description": "Target angle in radians" +
}, +
"speed": { +
"type": "number", +
"default": 0.2, +
"maximum": 1, +
"minimum": 0.01, +
"description": "Movement speed (fraction of max)" +
}, +
"joint_name": { +
"enum": [ +
"HeadYaw", +
"HeadPitch", +
"LShoulderPitch", +
"LShoulderRoll", +
"LElbowYaw", +
"LElbowRoll", +
"LWristYaw", +
"RShoulderPitch", +
"RShoulderRoll", +
"RElbowYaw", +
"RElbowRoll", +
"RWristYaw", +
"LHipYawPitch", +
"LHipRoll", +
"LHipPitch", +
"LKneePitch", +
"LAnklePitch", +
"LAnkleRoll", +
"RHipRoll", +
"RHipPitch", +
"RKneePitch", +
"RAnklePitch", +
"RAnkleRoll" +
], +
"type": "string", +
"default": "HeadYaw", +
"description": "Joint to control" +
} +
} +
} +
}, +
{ +
"id": "turn_head", +
"icon": "rotate-ccw", +
"name": "Turn Head", +
"ros2": { +
"topic": "/joint_angles", +
"messageType": "naoqi_bridge_msgs/msg/JointAnglesWithSpeed", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "transformToHeadMovement" +
} +
}, +
"timeout": 8000, +
"category": "movement", +
"retryable": true, +
"description": "Control head orientation", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"yaw", +
"pitch" +
], +
"properties": { +
"yaw": { +
"type": "number", +
"default": 0, +
"maximum": 2.0857, +
"minimum": -2.0857, +
"description": "Head yaw angle in radians (left-right)" +
}, +
"pitch": { +
"type": "number", +
"default": 0, +
"maximum": 0.5149, +
"minimum": -0.672, +
"description": "Head pitch angle in radians (up-down)" +
}, +
"speed": { +
"type": "number", +
"default": 0.3, +
"maximum": 1, +
"minimum": 0.1, +
"description": "Movement speed fraction" +
} +
} +
} +
}, +
{ +
"id": "get_camera_image", +
"icon": "camera", +
"name": "Get Camera Image", +
"ros2": { +
"qos": { +
"durability": "volatile", +
"reliability": "reliable" +
}, +
"topic": "/camera/{camera}/image_raw", +
"messageType": "sensor_msgs/msg/Image", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "getCameraImage" +
} +
}, +
"timeout": 5000, +
"category": "sensors", +
"retryable": true, +
"description": "Capture image from front or bottom camera", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"camera" +
], +
"properties": { +
"camera": { +
"enum": [ +
"front", +
"bottom" +
], +
"type": "string", +
"default": "front", +
"description": "Camera to use" +
} +
} +
} +
}, +
{ +
"id": "get_joint_states", +
"icon": "activity", +
"name": "Get Joint States", +
"ros2": { +
"qos": { +
"durability": "volatile", +
"reliability": "reliable" +
}, +
"topic": "/joint_states", +
"messageType": "sensor_msgs/msg/JointState", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "getJointStates" +
} +
}, +
"timeout": 3000, +
"category": "sensors", +
"retryable": true, +
"description": "Read current joint positions and velocities", +
"parameterSchema": { +
"type": "object", +
"required": [ +
], +
"properties": { +
} +
} +
}, +
{ +
"id": "get_imu_data", +
"icon": "compass", +
"name": "Get IMU Data", +
"ros2": { +
"qos": { +
"durability": "volatile", +
"reliability": "reliable" +
}, +
"topic": "/imu/torso", +
"messageType": "sensor_msgs/msg/Imu", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "getImuData" +
} +
}, +
"timeout": 3000, +
"category": "sensors", +
"retryable": true, +
"description": "Read inertial measurement unit data from torso", +
"parameterSchema": { +
"type": "object", +
"required": [ +
], +
"properties": { +
} +
} +
}, +
{ +
"id": "get_bumper_status", +
"icon": "zap", +
"name": "Get Bumper Status", +
"ros2": { +
"topic": "/bumper", +
"messageType": "naoqi_bridge_msgs/msg/Bumper", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "getBumperStatus" +
} +
}, +
"timeout": 3000, +
"category": "sensors", +
"retryable": true, +
"description": "Read foot bumper contact sensors", +
"parameterSchema": { +
"type": "object", +
"required": [ +
], +
"properties": { +
} +
} +
}, +
{ +
"id": "get_touch_sensors", +
"icon": "hand", +
"name": "Get Touch Sensors", +
"ros2": { +
"topic": "/{sensor_type}_touch", +
"messageType": "naoqi_bridge_msgs/msg/HandTouch", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "getTouchSensors" +
} +
}, +
"timeout": 3000, +
"category": "sensors", +
"retryable": true, +
"description": "Read hand and head touch sensor states", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"sensor_type" +
], +
"properties": { +
"sensor_type": { +
"enum": [ +
"hand", +
"head" +
], +
"type": "string", +
"default": "hand", +
"description": "Touch sensor type to read" +
} +
} +
} +
}, +
{ +
"id": "get_sonar_range", +
"icon": "radio", +
"name": "Get Sonar Range", +
"ros2": { +
"topic": "/sonar/{sensor}", +
"messageType": "sensor_msgs/msg/Range", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "getSonarRange" +
} +
}, +
"timeout": 3000, +
"category": "sensors", +
"retryable": true, +
"description": "Read ultrasonic range sensor data", +
"parameterSchema": { +
"type": "object", +
"required": [ +
"sensor" +
], +
"properties": { +
"sensor": { +
"enum": [ +
"left", +
"right", +
"both" +
], +
"type": "string", +
"default": "both", +
"description": "Sonar sensor to read" +
} +
} +
} +
}, +
{ +
"id": "get_robot_info", +
"icon": "info", +
"name": "Get Robot Info", +
"ros2": { +
"topic": "/info", +
"messageType": "naoqi_bridge_msgs/msg/RobotInfo", +
"payloadMapping": { +
"type": "transform", +
"transformFn": "getRobotInfo" +
} +
}, +
"timeout": 3000, +
"category": "sensors", +
"retryable": true, +
"description": "Read general robot information and status", +
"parameterSchema": { +
"type": "object", +
"required": [ +
], +
"properties": { +
} +
} +
} +
]
(1 row)