实验三 Baxter基本控制 - RLi43/Baxter-Experimental-Guide GitHub Wiki

实验目的

  1. 了解Baxter的API,并控制Baxter

实验要求

  1. 实验前了解实验指导书中的相关内容
  2. 实验前做好实验计划,做好前期准备,能按实验指导书完成相应内容,并进行适当探索。
  3. 注意实验安全

实验内容

Baxter SDK API

Baxter SDK API包括Python API和Baxter上已安装的ROS消息和服务。这是很重要的参考内容。能够执行的操作都可以在参考中找到。

机器人的底层操作往往都已被封装,比起工业机器人,Baxter提供的接口已经称得上很底层了。尽管如此,电机转动角度一类的接口是不会开放给使用者的,一来有PID控制,二来还有机器人自身的机械限制不允许一些看似可行的操作,用户要在其给定的框架下操作。比如想要得到指定的路线,就可以指定足够的路径点数量来使其路径与预期吻合。

Baxter示例学习

Baxter提供了一些示例程序,可以在连接Baxter主机的环境(即执行$./baxter.sh后)中运行示例程序:

rosrun baxter_examples <examples_name>

可以在ros_ws/src/baxter_examples文件夹中查看实现示例的源码

示例界面有详细的指引

运行每一个示例,并阅读示例代码,通过这一步,你将基本了解Baxter的控制。

工具学习

Tools-sdk-wiki Baxter SDK提供了使能,相机,打包三个工具。

  • 使能
    • 控制机器人启动or关闭
  • 相机
  • 打包
    • 将机器人的状态设为运输模式。略。

交互式控制

cd ros_ws
./baxter.sh
python
>>>

交互式编程为控制者提供了快捷实时控制机器人的方式。在python环境中新建一个节点,即可发布/接收消息,进而通知/了解正在运行的程序。也可以用API直接控制机器人的运动。比如下面的的一段即可读取右手关节角大小:

>>>import rospy
>>>import baxter_interface
>>>rospy.init_node('hello', anonymous=True)
>>>rightl = baxter_interface.Limb('right')
>>>angles = rightl.joint_angles()
>>>print angles

控制小任务

通过以上的步骤,相信你对Baxter的控制已经有了足够的了解。

接下来请设计一个舞蹈动作并实现。

提示:需要的手臂姿态可以通过关节角读取确定。

实验结果

  1. 了解Baxter的API,成功控制Baxter实现基本运动,为综合任务开发做好技术准备