基于Arduino的舵机机械控制研究

2020-05-29 08:12江国强谢安洁漆虹琳张利强
企业科技与发展 2020年4期
关键词:舵机

江国强 谢安洁 漆虹琳 张利强

【摘 要】机械结构的研究是当今时代高科技技术发展的必经之路,在这个人工智能的时代,智能机器人是全球人工智能研究的重点,机器人无论是移动、行动还是工作都是有机械做功完成的,文章研究的是一款基于Arduino的开源机械臂,它拥有6个可活动关节,利用hd参数系统建立空间定位模型。使用LDX-335MG数字舵机,不仅精度高,而且具有末端防烧防堵转的功能,使得做工更具有可靠性、安全性,超高的精度也使得做功的失误率降到了最低。

【关键词】机械控制;仿生手臂;舵机

0 引言

自蒸汽机发明以来,人类便甩开了传统的机械控制技术,开始进入了机器控制的大门。电能的运用更是让控制技术得到飞速的发展与运用,机器人如今可以说是无所不在,大到码头、工厂,小到家庭。机械臂则是大多数机器人不可缺少的一部分,本文研究的是Arduino控制伺服机的机械手臂,分析其机械结构、三维空间内位置的关系、多个舵机控制程序。

1 绪论

1.1 研究背景

自机器人诞生到现在,机器人技术已经发生翻天覆地的变化。全球各国的科学家都在为机器人的研究用尽心血,机器人被广泛用于汽车铸造、石油开采、航空航天、船舶码头、无人的物流工厂等领域,逐渐淘汰传统人力做功,让人们从繁琐、重复、危险的工作中解放出来。机械手臂是机器人的组成部分,大多数机器人任务都需要机械臂。机械手臂使得机器人可以做更多、更复杂的工作,可以像人一样做一些灵活的动作,可以说给机器人加上机械臂使得机器人的工作范围扩大了,同时提升了机器人的工作效率。

1.2 国内外现状

国外的机器人研究开展得比较早,目前瑞典的ABBRobotics、日本的FAUNC、德国的KUKARoboter等公司拥有较为成熟的技术和研究成果。

国内机器人的研究起步较晚,但近年来很多高校取得了不菲的成果,例如香港大学自动化及制造研究中心的自动导航车和服务机器人、阿里巴巴的无人物流工厂、哈尔滨工业大学的导游机器人等。

总体来看,国内的机器人研究相对于国外存在着较大的差距,当前有两个重要的问题亟须解决。

(1)机器人普遍采用的是轮式传统移动,应用场景要求较高。

(2)机器人的机械臂结构简单,能完成的动作较少,灵活性不足。

2 机械结构设计

2.1 硬件描述

2.1.1 舵机

整套机械臂一共使用了6个高精度数字舵机,我们从上往下分析。爪子部分使用的是具有防堵转功能的LDX-335MG数字舵机,当发生堵转时,舵机会自动计时,当发现堵转超过4 min时,舵机会自动停止工作。两个舵机是LFD-06防堵转低功耗的数字舵机,当发生堵转时,舵机内部会自动进行保护。在云台上面的两个舵机是高精度的双轴数字舵机,它们采用插拔的连接方式,布线、更换都十分方便。底座上的舵机采用大扭力的1501舵机,它有15 kg的扭力,能旋转180°。

2.1.2 控制板

控制板由两个部分组成,一个是基础板,另一个是接在主板接口的Arduino板。控制板的正常工作电压在6.4~8.4 V,低于6.4 V时蜂鸣器会发出低压报警信号,提醒用户。不过我们供电采用的是AD/DC电源适配器,只要插上就不用担心电压的问题。控制板上的USB接口是用来下载程序或调试用的,只需接到电脑上,打开相应的上位机即可(如图1所示)。

2.1.3 Arduino开发板

Arduino是一款功能强大且易于使用的开放式设计源代码。免费下载使用开发界面,闪存32KB存储空间可满足您的设计要求,与电机控制板兼容,使电路更简单、更稳定,价格也相对较低。

2.1.4 支架结构

主体支架呈蓝色,全部采用硬铝合金,加上表面喷砂氧化处理,质感好,硬度高。

2.2 坐标系的关系

主要在笛卡尔坐标系中描述空间位置、速度和加速度,也就是说,坐标系统由3个相互垂直的轴组成,这是众所周知的。确定绕轴旋转多少角度的正方向是基于右侧的规则,一般用的都是右手坐标系,即绕z轴旋转时,y轴在x轴的+90°方向。通常,对象/点的名称写在右下角,就像坐标系{A}中点O的位置矢量一样写作ApO。

2.3 位置与平移交换

位置表示是很简单的,直接用三维向量就可以表示。变换是坐标系空间位置的变化,可以用坐标系原点O的位置矢量表示(如图2所示)。多次平移变换的表示直接向量相加就可以了。

2.4 角度/方向、旋转变换

相比于位置,方位的表示方法就麻烦多了。在方位的表示方法上,我们把物体看做一个坐标系,在物体运动过程中坐标系也跟着移动或者旋转,所以我们从这个物体的坐标系与参考坐标系的关系中可以得到物体的位置和朝向。

怎么知道坐標系如何旋转及围绕另一个坐标系旋转?我们先从二维的情况分析,如图3所示。

