ROS探索总结(三十九)——MoveIt!上手指南

  • 内容
  • 评论
  • 相关

 

上周四(9月28日),星火在线课堂举办了第一次在线课程,我有幸成为第一位分享嘉宾,与大家分享了一下MoveIt!的相关内容,直播过程中共有800多位小伙伴共同参与,该课程也永久免费开放,有兴趣的小伙伴可以继续访问该课程,参与或者回顾课程的所有内容。

课程地址:https://m.weike.fm/lecture/4867575?lecture_id=4867575

以下是课程PPT内容:


原创文章,转载请注明: 转载自古月居

本文链接地址: ROS探索总结(三十九)——MoveIt!上手指南

微信 OR 支付宝 扫描二维码
为本文作者 打个赏
pay_weixinpay_weixin

评论

25条评论
  1. Gravatar 头像

    yazhouren 回复

    为何使用机械臂空间规划arm.set_pose_target()时,只有很少的点可以plan成功,大部分都不成功?
    难道要实现end_effort移动到某个位姿,必须自己要手动测试运动路径??这IK算法如此不堪?
    新手,请 古月大神解答一下

    • 古月

      古月 回复

      @yazhouren moveit的运动规划和IK算法确实有很多问题,建议用fastik或者tracik这两个IK算法的功能包试一下,求解成功率高一些。另外还要考虑机器人工作空间、关节限位等因素的影响。

  2. Gravatar 头像

    灰太狼 回复

    您好,古月大神,请问在不考虑ROS实时性问题下,可否不用机器人控制器,用ROS直接控制,比如ROS把目标角度发给脉冲型的运动控制卡(运动控制卡没有插补算法这些,是否ROS可以完成),或者用EtherCAT总线方式,ROS系统直接控制总线式的电机驱动器?我这么问是想用ROS搭建一个控制器,绕开厂家专用的控制器,谢谢。

    • 古月

      古月 回复

      @灰太狼 不考虑实时性的话,使用ros_control是可以做到的(使用脉冲型运动控制卡),也就是用ROS中的控制器。问题是机械臂控制对实时性要求本身就比较高,实时性绕不过去的(当然也要看你用的硬件是什么样的),如果用EtherCAT总线的话,肯定要封装一个实时控制层的。

      • Gravatar 头像

        灰太狼 回复

        @古月 实时性我也看了您写的功夫茶机器人方案,看你说你们采用的是linux+xenomai方案,我是打算用linux+ROS+OROCOS方式,不知您有没考虑过这种方式?还有个问题是运动插补,ROS里面应该没有现成的运动插补算法吧?可能需要自己开发一个运动插补模块,可能正如你建议的插补一定要在一个节点里实时完成。

        • 古月

          古月 回复

          @灰太狼 这个要看你对实时性的要求,以及对整个系统的定位,linux+ROS+OROCOS的方式研究开发的话应该是可以尝试一下的,我们的目标是商业级控制系统,ROS和OROCOS带入的风险太大。插补算法(三次、五次样条)在ros_control里也是有的,可以参考。

  3. Gravatar 头像

    徐松 回复

    古月大神您好,有个问题请教您,在用MoveIt!进行机械臂导航时,我不知道当前机械臂每个关节的角度,但我知道当前末端执行器的位姿(position、orientation)和目标末端执行器的位姿(position、orientation),能不能进行逆运动学求解?

    • 古月

      古月 回复

      @徐松 可以的,逆运动学求解就是已知终端位姿,求解各轴角度

  4. Gravatar 头像

    李锐 回复

    大神您好,我在使用ur5 driver时看到在hardware_interface 中有伺服控制的指令,而且UR5自带的示教器里可用写伺服控制的指令,请问ROS可用利用该接口对UR5进行伺服控制吗?另外在处理kinect2的点云数据时给ur5规划轨迹,除了x,y,z以外,我将平面法向量作为Z轴,手臂前进的方向作为X轴,怎样计算轨迹点的方向信息呢?position.orientation

    • 古月

      古月 回复

      @李锐 UR机器人我没用过,不确定接口功能包能否完成你所需要的功能,这个你要看下ur5 driver功能包所提供的接口是否支持,另外针对UR机器人,好像在github上还有第三方开发的接口包,功能更多,可以看一下

  5. Gravatar 头像

    Rex 回复

    老师您好,我在运行roslaunch demo.launch时出错
    All is well! Everyone is happy! You can start planning now!
    terminate called after throwing an instance of 'Ogre::Exception'
    what(): OGRE EXCEPTION(5:): Could not find font Liberation Sans in MovableText::setFontName
    [rviz_rex_15915_7555855025672061881-5] process has died [pid 15960, exit code -6, cmd /opt/ros/indigo/lib/rviz/rviz -d /home/rex/catkin_rex/src/lwr_moveit_config/launch/moveit.rviz __name:=rviz_rex_15915_7555855025672061881 __log:=/home/rex/.ros/log/d0a3e0d8-e59e-11e7-9c71-5065f32de48d/rviz_rex_15915_7555855025672061881-5.log].
    log file: /home/rex/.ros/log/d0a3e0d8-e59e-11e7-9c71-5065f32de48d/rviz_rex_15915_7555855025672061881-5*.log
    请问有没有果类似问题?

  6. Gravatar 头像

    阳仔 回复

    古月老师您好,我想请问一下您PPT中“ROS-I功夫茶项目”那一页PPT中基于RVIz plugin人机交互界面最左侧是可以将动作提前编好,然后执行。我最近也是想写这么个类似的插件,有这么几个小问题:
    1.请问规划好如何保存呢?保存后如何修改呢?再启动rviz的时候如何执行已经存好的动作呢?
    2.我看您PPT上将很多动作归到一个大类,这是怎样实现的?
    3.由于没用过qt这个插件是用的qt的什么控件呢?
    新手上路烦请您指导一下~谢谢!

    • 古月

      古月 回复

      @阳仔 我们使用xml文件做保存和解析。
      这个是用Qt的树形控件实现的,可以参考Qt该插件的使用方法。

  7. Gravatar 头像

    海漩涡 回复

    月哥 你知道有足式机器人控制算法库吗 比如实现了 zero moment point 算法

  8. Gravatar 头像

    莫波 回复

    古月大神,您好,再次请教。本人在安装moveit!的时候(sudo apt-get ros-indigo-moit-full)出现部分文件不能下载,提示如下:
    E: 无法下载 http://packages.ros.org/ros/ubuntu/pool/main/r/ros-indigo-moveit/ros-indigo-moveit_0.7.12-0trusty-20170915-202331-0800_amd64.deb 404 Not Found [IP: 140.211.166.134 80]
    E: 无法下载 http://packages.ros.org/ros/ubuntu/pool/main/r/ros-indigo-moveit-full/ros-indigo-moveit-full_0.7.12-0trusty-20170915-202717-0800_amd64.deb 404 Not Found [IP: 140.211.166.134 80]
    然后本人按照错误提示的路径寻找该文件,发现该文件版本已经更新,文件名称已更新为:
    ros-indigo-moveit_0.7.12-0trusty-20171113-195640-0800_amd64.deb

    然后本人在网上查找资料,说是ubuntu的debian版本过低之类的原因,使用sudo apt-get update更新即可。但使用该指令时又出现另一个错误:
    W: 无法下载 http://packages.ros.org/ros/ubuntu/dists/trusty/main/binary-amd64/Packages Hash 校验和不符
    W: 无法下载 http://packages.ros.org/ros/ubuntu/dists/trusty/main/binary-i386/Packages Hash 校验和不符
    注:由于之前要安装xenomai,故将ubuntu14.04的原linux版本4.4更换为3.14.17,不知道与该错误是否有关系。本人是先更换内核,然后再安装的ROS。谢谢。

    • 古月

      古月 回复

      @莫波 可以更换几个软件源试试,可以用易科实验室的镜像源,比较快

  9. Gravatar 头像

    赵晓贺 回复

    你好,我按照您的步骤做,在运行launch后,出现 错误:
    ResourceNotFound(name, ros_paths=self._ros_paths)
    ResourceNotFound: mastering_ros_robot_description_pkg
    ROS path [0]=/opt/ros/kinetic/share/ros
    ROS path [1]=/home/ubuntuhe/dev/xiaohe_ws/src
    ROS path [2]=/opt/ros/kinetic/share
    不知如何解决

    • 古月

      古月 回复

      @赵晓贺 找不到mastering_ros_robot_description_pkg功能包,检查一下环境变量以及功能包是否存在

    • Gravatar 头像

      麦橙 回复

      @赵晓贺 你好,遇到相同的问题,请问解决了吗?

  10. Gravatar 头像

    为木 回复

    你好,古月大神,怎么用moveit实现机器人的抓取操作呢,望解答

    • 古月

      古月 回复

      @为木 你好,ROS里有抓取相关的功能包,可以参考《ROS by example 2》和《Mastering ROS for robotics programming》书里的内容,有很详细的讲解

发表评论

电子邮件地址不会被公开。 必填项已用*标注