基于ros开发ur5----机械臂控制规划

2019-07-26  本文已影响0人  monk1994

ros 环境搭建-tested on a UR5 robotic arm running firmware version 3.0

原理

ros-industrial通过网线与UR机器人的控制器链接,通过网线向ur控制器上传URscript脚本程序,运行脚本程序并时刻接收ros-industrial的消息,脚本程序将ros消息转为机器执行命令。

安装ros-industrial(注意更改kinetic为自己的ros版本)

http://wiki.ros.org/Industrial/Install

   * Industrial core: `apt-get install ros-kinetic-industrial-core`
   * ABB stack: `apt-get install ros-kinetic-abb`
   * Universal robot stack: `apt-get install ros-kinetic-universal-robot`
   * ros_canopen stack: `apt-get install ros-kinetic-ros-canopen`

安装源码编译UR的新版驱动包(适用于UR version 3.0)

建议安装新版本的驱动:ur_modern_driver(原作者的版本目前在ros-kinetic上编译不了,可以下载branch上的cleanup_kinetic_manifest)
https://github.com/ros-industrial/ur_modern_driver/tree/cleanup_kinetic_manifest

安装UR机器人描述文件

描述文件用于记录机器人的模型参数
sudo apt install ros-kinetic-ur-description

安装Moveit!:一个规划控制包

sudo apt-get install ros-kinetic-moveit

配置机器人与PC的网络并启动驱动

参考:http://wiki.ros.org/universal_robot/Tutorials/Getting%20Started%20with%20a%20Universal%20Robot%20and%20ROS-Industrial

  1. 用示教器设置机器人的网络,一般情况下,选择自动分配IP即可(DHCP),设置好后,重启机器与PC,用PING命令测试通讯:
ping IP_OF_THE_ROBOT
  1. 与UR v3.x建立链接,IP_OF_THE_ROBOT换成机器人的IP:
roslaunch ur_modern_driver ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
  1. 测试下是否可以控制机器人(时刻把手放在示教器的大红色按钮上,以防意外):
rosrun ur_modern_driver test_move.py

启动驱动后,使用Moveit!来控制真实机器人

为了更好的求解规划路径,一般将机器人的关节运动范围限制于[-pi,pi]:

先启动ur驱动:
roslaunch ur_modern_driver ur5_bringup.launch limited:=true 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
(规划会一直失败,可能因对关节运动范围进行了限制,可以检查试教器查看机器人关节状态)

在Gazebo仿真环境下,模拟机器人运动

roslaunch ur_gazebo ur5.launch limited:=true

roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true limited:=true

roslaunch ur5_moveit_config moveit_rviz.launch config:=true

使用代码控制UR5机器人

上一篇 下一篇

猜你喜欢

热点阅读