通过将坐标轴单位向量用参考坐标系表示,由图4可以直接写出:

显然,该矩阵的每一列代表坐标系B的坐标单位矢量;有了这个矩阵,我们就能画出坐标系B的x轴与y轴,从而确定B的朝向。

2.5 旋转矩阵

在三维的空间里面,要确定物体的朝向很困难,在三维空间中物体的朝向要考虑3个自由度。不过,如果我们从图3的方法出发,就可以轻松写出一个3×3的R矩阵,我们叫它旋转矩阵:这个式子表明从坐标系{B}到坐标系{A}的旋转矩阵的每一列都是坐标系{B}的坐5标轴单位向量在坐标系{A}中的表示。

2.6 DH参数与坐标系确定

在DH模型中用4个参数表达连杆之间的角度关系和坐标系的定位,分别是连杆长度、连杆扭转、连杆偏移、关节转角。原本需要6个自由度的坐标变换现在只需要4个参数表达,人为地通过现在原点和x轴的方法减少了两个自由度(如图4所示)。

结合图4,我们可以直观地看出4个参数的意义。连杆长度:沿Xi-1的Zi-1到Zi的距离;连杆扭转:Zi相对于Zi-1绕Xi-1旋转的角度;连杆偏移:沿Zi的Xi-1到Xi的距离;关节转角:Xi相对于Xi-1绕。

由图4我们可以很明显地观察出两条重要的线:轴线和轴线与相邻轴线之间的公共法线。在DH的参数表示里,我们把关键轴定为z轴;共同法线由x轴定义,x轴方向是从关节到下一个关节。这样可以很容易地表示实际机器人的任何关节,从而更有利于对DH模型的理解。

3 多路舵机控制程序设计

3.1 舵机的内部结构

舵机内置部件主要有舵盘、齿轮组、电机、控制电路、控制线。舵机的动力来源全靠电机提供其高速的转动为舵机提供了强大的动力,电机的高速转动带动减速齿轮组,使之产生高扭力的输出,舵机的输出扭力也越大,也就是说越能带动更大重量的負载,但输出的转速也越低。

3.2 舵机的工作原理

舵机是一个常见的闭环反馈系统,减速器由电动机驱动,输出驱动线性比例电位器以进行位置感应,电位计将旋转角度转换为比例电压反馈给控制电路,控制电路通过比较对应于输入控制信号的角度使电动机正向或反向旋转,使电位器反馈角度趋向于控制信号期望角度,从而达到使伺服机马达精确定位的目的(如图5所示)。

3.3 如何控制舵机

舵机的输入线有3条,中间红色的为电源线,黑色的是地线,黄色的是标准PWM舵机的控制线。电源与地线为舵机提供能源,电压通常介于5~8 V之间。甚至舵机在负载重时也会拉低放大器的电压,所以整个系统的电源供应比例必须合理。

舵机的控制通常需要约20 ms的时基脉冲,并且该脉冲的上位部分通常是0.5~2.5 ms范围内的角度控制脉冲部分,总间隔为2 ms。模拟舵机需要一直保持周期性的信号才可保持舵机的角度,当失去信号,舵机就会不再输出动力。图6为舵机信号对标角度的数据图。

4 实验总结

通过以上实验研究,基于Arduino的舵机控制仿人手的机械手臂具有人手般的灵活性,对在三维的空间里面机械手臂各个节点的运动轨迹进行了规划,其运动进准度达到工业级别,使用的LDX-335MG数字舵机,当发生堵转时,舵机会自动停止工作,防止器械损坏。

参 考 文 献

[1]刘广明.PRRR机械手机构分析及运动实现的研究[D].沈阳:沈阳工业大学,2013.

[2]顾頔,韩鑫.基于Arduino的步进电机教学机械手[C].南京理工大学机械工程学院,2019.

[3]陈镔,张兴远.基于Arduino的绘图机器人[C].武夷学院机电工程学院,2016.

[4]孙宏伟,肖正洪.开源硬件Arduino UNO的原理与应用[J].新校园,2013(9):45.

[5]付久强.基于Arduino平台的智能硬件设计研究[J].包装工程,2015(10):76-79.

[6]李明亮.Arduino项目DIY[M].北京:清华大学出版社,2014.

[7]潘齐欣,唐型基.基于步进电机控制的仿人机械手臂抓取移动系统设计[C].凯里学院信息工程学院,2016.

[8]金茂菁.我国工业机器人发展现状[J].机器人技术与应用,2001,1(4):32-33.

[9]乔东凯,黄崇林.移动式工业机器人设计的动力学分析 [J].茂名学院学报,2003,13(3):12-14.

[10]张广鹏,方英武,田忠强.工业机器人整机结构方案的动态性能评价[J].西安理工大学学报,2004,20(1):26-28.

[11]甘志刚,肖南峰.仿人机器人三维实时仿真系统的研究与实现[J].系统仿真学报,2007,19(11):23-24.

猜你喜欢
舵机
Arduino编程
基于STM32的24路舵机同步控制系统设计
创客们的DIY必备“法宝”:舵机
走进舵机世界
基于51单片机控制多路舵机的方法
Mixly开源项目设计12:用旋钮控制舵机
海太克HS—1100WP数字舵机
超音速模型直升机专用舵机
超音速舵机保护器
盘点"古董“遥控器[3]