7.1 Motion Control
7.1 Motion Control
7.1.2 State Machine Switching and Query RPC Interfaces
| Interface Name | pb:/aimdk.protocol.MotionControlActionService/SetAction |
|---|---|
| Function Overview | Switch the motion control state machine |
| Interface Type | HTTP JSON RPC |
| URL | http://10.42.10.12:56322/rpc/aimdk.protocol.MotionControlActionService/SetAction |
| Input Parameters | text
|
| Output Parameters | text
|
| Example Script | examples/mc/S_SetAction.py |
| Notes |
|
| Interface Name | pb:/aimdk.protocol.MotionControlActionService/GetAction |
|---|---|
| Function Overview | Query the motion control state machine |
| Interface Type | HTTP JSON RPC |
| URL | http://10.42.10.12:56322/rpc/aimdk.protocol.MotionControlActionService/GetAction |
| Input Parameters | text |
| Output Parameters | text
|
| Example Script | example/mc/S_GetAction.py |
| Notes |
|
7.1.3 RPC Interface for Querying Available Robot Actions
| Interface Name | pb:/aimdk.protocol.MotionControlActionService/GetAvailableActions |
|---|---|
| Function Overview | Get available actions |
| Interface Type | HTTP JSON RPC |
| URL | http://10.42.10.12:56322/rpc/aimdk.protocol.MotionControlActionService/GetAvailableActions |
| Input Parameters | text |
| Output Parameters | text
|
| Example Script | examples/mc/S_SetAction.py |
| Notes | In general, you first use GetAvailableActions to query the currently switchable actions, and then use SetAction to set the action state. |
7.1.4 Walking Control Command Topic Interface
| Interface Name | /motion/control/locomotion_velocity |
|---|---|
| Function Overview | Walking control command |
| Interface Type | ROS2 Topic |
| Input Parameters | text
|
| Example Script | examples/mc/walk.py |
| Notes |
|
7.1.5 Arm Control Command and State Topic Interfaces
| Interface Name | /motion/control/arm_joint_command |
|---|---|
| Function Overview | Arm joint control command |
| Interface Type | ROS2 Topic |
| Input Parameters | sensor_msgs::msg::JointState
|
| Example Script | examples/mc/arm.py |
| Notes |
|
| Interface Name | /motion/control/arm_joint_state |
|---|---|
| Function Overview | Arm joint state topic |
| Interface Type | ROS2 Topic |
| Output Parameters | sensor_msgs::msg::JointState
|
| Example Script | examples/mc/joint_state.py |
| Notes | This interface has no Action restrictions |
7.1.6 Waist Posture Control Topic Interface
| Interface Name | /motion/control/move_waist |
|---|---|
| Function Overview | Waist posture control |
| Interface Type | ros2 topic |
| Input Parameters | text
double waist_roll // range: [-0.314, 0.314] unit: rad double waist_yaw // range: [-1.6, 1.6] unit: rad double waist_height // range: [-0.3, 0.0] unit: m |
| Example Script | examples/mc/move_waist.py |
| Notes |
|
7.1.7 Neck Control Command and State Topic Interfaces
| Interface Name | /motion/control/neck_joint_command |
|---|---|
| Function Overview | Neck control command |
| Interface Type | ROS2 Topic |
| Input Parameters | sensor_msgs::msg::JointState
|
| Example Script | examples/mc/neck.py |
| Notes |
|
| Interface Name | /motion/control/neck_joint_state |
|---|---|
| Function Overview | Neck state topic |
| Interface Type | ROS2 Topic |
| Output Parameters | sensor_msgs::msg::JointState
|
| Example Script | examples/mc/joint_state.py |
| Notes |
|
7.1.8 Finger Control Command and State Topic Interfaces
| Interface Name | /motion/control/hand_joint_command |
|---|---|
| Function Overview | Finger control command |
| Interface Type | ROS2 Topic |
| Input Parameters | sensor_msgs::msg::JointState
|
| Example Script | examples/mc/hand.py |
| Notes |
|
| Interface Name | /motion/control/hand_joint_state |
|---|---|
| Function Overview | Finger state topic |
| Interface Type | ROS2 Topic |
| Output Parameters | sensor_msgs::msg::JointState
|
| Example Script | examples/mc/joint_state.py |
| Notes |
|
7.1.9 Enable Arm Compliance
| Interface Name | pb:/aimdk.protocol.MotionControlMotionService/EnableArmCompliance |
|---|---|
| Function Overview | Enable arm compliance mode |
| Interface Type | HTTP JSON RPC |
| URL | http://10.42.10.12:56322/rpc/aimdk.protocol.MotionControlMotionService/EnableArmCompliance |
| Input Parameters | text |
| Output Parameters | text
|
| Example Script | examples/mc/EnableArmCompliance.sh |
| Notes | Arm compliance mode can improve arm control accuracy. |
7.1.10 Disable Arm Compliance
| Interface Name | pb:/aimdk.protocol.MotionControlMotionService/DisableArmCompliance |
|---|---|
| Function Overview | Disable arm compliance mode |
| Interface Type | HTTP JSON RPC |
| URL | http://10.42.10.12:56322/rpc/aimdk.protocol.MotionControlMotionService/DisableArmCompliance |
| Input Parameters | text |
| Output Parameters | text
|
| Example Script | examples/mc/DisableArmCompliance.sh |
| Notes |
7.1.11 Check Arm Compliance
| Interface Name | pb:/aimdk.protocol.MotionControlMotionService/CheckArmCompliance |
|---|---|
| Function Overview | Query the arm compliance mode status |
| Interface Type | HTTP JSON RPC |
| URL | http://10.42.10.12:56322/rpc/aimdk.protocol.MotionControlMotionService/DisableArmCompliance |
| Input Parameters | text |
| Output Parameters | text
|
| Example Script | examples/mc/CheckArmCompliance.sh |
| Notes |