1、第 37 卷第 4 期2023 年 12 月西昌学院学报(自然科学版)Journal of Xichang University(Natural Science Edition)Vol.37,No.4Dec.,2023一款基于STM32单片机的六足巡检机器人设计徐琬婷,梅源,周欣悦(芜湖职业技术学院汽车与航空学院,安徽 芜湖 241006)摘 要:针对传统的巡检机器人运动局限在二维平面,不能从事复杂地形巡检工作的问题,设计了一款舵机控制的六足机器人,并研究了STM32单片机控制六足机器人的方式、舵机控制器的控制调试原理以及六足机器人的结构、硬件搭建和软件控制。为了让六足机器人具备避障、循迹、自
2、动识物的功能,采用了超声波测距技术、蓝牙、WiFi无线传输技术、摄像头控制技术,并完成了相关的实验调试。调试结果表明:六足巡检机器人控制范围为40 m以上,超声波测距精度为3 mm,舵机的控制精度为0.24,可以很好地完成避障、循迹等任务,具有稳定性高、适应性强等优点,在实际应用中取得很好的成效,有着广泛的发展前景。关键词:STM32;六足机器人;巡检中图分类号:TP242 文献标志码:A 文章编号:16731891(2023)04003408Design of a Hexapod Inspection Robot Based on STM32 MicrocontrollerXU Wantin
3、g,MEI Yuan,ZHOU Xinyue(School of Automobile and Aviation,Wuhu Vocational and Technical College,Wuhu,Anhui 241006,China)Abstract:Aiming at the problem that the movement of the traditional inspection robot is limited to the two-dimensional plane and cannot be engaged in complex terrain inspection work
4、,a system that adopts the structure of the hexapod robot controlled by the steering gear is designed,and the way of controlling the hexapod robot by the STM32 single-chip microcomputer,the control and debugging principle of the controller,the structure,hardware construction and software control of t
5、he hexapod robot are studied.In order to enable the hexapod robot to have the functions of obstacle avoidance,tracking,and automatic object identification,ultrasonic ranging technology,Bluetooth,WiFi wireless transmission technology,and camera control technology have been used,and relevant experimen
6、tal debugging has been completed.The debugging results show that the control range for the inspection hexapod robot is more than 40 m,the ultrasonic ranging accuracy is 3mm,and the control accuracy of the steering gear is 0.24.It can well complete tasks such as obstacle avoidance and tracking,and ha
7、s the advantages of high stability and strong adaptability.It has achieved good results in practical application and has broad development prospects.Keywords:STM32;hexapod robot;inspection0 引言近年来,机器人技术的发展越来越成熟,巡检机器人的应用领域也越来越广泛。传统的巡检机器人大多采用轮子或履带结构,虽然运动速度较快,但运动范围局限在二维平面,无法在复杂的地形情况下移动,从而导致在实际的应用中有一定的限制
8、1。为了解决机器人运动局限的问题,本设计采用了六足机器人,它采用每一足三舵机的结构,使得六足机器人的每一足的自由度大幅提升,步态更为丰富,更适应于起伏不平的地形,从而替代人工,完成更多的危险、繁重的任务。本文主要研究了STM32单片机控制原理、红外模块循迹原理、摄像头检测原理以及无线通信原理,设计出来的六足doi:10.16104/j.issn.16731891.2023.04.007收稿日期:2023-08-27基金项目:安徽省高等学校省级质量工程项目“梅源技能大师工作室”(2022jnds062);芜湖职业技术学院校级质量工程项目“徐琬婷技术技能型工作室”(WDS20210901);芜湖职
9、业技术学院校级创新团队“智能家电设计及生产过程数字化创新团队”(wzykytd202202)。作者简介:徐琬婷(1984)女,安徽宣城人,副教授,硕士,主要研究方向:城市轨道交通机电技术,e-mail:。第 4 期徐琬婷,梅源,周欣悦:一款基于STM32单片机的六足巡检机器人设计机器人具有可循迹、避障、检测等功能,经过系统调试,六足机器人可满足关键技术指标,完成巡检任务。1 系统的总体架构1.1 性能要求六足智能巡检机器人采用 STM32单片机为主控制器。通过舵机控制板来控制总线舵机转动,从而实现六足巡检机器人移动功能2。利用两路循迹模块使六足巡检机器人自动按照指定路线运动,WiFi摄像头用于
10、录制视频并同步上传至手机以达到实时巡检的功能。超声波测距模块检测循迹路线的障碍物,实现自主避障功能3。为了更好地实现控制,它还能够与手机和手柄进行无线控制,并通过无线同步模块与计算机进行无线通信4。1.2 系统总体架构六足巡检机器人具有自动循迹、同步视频、无线控制和自动避障等功能。它可针对各种复杂环境,采用不同的步态,使六足机器人能够更好地完成巡检任务。硬件主要包含主控芯片、舵机控制板、总线舵机、威发(wireless fidelity,WiFi)摄像头、循迹模块、超声波模块、无线传输模块等部分组成,系统的总体框图如图1所示。图1中的超声波测距模块检测进路中的障碍物从而实现自主避障;WiFi摄
11、像头对特定区域进行巡视,监控现场环境,将现场视频传输给手机App,进行识物和自动巡检;舵机控制板主要控制18个舵机的运动,六足巡检机器人每足配有3个舵机,可通过不同的控制算法来改变姿态进行控制,从而实现步态变换,适应不同地形;循迹模块利用红外循迹模块检测定线,并进行循迹追踪;蓝牙模块和无线手柄实现了对六足机器人的多种无线控制方式;无线同步模块也解决了六足机器人与计算机之间的通信问题,使系统调试更加便利6。系统启动后,控制器控制系统进行姿态复位,复位后进入自动模式。WiFi摄像头自动开启并将同步视频传输至手机App,循迹模块启动,按照定线开始自动巡检。超声波测距模块通过测距查找障碍物,检测到前方
12、有障碍物时,自动避障。系统设置了计算机控制、手机控制和手柄控制3种控制模式均可以控制六足机器人的高、中、低姿态以及高、中、低速。调试时,可设置为手动控制模式,直接通过串口向单片机发送指令来控制六足机器人的运动。2 系统硬件设计2.1 主控模块六足机器人的主控模块采用了STM32F103C8T6单片机,它是一种嵌入式微控制器的集成电路,集成了256 kb字节的FLASH存储器和高达48 kb字节的 动 态 随 机 存 取 存 储 器(static random access memory,SRAM),既能存储大量用户程序和数据,又能够搭载操作系统。它以ARM为核心的32位微控制器,工作频率最高可
13、达72 MHz,存储器的零等待周期访问时可达1.25 DMIPS/MHz,能很好地满足六足机器人系统的实时性,不仅具有时钟、复位、电源管理及数据备份功能,还具有低功耗模式8。同时还具有看门狗功能,可以有效地增强系统的稳定性。自带3个12位模数转换器和2通道12位AD转换器,8个定时器以及13个通信接口。STM32F103C8T6其通用IO口多达51个,应用在六足机器人上,能很好地满足系统高性能和低功耗的需求9。如图2所示是STM32F103C8T6单片机的原理。下面对单片机的相关引脚进行说明。VDD是+3.3 V电源引脚,VSS接电源负极或者地线。OSC_IN、OSC_OUT是外接晶振引脚,作
14、为单图1系统总体框图35西昌学院学报(自然科学版)第 37 卷片机的外部时钟。通过分频器和倍频器可使系统时钟达到 72 MHz。BOOT0、BOOT1 引脚用于设置BOOT模式,支持主闪存存储器、系统存储器和内置SRAM 模式,通常设置为主闪存存储器模式即可。PA0-PA15、PB0-PB15、PC0-PC15、PD0-PD2为通用IO口,共51个引脚。这些GPIO均可作为通用端口使用,具有8种模式,通过 7个相关寄存器来控制,并且每个IO都能够进行外部中断,同时还具有复用功能。STM32 单片机提供了相当丰富的外设,如串口、定时器、SPI总线等,性能很稳定10。SysTick定时器保证UCO
15、SIII的运行,PA5、PA7控制超声波模块,串口1(PA9,PA10)与WiFi摄像头相连接,串口3(PB10,PB11)与舵机控制板相连接,与蓝牙模块相连接,GPIO可直接与循迹模块相连。2.2 舵机模块本系统采用了ZX361D总线舵机来完成六足巡检机器人的运动控制。各舵机模块采用单总线串口通信方式,16个舵机采用串联的方式进行级联,具有多角度回读、多视角工作和模式自动转换等功能。ZX361D总线舵机控制方式简单,内部装有一个主控芯片,可以实现对PWM信号的实时控制,用户可只需输入一个指令即可自动完成对舵机信号的实时控制。ZX361D总线舵机的接线端口如图3所示。由图3可知,ZX361D有
16、3个引脚。其中引脚1接地,引脚2接电源(供电电压为58.4 V),引脚3接信号线并与STM32单片机进行通信。ZX361D工作时,需要一个20 ms的时基脉冲,时基脉冲高电平范围为0.52.5 ms。以180舵机为例,高电平时间与绝对角度的关系如表1所示。通过使用串口命令调节,ZX361D总线舵机可以自行完成 PWM 的调节来完成角度调节。它的总质量仅为59 g,在供电电压为6 V的情况下,转动速度可达 0.16 s/60,舵机精度为 0.24。通过ZX361D总线舵机的控制,可满足六足机器人的高精度控制11。图2STM32F103C8T6单片机原理图3ZX361D总线舵机的引脚图表1高电平时
17、间与绝对角度关系表高电平时间/ms0.51.01.52.02.5舵机绝对角度/()04590135180舵机36第 4 期徐琬婷,梅源,周欣悦:一款基于STM32单片机的六足巡检机器人设计2.3 摄像头模块六足巡检机器人利用摄像头来完成识别和自动巡检工作。WiFi摄像头模块采用720 P高清摄像头,支持Ardroid和IOS双系统,其分辨率可设置为QVGA、VGA和720 P模式,具有本地连接和远程连接2种模式,能清晰地拍摄图像。内嵌P2P云服务器使得远程访问更方便,视频传输更为快速,有效传输距离可达 50 m。模块采用 ARM926EJ-S 作为CPU,搭载 Linux-2.6.35.5 操
18、作系统,采用 UART 与单片机通讯,初始波特率为115 20012。2.4 避障模块六足巡检机器人采用HC-SR04超声波传感器来完成避障,它尺寸小、价格低、寿命长、使用效率高,检测范围为2450 cm,测量精度可达3 mm,工作时电流为2.2 mA,工作温度为-1090。工作时,测距模块的控制口TRIG发送一个10 s以上的高电平作为触发信号,超声波发射探头开始循环发射8个40 KHz的脉冲,遇到障碍物时,信号将被返回,形成回响信号被接收探头接收,ECHO端输出高电平。发出的高电平与接收的高电平的时间,与机器人距离障碍物的距离成正比。通过单片机的定时器采集时间,将触发信号时间设为0,测量
19、ECHO 端口高电平的时间,利用公式(1)来计算距离:S=T v/2(1)式中:S表示待测距离;T表示ECHO端口高电平时间;v表示声速。测距周期应该高于 60 ms,以防止超声波发射和接收相互干扰13。2.5 循迹模块六足巡检机器人采用TCRT5000红外循迹传感器来完成红外线的检测并实现循迹。模块上的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,红外接收管便处在关断状况,U1A电压比较器的输出高电平,指示灯一直处于熄灭状态,被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,红外接收管处于饱和状态,U1A电压比较器的输出低电平,指示灯被点亮
20、。它的检测反射距离为125 mm,工作电压为3.35 V,其中DO为数字开关量输出,抗干扰能力强,可以通过此功能巡线,AO输出为模拟信号输出(不同距离输出不同的电压),六足巡检机器人可根据此端口的输出,来判断机器人与定线之间的距离。2.6 蓝牙模块六足巡检机器人利用DX-BT18无线通信蓝牙模块来完成手机无线控制。它采用串口与单片机之间通信,通信电平为 3.3 V,通信距离可达 3040 m。内嵌 BT4.2 Dual-Mode 协议线,支持 BT3.0 SPP标准协议和 BT4.2 BLE 协议,无线工作频段为 2.4 GHz ISM band,调制方式是 GFSK。该模块能够与Window
21、s、Linux、Andriod 以及 IOS 系统的设备直接连接,并支持后台程序常驻运行。它外形采用了邮票孔封装,自带LED灯,可通过LED灯的亮灭,直观地判断蓝牙的连接状态。它具备蓝牙2.0高速率透传的优势,并外设专业射频屏蔽罩,可有效屏蔽外界电磁波对内部电路的影响,原理如图4所示。图4DX-BT18蓝牙模块原理37西昌学院学报(自然科学版)第 37 卷3 系统软件设计六足巡检机器人的软件主流程如图5所示.在主函数中,首先对系统进行初始化,初始化后设置六足巡检机器人的控制模式,主要包含4种控制模式,分别是自动控制模式、手机控制模式、手柄控制模式以及计算机串口控制模式。选择好模式后,为操作系统
22、创建任务,操作系统将通过优先级调度算法和轮转调度算法来对这些任务进行合理的调度。最后开启操作系统,发起一次调度,将当前程序计数器(PC)所保存的地址入栈,将优先级最高的任务的地址传给PC,从而结束主函数,开始执行各个任务。当设置为自动模式时,六足巡检机器人将会沿着地面上黑线行走,摄像头将会拍摄视频并同步上传至手机App。如果操作检测到障碍,系统将控制六足巡检机器人避开障碍物。当设置为其他模式可选择利用手机或手柄以及串口控制,通过按键或固定的指令控制六足机器人做出各种运动姿态。3.1 避障程序设计避障任务在 C/OSIII系统中优先级设置为 3,当避障任务进入运行状态时,堆栈弹出避障程序入口地址
23、到PC中。在避障程序中,STM32单片机向超声波测距模块发送一个10 s高电平的触发信号,超声波模块开始发射探测信号,并接收端检测回响信号。当未检测到回响信号时,则再次发送触发信号;当检测到回响信号,则计算出与障碍物的距离。六足机器人通过距离来绕过障碍物,任务执行后,再重新返回到主路线继续行进。避障子程序的流程如图6所示。3.2 数据传输程序设计数据传输任务在 C/OSIII 系统中优先级设置为3,与优先级同为3的避障任务之间采用时间片轮转调度算法进行调度,当数据传输任务进入运行状态时,堆栈弹出数据传输程序入口地址到 PC 中。STM32 单片机接收来自手机蓝牙的数据,并通过USART3将数据
24、发送给舵机控制板,从而控制六足巡检机器人的运动。与此同时,单片机将接收来自舵机控制板的返回数据并用 USART3 打印出该数据。数据传输程序的流程如图7所示。3.3 六足机器人步态设计六足机器人拥有丰富的步态,其中以三角步态最富有标志性。六足机器人6条腿的分别如图8所示,左侧的前、中、后足分别记为 1、2、3脚,右侧的前、中、后足分别记为6、5、4脚。六足机器人的1、3、5脚和2、4、6脚分别构成一组。当六足机器人前进时,可选择一组脚作为支撑相,另一组脚作为摆动相。首先摆动相的腿抬起向前摆动,支撑相的腿支撑六足机器人本体,并通过舵机使机器人身体前移,移动完成后摆动相的腿立即落下,然后交换支撑相
25、与摆动相重复上升过程即可实现六足机器人不断向前运动。图5主程序流程图图6避障子程序流程图38第 4 期徐琬婷,梅源,周欣悦:一款基于STM32单片机的六足巡检机器人设计4 系统调试4.1 手机控制调试六足机器人首先使用手机蓝牙助手向 STM32单片机发送前进运动命令、再由单片机将命令发送给舵机控制板进而控制六足机器人的运动。图9为手机蓝牙助手操作界面,当按下前进按钮时,会向单片机发出$DKT:45,0!命令。该命令包含舵机PWM占空比和动作延迟时间2项数据。舵机动作延迟时间统一设置为500 ms。调试针对不同的地形完成调试,采集数据 101 次,手机平均最远控制距为 46.7 m,巡线、避障、
26、摄像头采集信号功能正常,达到技术指标。4.2 六足机器人手柄调试手柄配置中分有两种模式,分别是绿灯模式和红灯模式。绿灯模式主要控制低速和中姿态动作,红灯模式下主要控制高姿态及翻转动作。等待配对成功后绿灯常亮,此时为绿灯模式,按下 MODE 键可切换为红灯模式。以调试六足机器人左转为例说明调试过程,当六足机器人上电正常运行后,按下“LL”键无线手柄会发送$DKT:49,0!命令至无线手柄接收器,由舵机控制器读取接收器中的命令,再输出与命令相对应的动作组数据来控制舵机左转45角。同理,当按下“RL”键,无线手柄会发送$DKT:48,0!至接收器,将会使六足机器人左转90角,经过测试,手柄控制有效距
27、离可达53 m,避障、循迹功能正常。图10为无线手柄按键配置图。图7数据传输程序流程图图8六足机器人结构简图图9手机蓝牙助手操作39西昌学院学报(自然科学版)第 37 卷配置的各种控制按钮,控制六足机器人的运行,按键及具体功能如下表2所示。4.3 六足机器人计算机串口调试以调试六足机器人右移为例说明调试过程,当六足机器人上电正常运行后,在计算机串口助手中发送字符“RL”加上换行回车即可控制六足机器人完成右移运动。并且串口助手会显示用户所发出的动作和动作所对应的命令。图11为六足机器人右移时,串口通信数据,其中波特率为115 200,所用的串口为COM5,串口通信的数据是8位,停止位为1表示数据
28、传输完毕。图10无线手柄配置图表2手柄控制功能表模式绿灯模式红灯模式手柄符号-功能L1-拒绝,L2-抖腿,LU-低快速前进,LD-低快速后退,LL-低快速左转,LR-低快速右转,SE-低姿态复位,R1-防御,R2-舞蹈动作,RU-中姿态前进,RD-中姿态后退,RL-中姿态左转,RR-中姿态右转,ST-中姿态复位L1-趴下,L2-左平移,LU-高姿态前进,LD-高姿态后退,LL-高姿态左转,LR-高姿态右转,SE-高姿态复位,R1-蜷缩,R2-右平移,RU-翻转前进,RD-翻转后退,RL-翻转左转,RR-翻转右转,ST-翻转复位图11串口助手40第 4 期徐琬婷,梅源,周欣悦:一款基于STM32
29、单片机的六足巡检机器人设计5 结束语本文提出了一种基于 STM32单片机控制的六足巡检机器人的系统,它通过外加红外循迹、超声波模块、摄像头、蓝牙等模块实现了自动巡迹、避障、监控、无线控制等功能。通过调试结果表明,采用舵机为主要驱动器的六足机器人,每一足精度可达到0.24,系统避障精度可达3 mm,可利用手机和手柄遥控完成六足巡检机器人的无线控制,有效控制距离可以达到40 m以上。另外,系统可根据单片机发出的脉宽调制(pulse width modulation,PWM)值完成步姿控制及速度切换,从而可以适用于更多的巡检场合。相比于传统的轮式和履带式机器人,它的速度没有轮式和履带的速度快,但是系
30、统的平衡性和稳定性是最强的,可以根据不同的控制方式完成不同的步态,更适合复杂的路面。从控制的复杂程度来说,六足巡检机器人由于需要18个舵机同时控制调整姿态,所以它的控制算法较为复杂。从耗能上来看,轮式机器人的效率最高,更适应于平坦的地面。而六足机器人由于驱动较多,且需要互相配合,能耗相对较高,效率也相对有限,但具备灵活的移动能力,可以攀爬和越障。六足机器人具备高稳定性、灵活性,机动性,适应于各种复杂地形的巡检,后续将对六足巡检机器人的硬件部分再进行优化,并在控制算法上做进一步的研究,从而提高整个系统的协调性、运行效率及功耗,并将它推广到更多领域,如海洋探索,极端环境下的科学研究,智能运输等。参
31、考文献:1杨蒙蒙,邓三星,李帅,等.基于STM32单片机的双足竞走机器人设计 J.物联网技术,2022,12(5):123-126.2乔栋,姚涛,王玉龙,等.六足机器人步态仿真与实验研究 J.机床与液压,2021,49(19):32-37.3张伟岗,李友子.基于STM32的六足机器人控制系统设计与实现 J.微型电脑应用,2023,39(5):81-83.4李昔学,庹先国,蒋刚,等.基于姿态的六足机器人运动控制方法 J.通信与信息技术,2023(3):11-15+42.5乔雪纯,刘虔钧,董云龙,等.六足机器人应用一种昆虫导航算法的仿真 J.控制工程,2021,28(2):207-213.6尤波,
32、李鲲鹏,李佳钰,等.单腿失效的六足机器人失稳调整与容错步态设计 J.机械工程学报,2021,57(1):100-109.7向尉尔,袁文竣,戴训.基于ANSYS的六足机器人腿部瞬态动力学分析 J.工程机械,2021,52(8):61-67+10.8马鑫,吴银川.六足机器人控制系统设计 J.仪器仪表用户,2023,30(6):14-18.9李俊敏.基于STM32的六足机器人运动控制系统研究 J.河南科技,2019(25):32-34.10 丁杨,张明路,焦鑫,等.关节电机驱动六足机器人仿生结构设计与柔顺运动控制 J.工程设计学报,2023,30(2):154-163.11 陈斯琴,李思瑶,鲁志刚,等.六足机器人关键技术综述 J.机电工程技术,2022,51(11):146-152.12 董星宇,傅汇乔,王鑫鹏,等.基于渐进式神经网络的六足机器人避障策略迁移 J.传感器与微系统,2023,42(2):135-139+144.13 章毅,汪甜,王彬.六足机器人腿部结构优化及控制策略研究 J.九江学院学报(自然科学版),2022,37(3):12-15+36.41