APP下载

基于Arduino平台的六足仿生机器人控制系统设计

2018-01-25王康南王利霞

物联网技术 2018年1期
关键词:仿生控制系统

王康南 王利霞

摘 要:文中基于仿生学原理,设计了一种以六足昆虫为原型的六足机器人控制系统,该系统可控制机器人实现多种仿生动作。系统采用主从设计结构,以Arduino开源平台为主机控制核心,以STM32F103为从机控制核心,通过LDX-218数字舵机来驱动运动关节,在系统软件的控制下实现了蜘蛛和普通螃蟹两种行走模式,具有完成多种仿生运动动作以及自主超声波避障,红外桌面防跌等功能。实验结果表明,该六足仿生机器人运动平稳,适应能力强,具有很高的实用价值。

关键词:Arduino平台;仿生;六足机器人;控制系统

中图分类号:TP242 文献标识码:A 文章编号:2095-1302(2018)01-00-04

0 引 言

在人们对生活的不断认识和探索过程中,对机器人的需求逐渐增多。其中六足仿生机器人凭借其自身的灵活性、可靠性、稳定性、自主性特点以及对多种复杂地形的适应能力,逐渐成为国内外机器人研究的热点[1-3]。因而设计研究具有卓越足式移动能力的六足仿生机器人,对于多足机器人技术的相关研究和应用具有重要意义[4,5]。

鉴于上述背景,本文根据六足纲昆虫的外形结构与运动特性,基于仿生学原理,设计了一种基于Arduino平台的六足仿生机器人控制系统。根据六足仿生机器人控制功能需求,制定了相应的总体设计方案。采用主从设计结构的控制系统硬件电路以及系统软件,搭建了一种基于Arduino平台的六足仿生机器人,并通过样机实验验证了设计的正确性。

1 控制系统总体设计方案

1.1 总体设计方案

根据六足机器人控制系统的设计要求,选用ATmega32u4芯片作为主机的主控芯片,选用STM32F103RBT6作为从机舵机控制板的控制芯片,选用Arduino Leonardo作为二次开发平台,添加PS2手柄遥控模块、超声波模块、红外避障模块和OLED显示屏模块,共同完成六足机器人控制系统的搭建。控制系统的整体设计方案如图1所示。

1.2 主要部件的设计

1.2.1 驱动元件

为满足六足机器人驱动系统的控制要求,考虑到机器人的经济性,易操作性及学习的广泛应用性等,本设计采用舵机驱动控制方案。

舵机是由变速齿轮组、小型直流电机、可调电位器和控制电路组成的一套自动控制系统,舵机通过电源线及信号线与外界连接,在使用过程中可通过对信号线发送指定信号来指定舵机输出轴的旋转角度和速度,常作为机器人和航模的驱动部件。因本设计需要不断控制机器人各关节运行固定的角度来模拟六足机器人的仿生动作,因此选用LDX-218数字舵机作为该设计的驱动元件。它作为机器人专用的伺服电机,不但扭力大,精度高,且采用舵机插拔线控制,便于插拔和舵机延长线的选型及更换,适合多自由度机器人的搭建。舵机实物如图2所示。

控制方式:舵机输出轴的角度根据时基脉冲来控制,在0.5~2.5 ms的脈冲控制下,舵机转动相应的角度。以180°的舵机为例 (本设计选用180°舵机),所对应的控制关系见表1所列。

1.2.2 腿部设计

文中设计的六足机器人的腿部关节采用昆虫式三自由度关节腿机构,每个腿部关节均由舵机驱动,关节与关节之间的连接构件采用简单、轻便且坚韧的玻纤代替,在降低机器人重量的同时增加了六足机器人的灵活度。通过舵机控制板驱动相应关节的舵机运动使六足机器人完成腿部运动,确保六足机器人能够在复杂路况上完成相应的仿生动作。系统从结构上保证了该六足机器人可有效模拟六脚昆虫的行走方式,并可在多种复杂环境状况下完成指定动作。

1.2.3 材料选择

