当前时间:
导航菜单
文章正文
仿人型机器人控制系统设计的几个问题
作者:  发布于2014-08-05 15:54    文字:【】【】【
       

1 引言

仿人型机器人由于具有类人的基本外形,在实际的生活中,能够代替人完成很多工作,因此对仿人型机器人的研究具有实用价值,各国都在投入巨大的人力物力进行研发[1]。仿人型机器人具有多自由度的机械结构要求,因此需要对机器人的各个关节通过电机来完成转动动作。这对于电机驱动控制提出了很高的性能要求。本文提出了一种基于STM32单片机的仿人型机器人控制系统方案,可以同时对机器人关节所需的16路舵机进行驱动控制。

2 硬件解决方案

本控制系统的硬件部分共分为5个模块,其硬件系统模块图如图1所示。

图1 硬件系统模块框图

主控制器采用STM32F103xB增强型系列单片机,该系列单片机使用了高性能的ARM CortexTM-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器(128K字节的闪存和20K字节的SRAM),增强型I/O端口[2]。这些性能使得STM32F103系列微控制器非常适合应用于小型仿人型机器人的控制系统。由于仿人型机器人的体型限定,因此我们在设计舵机控制板时采用了STM32F103系列的小型贴片封装型号STM32F103CBT6。以得到体积较小的舵机控制电路板,如图2所示。

图2 舵机控制板实物图

图3 舵机控制示意图

为了实现对多自由度复杂结构的仿人型机器人进行动作控制,需要较多控制路数的舵机控制板。由于舵机的角度控制是采用PWM波形输出,当单片机IO口的输出脉冲宽度变化时,舵机舵盘角度发生改变,如图3所示[3],因此在舵机控制板电路设计中,充分利用了STM32单片机的IO口数量多且具有PWM输出的技术优势[4]。共设计了16路舵机控制口,可以保证16个机器人关节同时动作。舵机驱动IO接口分布在PCB板的两侧,便于插拔。

在舵机的控制中,有一个容易出现的问题就是舵机抖舵问题。这种问题一般发生在采用普通电池做为机器人系统的主电源的情况下,如采用多节AA型镍镉或镍氢电池串联组成机器人供电主电源。原因是这些电池由于容量和放电能力的局限,无法在其额定电压下提供长时间稳定持续的大电流。在仿人型机器人的多路舵机同时工作时,采用普通电源输出的电压会迅速降低,从而导致舵机的供电不足,最终出现舵盘异常抖动,造成机器人在执行动作时的抖舵现象。

图4 控制信号5V供电电源原理图

图5 6V舵机驱动电源原理图

因此我们设计的仿人型机器人控制电路中采用了型号为格氏25C放电倍率,容量为2200mAh,额定电压为11.1V的锂聚合物航模电池作为主电源。分为5V控制信号电源和6V舵机驱动电源,如图4所示。为了保证多路舵机同时工作时所需要的大电流,利用锂聚合物电池具有很强的持续放电能力,选用了型号为120W 12A大功率降压模块[5],将机器人的供电电源稳压在+6V,放电电流峰值为12A,如图5所示。利用光电耦合器隔离单片机IO口控制信号和舵机驱动信号,提高控制信号的抗干扰能力。舵机的IO口电路设计原理图如图6所示。这样解决了多路舵机由于同时工作时,电源电源被拉低引起的舵盘异常抖动问题。

图6 舵机IO口电路原理图

舵机控制板在初始上电时,所有IO口会同时通入无序的PWM信号,造成瞬间出现巨大的电流消耗。经实验测得舵机控制板上电时,单个IO口的峰值电流可以达到1.5A以上。因此在16个舵机同时初始上电通入PWM信号时,其总电流将达到24A以上,这就大大超出了大容量直流降压模块的极限供电电流,导致电源电路进入过流保护,整个舵机控制电路将无法进入正常的工作状态。为了解决这个问题,我们在STM32单片机上电初始化时,首先只让IO口1和2输出PWM信号,然后同时再让IO口3和4输出初始化PWM信号,以此顺序最后让IO口15和16输出PWM信号。这样就保证IO口初始化时,最多只有两路PWM信号同时通入。在机器人正常动作时,同时动作的舵机数量不超过6个,即6个IO同时输出的峰值电流为9A,低于大功率降压模块的最大输出电流12A,因此整个电路在工作期间的极限电流均小于12A。最终达到了舵机控制板稳定工作的硬件要求。

3 软件部分的设计

仿人型机器人控制系统的软件分为两种模式:调试模式和正常模式。

上一篇:台达机器视觉DMV在机械手自动拾放系统中的应用 下一篇:科瑞传感器在现代物流行业的应用

苏州瑞帕电子科技有限公司:www.isch.com.cn

脚注信息
版权所有 Copyright(C)2002-2018 苏州瑞帕电子科技有限公司