ROS-moveit!探索(3)webots和moveit!联合控制

  webots版本:2021a ros版本:melodic  

1.前言

  在webots中使用外部控制器,通过moveit!控制universal_robots 机械臂。 此项目为Webots官方开源的功能包:github地址 注意:从这开始笔者已经将webots版本升级为2021a了。  

2.安装ur_e_webots功能包

 
  1. 旧版本支持ROS的webots,如果没有可以从github上下载:下载地址
  2. 安装完webots2021a后的操作方法,如下:
    $ cd catkin_ws/src
    $ cp -r $WEBOTS_HOME/projects/robots/universal_robots/resources/ros_package/ur_e_webots .
    $ cd ..
    $ rosdep update
    $ rosdep install --from-paths src --ignore-src --rosdistro $ROS_DISTRO
    $ catkin_make
    $ source devel/setup.bash
    

    3.安装universal_robots功能包

    仅仅安装完这个还不够,还需要安装universal_robots功能包,他提供了universal_robots 机械臂的URDF文件、RVIZ和moveit!的启动整合文件。 可以按照我上一节的内容进行下载:ROS-moveit!探索(2)universal_robot例程
 

4.webots下创建新世界

 
  1. 根据以前webots联合ROS实战案例(二)中第一节创建新世界的方法添加以下节点:
 
  • TexturedBackground和TexturedBackgroundLight在(PROTO nodes(webots projects) ->objects->backgrounds)下
  • RectangleArena在(PROTO nodes(webots projects)> ->objects->floors)下
  • UR5e在(PROTO nodes(webots projects)> ->robots->universal robots)下

    5.UR5e在webots中的配置

    因为这次使用的是webots中的外部控制器控制,所以需要将UR5e的控制器改成<extern>,笔者的配置如下图所示:

    6.测试运行

    测试方法步骤如下面所示:
  1. 打开webots,打开刚刚创建的世界
  2. 打开以下launch文件,设置所必须的ROS参数并且连接Webots中的UR机械臂
    $ roslaunch ur_e_webots ur5e.launch
    
    启动成功后,webots会输出如下图指令: 如果不先打开webots,会出现以下图问题:
  3. 使用universal_robot功能包下的launch文件启动Moveit!
    $ roslaunch ur5_e_moveit_config ur5_e_moveit_planning_execution.launch
    
  4. 使用universal_robot功能包下的launch文件启动Rviz
    $ roslaunch ur5_e_moveit_config moveit_rviz.launch config:=true
    

    运行效果

总结

  本文也是基于笔者的学习和使用经验总结的,主观性较强,如果有哪些不对的地方或者不明白的地方,欢迎评论区留言交流~   Bye