AIRBOT Play 例程说明
AIRBOT Play 例程说明#
以下例程均有以下默认参数:
| 可选参数 | 参数介绍 | 默认值 |
|---|---|---|
| -i | can port 机械臂can口号 |
can0 |
| -r | --remote-ip Plotjugger的IP地址 |
127.0.0.1 |
| -p | --port Plotjugger的UDP端口 |
9870 |
C++例程功能说明#
机械臂读取信息示例#
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_arm_get_params |
| 文件路径 | example/cpp/src/product/get_params.cpp |
| 功能概述 | 移动到命令行指定位置 |
| 输入参数 | -eef( G2,E2,NA,默认NA) |
机械臂关节空间位置控制#
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_1f1 |
| 文件路径 | example/cpp/src/product/1f1.cpp |
| 功能概述 | 示教臂控PLAY |
| 输入参数 | -i_teacharm -i_arm |
示例:
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_play_pos_ctrl |
| 文件路径 | example/cpp/src/product/play_pos_ctrl.cpp |
| 功能概述 | 移动到命令行指定位置 |
| 输入参数 | -j[如下] -g [0,0.072] |
输入参数阈值
| 关节编号 | lower | upper |
|---|---|---|
| joint1 | -3.1416 | 2.0944 |
| joint2 | -2.9671 | 0.17453 |
| joint3 | -0.087266 | 3.1416 |
| joint4 | -3.0107 | 3.0107 |
| joint5 | -1.7628 | 1.7628 |
| joint6 | -3.0107 | 3.0107 |
| joint7 | 0.0000 | 0.072 |
示例:
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_play_pos_show |
| 文件路径 | example/cpp/src/product/play_pos_show.cpp |
| 功能概述 | 进行大臂展固定位置移动 |
| 关节精度误差 | ±0.02 |
| 夹爪精度误差 | ±0.001 |
示例:
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_play_return_zero |
| 文件路径 | example/cpp/src/product/play_return_zero.cpp |
| 功能概述 | 返回零点 |
示例:
机械臂关节空间速度控制#
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_play_kbd_ctrl_1 |
| 文件路径 | example/cpp/src/product/play_kbd_ctrl_1.cpp |
| 功能概述 | 按键 1 2 3 4 5 6 7 8 9 0 - = 控制机械臂关节以一定速度运动(按下时开始速度控制目标为非0值,松开时速度控制目标为0) |
| 按键 | 操作说明 |
|---|---|
| 1 | 1号 关节正方向运动 |
| 2 | 1号 关节反方向运动 |
| 3 | 2号 关节正方向运动 |
| 4 | 2号 关节反方向运动 |
| 5 | 3号 关节正方向运动 |
| 6 | 3号 关节反方向运动 |
| 7 | 4号 关节正方向运动 |
| 8 | 4号 关节反方向运动 |
| 9 | 5号 关节正方向运动 |
| 0 | 5号 关节反方向运动 |
| - | 6号 关节正方向运动 |
| = | 6号 关节反方向运动 |
| a | 减小运动速度 |
| s | 重设运动速度 |
| d | 增加运动速度 |
注意事项
- 请在开始控制前确保机械臂周围没有障碍物。
- 可随时按下 Ctrl+C 来停止程序。
机械臂关节空间MIT控制#
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_play_mit_free_drive |
| 文件路径 | example/cpp/src/product/play_mit_free_drive.cpp |
| 功能概述 | 自由拖拽(无重力补偿) |
注意:
1.该例程无重力补偿,执行后机械臂会掉落,请确保安全
2.确认以上信息后,按下回车进入无重力补偿模式的自由拖拽状态
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_play_mit_swing |
| 文件路径 | example/cpp/src/product/play_mit_swing.cpp |
| 功能概述 | 1号关节正弦摆动 |
| 输入参数 | -T ( [2,20],默认值 = 10) |
示例:
末端执行器控制示例#
夹爪位置控制#
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_g2_pos_ctrl |
| 文件路径 | example/cpp/src/product/g2_pos_ctrl.cpp |
| 功能概述 | 按命令行指定位置开合 |
| 输入参数 | -g [0,0.072] |
示例:
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_g2_pos_swing |
| 文件路径 | example/cpp/src/product/g2_pos_swing.cpp |
| 功能概述 | 正弦开关夹爪 |
| 输入参数 | -T (推荐1~5) |
示例:
夹爪力控#
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_g2_force |
| 文件路径 | example/cpp/src/product/g2_force.cpp |
| 功能概述 | 在不同位置施加恒定的夹取力 |
| 输入参数 | -f [-200, -4]或[4, 200] |
示例:
示教器位置反馈#
| 字段 | 说明 |
|---|---|
| 可执行文件名 | airbot_e2 |
| 文件路径 | example/cpp/src/product/e2.cpp |
| 功能概述 | 以 0.1s 间隔将 E2 平行宽度打印至命令行 |
灵巧手通用示例#
| 例程名称 | 文件路径 | 功能描述 |
|---|---|---|
| set_hand_angles | example/cpp/src/hardware/hand/set_hand_angles.cpp |
灵巧手控制示例,演示灵巧手基本控制功能 |
| set_hand_waving | example/cpp/src/hardware/hand/set_hand_waving.cpp |
灵巧手控制,演示手指连续移动 |
Python例程功能说明#
机械臂控制示例#
| 例程名称 | 文件路径 | 参数 | 功能描述 |
|---|---|---|---|
| 1f1 | example/python/product/1f1.py |
-i_teacharm -i_arm |
机械臂协同控制示例 |
| play_pos_ctrl | example/python/product/play_pos_ctrl.py |
-j -g[0,0.072] |
关节空间位置控制-移动到命令行指定位置 |
| play_return_zero | example/python/product/play_return_zero.py |
\ | 关节空间位置控制-机械臂回零 |
| play_mit_swing | example/python/product/play_mit_swing.py |
-T ( [2,20],默认值 = 10) |
关节空间MIT控制-1号关节正弦摆动 |
| play_mit_free_drive | example/python/product/play_mit_free_drive.py |
\ | 关节空间MIT控制-自由拖拽(无重力补偿 |
末端执行器控制示例#
| 例程名称 | 文件路径 | 参数 | 功能描述 |
|---|---|---|---|
| e2 | example/python/product/e2.py |
\ | 示教器位置反馈-以 0.1s 间隔将 E2 平行宽度打印至命令行 |
| g2_force | example/python/product/g2_force.py |
-f [-200, -4]或[4, 200] |
夹爪力控-在不同位置施加恒定的夹取力 |
| g2_pos_ctrl | example/python/product/g2_pos_ctrl.py |
-g [0,0.072] |
夹爪位置控制-按命令行指定位置开合 |
灵巧手通用示例#
| 例程名称 | 文件路径 | 功能描述 |
|---|---|---|
| example_hand | example/python/hardware/hand/example_hand.py |
灵巧手位置设置功能 |
| test_arm_with_hand | example/python/hardware/hand/test_arm_with_hand.py |
灵巧手和机械臂联合运动 |
ROS2例程功能说明#
| 节点名称 | 功能描述 |
|---|---|
airbot_eef_e2 |
E2 夹爪反馈数据获取 |
airbot_eef_g2 |
G2 夹爪控制与反馈数据获取 |
airbot_play_free_drive |
机械臂自由拖拽模式(无重力补偿) |
airbot_play_pos_ctrl_mit |
机械臂 MIT 控制 |
airbot_play_pos_ctrl |
机械臂位置/速度控制 |
airbot_play_pos_ctrl_with_e2 |
机械臂+E2 夹爪联合位置/速度控制 |
airbot_play_pos_ctrl_with_g2 |
机械臂+G2 夹爪联合位置/速度控制 |
airbot_replay |
replay 状态反馈 |
例程对应话题(Topic)说明#
| 话题名称 | 类型 | 说明 |
|---|---|---|
/joint_states_command |
sensor_msgs/JointState |
关节控制指令(位置/速度等) |
/joint_states |
sensor_msgs/JointState |
关节状态反馈(实际位置/速度) |
例程使用说明#
- airbot_eef_e2(E2 反馈数据获取)
示例:
ros2 run airbot_hardware_ros2 airbot_eef_e2 --ros-args -p i:=can0
# 查看 E2 夹爪反馈数据
ros2 topic echo /joint_states
- airbot_eef_g2(G2 反馈数据获取)
示例:
ros2 run airbot_hardware_ros2 airbot_eef_g2 --ros-args -p i:=can0
# 查看 G2 夹爪反馈数据
ros2 topic echo /joint_states
# 发送 G2 夹爪控制指令
ros2 topic pub /joint_states_command sensor_msgs/JointState "{name: ['eef'], position: [0.0], velocity: [0.0], effort: [0.0]}" --once
- airbot_play_free_drive(机械臂自由拖拽模式)
示例:
ros2 run airbot_hardware_ros2 airbot_play_free_drive --ros-args -p i:=can0
# 查看机械臂反馈数据
ros2 topic echo /joint_states
- play_pos_ctrl_mit (机械臂 MIT 控制)
示例:
ros2 run airbot_hardware_ros2 airbot_play_pos_ctrl_mit --ros-args -p i:=can0
# 查看 play 反馈数据
ros2 topic echo /joint_states
# 发送 play mit 控制指令
ros2 topic pub --once /joint_states_command sensor_msgs/msg/JointState '
{
name: ["joint1", "joint2", "joint3", "joint4", "joint5", "joint6"],
position: [0.2, 0.0, 0.0, 0.0, 0.0, 0.0]
}'
- airbot_play_pos_ctrl(机械臂位置/速度控制)
示例:
ros2 run airbot_hardware_ros2 airbot_play_pos_ctrl_mit --ros-args -p i:=can0
# 查看 play 反馈数据
ros2 topic echo /joint_states
# 发送 play mit 控制指令
ros2 topic pub --once /joint_states_command sensor_msgs/msg/JointState '
{
name: ["joint1", "joint2", "joint3", "joint4", "joint5", "joint6"],
position: [0.2, 0.0, 0.0, 0.0, 0.0, 0.0]
}'
- airbot_play_pos_ctrl_with_e2(机械臂+E2 反馈数据获取)
示例:
ros2 run airbot_hardware_ros2 airbot_play_pos_ctrl_with_e2 --ros-args -p i:=can0
# 查看 play + E2 反馈数据
ros2 topic echo /joint_states
# 发送 play 控制指令
ros2 topic pub --once /joint_states_command sensor_msgs/msg/JointState '
{
name: ["joint1", "joint2", "joint3", "joint4", "joint5", "joint6"],
position: [0.5, 0.0, 0.0, 0.0, 0.0, 0.0]
}'
- airbot_play_pos_ctrl_with_g2(机械臂+G2 联合位置/速度控制)
示例:
ros2 run airbot_hardware_ros2 airbot_play_pos_ctrl_with_g2 --ros-args -p i:=can0
# 查看 play + G2 反馈数据
ros2 topic echo /joint_states
# 发送 play + G2 控制指令
ros2 topic pub --once /joint_states_command sensor_msgs/msg/JointState '
{
name: ["joint1", "joint2", "joint3", "joint4", "joint5", "joint6", "joint7"],
position: [0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07]
}'
- airbot_replay(replay 状态反馈)
示例: