您当前的位置:五五电子网电子知识电子知识资料机器人-智能车自平衡人形机器人动作控制器的设计 正文
自平衡人形机器人动作控制器的设计

自平衡人形机器人动作控制器的设计

点击数:7228 次   录入时间:03-04 12:01:16   整理:http://www.55dianzi.com   机器人-智能车

自平衡人形机器人的多关节协调控制一直是机器人学研究的难点和热点,目前采用的最多的是在大的反馈控制环路中对机器人进行关节空间的控制,这种控制方式结构紧凑,实时性强,但在以控制器为核心的辐射式控制链路上,所有信息的交换都集中在机器人主控制器上,当机器人处于复杂的环境中时,可能会有过多的信息需要处理,这种复杂程度往往是不可预知的,因此机器人的稳定性也不能保证。
    机器人主控制器是机器人的核心处理器,是提高人形机器人的信息处理能力的主要部件。其主要任务是控制机器人在空间的运动位置、姿态、轨迹、操作顺序和操作时间,因此必须保证主控制器能够为解决复杂信息处理而稳定可靠地工作。机器人动作控制器是为解决机器人动作控制而设计的,它将主处理器发出任务处理命令分配到3个16位超低功耗单片机(MSP430F149)上去执行,实现多层次的控制管理。该人形机器人具有多关节,多自由度,自平衡的控制需求,需要动作控制器在机器人系统控制中起到关键性的作用。

1 动作控制器的设计
1.1 体系结构
   
自平衡人形机器人需要获取不可预知的环境信息以及自身姿态信息进行综合运算并及时进行自身姿态的调整。机器人的这种行为特点决定了机器人的整体控制结构要采用反馈控制。如图1所示,描述了这种反馈控制结构的硬件实现。
    同时,在图1中可见从机器人主控制器到执行元件(舵机)之间,有一层动作控制器的结构。这一层结构的任务是实现控制命令到舵机控制信号之间的功能转换,这种体系结构的设计,就是借鉴计算机系统结构中的分层结构体系思想。采用这种分层的结构,实现了软件和硬件、命令和动作的相对隔离。其突出的优点体现在能够使主控制器专注于数据的处理,而对下行设备只负责发送指令,对于硬件的复杂的操作时序,由动作控制器负责产生。


1.2 实现过程
1.2.1 硬件实现

    为满足机器人整体控制体系结构中指令到执行的层次性要求,动作控制器需要完成命令解析,信号驱动等任务。如图2描述了动作控制器内部的结构,其主要由串行总线、3个可并行工作的16位单片机、信号驱动部分构成。这种结构能够从总线接收命令,单片机进行指令解析并输出控制电信号,外部电路对控制信号驱动放大,从而分别实现对执行舵机的控制。图3为动作控制器中一个单片机工作模块的硬件原理图。



www.55dianzi.com


    动作控制器主要由3个MSP430F149并行工作,每个MSP430F149控制8个舵机,总共实现对24个舵机的控制。每个MSP430F149有定时器TA和定时器TB两个模块,其中定时器TA通过比较模式输出2路PWM波控制2个舵机,定时器TB通过比较模式输出6路PWM波控制6个舵机。而且定时器工作在比较模式下时,能在一次设置完成后,不需要CPU干预的情况下持续进行PWM输出,同时保证各路信号之间没有干扰,因此一路比较输出即可独立控制一个舵机,动作控制器可实现对多达24个舵机的控制,对多关节人形机器人提供足够的控制通道。
    采用比较输出PWM波形的方法相比较采用中断方式的控制方法,具有简单,输出PWM波形稳定,整个控制系统的鲁棒性高等特点。该课题也曾采用过中断控制方式,但用示波器观察输出的PWM波形,波形极不稳定。而且中断嵌套过多之后,单片机程序很容易跑飞,完全不能满足控制系统的稳定性要求。而采用文中所述动作控制器的设计方法后,比较输出的PWM波波形稳定,而且单片机也没出现死机或跑飞的现象。
    MSP430F149输出为3.3 V TTL电平,而舵机控制信号要5 V TTL电平,在实际电路设计中要进行电平转换。考虑到舵机的控制信号对功率没有要求,必要加专用驱动芯片,而采用CMOS工艺的CD4081四2输入与门进行电平转换,利用其门电路输入电压门限宽的特点即可解决电平转换的问题。
    舵机动态工作时,需要脉冲式的电流,通过普通的电源供电,实验表明:由于舵机瞬时供电不足,致使舵机力矩不够,运动不能达到预先的姿态效果,在反复探索后,决定采用电容的快速放电特性来提供瞬时大电流,由于舵机数量大,设计时在舵机电源处并接大容量电容,总容量0.22F×6。正常小电流工作时,电容被充电处于饱和,当需要瞬时大电流时,电容能快速放电,从而保证舵机正常稳定的工作。
    3个MSP430F149分别控制部分关节上的舵机,这要求3个MSP430F149充分协调一致的工作。因此采用总线通信方式,将3个MSP430F149挂接到串行通信总线上,并留出总线接口,以接收主控制器的命令。
