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 (挥手)

预期结果: 机器人将执行挥手动作!