Ubuntu18.04+ROSmelodic+UR5E真实机械臂使用moveit控制Robotiq-2F-85夹爪

2 篇文章 0 订阅
1 篇文章 0 订阅

前言:因为我需要ROS和moveit控制UR5E和Robotiq 2F-85夹爪。最重要的是,因为我的夹爪直接接在机械臂末端,这样避免了把线接到计算机上,不用延伸出长线接在控制箱,但是这种方式不是直连到PC端,不能直接控制夹爪,中间有UR5E控制器作为媒介。

网上大多数教程都是RS485转USB线,USB线接在控制箱内部,控制箱24V供电,这种方式,相当于没有机械臂也可以去控制夹爪。这么做,就要遭受线长与接口问题。

一.实验设备环境

操作系统:Ubuntu18.04

机械臂型号:UR5E

夹爪型号:Robotiq 2F-85

重点:夹爪连接线接在机械臂末端法兰盘

首先官网下载最新的Robotiq 2F-85功能包

cd catkin_ws/src/
git clone https://github.com/ros-industrial/robotiq.git

#安装依赖

sudo apt-get install ros-melodic-socketcan-interface

sudo apt-get install ros-melodic-soem

#编译

cd catkin_ws

catkin_make

ROS驱动UR5E参考:

Ros驱动真实机器人Ur5e

上述教程和UR5E机械臂建立连接后,这时已经安装了UR5E外部控制的Externall Control urcap(1.0.5),这时需要和工具端夹爪建立通信,还需要装rs485 urcap(1.0.0)

rs485urcap

上述装urcap具体操作不再详述,拿U盘下载安装即可。

#仅开机械臂驱动节点   只需要把ip改成自己的机械臂ip

roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:=192.168.56.101 kinematics_config:=$(rospack find ur_calibration)/etc/ur5e_calibration.yaml

#开启机械臂驱动节点+工具端通信(这句命令很长,直接复制,记得修改ip)

roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:=192.168.56.101 kinematics_config:=$(rospack find ur_calibration)/etc/ur5e_calibration.yaml use_tool_communication:=true tool_voltage:=24 tool_parity:=0 tool_baud_rate:=115200 tool_stop_bits:=1 tool_rx_idle_chars:=1.5 tool_tx_idle_chars:=3.5 tool_device_name:=/tmp/ttyUR

接着在示教器启动外部控制连接

建立连接后,启动👇RTU夹爪连接,重复操作,直到夹爪蓝灯亮起来

rosrun robotiq_2f_gripper_control Robotiq2FGripperRtuNode.py /tmp/ttyUR

可能会有以下错误:

这个问题是因为,PC端没有办法去和工具端通信,可以说是和示教器冲突了。

解决:

如果你第一时间拿到夹爪,你可能会第一时间安装上去,并且在示教器上安装Robotiq_Grippper urcap测试夹爪能不能用,此时夹爪上的蓝色灯示常亮的,此时当你可以用示教器去控制夹爪的时候,注意这个时候夹爪和示教器通信,PC端已经不能去通信了,所以你需要卸Robotiq_Grippper urcap(必须仅安装外部控制(External Control)和rs485 urcap),卸载Robotiq_Grippper urcap后,重启示教器,夹爪是没有反应的,夹爪的指示灯是不亮的。此时示教器已经完全无法去控制夹爪了,这个时候就需要在PC端通信并且去点亮他,此时再运行:

 rosrun robotiq_2f_gripper_control Robotiq2FGripperRtuNode.py /tmp/ttyUR

运行成功图:

这个时候已经开启和夹爪的通信节点了,并且夹爪的指示灯会被点亮蓝色

测试是否能控制夹爪:

rosrun robotiq_2f_gripper_control Robotiq2FGripperSimpleController.py

先要 (r键)reset 重置夹爪,然后 (a键)activate 激活夹爪,再进行其他操作
可以输入 o 或 c 执行张开闭合动作;
输入 0-255 的数字,0 是开合到最大位置,255 是完全关闭,回车后电爪即可执行;
可以输入 f 或 l 控制夹爪动作的快慢;
输入 i 增加夹取力;
输入 d 减小夹取力。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用ROSRobot Operating System)和Python来操纵UR5机械臂。首先,确保已经安装了ROSUR开发包。接下来,你需要创建一个ROS工作空间,并下载UR5机械臂ROS包。然后,你可以使用Python编写控制程序来操纵机械臂。 以下是一个简单的操纵UR5机械臂的示例代码: ```python #!/usr/bin/env python import rospy from std_msgs.msg import String from sensor_msgs.msg import JointState from math import pi def move_ur5(): rospy.init_node('move_ur5', anonymous=True) pub = rospy.Publisher('/ur_driver/URScript', String, queue_size=10) # 设置机械臂关节角度 joint_angles = [0, -pi/2, pi/2, -pi/2, -pi/2, 0] joint_angles_str = '[{}]'.format(', '.join(map(str, joint_angles))) command = 'movej({}, a=1.0, v=0.1)'.format(joint_angles_str) # 发布控制指令 rospy.loginfo('Moving UR5 to joint angles: {}'.format(joint_angles_str)) pub.publish(command) rospy.sleep(5) if __name__ == '__main__': try: move_ur5() except rospy.ROSInterruptException: pass ``` 这个示例代码中,我们使用ROSPythonrospy来发布控制指令到UR5机械臂。首先,我们初始化ROS节点并创建一个Publisher来发布URScript指令。然后,我们设置机械臂的目标关节角度,并将其转换为字符串格式。最后,我们发布控制指令并等待5秒钟。 请确保你的ROS环境正确设置,并且已经连接上UR5机械臂。你可以运行上述代码来测试操纵UR5机械臂。 希望这对你有帮助!如有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值