• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

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

人工智能 bug404 1882次浏览 0个评论

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的对比:  
ROS - 使用UR机械臂最新的 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盘安装到示教器上。   安装完成后,按以下步骤操作:  
ROS - 使用UR机械臂最新的 ur_robot_driver  
ROS - 使用UR机械臂最新的 ur_robot_driver  
ROS - 使用UR机械臂最新的 ur_robot_driver   设置完成后返回  
ROS - 使用UR机械臂最新的 ur_robot_driver  
ROS - 使用UR机械臂最新的 ur_robot_driver  
ROS - 使用UR机械臂最新的 ur_robot_driver  
ROS - 使用UR机械臂最新的 ur_robot_driver   静止在这个页面不要动.  

三、配置Ubuntu网络

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

1. 查看显卡名称

 

ifconfig

 
ROS - 使用UR机械臂最新的 ur_robot_driver   可以看到enp2s0正是连接控制柜的网卡。在没配置之前,这个没有inet addr属性,所以一看便知。  

2.设置静态IP

 

sudo vi /etc/network/interfaces

 
ROS - 使用UR机械臂最新的 ur_robot_driver   添加如图所示的代码。因为示教器上的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为  
ROS - 使用UR机械臂最新的 ur_robot_driver   这个是本地dns的回环地址,由dnsmasq来分配,具体参考nameserver 127.0.1.1 & 如何设置nameserver。  

3.重启

 

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

  如果没有,执行  

sudo vi /etc/NetworkManager/NetworkManager.conf 

  将managed改为true  
ROS - 使用UR机械臂最新的 ur_robot_driver   保存退出后,执行  

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

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

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


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明ROS – 使用UR机械臂最新的 ur_robot_driver
喜欢 (0)

您必须 登录 才能发表评论!

加载中……