环境:虚拟机+Ubuntu16.04+ros-kinetic
进行以下操作之前,请务必安装好ros,安装ros不成功可以参考
安装ROS, 初始化时rosdep update出错解决办法
并安装好rviz、moveit和gazebo,以免在ur5仿真或者真实连接时报错
关于ur驱动包的下载,编译出错,博客上有很多介绍,这里不做解释,以下是我修改好的ur驱动包:
https://pan.baidu.com/s/14WvXkK10tK3ce07P9X0O7w
提取码:3la0
#下载下来放在ros的功能包目录下
cd ~/catkin_ws/src/
#返回~/catkin目录并编译
cd ~/catkin_ws/
catkin_make
source devel/setup.bash
接下来就可以做ur5机械臂的仿真和驱动真实机械臂了
仿真
要在gazebo和rviz模拟UR5并在模拟中对其进行控制,请首先安装必要的软件包:
sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control
sudo apt-get install ros-kinetic-ur-gazebo ros-kinetic-ur5-moveit-config ros-kinetic-ur-kinematics
开启3个终端,分别按顺序执行以下3个命令,一定要按顺序!!!
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
通过拖动UR5的末端,按plan可以规划路径,按execute可以使UR5运动,在gazebo上也可以看到运动的图像
驱动实体UR5机械臂
在示教器上查看机械臂的IP地址和版本,我的IP地址是192.168.1.110,版本是3.3x
用网线将电脑和机械臂连接,最好关闭电脑的网络,更改电脑的网络适配器,找到 以太网右键–属性–双击ipv4
然后修改虚拟机IP,一定要确保你的虚拟机使用桥接模式!!!不能使用.NET模式,否则不能驱动机械臂!!!
点击虚拟机–设置–网络适配器–桥接模式
然后修改网络和机械臂IP地址一致
点击增加
我的IP配置如下,保证前面3位192.168.1和机械臂一致即可,103是随便设置的,这样才能保证虚拟机和机械臂在同一网段下
使用ifconfig命令查看虚拟机IP地址是否修改过来
此时,我们的电脑、虚拟机和机械臂都在同一网段下了,尝试着3者能不能相互ping通,如果没有问题,就可以开始驱动机械臂了。
与UR 1.5.x到1.8.x进行连接
如果你在示教器上查看的UR版本为1.5.x到1.8.x,则使用以下命令,分别打开3个终端按顺序运行
#将IP_OF_THE_ROBOT替换成机械臂IP地址
roslaunch ur_bringup ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true
连接UR 3.x
1.开启一个终端,运行:
#将IP_OF_THE_ROBOT替换成机械臂IP地址
roslaunch ur_modern_driver ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT
2.如果第一步没有报错,则开启一个新的终端运行:
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true
当没有报错,并看到You can start planing now!则执行第3步
3.再开启一个新的终端,运行:
roslaunch ur5_moveit_config moveit_rviz.launch config:=true
此时,你可以看到rviz上显示的机械臂状态和真实机械臂状态一样,通过拖动UR5的末端,按plan可以规划路径,按execute可以看到真实机械臂开始运动!!!(尽量不要把路径规划的太复杂,避免机械臂运动时发生碰撞,并做好随时按下示教器急停按钮的准备)