Ubuntu20.04 + Ur5e + 一根网线 + 一个U盘
省略,网络搜索即可
sudo apt install ros-noetic-moveit
其实当前UR机器人的驱动不止一种,所以搜一下可以看到好几种,但是现在
Universal_Robots_ROS_Driver
是比较推荐的。
这里需要在工作空间内准备三个文件
官方驱动Universal_Robots_ROS_Driver
用于机器人控制的驱动文件
https://github.com/UniversalRobots/Universal_Robots_ROS_Driver
fmauch_universal_robot
里全都是xx_moveit_config格式的文件,都是MoveIt的配置文件,即Setup Assist生成的现成文件,我们也就不需要额外进行Setup Assist操作了。
ur_msgs
是一些机器人通信使用的msg和srv文件格式
cd 工作空间
git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver
git clone -b calibration_devel https://github.com/fmauch/universal_robot.git src/fmauch_universal_robot
git clone https://github.com/ros-industrial/ur_msgs.git src/ur_msgs
#安装依赖
rosdep install --from-paths src --ignore-src -y
#回到工作空间后编译
catkin_make
source devel/setup.bash
这里需要安装一个
externalcontrol-1.0.5.urcap
软件
上面下载的Universal_Robots_ROS_Driver
里就有,打开Universal_Robots_ROS_Driver/ur_robot_driver/resources
文件夹里就有,拷贝至U盘中,注意U盘是FAT格式的
把U盘插到UR机器人控制面板上(我格式化u盘插到控制面板的时候不知道为啥还是提示格式不支持,用控制面板格式化后再在电脑上格式化了一下才行。而且UR控制面板格式化后Ubuntu突然就读不出来了,换到windows就能读出来)
右上角【settings】-【System】-【URCaps】
externalcontrol-1.0.5.urcap
文件,单机打开,最后选择右下角的【Restart】重启重启后,应该就能看到【Installation】和【Program】里都多了【URCaps】的选项
点击【Program】-【URCaps】,点一下【External Control】,会创建一个空程序,将External Control插入到程序树中标题栏【Save】-【Save as】,我存为了external_control.urp
这里我们首先需要用一根网线将电脑和ur5e控制箱直连,随后将电脑的ip填到ur5e功能面板中。
这个地方我卡了很久,也验证了计网的知识我还在入门阶段。
如何查看我们电脑的ip地址呢?
电脑上直接在终端输入ifconfig,理论上来讲第一个选项比如eno1
后面跟的就是ip地址。(但是我这里没有,只在第三个选项wlp4s0后面跟了inet,我就直接把他填到了host’s IP上(第一天还是能联通的,第二天完全就ping不通了);如果你的ip正常(例如192开头)那就直接填写到ur5e控制面板好了-跳到下方【不需指定临时ip】就可以了)
在此情况下,输入以下来指定电脑端的临时IP地址。
sudo ifconfig eno1 192.168.56.1 netmask 255.255.255.0
ifconfig
检查一下,已经有了ip地址给UR机器人配置静态IP,使得电脑可以连接到UR机器人
点击【Setting】-【System】-【Network】-【Static Address】,【IP address】前三位与电脑地址一样,【Subnet mask】填255.255.255.0。
检查:我们在电脑上直接输入ping UR机器人的ip,如果正常响应,那就说明联通了。
左下角电源按钮,把机器人启动
这一步就是跑程序的过程了,先记录一下我的ip
$ roslaunch ur_calibration calibration_correction.launch \
robot_ip:= target_filename:="${HOME}/my_robot_calibration.yaml"
#==========我的,(我直接把我的地址改为了绝对地址)
$ roslaunch ur_calibration calibration_correction.launch robot_ip:=192.168.56.101 target_filename:="/home/zhangshidi/GitHub/Ros_control/src/fmauch_universal_robot/ur_description/config/ur5e_calibration.yaml"
注意,其中的robot_ip换成你自己的机器人ip,而target_filename是生成的文件地址,自己指定就好,可以像我一样指定绝对地址
$ roslaunch ur_robot_driver _bringup.launch robot_ip:=192.168.56.101
#========我的
$ roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:=192.168.56.101
在Ur5e面板上,点击【Run】,选择【加载文件】,选择上面自己保存的external_control.urp文件,底栏是有一个【播放按钮】的,按下就可以开始运行程序
打开新终端,启动moveit
roslaunch ur5e_moveit_config ur5e_moveit_planning_execution.launch limited:=true
roslaunch ur5e_moveit_config moveit_rviz.launch config:=true
通过【Add】添加【MotionPlanning】,再在MotionPlanning的Planning Request中选择Planning Group 为mainpulator,就可以看到规划球出来了
然后把球拖到一个位置,看能不能plan,plan完execute就可以看到机械臂跟着动了
任务完成!
最后放下参考,前前后后先后看了数十篇博客,我觉得以下博客写的还是不错并且有帮助的。
[ubuntu20.04安装ros-noetic,moveit,ur机器人驱动...指南!\_Dawn\_yc的博客-CSDN博客](https://blog.csdn.net/Dawn_yc/article/details/114791755 "ubuntu20.04安装ros-noetic,moveit,ur机器人驱动...指南!_Dawn_yc的博客-CSDN博客")
[ROS noetic与UR3真实机械臂通信\_junkie\_luo的博客-CSDN博客\_机械臂通信](https://blog.csdn.net/luojunqi2017/article/details/119272683 "ROS noetic与UR3真实机械臂通信_junkie_luo的博客-CSDN博客_机械臂通信")
[如何使用ROS控制真实UR5机器人\_梧桐w的博客-CSDN博客\_ros控制ur5](https://blog.csdn.net/weixin_44715231/article/details/114796006 "如何使用ROS控制真实UR5机器人_梧桐w的博客-CSDN博客_ros控制ur5")
[https://blog.csdn.net/chch2010523/article/details/124552586](https://blog.csdn.net/chch2010523/article/details/124552586 "https://blog.csdn.net/chch2010523/article/details/124552586")
[https://blog.csdn.net/zxxxiazai/article/details/103568577](https://blog.csdn.net/zxxxiazai/article/details/103568577 "https://blog.csdn.net/zxxxiazai/article/details/103568577")
[https://blog.csdn.net/santututu39/article/details/123719808](https://blog.csdn.net/santututu39/article/details/123719808 "https://blog.csdn.net/santututu39/article/details/123719808")