ros+ur机械臂+robotiq ft300+onrobot rg2+gazebo+rviz联合仿真---单纯夹爪按上并不能动

ros+ur机械臂+robotiq ft300+onrobot rg2+gazebo+rviz联合仿真–单纯夹爪按上并不能动

注释:在过程当中会遇到遇到,后边附带解决办法,有问题不可怕,一个个解决就行了。
学会善用谷歌。前端

注释:此方式只能让rg2添加到模型中并显示出来,并不能控制rg2,请参考
https://github.com/sharathrjtr/ur10_rg2_ros
不久后会有另外博客更新。
git

仿真环境

Ubuntu18.04
ros-melodic
ur3
robotiq ft300
onrobot rg2github

安装ur功能包

第一次须要安装功能包,安装完成后下一次运行能够省略此步
ur有工能包,直接从github上下载便可。web

cd catkin_ws/src
git clone -b melodic-devel https://github.com/ros-industrial/universal_robot.git

//若版本为kinetic,应将上面命令中的melodic改成kineticbash

cd ..
rosdep update
rosdep install --from-paths src --melodic-src --rosdistro melodic
catkin_make
source ~/catkin_ws/devel/setup.bash

在这里插入图片描述

启动仿真

第一个终端:打开gazebosocket

roslaunch ur_gazebo ur3.launch

在这里插入图片描述
第二个终端:tcp

roslaunch ur3_moveit_config ur3_moveit_planning_execution.launch sim:=true

第三个终端:svg

roslaunch ur3_moveit_config moveit_rviz.launch config:=true

运动规划

在rviz中拖动机械臂改变机械臂的位置,而后点击plan就能够轨迹规划,再点击execute,机械臂就能够运动到目标位置,而且噶泽波中能够观察到仿真结果。
在这里插入图片描述
在这里插入图片描述spa

安装robotiq功能包

cd ~/catkin_ws/src
git clone https://github.com/ros-industrial/robotiq.git
rosdep install robotiq_modbus_tcp
sudo apt-get install ros-melodic-soem
sudo usermod -a -G dialout $USER

参考wiki:http://wiki.ros.org/robotiq3d

修改xacro文件,将robotiq ft300添加到ur3的末端

cd  ~/catkin_ws/src/robotiq/robotiq_ft_sensor/urdf
gedit robotiq_ft300.urdf.xacro

在文件中,能看到下面的信息,此信息描述怎么将传感器添加到机器人末端:
在这里插入图片描述
打开ur3的描述文件ur3.urdf.xacro
在此文件夹路径下打开终端:

gedit  ur3.urdf.xacro

在这里插入图片描述
在文件的开始位置处,咱们添加:

<xacro:include filename="$(find robotiq_ft_sensor)/urdf/robotiq_ft300.urdf.xacro" />

在这里插入图片描述
在文件的末尾处,咱们添加:

<xacro:robotiq_ft300 parent="${prefix}tool0" prefix="">
  <origin xyz="0 0 0 " rpy="0 0 0"/>
</xacro:robotiq_ft300>

在这里插入图片描述
添加完成后保存退出,打开gazebo查看效果:

roslaunch ur_gazebo ur3.launch

传感器已经被添加到机器人末端了。
在这里插入图片描述

安装onrobot功能包

  1. 下载并安装功能包
cd ~/catkin_ws/src
git clone https://github.com/sharathrjtr/ur10_rg2_ros.git
cd ur10_rg2_ros
rm -rf ur_modern_driver  # 笔者的UR为CM3,新版的驱动,在仿真阶段暂时不须要实体机器的驱动
cd ~/catkin_ws
catkin_make

修改ur3.urdf.xacro描述性文件

  1. 将rg2夹爪的urdf.xacrl描述性文件复制粘贴到ur3.urdf.xacro描述性文件中去

在这里插入图片描述
将以上描述性文件复制到ur3.urdf.xacro文件下方区域
在这里插入图片描述

  1. 对ur3.urdf.xacro描述性文件进行修改
    代码中用到M_PI,因此将其插入到ur3描述性文件前端。

在这里插入图片描述

  1. 修改插入ur3.urdf.xacro文件中rg2的描述性文件
    parent link决定了rg2与哪一个link进行安装,rg2安装到robotiq后边,因此rg2的parent link为robotiq的末端link,robotiq的末端link能够从robotiq的urdf.xacro描述性文件中查看。
    个人robotiq的末端link为:${prefix}robotiq_ft_frame_id,因此将rg2的parent link修改成他,将origin中的py和xyz修改成一下图
    在这里插入图片描述
    最后,夹爪安装到了robotiq的传感器上去了
    在这里插入图片描述

问题总结

问题1:第一步打开gazebo时提示:

[ERROR] [1590498356.252940749, 0.104000000]: No p gain specified for pid.  Namespace: /gazebo_ros_control/pid_gains/shoulder_pan_joint
[ERROR] [1590498356.254045416, 0.104000000]: No p gain specified for pid.  Namespace: /gazebo_ros_control/pid_gains/shoulder_lift_joint
[ERROR] [1590498356.255157347, 0.104000000]: No p gain specified for pid.  Namespace: /gazebo_ros_control/pid_gains/elbow_joint
[ERROR] [1590498356.256883076, 0.104000000]: No p gain specified for pid.  Namespace: /gazebo_ros_control/pid_gains/wrist_1_joint
[ERROR] [1590498356.258201036, 0.104000000]: No p gain specified for pid.  Namespace: /gazebo_ros_control/pid_gains/wrist_2_joint
[ERROR] [1590498356.260040928, 0.104000000]: No p gain specified for pid.  Namespace: /gazebo_ros_control/pid_gains/wrist_3_joint

在这里插入图片描述
解决办法:能够忽略,此为ros升级过程致使,不会形成影响,能够查看wiki。
https://answers.ros.org/question/293830/what-is-the-fix-for-no-p-gain-specified-for-pid-namespace-gazebo_ros_controlpid_gainsback_right_wheel_joint-ros-melodic/
问题2:添加夹爪以后编译时候不能编译成功
在这里插入图片描述
提示缺乏socketcan-interface安装包
解决办法:安装socketcan-interface安装包

sudo apt-get install ros-melodic-socketcan-interface

问题3:终端会提示没有控制器:在rviz中机器人能够动,在gazebo中机器人不能动。

ERROR] [1571208919.660838700, 0.574000000]: Could not load controller 'joint_state_controller' because controller type 'joint_state_controller/JointStateController' does not exist.
[ERROR] [1571208919.660891569, 0.574000000]: Use 'rosservice call controller_manager/list_controller_types' to get the available types

解决办法:安装控制器功能包

sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control
sudo apt-get install ros-melodic-ros-control ros-melodic-ros-controllers
sudo apt-get install ros-kinetic-joint-trajectory-controller

问题4:将传感器和夹爪安装以后不能进行运动规划, 问题尚未解决,解决后上传。