一种行走机器人多电机控制系统转让专利

申请号 : CN200810114507.4

文献号 : CN101295179B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 麦金耿王启宁王龙谢广明楚天广

申请人 : 北京大学

摘要 :

本发明涉及一种行走机器人多电机控制系统,其特征在于包括:一上位机,一由FPGA芯片组成的总控制器,所述总控制器与所述上位机通过通信接口连接,所述总控制器中预设有软件系统,其发出的控制信号输送至步态控制器,由所述步态控制器将换向信号发送至机器人的多个电机,所述总控制器通过内部总线连接PWM计数器,发出脉宽调制信号及地址信号以控制相应的电机的转速,装设在机器人腿部和脚底的传感器检测各电机的角度信号,并将角度信号输送至传感信号处理器,所述传感信号处理器再将所测得的角度信号转化为数字信号输送至所述总控制器中。本发明具有比专用控制芯片更强而且更灵活的控制功能,并可配合上位机CPU完成高级决策控制功能。

权利要求 :

1.一种行走机器人多电机控制系统,其特征在于包括:

一上位机,一由现场可编程逻辑阵列(FPGA)芯片组成的总控制器,所述总控制器与所述上位机通过通信接口连接,所述总控制器中预设有软件系统,其发出的控制信号输送至步态控制器,由所述步态控制器将换向信号发送至机器人的多个电机;所述总控制器通过内部总线连接PWM计数器,所述PWM计数器包括一计数控制单元,一计数器和一通道选择单元,所述总控制器输出的分频后的时钟信号输入所述计数控制单元,由所述计数控制单元输出计数启停信号至所述计数器,并将由所述总控制器发出的地址信号转化为通道号输出至所述通道选择单元,同时所述总控制器通过内部总线将计数值发送至所述计数器,经所述通道选择单元将生成的多路PWM控制信号输送至指定的电机以控制相应的电机的转速;装设在机器人腿部和脚底的传感器检测各电机的角度信号,并将角度信号输送至传感信号处理器,所述传感信号处理器再将所测得的角度信号转化为数字信号输送至所述总控制器中。

2.如权利要求1所述的行走机器人多电机控制系统,其特征在于:所述步态控制器包括状态转移控制器和选择通道单元,由所述总控制器发出的分频后的时钟信号和地址信号输入状态转移控制器。

3.如权利要求2所述的行走机器人多电机控制系统,其特征在于:所述状态转移控制器内存储有抬腿、弯膝、落腿、收脚四种状态,所存储的四种状态包含有各自的状态内容、状态维持条件和状态转移条件。

4.如权利要求1所述的行走机器人多电机控制系统,其特征在于:所述传感信号处理器包括一高速脉冲计数单元,其接收安装在机器人腿部和脚底的传感器发出的角度信号,并转换成数字信号发送至所述总控制器。

说明书 :

技术领域

本发明涉及机器人,特别是指一种行走机器人多电机控制系统。

背景技术

由于机器人能在不消耗人类体力和智力的情况下,帮助人类完成许多任务,甚至能做人类所做不到的事情,所以机器人的研发工作一直是人们研究的重点,以使机器人的性能愈发完善。
一个完整的机器人需拥有动力系统和决策系统,同时必须有相应的运动控制系统。运动控制系统是连接动力系统和决策系统的纽带,接受来自决策系统的指令,并为动力系统的执行机构提供控制信号。
从机器人出现至今,其动力系统经历了从风力水力到蒸汽动力、电机动力、材料动力这几个阶段。其中电机动力是应用最广、也是发展最为成熟的方式。因此现在对机器人的动力系统往往称为机电系统。
目前应用于机器人动力系统的电机有各式各样的类型,可简单地分为交流电机和直流电机,而应用于微小型机器人的则以直流电机为主。直流电机又可分为普通直流电机、步进电机、伺服电机和舵机。伺服电机是含有转角检测反馈装置的直流电机,利用PWM(脉宽调制)控制其转速。舵机是包含角度控制装置的直流电机,利用PWM(脉宽调制)控制转角。这两种电机的价格都相当的昂贵,而普通直流电机和步进电机因为价格低廉,所以使用最为普遍,这两种电机需要外接驱动电路,通常也利用PWM信号调速。也就是说,不管是那种直流电机,最终都是利用脉宽可调的PWM信号来控制。因此目前的机器人运动控制系统都必须能产生脉宽可调的PWM信号。
在传统的电机控制系统中,均是以单片机加专用控制芯片的形式实现。单片机要负责处理传感数据和给专用控制芯片发送控制数据,由于这些过程都需占用CPU来处理,因此单片机用于进行任务决策的资源较少,基本上不能实现复杂的任务规划。专用控制芯片主要是接受单片机的控制指令并产生PWM(脉宽调制)信号,但专用控制芯片是因电机而异,不同类型的电机接口完全不同,而且每种专用控制芯片的价格都很昂贵。使得传统电机控制系统无法承担复杂的任务,而且存在控制系统的通用性极差的缺陷。

