ROS与优傲机器人UR机器人通讯

  1. ROS简介

1.1什么是ROS

ROSRobot Operating System,下文简称“ROS”)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。

ROS虽然也属于操作系统,但需要在LINUX系统下才能使用。因此在真正使用ROS之前需要安装LINUX系统。ROS与Linux系统有一定的对应关系如下,只有安装对应的版本才能保证正常使用。

ROS发布日期

ROS版本

对应Ubutnu版本

2017.5

ROS Lunar Loggerhead

Ubuntu 17.04(Zesty)

2016.3

ROS Kinetic Kame

Ubuntu 16.04 (Xenial) / Ubuntu 15.10 (Wily)

2015.3

ROS Jade Turtle

Ubuntu 15.04 (Wily) / Ubuntu LTS 14.04 (Trusty)

2014.7

ROS Indigo Igloo

Ubuntu 14.04 (Trusty)

2013.9

ROS Hydro Medusa

Ubuntu 12.04 LTS (Precise)

2012.12

ROS Groovy Galapagos

Ubuntu 12.04 (Precise)

...

...

...

表1 ROSUbutun对应关系

  1. Ubuntu安装

2.1 软件安装

Ubuntu的安装要和使用的ROS对应,本文采用的是ROS Indigo 的版本,因此对应的Ubuntu系统为14.04. 

Ubuntu下载地址:Ubuntu 14.04.4 发布_Linux_Linux公社-Linux系统门户网站

系统的安装有两种方式,一种为实体机安装,另一种为虚拟机安装。具体采用哪种大家可以自行选择。但是不管使用哪种模式,都要确保Ubuntu安装后可以正常的网络连接。ROS的安装会通过网络的服务器到官网的资源库进行安装包查找,并进行下载安装。

2.2软件中心配置

安装完后,首先打开软件和更新对话框(Software & Update),可以在 Ubuntu 最左上角的系统设置(System Settings)中查找。打开后按照下图进行配置(确保上面的 "universe" ,"restricted"和 "multiverse."前是打上勾的),允许访问。

 

关闭对话框,安装完成。

2.3添加源列表

设置计算机可以接受来自官网ROSpackages.org的软件。

打开一个控制台(Ctrl + Alt + T), 输入如下指令:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

设置密匙:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

  1. ROS安装(Indigo)

3.1软件安装

本文是以Indigo作为安装讲解的,若安装其他版本将代码上的indigo替换为相应版本既可。

PS:在指令前有sudo的代表是在root下输入的指令。

首先确保系统软件处于最新版

sudo apt-get update

开始安装ROS,ROS有多种库和工具可以安装,下面将为大家分别介绍不同的安装方法,根据实际情况任选一种。

方法a): Desktop-Full Install: (推荐) ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators and 2D/3D perception

安装指令如下:

sudo apt-get install ros-indigo-desktop-full
安装指令如下:方法b
): Desktop Install: ROS, rqt, rviz, and robot-generic libraries

sudo apt-get install ros-indigo-desktop-full


安装指令如下:方法c): ROS-Base: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.

sudo apt-get install ros-indigo-ros-base


ROS可以根据实际使用的情况安装不同的功能包,将需要实际安装的数据包名字替换PACKAGE方法d):单独数据包安装

安装指令如下:

sudo apt-get install ros-indigo-PACKAGE

例如:安装Slam的包格式

sudo apt-get install ros-indigo-slam-gmapping

下面回到正文,安装ROS,从上面的a、bc中选择安装,为了方便起见,本文采用的推荐的安装方式Desktop-Full Install

输入命令为:

sudo apt-get install ros-indigo-desktop-full

系统会自动下载安装,因为安装比较软件包比较多,所以会需要一些时间,耐心等待直到安装完成。(网速快的话也是分分钟的事)

apt-cache search ros-indigo

安装完成后可以查找ros-indigo可以使用的数据包

3.2ROS初始化(Indigo)

在使用ROS之前,需要初始化ROSdep。ROSdep可以方便的为希望编译的源代码安装系统依赖项,并且ROS中的一些核心组件运行所需的工具。

输入命令为:

sudo rosdep init

rosdep update

3.3环境变量设置

初始化环境变量,输入命令如下:

echo "source /opt/ros/indigo/setup.bash" >>  ~/.bashrc

source ~/.bashrc

上面两句非常非常非常重要,很多小伙伴在日常的开发过程中,有的找不到 Package, 找不到node, 很多情况下都是没有添加source。

3.4Rosintall安装

sudo apt-get install python-rosinstall

安装一个在ROS中会经常使用到的插件 rosintall,指令如下:

3.5ROS测试(Indigo)

sudo  roscore

经过以上步骤ROS已安装完成,为了确保安装正确。我们进行一下测试,指令如下:

出现以下图片上的内容认为安装成功。

 

  1. UR软件包安装

4.1Universal_robot的软件包安装