基于对自身重量和电源损耗等因素的考虑,选用碳纤维作为主要肢体材料。碳纤维是一种含碳量高达95%以上且具有高强度、高模量纤维的新型纤维材料。其质量比金属铝轻,但强度却高于钢铁,并具有耐腐蚀、高模量的特性。这款材料不仅具有碳材料的固有本征特性,同时还兼备纺织纤维的柔软可加工性,方便在实验室对其加工。

2 关键硬件电路设计

2.1 主机--Arduino Leonardo控制板

考虑到Arduino开源和易于二次开发的特点,选用将ATmega32u4作为主控芯片的Arduino Leonardo作为主机控制板。

该控制板可直接使用ATmega32u4的USB通信功能,在调试时通过USB连接电脑和Leonardo进行程序编写;在运行六足机器人时采用外接电源供电方式控制六足机器人的运动。主从机采用串口通信,将舵机控制板的RX接Arduino的TX,舵机控制板的TX接Arduino的RX,并将两个板子共地 (舵机控制板的GND连接Arduino的GND)。

2.2 从机舵机控制板

2.2.1 电源及USB电路

舵机控制板采用USB供电方式,以FT232RL作为接口转换芯片。采用USB供电模式的优点在于仅需一根USB线就可使用该舵机控制板,包括下载、供电、调试等。所设计的从机电源及USB外围电路如图3所示。

2.2.2 从机主控电路

鉴于六足机器人的自由度较多,且每个关节均需采用舵机驱动,故应对多个舵机进行控制。本设计采用STM32F103RBT6作为舵机控制板的控制芯片。

STM32F103RBT6丰富的Flash资源和SRAM,以及串口、USB、IO引脚等已完全满足其作为舵机控制板来存储动作信息并接收主机指令,完成指定动作的需求,且价格较低,是从机舵机控制板主芯片的较好选择。

基于STM32F103RBT6的舵机控制板CPU部分的从机主控电路如图4所示。

2.2.3 E2PROM电路

六足机器人的运动调试需要存储指定的动作组。为了存储足够多的动作,本设计选用容量为256 KB的AT24C256 E2PROM芯片。

基于该芯片设计的从机E2PROM电路如图5所示。

2.2.4 主要接口电路

六足机器人共有18个自由度,那么STM32F103RBT6需提供18个I/O口给舵机以进行控制,为了便于后期进行二次开发,应多预留一些舵机控制I/O口。为了实现主机与从机的通讯,留置RX、TX接口便于后期实现主从机连接。

接口电路如图6所示。设计完成的舵机控制板如图7所示。

2.3 主要传感器模块

在本设计中分别采用红外遥控模块、超声波测距模块、红外避障模块等实现六足机器人的遥控操作,使六足机器人具有自主避障和防跌落功能。

2.3.1 红外遥控接收模块

选用VS1838B作为红外遥控接收模块,该模块可在2.7~5.5 V電压下正常工作。同时该模块采用低功耗设计,能够在宽角度及长距离条件下正常接收遥控信号。

2.3.2 超声波测距模块

系统选用HC-SR04超声波测距模块,其传输距离范围较宽,且测距精度较高,已广泛应用于机器人测距避障领域。该模块含有超声控制电路、发射器以及接收器。

2.3.3 红外防跌落模块

红外防跌落模块的检测距离可通过模块上方的小电位器旋钮调节,有效距离范围为2~30 cm。该模块具有干扰小、检测灵敏、便于装配等优点。将该模块安装于六足机器人的足部来探测桌面边缘,实现防跌落功能。

2.3.4 显示模块

采用OLED显示模块显示电源、行走距离以及障碍物距离等信息。OLED具有对比度高、厚度薄、视角广、反应速度快等优点。该模块具有多种接口方式,如并行接口,SPI串行接口及I2C串行接口。本设计采用I2C串行接口模式。主要传感器模块的连接如图8所示。

3 控制系统软件设计

