基于机械臂的智能小车
2017-12-21张玉政莫琦莫松颖
张玉政++莫琦++莫松颖
摘要:随着科技的日益发达,人类社会正在向自动化,智能化的方向快速发展。由于人的双手有太多的局限性,比如:人的双手没有太多的力量,也不能在高温、严寒、深海、外太空等特殊的环境下工作,而且,随着高科技时代的发展,凡事早也不是都靠人的双手来做了。因此设计出机械臂来代替人的手臂也就显得很有必要。再者,目前大多数机械手臂控制系统不够完善,控制起来比较繁琐,要想让机械手爪到达某一目的地需要好几个控制指令,又不能通过网络进行超远程控制,基于这些问题我们这个团队打算设计此智能机械手臂,其可以在控制者发出指令后,手机app处理语音指令,然后通过互联网发送给机械臂小车,小车根据指令与周围环境自动处理指令并执行相应动作,此过程中便不再人为参与。
关键词:机械臂;控制;信息处理
中图分类号:TP29 文献标识码:A 文章编号:1007-9416(2017)10-0047-02
1 项目实施的目的及意义
通过设计制作远程可控制机械臂,意在培养大学生的创新动手能力,思考及处理问题的能力,旨在把关于电子信息专业的理论知识转化为实践,把理论与实践相结合才能有效提高我们的综合素质及能力。近年来随着互联网的快速发展,“互联网+”已经是现代信息社会的潮流,再者,各类传感器的发展与使用,计算机技术的发展,芯片集成度的提高,使得自动化技术日益成熟并向AI的方向前进,所以我们认为设计这个机械臂小车,以电子信息技术为基础,通过各类传感器的应用,并与计算机通信网络相结合,使得此机械臂小车可在不同的网络中被语音控制,一来适用于当今自动化控制的技术,第二为以后智能机器人的研究做铺垫。
2 系统组成
2.1 系统结构
系统由手机app上位机远程控制部分和机械臂[1]小车两部分组成,如图1所示。
硬件系统以小车平台做底座,一来可以作为一个搭载平台,二是可以让机械臂小车来回移动以实现远程控制机械臂的目的。机械臂和小车平台的控制系统主要是用stm32核心板来控制,用来控制电机,舵机运行,以及PID的调节[2]。其次是arm9处理器,主要是用来处理信息指令,当手机app通过网络将语音指令发送给arm9处理器后,处理器便进行语音识别,并翻译成第二级指令,然后发送给stm32,stm32收到指令后翻译成机器指令,进而控制机械臂以及小车的动作。再者,当远距离通信时,我们需要时刻关注小车状态,这时就需要通过传感器将小车状态以及周围环境实时传输给控制者,这是就需要arm9处理器来处理并传输这些信息 。
2.2 研究内容
2.2.1 小车平台PID调节、六方向舵机械手臂控制算法[3]
小车平台是所有硬件搭建的基础,因此对于小车平台的调节使其精确的到达某一地点便很有必要,所以在控制小车平台时我们就需要其有自动调节能力,目前最简单且方便的自动控制算法便是PID。
所谓PID调节,其实就是一个闭环自主控制调节[2],其目的是通过算法及程序控制使得小车工作在设计者设计初衷状态下,我们知道,如果小车在一般情况下工作,电机的参数会不同,电源之间也会有差异,工作环境也不是理想环境,所以,随着时间的推移,小车行走路径就会有改变,如此便达不到我们的目的,因此使用PID调节非常有必要,根据电机编码盘传输回来的参数与设定值比较,然后通过比例,积分,微分使得参数值维持与设定值相同,然后再把此参数值输入到電机中,这样我们就可以精确控制小车平台的走向,进而达到预定目的地。
目前PID控制方式一般有两种:模拟PID控制和数字PID控制[3],由于我们是使用芯片来控制的,属于数字信号,所以使用的是数字PID控制,其中数字PID控制又包含位置式、增量式算法、积分分离算法、梯形积分算法、模糊算法等,选好一种合适的算法后还要考虑参数的整定。控制器参数整定:指决定调节器的比例系数、积分时间Ti、微分时间Td和采样周期Ts的具体数值,其实质是通过改变调节器的参数,使其特性和过程特性相匹配,以改善系统的动静态指标,取得最佳的控制效果。整定调节器参数的方法一般有理论计算整定法和工程整定法,理论计算整定法有对数频率特性法和根轨迹法,工程整定法有凑试法、临界比例法、经验法、衰减曲线法和响应曲线法等,基于我们这个小车平台,移动速度不会太快,硬件本身稳定性比较好,所以我们使用增量式PID算法,而机械臂去抓取某一物体时,由于物体的不同机械臂的调整也会不同,所以这部分我们采用的是模拟算法,而当小车平台去实现到某一个指定地点时,只需要判断方位即可,所以我们采用凑试法来整定参数,机械臂则根据探测器反馈的物体参数利用相应曲线来整定。
舵机是机械臂的主要组成部分,舵机的控制是影响手机械臂性能的重要因素[1],因此,为了精准的操作机械臂,那就需要更好地控制舵机。舵机控制如图2所示,舵机内部一般是由小型直流马达、电子控制板、可调电位器、变速齿轮组等组成。
舵机是用PWM信号进行控制的,利用空占比的变化改变舵机转轴的位置,舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms—2.5ms范围内的角度控制脉冲部分。如何设计这个脉冲信号进而使舵机发生不同的转动呢?在这里,我们用stm32单片机作为舵机的控制单元,其原因有:第一,stm32单片机能够模拟PWM信号,第二,stm32单片机便于与舵机相连接,而且系统稳定,不易受到干扰,它能使PWM信号的脉冲宽度实现微妙级的变化,进而也能提高舵机的转角精度。stm32单片机完成控制算法,再将计算结果转化为PWM信号输出到对应的舵机。其中,stm32单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号;其次是脉冲宽度的调整,即单片机模拟PWM信号的输出,并且调整占空比。但是如果要机械手臂完成到达某一指定位置的动作,则需要以此控制六个舵机,这样一来既浪费时间又会导致控制精度不够。所以为了便于操作者操控,并且体现出其智能一面,我们只需要一条语音指令便能实现操作者目的,这样,当我们的语音指令发送过来后,arm9处理器便分析此语音指令,其目的是将此语音指令翻译成能够控制六个舵机的机器命令,这样当控制者发送过语音指令后便不再参与此过程,整个过程完全由机器完成,由此,如何只通过一条语音指令转换成六个机械臂指令变成了最大的问题,而且整个过程为保证机械臂的稳定性,还需要上述的PID调节,因此,在一条语音指令控制机械臂的过程中,为了使机械臂和小车平台能够自主分析要抵达位置,我们在小车平台上安装了两个超声波模块以及摄像头模块,然后数学公式以及图像处理来分析当前环境,判断此物体以机械臂小车为基准的偏角,高度,经过arm9处理器处理后,将机械臂将要到达的位置信息发送给stm32,从而能够精确的到达目的位置。endprint
2.2.2 无线远程通信的内网间信息通信
远程人机交互主要利用网络来实现,语音指令由手机app接收然后app通过网络将指令发送给小车的arm9处理器;arm9将机械臂周围的环境以及小车状态通过网络返回给操纵者,从而实现数据的交互。其中首先要解决的问题是“两内网间通信问题”,如何让两个处于不同内网的机器通信一直是一个比较难以解决的问题,一般解决的办法有:使用服务器作为中间媒介,先把信息发送到外网服务器中,然后再由服务器转发到另一局域网的机器中,或者通过虚拟局域网间接的把两台不同局域网的主机连接到同一个局域网中,以实现两者之间的通信。但是基于目前通信软件数量极多,所以借用这些通信软件的服务器便是一个不错的选择,我们的解决办法是使用微信的开源软件,将我们自己开发的app模块以插件的方式嵌入到微信中去,再者小车平台搭载有arm9处理器,其可以上安卓操作系统,所以安装一个微信软件也比较容易,以此解决内网间的通信问题。
2.2.3 语音识别
在此项目中我们主要通过控制者的语音信息来操作机械臂小车,但是我们需要远程控制(实现不同网络中进行通信控制),所以以硬件设备来实现语音到控制指令的识别转换并不可取,所以这里我们用自己编写的app插件来进行语音识别转换。事先app先把语音信息识别成文字,然后通过网络把文字信息发送给机械臂小车,机械臂小车接收到文字指令后便转换成机器指令,最终实现语音控制。
3 结语
机械臂的设计给人们带来了极大的方便,帮助人们完成非正常条件下人们几乎无法完成的事情,其应用范围十分广泛,比如:工業制造、医学治疗、娱乐服务、军事上可以排雷,应用于爆破、半导体制造、短距离运输以及太空探索,深海探索方面可以帮助采集样品等,而本设计作品主要是帮助大学生了解机械臂的基本知识,培养其创新意识,提高动手能力,学习控制算法PID以及衍生算法,嵌入式开发,网络以及app编程,语音识别等多项技术。
参考文献
[1]田海波,马宏伟,魏娟.串联机器人机械臂工作空间与结构参数研究[J].农业机械学报,2013,04:196-201.
[2]王琨.提高串联机械臂运动精度的关键技术研究[D].中国科学技术大学,2013.
[3]甘亚辉,戴先中.多机械臂协调控制研究综述[J].控制与决策,2013,03:321-333.endprint