1.ur_robot_driver的下载和安装
# 创建一个catkin工作空间,名字叫catkin_ws,同时创建子目录src
mkdir -p catkin_ws/src
#退回上一级目录
cd ..
# 获取软件包
git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver
# clone fork of the description. This is currently necessary, until the changes are merged upstream.
git clone -b calibration_devel https://github.com/fmauch/universal_robot.git src/fmauch_universal_robot
# 安装依赖项
sudo apt update -qq
rosdep update
rosdep install --from-paths src --ignore-src -y
#编译
catkin_make
如果没有git工具,可以输入以下命令安装
sudo apt install git
如果git clone 指令报错,请看我另一片文章的解决办法。
链接:解决git clone 报错-110
2.和UR5机械臂通讯
2.1机械臂设置
这里采用网线与交换机连接,UR5连接在交换机上(直接连接也可以)
要启用网络连接,需使用UR的示教器导航至设置机器人 --> 设置网络 -->选择静态地址–>然后设置网络ip地址–>然后应用
这里我们已经设置好了机械臂的IP地址,不做修改。
urcap拓展包安装
要在ros上使用ur_robot_driver控制真实的ur机械臂运动,需要在ur机器人上安装externalcontrol-1.0.urcap,它类似一个插件,接受ros端的消息再控制ur5运动。该urcap位于Universal_Robots_ROS_Driver/ur_robot_driver的resources文件夹内。
将主文件夹/ur_ws/src/Universal_Robots_ROS_Driver/ur_robot_driver/resources路径下的externalcontrol.urcap文件拷贝到U盘安装到示教器上。
打开控制箱,在如下图的地方插U盘
在示教器的设置机器人中,点开URCap,找到externalcontrol-1.0.urcap,选中,然后点击重启。
在示教器中查看电脑IP(这里我们已经设置好了,为了便于使用,不做修改,而是修改与之相连接的电脑IP),同时修改Host name为电脑主机名
电脑主机名字可以用如下命令查询得到
hostname
示教器内编程
如图,在完成上一步后,回到程序页面
点击结构–> urcap --> external control
完成后可以看到左侧程序树的地方显示“control by 主机名”
2.2 电脑IP设置
设置电脑的IP地址,新建立一个连接,设置IP地址为刚刚看到的HostIP并启用连接
在命令行ping一下UR5的IP地址,看一下能否ping通,没有丢包就是连接正常。
ping 192.168.0.5
3.通过ROS使用rviz控制UR5
3.1 运行ur5_bringup.launch,和UR5建立连接
roslaunch ur_robot_driver ur5_bringup.launch limited:=true robot_ip:=192.168.0.5
3.2在示教器上运行我们编写的程序
3.3运行moveit
新开一个终端运行下述命令
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true
出现绿色的You can start planning now! 即可
3.4 运行rviz
roslaunch ur5_moveit_config moveit_rviz.launch config:=true
将Fixed Frame改为base, 在Add中添加MotionPlanning,此时就会有机械臂模型了但还不能拖动,将Planning Group 选为manipulator,设置完毕。
参考文章:
ROS和UR5机械臂通讯
UR机械臂学习(5-1):驱动真实机械臂准备工作——示教器配置
ubuntu系统下使用ros控制UR真实机械臂,逻辑清晰,亲测有效