通过示教器或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_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:

 

 

三、实验过程中遇到的一些问题

    遇到的一个比较严重的问题:  基座: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的控制柜,遂将其移除,果然,错误解决.

 

 

 

  • 25
    点赞
  • 157
    收藏
    觉得还不错? 一键收藏
  • 29
    评论
你可以使用ROS-Melodic和MoveIt来进行UR5机械臂的仿真控制。以下是一个基本的步骤: 1. 安装ROS-Melodic:请根据ROS官方文档的说明安装ROS-Melodic。确保你的系统满足所有的依赖项。 2. 安装MoveIt:在终端中运行以下命令来安装MoveIt: ``` sudo apt-get install ros-melodic-moveit ``` 3. 配置工作空间:创建一个新的工作空间,并将其初始化为ROS工作空间。例如,你可以运行以下命令: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 4. 下载UR5机械臂包:在终端中运行以下命令来下载UR5机械臂ROS软件包: ``` cd ~/catkin_ws/src git clone https://github.com/ros-industrial/universal_robot.git ``` 5. 下载MoveIt配置文件:在终端中运行以下命令来下载MoveIt配置文件: ``` cd ~/catkin_ws/src git clone https://github.com/ros-planning/moveit_resources.git ``` 6. 构建和编译:在终端中运行以下命令来构建和编译你的工作空间: ``` cd ~/catkin_ws/ catkin_make ``` 7. 启动仿真环境:在终端中运行以下命令来启动UR5机械臂的仿真环境: ``` roslaunch ur_gazebo ur5.launch ``` 8. 启动MoveIt RViz:在终端中运行以下命令来启动MoveIt RViz界面: ``` roslaunch ur5_moveit_config moveit_rviz.launch config:=true ``` 9. 进行控制:在RViz界面中,你可以使用MoveIt插件来规划和控制UR5机械臂的运动。你可以设置目标位置、执行运动等。 这些是基本的步骤,可以帮助你开始使用ROS-Melodic和MoveIt进行UR5机械臂的仿真控制。你可以根据自己的需求进行进一步的定制和开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值