robot_behavior
Unify robot behavior controls for animation, camera, navigation, and manipulation in one interface, enabling path planning, camera feeds, pose changes, and arm/gripper operations.
Instructions
Robot behavior control portmanteau - Animation, camera, navigation, and manipulation.
PORTMANTEAU PATTERN: Consolidates animation, camera, navigation, and manipulation operations into a single unified tool. This reduces tool explosion while maintaining full functionality across all behavior categories.
CATEGORIES:
animation: Animation and pose control
camera: Camera feed and visual control
navigation: Path planning and navigation
manipulation: Arm and gripper control
ANIMATION ACTIONS:
animate_wheels: Rotate wheels during movement (Scout mecanum wheels)
animate_movement: Play movement animations (walk, turn, etc.)
set_pose: Set robot pose (sitting, standing, etc. for Unitree)
play_animation: Play custom animations
stop_animation: Stop current animation
get_animation_state: Get current animation state
CAMERA ACTIONS:
get_camera_feed: Get live camera feed (physical Scout camera)
get_virtual_camera: Get Unity camera view from robot perspective
set_camera_angle: Adjust camera angle
capture_image: Capture still image
start_streaming: Start video stream
stop_streaming: Stop video stream
get_camera_status: Get camera status and settings
NAVIGATION ACTIONS:
plan_path: Plan path from A to B (A* or RRT)
follow_path: Execute planned path
set_waypoint: Set navigation waypoint
clear_waypoints: Clear waypoint list
get_path_status: Check path execution status
avoid_obstacle: Dynamic obstacle avoidance
get_current_path: Get current path being followed
MANIPULATION ACTIONS:
move_arm: Move arm to target joint positions or end-effector pose
set_joint_positions: Set individual joint positions (dict of joint_name: angle)
set_end_effector_pose: Move end-effector to target pose (position + orientation)
get_arm_state: Get current arm joint positions and end-effector pose
open_gripper: Open gripper fully
close_gripper: Close gripper fully
set_gripper_position: Set gripper position (0.0 = open, 1.0 = closed)
get_gripper_state: Get current gripper position and force feedback
move_to_pose: Move arm to target pose with IK (inverse kinematics)
home_arm: Return arm to home/rest position
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| loop | No | Whether to loop animation. | |
| pose | No | Pose name for set_pose. | |
| action | Yes | Action to perform (see category-specific actions above). | |
| arm_id | No | Arm identifier for multi-arm robots (e.g., "left", "right"). | |
| angle_x | No | Camera angle X (pitch) in degrees. | |
| angle_y | No | Camera angle Y (yaw) in degrees. | |
| path_id | No | Path identifier for follow_path or get_path_status. | |
| category | Yes | Behavior category: "animation", "camera", or "navigation". | |
| robot_id | Yes | Robot identifier (e.g., "scout_01", "vbot_scout_01"). | |
| waypoint | No | Waypoint position (x, y, z) for set_waypoint. | |
| stream_url | No | Stream URL for start_streaming. | |
| force_limit | No | Maximum force/torque limit for movement. | |
| output_path | No | Output file path for capture_image. | |
| wheel_speeds | No | Wheel speeds for animate_wheels. | |
| goal_position | No | Goal position (x, y, z) for plan_path. | |
| animation_name | No | Animation name for play_animation. | |
| start_position | No | Start position (x, y, z) for plan_path. | |
| animation_speed | No | Animation speed multiplier. | |
| joint_positions | No | Joint positions dict (e.g., {"shoulder": 45.0, "elbow": 90.0}). | |
| gripper_position | No | Gripper position (0.0 = open, 1.0 = closed). | |
| end_effector_pose | No | End-effector pose dict with position and orientation. | |
| obstacle_position | No | Obstacle position (x, y, z) for avoid_obstacle. | |
| manipulation_speed | No | Movement speed (0.0-1.0) for arm/gripper motion. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||