4.5 运行一个代码示例
4.5.1 获取机器人的当前状态
# 进入 SDK 目录
# 注意将以下路径替换为解压后实际路径
cd /path/to/aimdk
# 设置环境变量
source /opt/ros/humble/setup.bash
source install/local_setup.bash
# 运行示例指令 - 获取机器人当前模式
# 不同示例的运行方式可以具体参考示例说明中的启动说明
# Python 示例
ros2 run py_examples get_mc_action
# C++ 示例
ros2 run examples get_mc_action
输出示例
如果你看到如下输出,说明你已成功与机器人建立通信,并获取到了机器人的当前运动模式。
[INFO] [1764066631.016733611] [get_mc_action_client]: ✅ GetMCAction client node created
[INFO] [1764066631.017900579] [get_mc_action_client]: 🟢 Service available, ready to send request.
[INFO] [1764066631.018566508] [get_mc_action_client]: Sending request to get robot mode
[INFO] [1764066631.021247791] [get_mc_action_client]: Current robot mode:
[INFO] [1764066631.021832667] [get_mc_action_client]: Mode name: PASSIVE_DEFAULT
[INFO] [1764066631.022396136] [get_mc_action_client]: Mode status: 100
4.5.2 让机器人挥手
控制机器人切换至 稳定站立(力控站立)模式, 参考状态流转图完成
block-beta
columns 8
JD("站姿预备模式\nJOINT DEFAULT"):2 space SD("<span class='highlight-target'>稳定站立模式\nSTAND_DEFAULT</span>"):2 space LD("走跑模式\nLOCOMOTION_DEFAULT"):2
space:8
PA("零力矩模式\nPASSIVE_DEFAULT"):2 space:4 LS("越野模式\nLOCOMOTION_STEP"):2
space:8
DA("阻尼模式\nDAMPING_DEFAULT"):2 space:6
DA --> PA
PA --> JD
JD --> SD
LD --> SD
LS --> LD
重要
在切入稳定站立(STAND_DEFAULT)模式前,确保机器人已立起且双脚着地。
# 1. 切换到站姿预备(位控站立)模式
## python 示例
ros2 run py_examples set_mc_action JD
## 或者 cpp 示例
ros2 run examples set_mc_action JD
# 2. 再切换到稳定站立(力控站立)模式
## python 示例
ros2 run py_examples set_mc_action SD
## 或者 cpp 示例
ros2 run examples set_mc_action SD
模式切换到稳定站立后,即可让机器人执行挥手动作:
## python 示例
ros2 run py_examples preset_motion_client
## cpp 示例
ros2 run examples preset_motion_client
根据提示输入:
手臂区域 (Arm Area):
2(右臂)预设动作 ID (Preset Action ID):
1002(挥手)
预期结果: 机器人将执行挥手动作!