- 文献综述(或调研报告):
六足机器人系统设计
林德龙[1]将控制系统设计为上层的步态算法平台和下层的十六路舵机驱动平台,分别用以接受传感器信号和控制舵机。在底层驱动选择了使用十六位定时器分时产生十六次定时中断,利用中断子程序产生位移脉冲,以输出十六路PWM输出来控制舵机。根据拥有大量数据储存能力,实时处理传感器数据能力,良好扩展性以及兼容性的要求,在上层平台使用了ATmega16作为控制核心。
韩宝玲[2]等人基于Arduino平台,以ATmega328P为主控芯片,STM32F103C8T6为从机控制芯片设计出一个六足机器人控制系统。主控芯片优势在于编码简单,代码开源,便于学习与开发;从机芯片负责读取传感器数据以及输出控制舵机的PWM信号,具有底层控制代码,运行高效;芯片间通过模拟串口通信。同时通过使用姿态传感器MPU6050调整六足机器人躯干姿态,使用超声波模块实现避障功能。
姚强,王亚刚[3]使用了单片机STC15F2K60S2实现输出多路PWM信号以控制舵机的功能。此单片机解决了输出多路PWM波和PWM波高精度相冲突的矛盾。采用分时复用的思路,同时缩短中断服务时间,使得PWM波精度达到0.5us.而李强[4],周英路[5]则使用了PCA9685芯片来控制PWM输出。此芯片采用I2C通信,可同时输出十六路PWM波,分辨率为十二位。通过使用此芯片,可以平衡硬件电路和软件编程复杂度;使用单片机加一片PCA9685即可实现十六路舵机独立控制。
王伟奇[6]等人使用STM32F429作为主控芯片,ATmega328为从控芯片设计出了六足机器人控制系统,使用语音模块进行指令控制。主板与ATmega328芯片之间通过串口传输数据,向从板的舵机控制板发送指令以控制十八个舵机。将超声波传感器、陀螺仪超声波传感器、图像传感器全部接入到STM32F429芯片作数据存储以及处理,ATmega328只负责舵机控制。
蔡胜宇[7]和董尧嘉[8]也设计出基于STM32单片机的六足机器人系统,前者使用的芯片型号是STM32F103,特点是低成本,低功耗,同时所具有的性能足已保证六足机器人的数据处理;后者则采用了蓝牙模块在android端进行机器人控制,通过在手机与蓝牙模块之间返回字符串指令的方式来完成信息交互。
徐维超[9]使用STM32控制器、RS485总线及传感器搭建了硬件平台,通过分析控制对象的正逆运动学,将控制系统层次划分,确定运算量、数据带宽、实时性要求而完成控制系统的方案设计,系统具有较高实时性、可靠性。其采用了现有开发板,搭载了STM32F407芯片。
六足机器人结构设计
