首先已经完成了Ubuntu16.04的安装,可以参考
https://www.cnblogs.com/masbay/p/10844857.html
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://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
sudo rosdep init
rosdep update
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
到此为止ros已经安装好了,可以测试一个小乌龟的例子:
分别打开三个终端,先后输入以下三条指令
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
就可以用键盘方向键控制小乌龟移动了
sudo apt-get install ros-kinetic-universal-robots
先后执行下述命令:
mkdir ~/catkin_ws/src
cd ~/catkin_ws/src
#下载源
git clone -b kinetic-devel https://github.com/ros-industrial/universal_robot.git
cd ~/catkin_ws
#检查依赖
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro kinetic
#建立
catkin_make
source ~/catkin_ws/devel/setup.bash
下一步是确保正确配置您的硬件(控制计算机和机器人)以相互通信。 请注意,默认情况下,Universal Robot的网络功能处于禁用状态。 要启用网络连接,请使用UR的示教器导航至设置机器人->设置网络菜单(如下附件所示)。
如果您是经验丰富的用户,请在记下机器人的IP地址后随时跳过本节的其余部分。
分配的完整讨论超出了本教程的范围。如果不确定您的设置并且在IT部门的组织中,请咨询他们。如果您正在使用路由器/交换机在自己的本地网络上进行实验,则很可能是在使用DHCP.
如果您希望UR具有固定的Internet地址,请选择“静态地址”选项,然后手动输入所需的地址信息。如果您在网络交换机或路由器后面,请查阅相关手册以查找兼容设置。输入后,您的信息在离开页面之前按“应用”按钮.
如果您希望快速开始使用网络路由器,并且不介意以后更改UR IP地址的可能性,请选择DHCP,然后选择“应用”.
在这两种情况下,如果机器人似乎无法正确获取网络配置,请尝试重新启动控制器,然后再次按Update。有价值的调试工具是操作系统的ping命令。打开计算机上的终端(对于Windows,运行cmd.exe),然后输入:
ping IP_OF_THE_ROBOT
IP_OF_THE_ROBOT是你的UR机器人的地址,如果什么也没发生或引发错误,则说明您的计算机无法访问机器人。 确保计算机和机械手上的网络设置正确,然后尝试按UR控制器上的Update。
从这个链接下载https://github.com/UniversalRobots/Universal_Robots_ROS_Driver
然后找到Universal_Robots_ROS_Driver/ur_robot_driver/resources/externalcontrol-1.0.1.urcap文件,用U盘将externalcontrol-1.0.1.urcap文件拷到UR机器人控制板,然后点击安装,这时候在面板会显示:
安装后再去下图位置设置你的电脑ip
如果你不安装这个包,你是看不到外部控制这一栏的,然后硬件设置就没有问题了
注意!!下边无论需要什么样的驱动包,一定要进行编译!!
如果你使用控制UR1.5-1.8,那么只需要编译universal_robot,如果是控制UR3及以上,那么还需要额外编译一个ur_modern_driver包,编译过程如下,首先进入你下载的那个包的目录,比如编译ur_modern_driver就要进入ur_modern_driver文件夹,然后打开终端,依次执行下边指令:
mkdir build
cd build
cmake ..
make
sudo make install
如果是编译 universal_robot,则进入~/catkin_ws/src目录下,原因是你之前git的时候已经把他放到了src目录里,而且建立工作区的时候已经有了一个build文件夹
然后执行如下指令
cd build
cmake ..
make
sudo make install
再注意!!如果编译 ur_modern_driver时make报错的,按照这个连接(https://github.com/iron-ox/ur_modern_driver/commit/883070d0b6c0c32b78bb1ca7155b8f3a1ead416c)去修改修改ur_hardware_interface.cpp文件,然后再进行make就没有问题了
下面给出了启动UR5的命令, 对于UR10,只需相应地替换前缀就可以了,不要忘记提供正确的安装程序shell文件,并对每个命令使用新的终端!
要启动真正的机器人,请在用实际硬件地址替换IP_OF_THE_ROBOT之后运行以下命令:
roslaunch ur_bringup ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
在新的终端中,可以执行将机器人移动到预定位置的简单测试脚本,如下所示:
rosrun ur_driver test_move.py
请记住,您应该始终将红色大按钮放在手边,以防途中发生任何意外情况
首先,请确保您已经安装或获取了ur_modern_driver软件包,通过下边命令获取:
git clone https://github.com/ros-industrial/ur_modern_driver.git
然后将该文件夹复制到/catkin_ws/src/universal_robot目录里边,接下来输入
roslaunch ur_modern_driver ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
用实际硬件地址替换IP_OF_THE_ROBOT,后边的端口号可以忽略不写
首先确保安装了 MoveIt! ,输入下边命令安装:
sudo apt-get install ros-kinetic-moveit
接下来开始运行控制UR
在三个终端中分别运行:前两句根据版本不同只执行对应的一句,后边两条指令都要执行
#UR1.5-1.8
roslaunch ur_bringup ur5_bringup.launch limited:=true robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
#UR3以上
roslaunch ur_modern_driver ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true
同理,端口号可以不写,ip地址替换成机器人的
然后大功告成!!
首先安装一些包
sudo apt-get install \
ros-kinetic-ur-gazebo \
ros-kinetic-ur5-moveit-config \
ros-kinetic-ur-kinematics
然后在三个终端中分别执行下边三条指令,然后等一段时间
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
然后可以在rviz中实现对机器人的操作了,移动机器人的位置
然后选择rviz中plan and execute,就会看到gazebo中的机器人沿着设定位置移动