李欣雪,龙小丽,关 健
(广东理工学院,广东 肇庆 526000)
在足类手写机器人发展的早期,科学家们主要研究的是与人类贴近的二足机器人,以及外形类似哺乳类陆生生物的机器人,但是,结果并不理想。由于当时的科技水平还无法模拟出肌肉的控制系统,而二足和四足的生物,运动时都需要比较大的力量作为基础,无法实现力量控制。随后,科学家们才将目光投向了三足机器人,当他们发现,虽然采用三足结构的机器人运动速度并不快,但是通过三角步态,重心能很好地落在三只支撑足组成的三角形中,比起普通的四足机器人,更具有灵活度优势[1]。
在自然界中,陆地上大多数生物的手写都是以足类运动为主,因此,衍生出轮式、履带式机器人,代替人类实现一些大型劳动力的过程,减少了人类各种劳动力的任务[2-3]。但是,随着社会的不断发展,社会经济结构从之前的劳动密集型经济转化为科技为主的创新型经济,大型的轮式、履带式机器人已经无法满足人们的要求。因此,本文设计了仿生足类智能代写机器人。
本论文仿生手写机器人的手写方式主要参考了Vincross人工智能科技公司研发的HEXA机器人中提出的手写三角步态,手写时通常将六只脚分为两组,每组三足呈三角形交替手动手写,以保证重心的稳定[4]。这种步态依靠手部的前后摆动将身躯前移,虽然为了让重心保持在三角形内,导致手部跨度小,手写速度也不快,但是其稳定性却无可置疑。在下列分析中,假定左前、右中、左后为A组足,右前、左中、右后为B组足。
前进的流程,可分解为两个过程以及三个状态间的转换。假设A组足先动,状态a为初始状态,左三和右三足呈对称形态。状态b为A组足角度较初始状态不变并抬起,B组足组成的重心较初始状态滞后。状态c为B组足角度较初始状态不变并抬起,A组足组成的重心较初始状态滞后。过程x为B组足落地,A组足抬起并恢复初始位置,随后B组足以足尖为支点带动身躯前移。过程y为A组足落地,B组足抬起并恢复初始位置,随后A组以足尖为支点带动身躯前移,前进控制流程图如图1所示。
图1 三角步态控制流程图
而定点转弯的实现如下页图2所示,通过控制落地足相对机身的角度,从而实现方向的改变。定点转弯的流程可分解为三个状态。从左转弯来看,状态a为初始状态,状态b时,B组足抬起,A组足角度改变,状态c则为B组足落地,A组足恢复原始角度。当转弯时,B组足抬起,同时A组足控制方向改变,随后B组足落地,A组足抬起恢复角度后落地,状态从a-b-c-a(d)进行循环。由于转弯的过程实际就是抬脚与落地,因此,过程不进行具体讲述。定点转弯步态图如下页图3所示。
图2 定点转弯流程图
图3 定点转弯步态图
定时器输出PWM波首先要对CCMR1:OC1M[2:0]进行设置,PWM模式1为[110],PWM模式2为[111],并设置TIMx_CR1中的DIR寄存器,DIR=0为向上计数,DIR=1为向下计数。
定时器输出PWM的过程主要是由CNT、ARR、CCRx三个寄存器控制[3]。CNT寄存器的功能为计数,储存当前值。ARR寄存器的功能是自动重装载,计数值达到设定值后会归零重新加载。CCRx寄存器的功能是捕获或比较,这里是为了改变占空比,用到的是比较功能。
向上和向下计数、PWM模式1和模式2的区别:当处于向上计数时,占空比的比较条件CNT的值<CCRx的值,而向下计数时,则条件CNT的值>CCRx的值。在PWM模式1下,条件为真,则输出有效电平;条件为假,输出无效电平。相反,在PWM模式2下,条件为真时,输出无效电平,反之输出有效电平。
因此,可以通过设定ARR的值,当CNT计数值达到ARR的设定值时,ARR就会归零,并自动重新装载,达到控制PWM输出频率的改变。而占空比的控制则通过改变CCRx寄存器的值。当不同的值与CNT的值进行比较,同一周期内输出的有效电平和无效电平的比例也随之改变,意味着占空比也随之改变。
智能代写机器人总体框架如图4所示,以STM32为核心进行协调控制,结合稳压供电模块[5]、蓝牙通信模块[6]、摄像头模块、超声波模块[7]、舵机模块以及其他拓展模块构成。智能代写机器人的手动手写实际上就是舵机角度的改变,而舵机角度的改变是控制信号PWM波占空比的改变。显示在程序里,就是对定时器进行配置,然后根据步态不断地改变定时器输出PWM波的占空比。
图4 智能代写机器人总体框架
通过FIFO摄像头模块,图像传感器传输的数据时序进行过多的控制,只要读取FIFO中的前76 800个像素(QVGA格式)就是所需要的图片。而对于RGB565格式的像素数据,需要用16位的空间来存储。每个PCLK周期只读半个像素,因此需要分别读低8位和高8位的像素数据。都被缓存在了FIFO模块中。因此,读数据时不需要对
蓝牙通讯模块初次使用时,最好先通过USB转TTL模块,将蓝牙模块HC-05与电脑连接,用串口调试软件XCOM查询或配置好HC-05的波特率,配对密码、姓名等。手机蓝牙发送数据后,STM32单片机接收并发送回所接收到的数据,蓝牙通讯测试图如图5所示。加入循环代码后,调整占空比,实现如流水灯的效果,等效于PWM波占空比的改变。手写机器人书写字体实际效果图如图6所示。
图5 蓝牙通讯模块测试图
图6 机器人书写字体实际操作图
本次仿生智能代写机器人设计研究主要利用超声波模块进行测距避障,摄像头进行数据的读取,使用蓝牙对手写机器人进行控制和双向通讯。采用STM32的定时器输出占空比可变的PWM波,以驱动舵机角度的改变,实现了手写机器人以三角步态的方式手动手写。实现代写机器人控制,以及结构上和步态上的仿生,后续设计可搭载一个陀螺仪模块,自适应调整姿态,让机器人看起来更加仿生。