UR机械臂+RG2机械手控制 学习及实际控制 系列第三篇-1

本文详细介绍了如何控制UR机械臂和RG2机械手,包括通过ROS例程和MoveIt进行路径规划,以及设置机械手的控制程序。文章讲述了如何添加环境限制,如电梯和墙壁,以实现机械臂在真实环境中的抓取和按钮操作。还讨论了在执行过程中遇到的权限和文件缺失问题及其解决方案。最后,概述了将深度相机信息与机械臂控制结合以实现更复杂的任务的未来计划。
摘要由CSDN通过智能技术生成

1.机械臂UR的控制包括两种,一种是通过终端控制 比较笨重不方便,用于测试使用,另一种是通过ros例程包,订阅位置信息控制机械臂的移动,moveit自动规划机械臂的路径,并躲过设置好的盒子(box)

手部RG2机械手的控制一种是通过终端的程序,在大终端中创建空程序 、结构、RG2、命令、带宽。

2.步骤

#roslaunch ur_control ur10_control.launch robot_ip:=192.168.2.24

将机械臂与本地路由器的地址相同连接起来

#roslaunch ur10_rg2_moveit_config demo.launch

启动rviz 在里面利用moveit进行仿真

#rosrun ur10_rg2_moveit_config moveit_controller.py

在这里添加限制box,此处是初始设置 手动测量位置后加了底座box(模仿麦轮),加了三面墙壁(模仿电梯)。

#rosrun ur10_rg2_moveit_config new_moveit_controller.py

在new_moveit_controller.py为总的控制程序,包含机械臂和机械手,其中在def go_to_pose_goal(self):函数中定义运动的位置。设计包含两种场景,一种是用于机械臂抓取物体的,另一种是在电梯中按按钮。

3.得到当前机械手位置的程序

current_pose = self.group.get_current_pose().pose
print self.group.get_current_pose()

4.电梯按钮的控制机械臂手程序,共设置button0.1.2三步 分别是到达电梯按钮正前方、合住机械手呈一条线、向正前方伸前点按钮、回来。

print "============ Press `Enter` to plan button0"
    raw_input()
    # rospy.sleep(0.5)
    q = tf.transformations.quaternion_from_euler(math.radians(-90.0), 0.0, 0.0)
    pose_goal.orientation.x = q[0]
    pose_goal.orientation.y = q[1]
    pose_goal.orientation.z = q[2]
    pose_goal.orientation.w = q[3]
    pose_goal.position.x = 0.6
    pose_goal.position.y = -0.65
    pose_goal.position.z = 1.40
    group.set_pose_target(pose_goal)
    plan00=group.plan()
    print "============ Press `Enter` to go button0"
    raw_input()
    # rospy.sleep(0.5)
    plan = group.go(wait=True)
合成一条线  
print "============ Press `Enter` to rg2"
    raw_input()
    # rospy.sleep(0.5)
    self.request.target_width.data=0.0
    resp1=self.val(self.request)

此处为实际已经测量好位置,之后根据深度相机的位置以及标定的柱状物体位置做抓取动作。

5.抓取百事可乐罐程序

 print "=========&#
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值