ROS - 使用UR机械臂最新的 ur_robot_driver


ur_robot_driver适用于polyscope >= 3.7 版本的ur机械臂和CB>=5的ur-e机械臂。笔者机器版本为3.12。
目前ur臂的驱动有三个:ur_driver, ur_modern_driver, ur_robot_driver。
ur_driver和ur_modern_driver已经被官方弃用,ur_driver适用于CB1和CB2(不是很清楚),ur_modern_driver适用于CB2、CB3(具体到哪个子版本不是很清楚,我在CB3.12上是不适用的,国外网友反应CB3.9.1还是适用的,但是3.10不适用,可能就是CB3.10一下吧)。
来看一下ur_modern_driver和ur_robot_driver的对比:

在这里插入图片描述具体的驱动的详细介绍请参考:
universal_robot_ros_wiki
ur_robot_driver
ur_robot_driver_doc

下面我们将会使用ROS和ur_robot_driver来驱动真机UR臂。

一、下载ros package

source /opt/ros/$ROS_DISTRO/setup.bash
mkdir -p ur_ws/src && cd ur_ws
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
sudo apt update -qq
rosdep update
rosdep install --from-paths src --ignore-src -y
catkin_make
source devel/setup.bash

如果执行rosdep init 和 rosdep install失败,请参考ROS -sudo rosdep init 失败解决方法

为了工作空间之间不相互干扰,推荐每次手动source setup.bash,如果只有一个工作空间,也可以直接写在bashrc里面。

二、配置示教器

Universal_Robots_ROS_Driver/ur_robot_driver/resources路径下的externalcontrol.urcap文件拷贝到U盘安装到示教器上。

安装完成后,按以下步骤操作:
在这里插入图片描述在这里插入图片描述在这里插入图片描述设置完成后返回
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述静止在这个页面不要动.

三、配置Ubuntu网络

使用externalcontrol,要求使用静态IP,并且指定了IP段,而且因为笔者电脑有两个有线网卡,所以我们选择网线直线,印象中通过路由器分配静态IP不是那么直接。
使用网线直线电脑和UR的控制柜。
第二步已经将示教器配置好,下面来配置Ubuntu。

1. 查看显卡名称

ifconfig

在这里插入图片描述可以看到enp2s0正是连接控制柜的网卡。在没配置之前,这个没有inet addr属性,所以一看便知。

2.设置静态IP

sudo vi /etc/network/interfaces

在这里插入图片描述添加如图所示的代码。因为示教器上的externalcontrol显示要设置成这个指定的IP。网关和子网掩码可按上图设置。网管必须和IP在同一网段,即最后一位的数字可以不一样,且范围为[0,255]。指定静态IP时必须指定dns server,否则连接互联网的网卡有可能无法解析DNS。
这里虽然设置的是8.8.8.8,但是实际的dns server地址并不是8.8.8.8,而是由ubuntu内置的networkmanager程序dnsmasq程序接管,由它来分配dns server。

执行

sudo vi /etc/resolv.conf

可以看到分配的nameserver为
在这里插入图片描述这个是本地dns的回环地址,由dnsmasq来分配,具体参考nameserver 127.0.1.1 & 如何设置nameserver

3.重启

4.现在看看右上角网络连接有没有显示对应于控制柜的网络显示已经连接。

如果没有,执行

sudo vi /etc/NetworkManager/NetworkManager.conf 

managed改为true
在这里插入图片描述保存退出后,执行

sudo /etc/init.d/networking restart

如果还是没有显示连接,重启

四、运行程序测试

1.获取标定信息

roslaunch ur_calibration calibration_correction.launch   robot_ip:=192.168.56.2 target_filename:="${HOME}/my_robot_calibration.yaml"

2. 运行externalcontrol

在这里插入图片描述

3.运行启动文件

 roslaunch ur_robot_driver ur3_bringup.launch robot_ip:=192.168.56.2 kinematics_config:=${HOME}/my_robot_calibration.yaml

上条指令ur3换成自己的机械臂类型。

当终端显示Robot ready to receive control commands.时,

rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller

这时候就可以在rqt中拖动滑块来控制机械臂每个关节的转角。
具体参考ur_robot_driver

  • 7
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
你可以使用ROS-Melodic和MoveIt来进行UR5机械臂的仿真控制。以下是一个基本的步骤: 1. 安装ROS-Melodic:请根据ROS官方文档的说明安装ROS-Melodic。确保你的系统满足所有的依赖项。 2. 安装MoveIt:在终端中运行以下命令来安装MoveIt: ``` sudo apt-get install ros-melodic-moveit ``` 3. 配置工作空间:创建一个新的工作空间,并将其初始化为ROS工作空间。例如,你可以运行以下命令: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 4. 下载UR5机械臂包:在终端中运行以下命令来下载UR5机械臂ROS软件包: ``` cd ~/catkin_ws/src git clone https://github.com/ros-industrial/universal_robot.git ``` 5. 下载MoveIt配置文件:在终端中运行以下命令来下载MoveIt配置文件: ``` cd ~/catkin_ws/src git clone https://github.com/ros-planning/moveit_resources.git ``` 6. 构建和编译:在终端中运行以下命令来构建和编译你的工作空间: ``` cd ~/catkin_ws/ catkin_make ``` 7. 启动仿真环境:在终端中运行以下命令来启动UR5机械臂的仿真环境: ``` roslaunch ur_gazebo ur5.launch ``` 8. 启动MoveIt RViz:在终端中运行以下命令来启动MoveIt RViz界面: ``` roslaunch ur5_moveit_config moveit_rviz.launch config:=true ``` 9. 进行控制:在RViz界面中,你可以使用MoveIt插件来规划和控制UR5机械臂的运动。你可以设置目标位置、执行运动等。 这些是基本的步骤,可以帮助你开始使用ROS-Melodic和MoveIt进行UR5机械臂的仿真控制。你可以根据自己的需求进行进一步的定制和开发。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值