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] [get_mc_action_client]: Get MC Action Client 已创建
[INFO] [get_mc_action_client]: 发送获取机器人模式请求
[INFO] [get_mc_action_client]: 机器人模式(1:零力矩模式,100:站姿预备模式,200:稳定站立,300:走跑模式)
[INFO] [get_mc_action_client]: 当前机器人模式:100
[INFO] [get_mc_action_client]: 模式描述:默认模式模式中
[INFO] [get_mc_action_client]: 模式状态:1
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
重要
在切换至稳定站立(力控站立)模式前,请确保机器人双脚与地面充分接触。
# 切换到站姿预备(位控站立)模式
## python 示例
ros2 run py_examples set_mc_action 100
## cpp 示例
ros2 run examples set_mc_action 100
# 再切换到稳定站立(力控站立)模式
## python 示例
ros2 run py_examples set_mc_action 200
## cpp 示例
ros2 run examples set_mc_action 200
模式切换到稳定站立后,即可让机器人执行挥手动作:
## python 示例
ros2 run py_examples preset_motion_client
## cpp 示例
ros2 run examples preset_motion_client
根据提示输入:
手臂区域 (Arm Area):
2(右臂)预设动作 ID (Preset Action ID):
1002(挥手)
预期结果: 机器人将执行挥手动作!