发明内容

针对上述问题,本发明的主要目的在于提供一种行走机器人多电机控制系统,其具有比专用控制芯片更强而且更灵活的控制功能,并可配合上位机CPU完成高级决策控制功能。
为达到上述目的,本发明所提供的一种行走机器人多电机控制系统,其特征在于包括:一上位机,一由FPGA芯片组成的总控制器,所述总控制器与所述上位机通过通信接口连接,所述总控制器中预设有软件系统,其发出的控制信号输送至步态控制器,由所述步态控制器将换向信号发送至机器人的多个电机,所述总控制器通过内部总线连接PWM计数器,发出脉宽调制信号及地址信号以控制相应的电机的转速,装设在机器人腿部和脚底的传感器检测各电机的角度信号,并将角度信号输送至传感信号处理器,所述传感信号处理器再将所测得的角度信号转化为数字信号输送至所述总控制器中。
所述总控制器包括分频电路、读写控制单元、数据缓存单元、数据运算单元及地址编码单元;时钟信号输入所述分频电路分为两路时钟信号,其中一路为所述总控制器的读写时钟,另一路则为所述步态控制器、PWM计数器及传感信号处理器的同步时钟,所述读写控制单元将数据输送至所述数据缓存单元,同时将数据通过所述地址编码单元输出地址信号,所述数据缓存单元接收所述读写控制单元输入的数据,同时接收所述传感信号处理器输入的电机角度数据,所述数据缓存单元通过内部数据总线连接上位机、地址编码单元、数据运算单元并向下位机输出数据。
所述步态控制器包括状态转移控制器和通道选择单元,由所述总控制器发出的分频后的时钟信号和地址信号输入状态转移控制器。
所述状态转移控制器内存储有抬腿、弯膝、落腿、收脚四种状态,所存储的四种状态包含有各自的状态内容、状态维持条件和状态转移条件。
所述传感信号处理器包括一计数控制单元,一计数器和一通道选择单元,所述总控制器输出的分频后的时钟信号输入所述计数控制单元,由所述计数控制单元输出计数启停信号至所述计数器,并将由所述总控制器发出的地址信号转化为通道号输出至所述通道选择单元,同时所述总控制器通过内部总线将计数值发送至所述计数器,经所述通道选择单元将生成的多路PWM控制信号输送至指定的电机。
所述PWM计数器包括一高速脉冲计数单元,其接收安装在机器人腿部和脚底的传感器发出的多路角度传感脉冲信号,并转换成数字传感数据发送至所述总控制器。
采用上述技术方案,本发明利用FPGA实现同CPU、电机驱动电路、传感数据采集电路的连接接口,提供比专用控制芯片更强而且更灵活的控制功能,能同时控制四个以上的电机,实时处理多路传感信息,既能单独实现简单的运动控制算法,又能配合上位机CPU完成高级决策控制功能。具有功能强大、价格低廉和灵活性强的特点,使用FPGA具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点。

附图说明

