ROS探索总结(六十三)—— 古月私房课 | ROS机械臂开发中的主角MoveIt!

5865
8
2019年4月1日 11时27分

~欢迎关注~

微信公众号:古月居

新浪微博:古月春旭

知乎专栏:古月居

原文链接:古月私房课 | ROS机械臂开发中的主角MoveIt!

 

大家好,这里是《ROS机械臂开发:从入门到实战》的第四讲——ROS机械臂开发中的主角MoveIt!,我是主讲人胡春旭。

幻灯片1

本讲我们将从以下两个部分进行讲解。

幻灯片2

首先我们来认识下ROS机械臂开发中的绝对主角——MoveIt!

幻灯片3

ROS最早因PR2机器人而生,MoveIt!也是同样的出身,由PR2机器人中机械臂部分的软件集成而来。

幻灯片4

MoveIt!目前已经支持众多传统工业机器人、协作机器人、人形机器人。

幻灯片5

应用如此广泛的MoveIt!并不是一个简单的功能包,而是由一系列功能包组成的集成化开发平台。

幻灯片6

传统工业机器人应用中,我们需要通过示教器确定机器人运动中的所有路径点,拖动施教并不能颠覆这种模式,这也是MoveIt!要解决的核心问题:已知当前状态和目标状态,如何自动完成运动规划。

幻灯片7

针对运动规划这一核心问题,MoveIt!主要提供三大核心功能:运动学、路径规划、碰撞检测。

幻灯片8

开发者可以通过程序接口或者上位机完成指令的发布,Moveit!中的核心节点move_group完成各功能算法的集成,并输出规划完成的运动轨迹。

幻灯片9

MoveIt!的开发分成四个步骤,首先我们需要按照上讲的内容创建机器人模型,然后通过工具完成模型的配置,接下来添加关节上的控制器插件,最后才是顶层运动控制的实现。

幻灯片10

URDF模型的创建上讲已经详细讲解过了,本讲第二部分主要介绍如何通过MoveIt!的可视化工具完成模型的配置。

幻灯片11

Setup Assistant可视化工具可以通过rosun命令启动,之后按照界面左边列表的步骤依次完成配置,部分步骤可以跳过。

幻灯片12

第一步需要将配置的URDF模型导入工具,然后在第二步中生成自碰撞检测矩阵。

幻灯片13

第三步的规划组是最重要的配置过程,需要将机械臂的运行学求解链设置清楚,不然机械臂很可能动不起来。

幻灯片14

第四步可以预定义一些位姿,方便后续编程调用。

幻灯片15

最后两步设置作者信息,就可以导出配置功能包了,放置在工作空间当中,并完成编译。

幻灯片16

为验证配置是否正确,我们可以运行自动生成的demo演示,使用如下命令启动后,就可以在界面中拖动设置机器人位姿并控制运动啦。

幻灯片17

点击“Plan”进行规划,点击“Execute”机械臂开始按照规划轨迹运动。

幻灯片18

以上就是本讲的内容概要,详细配置过程和操作视频请见课程视频。

幻灯片19

更多精彩,欢迎大家关注“古月居”。

幻灯片22

 

更多内容欢迎关注:

微信公众号:古月居 (guyue_home)

新浪微博:古月春旭

知乎专栏:古月居

发表评论

后才能评论

评论列表(8条)

  • fighting! 2020年4月7日 下午11:38

    ‘ for planning scene world geometry
    Segmentation fault (core dumped)
    [gazebo_gui-3] process has died [pid 40391, exit code 139, cmd /opt/ros/kinetic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/sweatlin/.ros/log/2eb13cb0-78e2-11ea-a76a-000c29eed063/gazebo_gui-3.log].
    log file: /home/sweatlin/.ros/log/2eb13cb0-78e2-11ea-a76a-000c29eed063/gazebo_gui-3*.log
    [WARN] [1586272375.928598, 7.210000]: Controller Spawner couldn’t find the expected controller_manager ROS interface.
    [WARN] [1586272375.960876, 7.219000]: Controller Spawner couldn’t find the expected controller_manager ROS interface.
    [robot_arm_urdf/arm_controller_spawner-5] process has finished cleanly
    log file: /home/sweatlin/.ros/log/2eb13cb0-78e2-11ea-a76a-000c29eed063/robot_arm_urdf-arm_controller_spawner-5*.log
    [robot_arm_urdf/joint_controller_spawner-6] process has finished cleanly
    log file: /home/sweatlin/.ros/log/2eb13cb0-78e2-11ea-a76a-000c29eed063/robot_arm_urdf-joint_controller_spawner-6*.log
    [ WARN] [1586272395.102809257, 15.021000000]: It is likely there are too many vertices in collision geometry

    [ INFO] [1586272395.569082634, 15.191000000]: Using planning request adapter ‘Fix Start State In Collision’
    [ INFO] [1586272395.569196498, 15.191000000]: Using planning request adapter ‘Fix Start State Path Constraints’
    [ WARN] [1586272404.526267251, 20.214000000]: Waiting for robot_arm_urdf/arm_joint_controller/follow_joint_trajectory to come up
    [ WARN] [1586272415.523588497, 26.214000000]: Waiting for robot_arm_urdf/arm_joint_controller/follow_joint_trajectory to come up
    [ERROR] [1586272426.599350647, 32.214000000]: Action client not connected: robot_arm_urdf/arm_joint_controller/follow_joint_trajectory

    老师您好,我自己尝试搭建了个机械臂 但是我总是出现这样的错误

  • 夜了盖儿 2020年1月18日 下午1:09

    我在学习第十章的时候拖动规划。点击plan后机器人无法运动。报错Unable to connect to move_group action server ‘move_group’ within allotted time (30s)。不知道什么问题,

  • ok 2019年9月10日 下午3:49

    请问怎么输出发布每个关节的转动信息啊?

    • 古月 回复 ok 2019年9月12日 下午9:13

      发布joint_state

    • dai 回复 古月 2019年12月11日 下午9:26

      老师,我做运动规划时只有位置信息,为什么看不到速度信息

  • wangdddddd 2019年6月24日 下午3:36

    您好 我之前按照您书上的步骤安装arbotix 原本使用的好好的 今天运行launch文件却报错,机器人模型在rviz里显示不出来,state显示而error,我重新下载arbotix并编译,仍然不行,不知道是哪里出错了。终端报错内容如下:
    Traceback (most recent call last):
    File “/home/wangdan/catkin_ws2/src/arbotix_ros/arbotix_python/bin/arbotix_driver”, line 36, in
    from arbotix_python.arbotix import ArbotiX, ArbotiXException
    ImportError: No module named arbotix
    [arbotix-2] process has died [pid 5020, exit code 1, cmd /home/wangdan/catkin_ws2/src/arbotix_ros/arbotix_python/bin/arbotix_driver __name:=arbotix __log:=/home/wangdan/.ros/log/5f2b6c2c-9651-11e9-8c7e-3ca067184633/arbotix-2.log].
    log file: /home/wangdan/.ros/log/5f2b6c2c-9651-11e9-8c7e-3ca067184633/arbotix-2*.log

    • 古月 回复 wangdddddd 2019年6月28日 上午10:19

      应该还是没安装好或者路径没配置对

    • 2017🍀 回复 wangdddddd 2020年10月31日 上午11:18

      我也遇到同样的问题,请问你解决了吗,可以分享一下解决办法吗