通过示教器或ROS控制UR机械臂
一、初始化
二、抓取实验
1.编写程序
1.1选择为机器人编程——选择一个空程序。
2.机械手**
下面开始编写程序,依次点击结构——URCap——机械爪**,回到命令窗口,点**。
3.设置路点
依次点击结构——基本——路点,回到命令窗口,设置路点,可以用手动或者点击各个关节按钮,将机械臂移动到合适的位置.
4.机械手抓取
依次点击结构——URCap——机械爪——Edit Action,调整机械爪的状态(抓)。
同理设置第二个路点和机械爪(放),点击下方的启动按钮。
完成编辑后,点击右上方文件按钮,选择路径保存命名后,退出程序。
5.运行程序
三、基于ROS实现UR5运动控制
1、安装好Ubuntu系统和相应的ROS系统以及MoveIt
如果运行过程出现错误,检查是否安装了controller包,缺啥安装啥。
$ sudo apt-get install ros-kinetic-controller*
2、确定UR系统软件版本
CB系列:UR3、5、10e系列:UR3e、5e、10e、16e若CB3 ( software version >= 3.7) 或者e-Series (software version >= 5.1),请从以下路径下载安装UR ROS功能包:https://github.com/UniversalRobots/Universal_Robots_ROS_Driver
从github上下载这个包之后,移动到自己的工作环境当中编译:
# clone the driver
$ git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver
# install dependencies
$ sudo apt update -qq
$ rosdep update
$ rosdep install --from-paths src --ignore-src -y
# build the workspace. We need an isolated build because of the non-catkin library package.
$ catkin_make
3、编译安装UR的ROS功能包
在刚刚安装Universal_Robots_ROS_Driver的时候,一般还要安装一个fmauch_universal_robot的功能包,里面包括的就是UR全系列的东西,由于我之前已经下载了ur的包,所以就不再另外下载了,做一些简单的修改即可,只要包含ur5的一套即可,多余的可以删掉。
然后打开ur5_moveit_config下的config文件夹,修改其中的controllers.yaml,内容如下:
controller_list:
- name: /scaled_pos_traj_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
joints:
- shoulder_pan_joint
- shoulder_lift_joint
- elbow_joint
- wrist_1_joint
- wrist_2_joint
- wrist_3_joint
如果没有进行这样的修改的话,会导致Action client not connected:/follow_joint_trajectory错误,就是因为对应的控制器设置错误了
4、安装接线实物机器人
① 开机启动,,设置机器人->URCaps,导入external control,然后重启
② 安装设置,修改external control选项中的host ip和name和自己电脑上的一致,端口保持不变
③ 网络设置,设置静态ip,确保ip地址和运行ROS的上位机电脑处于同意网段(能够ping通)
④ 为机器人编程,加载一个空程序,将external control程序节点插入到程序树中
⑤ 保存运行上述程序,将网线连接至上位机并保证通信正常,启动ROS程序
这步需要注意顺序,首先启动ROS程序:
打开机械臂驱动
$ roslanuch ur_robot_driver ur5_bringup.launch robot_ip:=192.168.1.101
它用于启动UR机械臂电机驱动,请注意这里的ip可变,可在示教器内更改,请保持与示教器显示的ip网段一致
然后启动示教器上的程序,运行
如果成功,终端会输出如下信息,此时可以启动可视化界面了:
然后启动ROS上的可视化界面
$ roslanuch ur5_moveit_config ur5_moveit_planning_execution.launch
它用于打开ros里的工具即moveit,只用于控制机械臂
打开可视化工具
$ roslanuch ur5_moveit_config moveit_rviz.launch
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
或者直接通过demo来启动
$ roslaunch ur5_moveit_config demo.launch
⑥ 通过moveit界面提供的交互方式为机器人指定一个目标位置(注意,先点击plan,确保机器人运动路线不会造成碰撞,execute),运行过程中要时刻注意,一旦发生意外,立刻按下急停按钮。
点击ADD添加motion planning控件,并调出交互的marker:
推荐阅读