一、ROS下UR机械臂仿真控制配置

1.1 前提要求

已经安装Ubuntu系统且Ubuntu系统已经安装了ROS

我的Ubuntu系统版本是16.04,对应ROS版本是kinetic

1.2 配置流程

UR机械臂功能包的github网站是GitHub - ros-industrial/universal_robot: ROS-Industrial Universal Robots support (http://wiki.ros.org/universal_robot),这个网站也详细介绍了UR机械臂功能包的安装、编译以及执行。

1.创建工作空间
在home目录下打开终端,依次执行以下命令:

mkdir -p catkin_UR5/src
cd ~/catkin_UR5/src
catkin_init_workspace
cd ..
catkin_make
source ./devel/setup.bash

2.下载安装UR机械臂功能包

在~/catkin_UR5/src目录下下载安装UR机械臂功能包:

cd ~/catkin_UR5/src
git clone -b kinetic-devel https://github.com/ros-industrial/universal_robot.git

3.检查依赖关系

cd ~/catkin_UR5
rosdep update
rosdep install --rosdistro kinetic --ignore-src --from-paths src 

4.编译

catkin_make

5.激活工作空间

source $HOME/catkin_ws/devel/setup.bash

为了方便,不重复执行激活工作空间指令,在.bashrc文件中添加工作空间激活指令:

下载安装其他所需功能包

sudo apt-get install ros-kinetic-moveit
sudo apt-get install ros-kinetic-genpy

运行仿真指令

以此执行以下三个指令:

roslaunch ur_gazebo ur5.launch
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true

执行完毕后出现Gazebo和Rviz仿真界面

如果在Rviz仿真界面无UR机械臂模型且报错,首先将Fixed Frame设置为base_link解决报错问题,然后点击Add按钮中的RobotModel按钮添加UR机械臂模型。

二、实际机械臂控制配置

2.1 下载ur_modern_driver

step1:将ur_modern_driver功能包下载到universal_robot功能包

git clone https://github.com/ros-industrial/ur_modern_driver/tree/kinetic-devel

step2:编译工作空间

catkin_make

2.2 虚拟机与UR机械臂进行网络连接

step1:在UR机械臂示教器上查看IP地址,为192.168.0.X 

step2:在windows环境下更改适配器选项中的以太网属性选项TCP/IPv4

step3:将虚拟机的网络连接设置更换为桥接模式

step4:在Ubuntu环境下编辑网络连接,增加以太网连接类型,保证IP地址的前三项一致

step5:使用ifconfig查看IP地址是否正确修改

step6:使用ping命令查看是否能够连接到UR机械臂

ping 192.168.0.x  # ping你的UR机械臂的IP地址查看是否配置好,上述是我的机械臂IP地址
如果终端显示Destination Host Unreachable,其问题是虚拟机网络编辑器中的桥接模式的对象与主机网卡不一致。

解决方法为:

首先查看windows环境下适配器选项中的网络总线名称

  • 点击 VMare——编辑——虚拟网络编辑器,进行设置修改

step7:开启终端运行指令

roslaunch ur_modern_driver ur5_bringup.launch robot_ip:=

step8:仿真环境控制UR实体机械臂

roslaunch ur_modern_driver ur5_bringup.launch limited:=true robot_ip:=192.168.1.1xx
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch
roslaunch ur5_moveit_config moveit_rviz.launch config:=true

参考
ROS下UR机械臂仿真控制(kinetic版)_绿竹巷人的博客-CSDN博客

GitHub - ros-industrial/universal_robot: ROS-Industrial Universal Robots support (http://wiki.ros.org/universal_robot)