通过示教器或ROS控制UR机械臂
一、初始化
1.打开示教器后,并点击初始化屏幕,跳转至初始化界面,松开急停按钮,设置有效负载2kg,点击开——启动——确定。
二、抓取实验
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_controlleraction_ns: follow_joint_trajectorytype: FollowJointTrajectoryjoints:- 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:
三、实验过程中遇到的一些问题
遇到的一个比较严重的问题: 基座:C75A1:joint encode error.... , 刚开始遇到这个问题的时候,我直接联系了UR的售后工程师,据说比较严重,很可能是因为机械臂受到外力导致的绝对编码器数据发生了错乱,很可能需要更换机械臂的关节,而且这个修复过程不是免费的...
但是据我实验的过程来看,机械臂保护的还是很好的,没有明显的碰撞,感觉这个原因不是很靠谱,于是网上查了查,发现有补救的方法. https://www.universal-robots.com/articles/ur/joint-encoder-error-c75-first-point-of-action/
以下步骤操作即可消除该报警。
① 将机器人固定在较为良好的环境(灰尘较少)。再将手臂上的灰尘擦拭干净,避免灰尘落入关节内部。
② 机器人断电,拔掉电源线,再按一次示教器启动按钮,将余电完全释放。
③ 带好静电手环,拆除手腕3关节盖(我们的是基座,所以是第一个关节盖)。
④ 按照以下图片示意,插拔两次编码器接头。
⑤ 然后恢复关节盖,报警即可解除。
在重启机器人之后,结果发现还是不行,继而又进行了一次,还是不行,感觉不是因为这个问题,忽然想起来,在出现故障之前我曾讲力传感器的控制盒放到了UR的控制柜里面,为了节省空间,塞得慢慢的,可以看到错误日志的后一段,external magnetic field present , 感觉很可能力传感器的磁性影响了UR的控制柜,遂将其移除,果然,错误解决.
通过示教器或ROS控制UR机械臂相关推荐
- 机械臂C语言编程,ROS下C++控制UR机械臂
描述 ROS系统下,使用moveit和gazebo搭建UR机械臂控制的仿真环境,并使用C++编写一个节点来控制UR机械臂的移动 ROS系统:kinetic UR5机械臂 电脑系统:Ubuntu16.0 ...
- 机械臂控制C语言程序,ROS下C++控制UR机械臂
描述 ROS系统下,使用moveit和gazebo搭建UR机械臂控制的仿真环境,并使用C++编写一个节点来控制UR机械臂的移动 ROS系统:kinetic UR5机械臂 电脑系统:Ubuntu16.0 ...
- 通过socket通讯控制ur机械臂
通过socket通讯控制ur机械臂 1.socket客户端(连接机械臂) 2.控制机械臂运动(发送控制指令) 3. 实时 以前一直使用ros跟机械臂打交道,但在使用moveit控制机械臂运动的时候会出 ...
- 使用ROS控制AUBO机械臂
环境配置: Ubuntu16.04 ROS-kinetic 前提: Ubuntu16.04和 ROS kinetic都需要提前安装好 1.安装依赖 1. sudo apt-get install ro ...
- ROS控制elfin5机械臂教程
测试环境 电脑:DELL G7 7588 处理器: i5-8300H 显卡:GTX1060MQ 6G显存 已配置:ROS iai_kinect PCL 1 源代码下载 从 github上 https: ...
- 通过ROS控制真实机械臂(2)----单轴运动,手柄控制
创建ROS包,包名redwall_arm ,通过自定义的消息,将手柄的数据发布 msg/ joycontrol.msg,内容如下,分别对应罗技手柄的按钮和遥杆轴. int32 button1 int3 ...
- 通过ROS控制真实机械臂(9)---上、下位机和PRU程序
上位机的程序redwall_arm_server.cpp 功能是作为ROS的move_group客户端接收ROS规划的机械臂路点信息,进行三次样条插补获得各个关节或自由度的运动PVAT数据,然后通过T ...
- 通过ROS控制真实机械臂(15) --- 视觉抓取之手眼标定
通过视觉传感器赋予机械臂"眼睛"的功能,配合ATI力和力矩传感器,就可以完成机械臂"手眼"结合的能力,完成视觉抓取过程.目前测试的视觉传感器为 ZED mini ...
- 通过ROS控制真实机械臂(7)---三次样条插补
在之前的move_group界面中,当点击plan and execute之后,move_group就会帮我们规划出一条通往指定位姿的轨迹,发布在follow_joint_trajectory上,通过 ...
最新文章
- Xilinx网站资源导读
- 多个结果集ResultSet的问题
- 【错误记录】Mac 中 IntelliJ IDEA 运行 Python 程序报错 ( “Python“ 因为出现问题而无法打开 )
- Swift函数_默认参数
- GNS3 搭配 secureCRT 安装配置与使用心得
- WIX、Squarespace、WordPress 三者的优劣分别是什么?
- [数据结构-严蔚敏版]P65离散事件模拟(银行客户的离散事件驱动模拟程序)
- 一篇总结的很好的Spring data jpa 文章,里面包含多种查询方式,可以结合api使用
- 外设驱动库开发笔记23:AT24Cxx外部存储器驱动
- python生物数据分析_Python学生物统计-数据可视化-学习笔记5
- Linux通过文件大小查找,linux 根据文件大小查找文件
- 【操作系统】中断和异常的比较
- 英语总结系列(五):英语无处不在
- iOS多线程: pthread、NSThread
- opengl 关于glGenBuffers函数没有定义
- matlab电气常用工具箱,matlab电气工具箱实验指导书
- 从零开发微信公众号(PC)
- 有一个测试微信删除软件叫wool,如果出现这三种情况,便可以删除这些微信好友,此操作适用所有人...
- html 字体围绕图片效果
- NOIP模拟赛 czy的后宫3
热门文章
- 安装autodesk系列无法安装解决办法
- 破解网通宽带我世界实现路由共享上网
- LiveGBS流媒体平台GB/T28181功能-安防监控录像服务端集中存储云上录像存储云端录像回看下载
- 球面贴图(Sphere Map)
- 交流电、交流信号、直流电、直流信号
- 十大国内中文免费网络硬盘
- P3951 [NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目
- element自定义表单label
- html选择文件用按钮,html点击button弹出挑选文件,上传,这个怎么实现?
- E8.ITSM IT运维服务管理系统