Baxter官方例程

这篇博客详细介绍了如何操作和控制Rethink Robotics的Baxter机器人,涵盖从启用禁用机器人、调整姿态、关节运动、I/O测试到反向运动学应用等多个方面。此外,还涉及到头部显示屏转动、手臂镜像移动、手臂自由摆动等示例,以及点位录制和循环播放功能。同时,提供了手臂校准的步骤,帮助用户全面了解和掌握Baxter机器人的交互与控制。
摘要由CSDN通过智能技术生成

1. 使用机器人必做步骤

cd ~/ros_ws/
./baxter.sh
rosrun baxter_tools enable_robot.py -e

2. 禁用、启用Baxter 机器人

# 禁用机器人
rosrun baxter_tools enable_robot.py -d

# 启用机器人
rosrun baxter_tools enable_robot.py -e

3. 调整Baxter 姿态

# 打包姿态
rosrun baxter_tools tuck_arms.py -t

# 反打包姿态
rosrun baxter_tools tuck_arms.py -u

4. 键盘操控关节运动

键盘操控关节运动示例,允许在关节位置模式下控制Baxter 的手臂的角关节位置,说明了如何使用位置控制来根据关节角度移动和感知手臂

使用终端启动案例,通过键盘来控制Baxter 关节位置程序、控制Baxter 机器人关节点的运动,输入节点命令后,按下 ? 出现键盘控制按键提示

rosrun baxter_examples joint_position_keyboard.py

5. 输入输出测试示例

数字和模拟I/O 组件包括机器人上的大多数按钮和开/关LED。
这些示例程序演示如何使用Python 接口,并演示如何使用组件的命令和状态消息。
输入输出测试示例提供了使用Digital I/O 和Analog I/O 组件的简单演示,与 baxter-interface 代码中包含的python 接口相对应。

5.1 Digital I/O(数字化I/O)案例运行使用命令

使用下面命令,从RSDK 终端会话启动Digital I/O 示例,终端运行此案例后,先打开然后关闭左侧导航器上的LED 灯

rosrun baxter_examples digital_io_blink.py
5.2 运行 Analog I/O(模拟I/O)示例

使用下面命令,这个示例将使用Baxter 机器人的风扇从0 到100 运行,然后以100 为增量再次向下运行到0 。

rosrun baxter_examples analog_io_rampup.py

6. 头部显示屏转动示例

Baxter 头部“显示屏转动”示例随机移动头部以使用头部平移和点头动作进行演示。
Baxter 机器人的头部可以在点头动作中上下移动点头运动,并在旋转动作中从左向右旋转。
头部点头运动是一个单一动作,可以触发运行,但不能设置为特定角度。
平移运动将Baxter 的“面部”(即屏幕)旋转到可设置的角度,围绕头部的垂直轴旋转。

该例,Baxter 机器人的头会点头,并开始左右移动任意角度

rosrun baxter_examples head_wobbler.py

7. 反向运动学示例

此示例演示了Baxter 中可用的IK 服务的用法。该main()函数记录要在其上调用IK服务的关节,然后调用该ik_test()函数。在这里初始化Rospy 节点, 初始化默认笛卡尔坐标以及调用IK 服务。
服务-ExternalTools/right/PositionKinematicsNode/IKService

从RSDK Shell 中,运行inverse_kinematics(运行反向运动学)包中的ik_service_client.py 演示,参数为“Left”或“Right”

# 使用左手
rosrun baxter_examples ik_service_client.py -l left

# 使用右手
rosrun baxter_examples ik_service_client.py -l right

8. 手臂镜像移动示例

手臂镜像移动示例,使用镜像手臂作为关节速度控制来控制Baxter 机器人。
Baxter有三种控制方式:关节位置、关节速度和关节扭矩控制。
本例将以零重力模式将一个臂上的任何相对运动(关节速度)镜像到另一个臂上。

抓住袖口的另一只手臂,然后使用“零重力”模式移动Baxter手臂,一只手臂会跟随另一只运动起来

# 使用左手
rosrun baxter_examples joint_velocity_puppet.py -l left

# 使用右手
rosrun baxter_examples joint_velocity_puppet.py -l right

9. Baxter 手臂摆动示例

Baxter 的手臂,有关节位置控制和关节速度控制两种控制模式。
这个例子通过驱动每个关节的速度来 “摆动” 双臂,这个速度是根据正弦波绕中性点的位置来计算的。
示例通过速度控制模式并读取1000Hz 的联合状态。

以Baxter 手臂自由摆动为示例,用关节速度控制来控制Baxter 机器人手臂自由摆动

rosrun baxter_examples joint_velocity_wobbler.py

10. 通过Baxter 按钮交互实现点位录制和循环示例

此示例演示了位置控制器在简单关节位置移动的用法。
该main() 函数调用record()用户根据需要记录航路点的方法。然后,playback()调用该方法,该方法通过记录的关节位置演示平滑的运动回放。

在终端运行以下命令,然后使用 OK 按钮来记录每个点,使用 Rethink 按钮结束录制过程行上一次记录的动作,直至按下 ctrl+c 终止

# 使用左手
rosrun baxter_examples joint_position_waypoints.py -l left

# 使用右手
rosrun baxter_examples joint_position_waypoints.py -l right

11. 机器人手臂校准示例

# 左手臂校准
rosrun baxter_tools calibrate_arm.py -l left
rosrun baxter_tools tare.py -l left

# 右手臂校准
rosrun baxter_tools calibrate_arm.py -l right
rosrun baxter_tools tare.py -l right
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值