文中所搭建的六足仿生机器人在上电开机后进行初始化设置,将各腿部关节的舵机位置、超声波云台小舵机位置以及OLED显示屏信息复位,之后运行三角步态行走程序。在行走过程中通过超声、红外等传感器获取相关信息,送给Arduino主机接收处理,协调从机完成步态行走的调整控制。下文重点介绍六足仿生机器人在行走避障和桌面防跌落实验的软件设计:

(1)在行走避障实验中,为防止在障碍物检测过程中将检测到的腿部机构误认为是障碍物而执行避障程序进行转弯的问题,六足仿生机器人采用高姿态前进模式。在前进过程中,模块会自动读取机身与障碍物之间的距离,并做出相应反馈控制,从而完成机器人的自动避障,具体流程如下:

①若超声波检测的障碍物距离大于35 cm,则继续保持前进动作;

②若超声波检测的障碍物距离等于35 cm,则左右摇头,寻找没有障碍物或距离障碍物较远的方向,通过对两个方向的检测来驱动机身左转或右转;

③若障碍物突然出现,即超声波检测的障碍物距离小于35 cm,则执行后退动作,后退至35 cm处再执行步骤②。

行走避障软件设计流程如图9所示。

(2)在桌面防跌落实验中,运行程序前先调整红外避障模块的避障距离,开机初始化后运行低姿态前进动作,在行进过程中利用安装于足部的红外避障模块检测反馈是否能感应到桌面信息。具体流程如下:

①若避障模块仍能感应到桌面信息,则继续前进;

②若避障模块检测不到桌面信息,则执行左转或右转动作以防止跌落;

③若左前腿检测不到桌面信息,则执行右转动作;若右前足检测不到桌面信息,则执行左转程序以防止跌落。

桌面防跌落软件设计流程如图10所示。

4 调试与实验

在上述工作的基础上完成的六足机器人样机如图11所示。在机器人躯干上预留传感器的安装孔和布线孔,便于控制主板、电池、PS2接收机、超声波云台舵机、红外传感器等各传感模块的安装及布线。在安装机器人腿部关节时,需调整舵机处于中位以保证机器人前后足不会发生碰撞,并调整机器人各舵机的偏差,减少机器人舵机安装时的误差,以保证后期机器人调试顺利进行。

所设计实现的六足仿生机器人可实现12种仿生动作,3种仿生姿态,5种可调节速度。该仿生机器人既能够通过PS2手柄和红外控制其在多种复杂环境下完成必要的动作,实现所需功能,又能自主脱机运行仿生避障、桌面防跌等附加功能。

5 结 语

本设计给出了一种六足仿生机器人的控制系统设计方案,搭建完成了六足仿生机器人样机。该机器人可以很好地模仿并拓展六足昆虫的运动方式,较轮式或履带式机器人而言适应性更强。在此基础上通过增加部分传感器或设备,拓展机器人的其他实用功能。本设计内容可为今后进一步研究六足机器人的应用工作提供参考与借鉴。

参考文献

[1]徐小云,颜国正,丁国清,等.六足移动式微型仿生机器人的研究[J].机器人, 2002, 24(5): 427-431.

[2]朱国杰,田文凯,吕承哲,等.六足仿生机器人机构与控制系统设计[J].测控技术, 2017, 36(1): 55-58.

[3]李满宏,张明路,张建华,等.六足机器人关键技术综述[J].机械设计, 2015(10): 1-8.

[4]韩宝玲,刘广新,罗庆生,等.基于AVR和STM32的六足仿生机器人控制系统[J].计算机系统应用,2016, 25(6): 59-63.

[5]孙培.六足仿生机器人控制系统研究[D].南京:南京林业大学,2010.

[6]谢杰腾,颜晓文.基于Android手机语音和Arduino控制板的机器人控制系统[J].物联网技术,2015,5(3):101-102.

[7]李嘉秀.基于Arduino平台的足球机器人在RCJ中的应用[J].物联网技术,2015,5(3):97-100.

[8]王贺,王凤娇,于兰浩,等.基于Arduino的六足仿生机器人的设计与研究[J].南方农机,2017,48(16):33.

猜你喜欢

仿生控制系统
蜗居——休闲沙发设计
基于PLC的自动切蛋糕机的控制方案