【机械臂】

1.步进电机简介
        步进电机是一种将电脉冲信号转化为转轴角位移的特殊电机,当驱动器接收到脉冲信号,它就驱动步进电机转动相应的角度。在机械臂控制过程中,我们通过调节脉冲个数来控制电机旋转角度,并与行星减速器相配合驱动机械臂关节;同时,我们也可以通过调节脉冲频率来控制关节旋转的速度与加速度,从而完成对末端执行器与各关节的轨迹规划。根据转子与定子的不同类型可将步进电机分为永磁式、反应式与混合式

       
        永磁式步进电机的转子由永磁体制成,定子由软磁材料制成,二者周边均没有齿槽。定子线圈通电并产生与转子磁场相互排斥的固定磁场,永磁转子产生电磁转矩。永磁式步进电机的优点是成本低、转矩大,在断电时有定位转矩;缺点是步距角大、定位精度低、启动频率较低以及运行频率低。

        反应式步进电机也叫磁阻式步进电机,其中又分为单段式步进电机与多段式步进电机。反应式步进电机的定子与转子均由软磁材料制成,二者周边均匀分布有齿槽,当定子绕组激磁通电,齿槽间气隙磁场发生变化,进而产生转矩带动定子旋转。反应式步进电机优点是输出转矩大、转速高且响应速度快;缺点是单步驱动时振幅大、振荡时间长,且断电后无定位转矩。

        混合式步进电机将永磁式步进电机与反应式步进电机的优点相结合,即输出转矩大、精度高、运行稳定且断电后仍有定位转矩。混合式步进电机的定子由软磁材料制成,转子为两端套有软磁材料的圆柱永磁铁,且周边同样带有齿槽。混合式步进电机的爆炸图如下图所示。

2.步进电机驱动器
        步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速和定位的目的。而在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置,即处于定位状态。

        选择合适的步进电机驱动,可以提高步进电机运行的稳定性与精度。

#这里是手册里面针对两种坐标系
 关节坐标系:以各运动关节为参照确定的坐标系。
	 若Dobot Magician未安装末端套件,则包含三个关节:J1、J2、J3,且均为旋转关节,逆时针为正。
	 若Dobot Magician安装带舵机的末端套件,如吸盘和夹爪套件,则包含四个关节:J1、J2、J3和J4,均为旋转关节,逆时针为正。
 笛卡尔坐标系:以机械臂底座为参照确定的坐标系。
	 坐标系原点为大臂、小臂以及底座三个电机三轴的交点。
	 X轴方向垂直于固定底座向前。
	 Y轴方向垂直于固定底座向左。
	 Z轴符合右手定则,垂直向上为正方向。
	 R轴为末端舵机中心相对于原点的姿态,逆时针为正。当安装了带舵机的末端套件时,才存在R轴。R轴坐标为J1轴和J4轴坐标之和。

(2)运动模式
本款机械臂主要有括点动模式、点位模式(PTP)、圆弧运动模式(ARC)。PTP和ARC可总称为存点再现运动模式。 三种运动模式,
(1)点动模式即示教时移动机械臂的坐标系,使机械臂移动至某一点。Dobot Magician的坐标系可分为笛卡尔坐标系和关节坐标系,用户可单击笛卡尔坐标系按钮或关节坐标系按钮移动机械臂。
 

 笛卡尔坐标系模式:
	 单击“X+”、“X-”,机械臂会沿X轴正负方向移动。
	 单击“Y+”、“Y-”,机械臂会沿Y轴正负方向移动。
	 单击“Z+”、“Z-”,机械臂会沿Z轴正负方向移动。
	 单击“R+”、“R-”,机械臂末端姿态会沿R轴正负方向旋转。
 关节坐标系模式:
	 单击“J1+”、“J1-”,可控制底座电机正负方向旋转。
	 单击“J2+”、“J2-”,可控制大臂电机正负方向旋转。
	 单击“J3+”、“J3-”,可控制小臂电机正负方向移动。
	 单击“J4+”、“J4-”,可控制末端舵机正负方向旋转。