sudo  cd ~/catkin_ws/src

1)打开之前定义的工作空间:


git clone -b indigo-devel https://github.com/ros-industrial/universal_robot.gitindustrial/universal_robot.git

2)下载Ros服务器中的universal_robot.git的数据包源码,并添加到src中

git clone -b indigo-devel https://github.com/ros-industrial/universal_robot.gitindustrial/universal_robot.git

3)进入到catkin_ws目录下:

cd ~/catkin_ws

4)使用rosdep安装插件

rosdep install --from-paths src --ignore-src --rosdistro indigo

5)封装

catkin_make

6)source  devel/setup.bash

4.2 ur_modern_driver驱动更换

目前UR机器人的控制器软件版本已更新到3.0版本以上,早期的ur_driver驱动不在适合,因此需要用ur_modern_driver进行替换。

Ur_modern_driver的下载链接如下:GitHub - ros-industrial/ur_modern_driver: (deprecated) ROS 1 driver for CB1 and CB2 controllers with UR5 or UR10 robots from Universal Robots

1)删除catkin_ws/src/universal_robot这个目录下的ur_driver文件夹

sudo  cd   ~/catkin_ws/src/universal_robot

sudo  rm  ur_driver

2)将下载好的ur_modern_driver .zip复制到catkin_ws/src/universal_robot这个目录下

sudo  cd  /home/ur/Desketop

sudo  cp  ur_modern_driver .zip  ~/catkin_ws/src/universal_robot

sudo  rm  -r ur_driver

3)解压ur_modern_driver.zip

sudo  unzip  ur_modern_driver.zip

4) 进入到catkin_ws目录下:

cd ~/catkin_ws

5)重新封装

catkin_make

  1. UR本体与ROS通讯

5.1 IP设置

  1. 设置Linux系统的IP地址,并查看其地址。

 

  1. 设置机器人的IP

在示教器上选择设置机器人—》网络—》静态地址,将IP地址和主机设置为同一网段。

 

  1. 测试是否连接正常

指令如下:其中ip_of _The_Robot为机器人IP地址

Ping  ip_of _The_Robot

5.2 通信连接

本文以UR5为例与ROS进行通讯,若和UR3或UR10进行通讯,只要替换相应代码中相应的机器人型号即可。

1)打开工作空间

sudo cd ~/catkin_ws

2)打开资源库

source  devel/setup.bash

3)和UR5进行通讯连接,将代码中IP_OF_THE_ROBOT替换为机器人的实际IP地址

roslaunch ur_modern_driver ur5_bringup.launch limited:=true robot_ip:=

IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]

代码中limited:=true是在运动规划时,将机器人的关节角度限制在[−π,π][−π,π]

  1. 设置Moveit的节点

再打开一个新控制台(Ctrl + Alt + T), 输入如下指令:

在执行步骤4命令前,请先执行步骤1和步骤2

roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true

  1. 启动带有运动规划插件的 RViz

再打开一个新控制台(Ctrl + Alt + T), 输入如下指令:

在执行步骤4命令前,请先执行步骤1和步骤2

roslaunch ur5_moveit_config moveit_rviz.launch config:=true

5.2通信测试

在打开的RVIZ中可以看到的UR5机械臂和实物的状态是一致的。

 

a)实体随仿真运动

拖动UR5机械臂实物,在RVIZ里的机械臂也会跟着运动。

b)仿真带动实体运动

此时,你可以在RVIZ中用鼠标拖动机械臂到达目标位置,在planing下点击plan,如果路径规划成功即可点击execute,你就会看到UR5实物也会跟着运动到目标点。

c)程序控制实体运动

通讯连接成功后,可以直接发送运动的指令。运行的程序在test_move.py里。

再打开一个新控制台(Ctrl + Alt + T), 输入如下指令:

1)打开工作空间

sudo cd ~/catkin_ws

2)打开资源库

source  devel/setup.bash

rosrun  ur_modern_driver test_move.py

  1. 仿真环境设置

6.1环境设置

有些情况下可能无法使用实体机器人,因此需要仿真运行,可以通过gazebo仿真学习。

1)打开工作空间

sudo cd ~/catkin_ws

2)打开资源库

source  devel/setup.bash

3)启动仿真插件

roslaunch ur_gazebo ur10.launch

4)启动moveit节点,并设置为模拟环境

roslaunch ur10_moveit_config ur10_moveit_planning_execution.launch sim:=true

5)启动带有运动规划插件的 RViz

roslaunch ur10_moveit_config moveit_rviz.launch config:=true

a)在Rviz里面选择合适的规划库OMPL

,

 

b)然后在Planning选项卡中,根据在显示界面拖动的位置,点击Plan,待规划完成后点击Execute。

Ps:机器人移动的位置请勿随意,根据机器人的运动范围设定。只可以按工具端笛卡尔的XYZ和转动拖动,无法单关节移动。

 

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菁特智能KingTech

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值