在ROS上实现Seed robotics R8HD机械手与Ur5机械臂的连接与轨迹规划(上)模型连接

本部分讲解R8HD的模型与ur5机械臂的连接并在rviz中正常显示

前言:本文运行环境:

Ubuntu 20.04

ROS noetic

工作空间ur_ws

fmauch_universal_robot

ur_robot_driver 部分使用老旧ur_driver的同学文件布局应该会稍有出入

moveit

一、urdf文件以及模型文件的获取

1.前往官方网址的电子手册rh8d:home [Seed Robotics e-Manual]

2.找到官方邮箱 support@seedrobotics.com3.礼貌一点发送邮件,说明型号,索要urdf文件

4.拿过来的因该是一份urdf文件外加.stl模型文件,将文件拷贝到电脑

 二、建立自己的description功能包

这个功能包同来存放机器人的模型文件

1.在工作空间中新建文件夹ur5withhand

2.

cd ~/ur_ws/ur5withhand
catkin_create_pkg my_description rospy roscpp std_msgs

3.前往官方的ur_description 文件夹,把其中根ur5有关的文件都复制到my_description中,换言之,你的my_description中需要包含所有有关ur5的配置文件,以下图片供参考

 

 

 三、模型文件的修改

 

官方文件分为三个package启动rviz显示轨迹并通过moveit规划,其中文件的引用顺序如上图所示,其中箭头指向引用文件,ur_description表示机器人的模型文件,其中所有ur系列的机械臂的关节和实体的相对位置是一样的,都写在ur_marco.xacro当中,load_urX.launch和urX_macro.xacro这类文件通过加载不同的地址的模型文件(位于meshes文件夹中)来表示不同机械臂。

注意:本节操作全部在自己新建的my_description中完成,别不小心把官方文件改了

1. 打开ur_macro.xacro

2.打开 RH8DR.urdf

 

3.在RH8DR.urdf中搜索并替换,把所有filename:后面的文件地址改成自己存放.stl文件的地址

4.复制全部 .urdf文件至ur_macro.xacro最后面

5.本步骤以下在ur_macro.xacro中操作,把.urdf部分开头的base_link关节改为如下,这是由于机械手已经有一个base_link了

6.搜索和替换.urdf部分内容,共两个,这是由于官方提供的urdf文件中的:和--不符合moveit中的关节命名规则,会导致报错,当然你自己改成自己想改的名字也可以

7.搜索并替换内容,这一步要看清,别把机械臂关节的内容换了,因为本文不打算用ROS控制手爪,手爪打算通过另外的电脑控制,所以把手爪的关节都改成了固定的。

8.别忘了先catkin_make一下

运行

roslaunch my_description view_ur5.launch

看看手爪是不是连上去了

 如果安装方向不一致,可以更改base_joint中的rpy的角度

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用ROS(Robot Operating System)和Python来操纵UR5机械臂。首先,确保已经安装了ROS和UR开发包。接下来,你需要创建一个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 ``` 这个示例代码,我们使用ROS的Python库rospy来发布控制指令到UR5机械臂。首先,我们初始化ROS节点并创建一个Publisher来发布URScript指令。然后,我们设置机械臂的目标关节角度,并将其转换为字符串格式。最后,我们发布控制指令并等待5秒钟。 请确保你的ROS环境正确设置,并且已经连接UR5机械臂。你可以运行上述代码来测试操纵UR5机械臂。 希望这对你有帮助!如有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值