Skip to content

Baxter DMP RL Demo cn

Dennis edited this page Jul 22, 2017 · 8 revisions

<< 返回主页

EN | 中文

示例 - Baxter抓取DMP轨迹强化学习

exprement_image



导航栏

  1. 概要
  2. 示例视频
  3. 运行
  4. 程序框架
  5. 常见问题



1 概要


Baxter DMP RL Demo 是一个程序包,可以让Baxter机器人学习一个DMP范化之后的抓取轨迹,同时用强化学得到一条最优抓取轨迹。
目前这个程序包只在ROS indigoUbuntu14.04版本上测试通过, 如果你在测试这个包时遇到任何问题,请在github上通知我。

1.1 文件位置:
  • ./baxter_DMP_RL/scripts/...
  • ./baxter_DMP_RL/src/...
  • ./robotiq/robotiq_force_torque_sensor/nodes/rq_sensor.cpp
  • geometry_msgs.msg.WrenchStamped massage
  • In this demo i publish 5 topics which is :

    action1_reward, type is std_msgs.Float32
    action2_reward, type is std_msgs.Float32
    action3_reward, type is std_msgs.Float32
    action4_reward, type is std_msgs.Float32
    action5_reward, type is std_msgs.Float32

    这些发布的消息用于产生reward曲线。


2 视频


Youtube video link

3 运行


在运行这个程序包之前请认真阅读README文件,里面有相关说明,同时请确认你的电脑已经链接上了Baxter机器人. 运行:

$ rosrun dmp dmp_joint_trajectory_action_server.py
$ rosrun dmp Baxter_DMP_RL_joint_trajectory_learn_client.py

如果想要获取更多信息或者寻求帮助,或者请阅读常见问题部分常见问题 .

4 程序框架


当你运行 dmp_joint_trajectory_action_server.py 这个python节点,它会创建一个轨迹服务。
如果你需要知道更多的细节请参考这个网站: Baxter关节轨迹点生成,回放教程.
当你运行 Baxter_DMP_RL_joint_trajectory_learn_client.py 这个python节点, 它会创建一个DMP轨迹实例和一个强化学习智能体,DMP实例能够运行DMP轨迹点,但是这些DMP轨迹强化学习只能体是随机产生的,强化学习智能体会更具当前的力反馈信息反馈给当前的范化的DMP轨迹一个奖励值,然后学习到一条最优的抓取轨迹。
如果你要了解更多关于ROS DMP程序包的相关信息,请参考这个网页 ROS DMP package, 强化学习off-policy Q-learning RL Q-learning.

5 常见问题


Q1 我可以自己产生DMP轨迹吗 ?
A1 当然可以!

  1. 在你自己用DMP程序包产生DMP轨迹前,你需要去了解这个教程: Baxter关节角记录回放教程.
    This example will tell you how to generate a joint trajectory, which is input data of DMP.
  2. 然后运行:
rosrun dmp dmp_server
rosrun dmp baxter_r_arm_dmp.py

[Tip]: 请确保你自己产生的关节角轨迹点正确输入到了这个python脚本baxter_r_arm_dmp.py file.


Q2. 我没有 Robotiq的力传感器, 怎么办?

A2. 如果你没有力传感器,则意味着你不能在真机器人上实现这个功能,但是这还是有办法的,你可以在Gazebo仿真器中运行这个程序:

  1. 我会在下一次更新中回答这个问题.

!!! 警告 !!!

如果你在实验的时候按下了急停按钮, 请千万记住先关掉这个节点 dmp_server, 然后再松开急停按钮. 否则, 机器人会运动得非常快,这可能会伤到你。