基于STM32F4 的十二自由度仿生四足机器人
2023-09-27石志诚张启龙李光明罗龙陈凤吴再华姜宗生邰玉彪金光桃胡韩
石志诚,张启龙,李光明,罗龙,陈凤,吴再华,姜宗生,邰玉彪,金光桃,胡韩
(六盘水师范学院 物理与电气工程学院,贵州六盘水,553000)
0 引言
在“工业 4.0”以及《中国制造 2025》浪潮的推动下,人们对仿生四足机器人的研究越来越重视,并且仿生四足机器人朝着更加智慧化方向迈进,可以帮助人们在复杂的环境中更好地执行任务,如家用、救援、智能巡检等。本文主要针对一个十二自由度的仿生四足机器人进行研究,利用运动学逆解和STM32F4 相结合,通过手机APP 控制实现各种基础步态和仿生动作[1]。
1 硬件设计
(1)硬件设计总述:系统共分为主控模块、供电模块、图像传输模块、舵机驱动模块和WiFi 模块。以STM32F4模块为主控模块,通过与其他模块相配合,让其实现基础步态和各种仿生动作,系统总模块框图如图1 所示。
图1 系统总模块框图
(2)主控模块。以STM32F411 模块作为主控制,利用运动学逆解与其相结合,采集和处理我们所在手机APP 发出的指令,控制其他模块做出相对应的动作。STM32F411 模块具有体积小、环保和拓展性强等优点,可以为我们的机器人节约空间和减轻不必要的重量。STM32F4 引脚功能图如图2 所示。
图2 STM32F411 引脚功能图
(3)供电模块。此模块细分为电池模块、低电压报警保护模块和降压模块。电池模块采用的是格氏2S-800mah电池,它具有体积小、续航力久和重量轻等优点;低电压保护模块采用的是BB 响测电器,实时监测电池模块的电压情况,在电池出现电压低的时候,发出鸣叫,让我们及时的给电池充电,保障电池的寿命;减压模块采用的是3A的LM2596 模块,具有大功率、高效率和低纹波等优点,可以将电压调节到5V,给主控模块和其他模块提供所需的电压。通过这几个模块的配合,可以让供电模块更好地为仿生四足机器人提供充足的电量。LM2596 电路图如图3所示。
图3 LM2596 电路图
(4)图像传输模块。采用的是ESP32CAM 模块,可以将数字图像通过无线网络传输至上位机,可以帮助仿生四足机器人对环境进行实时监测[2]。此模块拥有低功耗双核32位CPU,支持两种视像头模式模块,并且支持内置补光灯,既可以满足高清晰度的图像采集要求,又可以保障流畅视频传输信号的。ESP32CAM 原理图如图4 所示。
图4 ESP32CAM 原理图
(5)舵机驱动模块。由自制的PWM 波驱动模块和MG90S 舵机模块组成,自制的PWM 波驱动板共有68 个排针接口,可以将MG90S 舵机的线路与主控模块相牢固连接,可以很好地控制舵机执行相对应的动作[3]。MG90S 舵机具有全金属齿轮、耐用性好和稳定性好等优点,可以控制工作电压不同输出不同的扭矩,且其控制信号是以20ms 周期的脉冲宽度调制(PWM)信号,呈线性变化。MG90S 舵机180 度对应控制关系如表1 所示。
表1 MG90S舵机180度对应控制关系
(6)WiFi 模块。采用ESP8266-01S 模块,具有价格低、体积小、功耗低、丢包现象不严重和支撑透传等优点,将模块设置为透传模式,ESP8266-01S 模块就是互联网与UART 之间的桥梁,可以接收和处理APP 发出的指令。ESP8266-01S 原理图如图5 所示。
图5 ESP8266-01S 原理图
2 软件设计
(1)软件设计总述。用Keil μVision5作为PC端的开发,给主控芯片编写控制各个模块功能的代码,保障系统正常运行,并能对ESP8266-01S 发出的数据进行处理,让机器人实现基础步态和各种仿生功能。当给机器人供电时,STM32F411模块和ESP8266-01S模块就进行初始化,开始接收上位机的各种指令信号,当上位机对机器人发送指令时,STM32F411 模块和ESP8266-01S 模块就开始处理各种数据,让机器人执行相对应的动作。
(2)WiFi 模块软件设计。通过串口助手等软件,将模块设置为透传模式,ESP8266-01S 模块就是互联网与UART之间的桥梁,可以接收和处理APP 发出的指令,确认指令后,发送数据给STM32F4 模块,让机器人做出相对应的动作[4]。WiFi 指令接收流程图如图6 所示。
图6 WiFi 指令接收流程图
(3)APP软件设计。借助APP Inventor 进行APP 搭建,APP 的功能可以自由设计,搭建出想要的框架模块按键,更好地控制机器人[5]。APP 开发设计流程图如图7 所示。
图7 APP 开发设计流程图
(4)模型搭建设计。用CAD软件搭建机器人的3D模型,用UItimaker Cura 软件对各个部位模型进行切片设置好各个参数,然后3D 打印机将模型打印出来,并使用72 颗螺丝进行固定模型。机器人模型如图8 所示。
图8 机器人模型图
(5)图像传输模块软件设计。用Arduino 给ESP32CAM 模块编写相对应的代码,让其实现无线图像传输,上传至上位机,可以实时监测周边环境,丰富机器人的功能。
3 系统实现
十二自由度仿生四足机器人由主控模块、供电模块、图像传输模块、舵机驱动模块和WiFi 模块组成。通 过STM32F411 模块与运动学逆解相结合,驱动自制的PWM 驱动模块,驱动拥有金属齿轮的MG90S 舵机,让其做出相对应的各种动作;通过自己开发的APP 发送固定的指令键值信息,通过ESP8266-01S 模块传输指令,机器人匹配相应动作,实现通过WiFi 遥控控制基础步态、仿生功能;增加ESP32CAM 图像传输系统,将数字图像通过无线网络传输至上位机,实现实时观测;供电采用格氏电池配合LM2596 降压模块为系统供电,为防止锂电池过度放电,加入低电压报警保护电路。总的来说,利用软硬件相结合,制作一个十二自由度仿生四足机器人(实物图如图9 所示),通过APP 软件连接WiFi 控制各种功能,实现功能有十六个:
图9 十二自由度仿生四足机器人实物图
(1)基本步态:前进、后退、左转、右转、左移、右移等;
(2)仿生动作:跳步、伸懒腰、俯卧撑、虎视、坐下、跪下、跳舞、趴下、抱头等;
(3)监测功能:可以利用视像头对环境进行实时监测功能。
4 结束语
本文对基于STM32F4 的十二自由度的四足机器人进行设计,采用3D 打印技术制作模型,利用软硬件相结合,对四足动物进行仿生,让其实现前进、后退、左转、右转、自转等基本的运动,以及可做俯卧撑、伸懒腰等仿生动作。四足仿生机器人是智能机器人发展的重要方向,是解决当前工业、生活等领域关键问题的技术枢纽,具有极其重要的研究价值和广阔的发展前景[6]。此机器人具有较强的扩展性,为了让机器人的功能更加的完善和更好的适应更多的环境,未来展望有以下几点:
(1)优化模型及增加其他模块,使功能更完善:
a.未来还可以实现四足机器人跳跃自稳可抗压等功能的运动期望;
b.可加入GPS 定位等模块能实时对机械狗进行定位,方便我们更好的控制四足机器人;
c.加入LD3320 语音模块和语音播报模块,方便我们进行语音控制,实现人机交互能力,能够提供陪伴+服务。例如机器狗可以替代导盲犬,帮助盲人乘坐地铁、公交、行走,在城市的复杂地形中移动,并产生智能交互,成为一个很好的聊天伴侣。
(2)提高该机器人适应能力,让机器人适应更多的环境,能更好地为人类服务。
(3)使成本更加地低廉。