(2)点位模式即实现点到点运动,Dobot Magician的点位模式包括MOVJ、MOVL以及JUMP三种运动模式。不同的运动模式,示教后存点回放的运动轨迹不同。

 MOVJ:关节运动,由A点运动到B点,各个关节从A点对应的关节角运行至B点对应的关节角。关节运动过程中,各个关节轴的运行时间需一致,且同时到达终点,如图 3.6所示。
 MOVL:直线运动,A点到B点的路径为直线,如图 3.6所示。
 JUMP:门型轨迹,A点到B点以MOVJ运动模式移动,如图 3.7所示。
		以MOVJ运动模式上升到一定高度(Height)。
		以MOVJ运动模式平移到B点上方的高度处。
		以MOVJ运动模式下降到B点所在位置。

在这里插入图片描述在这里插入图片描述

(3)圆弧模式即示教后存点回放的运动轨迹为圆弧。圆弧轨迹是空间的圆弧,由当前点、圆弧上任一点和圆弧结束点三点共同确定。圆弧总是从起点经过圆弧上任一点再到结束点,如图 3.8所示。
在这里插入图片描述
几种方式的运用场景:
在这里插入图片描述

注意后面运行python脚本的时候,要先开启机械臂的服务,直接使用一下指令即可

roslaunch dobot DobotServer.launch

(1)设置机械臂的归零状态:

SetHOMECmd.py(调用SetHOMECmd服务,编写client,这里函数接口已经通过服务方式进行封装好了我们直接可以使用)

#!/usr/bin/env python
#-*- conding:utf-8 -*-

import rospy
from dobot.srv import SetHOMECmd

if __name__ == "__main__":
    rospy.init_node('testDobot')
    rospy.wait_for_service('DobotServer/SetHOMECmd')
    try:
        client = rospy.ServiceProxy('DobotServer/SetHOMECmd',SetHOMECmd)
                                    #服务名,name            服务类型,srv
        response = client()
    except rospy.ServiceException, e:
        print "Service call failed: %s"%e

 

 (2)设置机械臂末端吸取器的状态 

SetEndEffectorSuctionCup.py

#!/usr/bin/env python
#-*- conding:utf-8 -*-

import rospy
from dobot.srv import SetEndEffectorSuctionCup

if __name__ == "__main__":
    rospy.init_node('testDobot')
    rospy.wait_for_service('DobotServer/SetEndEffectorSuctionCup')
    try:
        client = rospy.ServiceProxy('DobotServer/SetEndEffectorSuctionCup',SetEndEffectorSuctionCup)
        response = client(1,1,True)
        #response = client(0,0,True)
    except rospy.ServiceException, e:
        print "Service call failed: %s"%e

这里需要传递两个参数,分别表示气泵是否使能以及吹吸气状态。

 (3)执行 PTP 指令

设置机械臂运动的目的坐标,这里一共需要传递五个参数,通过官方的API接口可以看到每一个参数的意思。

#!/usr/bin/env python
#-*- conding:utf-8 -*-

import rospy
from dobot.srv import SetPTPCmd

if __name__ == "__main__":
    rospy.init_node('testDobot')
    rospy.wait_for_service('DobotServer/SetPTPCmd')
    try:
        client = rospy.ServiceProxy('DobotServer/SetPTPCmd',SetPTPCmd)
        response = client(1,-2.2,258,121,-10)
    except rospy.ServiceException, e:
        print "Service call failed: %s"%e

可以看到,第一个代表PTP模式的设置,后面四个参数主要是描述坐标系的相关量。我们这个工程主要使用模式1,MOVJ模式和笛卡尔坐标系了,这就用到了博文开头提到的坐标系和模式介绍。

在这里插入图片描述

 在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值