图1是本发明整体设计框图
图2是本发明总控制器电路功能示意图
图3是本发明PWM计数器电路功能示意图
图4是本发明传感器处理器电路功能示意图
图5是本发明步态控制器电路功能示意图
图6本发明FPGA电路示意图
图7是本发明FPGA电路的继电器驱动电路示意图
图8是本发明机器人腿部动作状态过程图

具体实施方式

现举以下实施例并结合附图对本发明的结构及功效进行详细说明。
本发明所提供的行走机器人的多电机控制系统的硬件包括一上位机和FPGA(现场可编程逻辑阵列)电路,软件条件是Maxplus或Quartus II开发环境。其中上位机为一台计算机(图中未示),用于向FPGA发送机器人的速度等指令,FPGA电路则是一种使用广泛的可编程逻辑器件,它可以代替几十甚至几千块通用IC芯片。本发明的各功能模块均使用可编程逻辑电路实现。对可编程逻辑电路来说,可以用CPLD电路也可以用FPGA电路。考虑到系统的功能复杂性,本发明采用FPGA电路。
FPGA是Field Programmable Gates Array(现场可编程逻辑阵列)的简称。FPGA采用逻辑单元阵列LCA(Logic Cell Array逻辑单元阵列)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(InputOutput Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:
1)采用FPGA设计专用集成电路(Application Specific Intergrated Circuits.ASIC),用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的试用样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
FPGA有多种配置模式:并行主模式为一片FPGA加一片配置芯片的方式。主从模式可以支持一片配置芯片编程多片FPGA。串行模式可以采用串行配置芯片编程FPGA。外设模式可以将FPGA作为微处理器的外设,由微处理器(CPU)对其编程。
如图1所示,本发明采用串行模式配置芯片编程FPGA,在FPGA电路内部通过程序实现以下功能单元:总控制器1,PWM计数器2,传感信号处理器3和步态控制器4。
总控制器1通过通信接口与上位机连接,其依据从上位机接收到的速度指令和预设动作程序,做出动作决策,再向步态控制器4发出控制信号,控制各个电机的转动方向以及持续时间,同时总控制器1通过内部总线向PWM(脉宽调制)计数器2发出控制信号,由PWM计数器2发出多路PWM信号来控制各电机的转角及转动速度。装设在机器人腿部和脚底的传感器测得的各电机的角度信号则通过传感信号处理器3读取并输入总控制器1中,以判断机器人目前的状态,和及时调整机器人的步态。当需要和上位机进行数据交换时,由总控制器1控制数据传输的方向。由此实现机器人收集环境传感信息、进行控制决策及发出控制信号的智能过程。
如图2所示,为本发明总控制器1的电路功能示意图,总控制器1包括分频电路、读写控制单元、数据缓存单元、数据运算单元及地址编码单元。时钟信号输入分频电路,本实施例中输入的时钟信号的频率为4MHz,由分频电路分为两路频率为1MHz的时钟信号,其中一路为总控制器1的读写时钟,另一路则成为其它控制器的同步时钟,通过内部总线传输至读写控制单元。读写控制单元将数据输送至数据缓存单元,同时将数据通过地址编码单元输出地址信号。数据缓存单元除接收读写控制单元输入的数据外,还接收传感信号处理器3输入的电机角度数据,既可准备通过数据总线向上位机传输数据,也可将数据输入地址编码单元,或输入数据运算单元进行数据运算,并通过内部总线将数据缓存单元的数据输出至PWM计数器2。总控制器1的主要作用是对数据进行运算和传输,这些数据主要包含传感器数据、内部处理数据和外部上位机数据三类。例如:上位机向FPGA发出一速度信号10cm/s,FPGA内的总控制器1将速度信号转换成PWM计数器的控制信号3000,对应输出4/5占空比的1000Hz脉冲信号。读写控制单元则决定了传感数据、内部数据、外部数据的传输方向。总控制器1中的总线都在FPGA的内部,通过FPGA内的程序实现各种连接。
PWM计数器2的主要作用是控制输出PWM信号的占空比和频率。PWM信号的占空比也称作脉宽,数值在0~1之间。对应电机转速的快慢,0表示停止,1表示额定转速。当脉宽在0.4~1之间时,脉宽与转速成正比关系。因此可通过输出不同脉宽的PWM信号来控制电机的不同速度。如图3所示,本发明的PWM计数器2包括一计数控制单元,一计数器和一通道选择单元,由总控制器1输出的分频后的时钟信号输入计数控制单元,由计数控制单元输出计数启停信号至计数器,并将由总控制器1发出的地址信号转化为通道号输出至通道选择单元,同时总控制器1也通过内部总线将计数值发送给计数器,经通道选择单元将生成的多路PWM控制信号输送至指定的电机。
传感信号处理器3负责将电机转动的角度、速度信号(由光电码盘或其它角度、速度传感器获取的脉冲)转换成数字量。如图4所示,传感信号处理器3接收安装在机器人腿部和脚底的传感器发出的多路角度传感脉冲信号,经高速脉冲计数单元转换成数字传感数据发送给总控制器1。安装在机器人脚底判断脚触地与否的小接触开关的信号也由传感信号处理器3接收处理后传送至总控制器1。
步态控制器4主要决定电机运动的方向和膝部电磁铁的推弹动作。如抬腿时电机正转,落腿时电机反转,抬腿至某一高度时膝部电磁铁上电外推,使得机器人小腿自然下垂,为落腿踏地做准备。如图5所示,步态控制器4包括状态转移控制器和通道选择单元,由总控制器1发出的分频后的时钟信号和地址信号输入状态转移控制器。在状态转移控制器内存储有抬腿、弯膝、落腿、收脚等四种状态,所存储的四种状态包含有各自的状态内容、状态维持条件和状态转移条件。总控制器1将运算后得到的决定电机转动方向和持续时间的状态转移信号发送至步态控制器,步态控制器所接收到的状态转移信号等于所存储的状态维持条件时,步态控制器便发出保持原状态的指令;当状态转移信号等于所存储的状态转移条件时,步态控制器便发出转移至下一状态的指令,即输出换向信号。
如图6所示,本发明的FPGA电路使用EP1C4T324型芯片,其配置芯片使用EPCS4型芯片。本发明的FPGA电路包括有继电器驱动电路,用于驱动被动式行走机器人的储能控制机构。如图7所示,继电器驱动电路由1K限流电阻R、S9013型三极管T和1N4001型二极管D构成。输入端接收来自FPGA中步态控制器4的信号,当输入端接收到高电平‘1’时,三极管T导通,继电器J储能。当输入端接收到低电平‘0’时,三极管T关断,继电器J释能,释放的能量通过二极管D回至电源。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将配置芯片中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须使用专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需更换一片配置芯片即可。这样,同一片FPGA,写入不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
FPGA中所有的功能需用程序来实现,使用Quartus II软件来编程。
本发明中所有程序用VHDL(硬件描述语言)实现,核心部分是机器人步态控制器(stepper)4,利用VHDL编程思想中的状态转移法来实现状态转移。
本发明将机器人腿部动作进行细分,如图8所示,机器人每一只脚迈出一步的动作可以分为抬脚、弯膝、落腿、收脚四种状态,两只脚循环动作即可完成行走的动作。每一种状态在步态控制器4中都有相应的位置、时间设定,设置在机器人肢体上的每个电机是通过各自独立的电机转速、角度及运转时间的设定来实现上述各种状态的。
每种状态有各自的状态内容、状态维持条件和状态转移条件。当对外界的感知信息满足状态维持条件时保持本状态内容、当满足转移条件时将转移至指定的下一个状态。因此必须有一初始状态,否则步态会变得无序。本发明中初始状态为双脚触地站立。
每个电机都有自己独立的状态转移图,因此每个电机的状态内容是相互独立的,从而使得能独立实时的控制每个电机,这是本发明中对实现多电机控制在算法上的突破。
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。