1.2.2 软件实现
   
动作控制器的软件设计,是以硬件为基础,接收主控制器的命令,对命令进行解析,并控制产生具体的PWM波形对舵机进行动作控制。图4描述了动作控制器中软件的实现流程。



www.55dianzi.com
    机器人的动作方式,方向,幅度等全部是由主控制器通过对外部信息的获取而产生的输出,这种输出是基于命令格式的,而机器人最终的一切行为都是一系列舵机的配合运转,从命令到执行,这其中就是动作控制器起到了关键作用。
    基于上述要求,动作控制器的首要任务就是接收命令。虽然在硬件上采用了多机通信的模式,但并不采用传统的通信协议(每个从机都具有一个独立的地址),而是对动作控制器上的3个MSP430F149定义完全相同的地址,这样就会使其接收到完全相同的命令。这样进行设计,原因在于要保证舵机响应的同时性,即是机器人动作的协调性提出的要求。如表1示例了主控制器与动作控制器的命令传输格式。来自主控制器的命令是一个数组序列,动作控制器上的每个MSP430F149都能完全接收到全部序列,而每个MSP430F149根据预先定义只使用这个序列中特定的子序列,这个子序列就是对应于这个MSP430F149所控制的舵机的命令,这样就可以保证同时性。


    动作控制器的最终目的是产生PWM波,而这是通过写MSP430F149片内TA、TB模块的寄存器实现的。在解析函数进行一系列的解析运算后,产生出各舵机所需的PWM波形的脉冲宽度值,将这些值写入到相应的寄存器中,就可以产生需要的PWM波。

2 实验及结论
   
根据文中提出的动作控制器的设计思想与方法,制作出机器人动作控制器。按照设计的基本思想对动作控制器进行测试,测试中采用一个MSP430F425作为机器人主控制器,下行控制一个十二个关节的简易人形机器人。在MSP430F425中规划好机器人的步态,同时根据规划好的步态参数发送舵机动作命令。
    实验中,首先实测舵机的精度,通过向特定定时器通道预装不同值,测量舵机响应角度,并以此数据拟合出舵机响应角度方程。实验中由于采用的MSP430F425资源有限,方程仅进行了线性拟合。
    表2为测试机器人上一处关节的舵机测定数据,根据此数据拟合出以下方程:


    舵机实际角度α=(X-3 000)/20+75.5运用拟合出的方程进行命令到舵机角度的解析,得到表3所示数据


    从表中数据可以看出,在舵机的性能范围内(舵机的精度为0.5°~1°),控制是精确的。
    同时,在舵机响应的及时性方面,也得到了保证。从主控制器发送命令到舵机响应开始运动共经历了命令传输、命令解析两大时间段。
    命令传输在特定的速率下传输完所有命令数据用时4.5 ms,而命令解析即单片机内程序执行,其用时远小于1 ms。相比较,舵机的机械响应时间在百ms级,因此动作控制器保证了响应的及时性。

[1] [2]  下一页


本文关键字:控制器  平衡  人形机器人  机器人-智能车电子知识资料 - 机器人-智能车

《自平衡人形机器人动作控制器的设计》相关文章>>>