两足行走机器人行走控制部分设计
本文设计了一种基于AVR微处理器的两足步行机器人控制系统。硬件方面采用8位AVR处理器替代传统单板计算机,实现了17路高精度PWM信号输出(精度达1.11μs),通过74HC595D芯片实现4路分时复用控制32路舵机信号。软件系统采用模块化设计,基于"Servo Control Software"操作系统,具备串口通信、E2PROM存储和传感器数据处理功能。针对17自由度机械结
2 两足步行机器人控制系统硬件设计与实现
在以比赛、娱乐、教学和研究为目的的两足步行机器人控制系统中,单板计算机作为控制系统虽然运算速度快,但体积大、成本高,而且功耗大;有此而选用高性能、低功耗的 8 位AVR® 微处理器,指令执行时间为单个时钟周期,速度快,控制精度高、I/O口驱动能力更强,优于AT51、STC51系列单片机,所以能够解决一些较为复杂的控制指令。
2.1 硬件系统的基本要求
两足步行机器人是对人类的模仿[15]。但人类的结构极其复杂,对人类步行原理的研究至今仍有许多未解决的问题。所以在设计两足步行机器人机械结构时,会对人类步行的结构进行减化,只会考虑基本的步行功能。人类的仅下肢就具有62对肌肉,腰部8对肌肉,在设计两足步行机器人时,要控制具有这么多自由度的多变量系统几乎是不可能的事情,所以两足步行机器人通常腿部只具有8至12个自由度,腰部具有0至3个自由度。本课题设计的机器人共有17个自由度,驱动器为微型直流伺服电机,简称舵机。其机械结构如图2.1所示。
图2.1 机器人机械实物
该机器人的机械结构具有如下特点:
(1) 该机器人的机械设计具有很高的稳定性,国外的一些类似机器人曾获得机器人比赛冠军;
(2) 该机器人踝关节和髋关节各具有两个自由度,这种机械结构设计可以使机器人在不平地面站立;
(3) 该机器人膝关节具有一个自由度;
(4) 该机器人肩关节具有两个自由度,肘关节具有一个自由度,可以实现简单的摆臂功能,用以配合腿部的运动,抑制摆腿时产生的左右扭转趋势。
(5) 该机器人的机械结构也具有一个缺点:没有腰部扭转自由度,使两足步行机器人在行走中不能使用腰部关节进行姿态平衡,但这并不阻碍机器人在平地上的行走。
本文在“KONDO”机器人[9]机械结构的基础上,设计控制系统,用来替换其自带的控制系统。本文设计的控制系统在硬件上至少满足如下5个基本要求:
(1) 产生不少于17路独立的高精度单边沿PWM信号,用来控制作为机器人关节驱动器的17个直流伺服电机;
(2) 具有调试接口;
(3) 具有一个与PC机通信的接口;
(4) 具有多路A/D转换电路,用来扩展传感器;
(5) 具有独立而稳定的电源。
我们设计的机器人所用的高精度直流伺服电机,控制信号为0.5ms~2.5ms高电平的PWM信号,对应转角为0度到180度,电机精度为0.1度,则控制信号的精度应该高于(2.5ms~0.5ms) /1800 =1.11μs。
2.2 硬件系统设计的技术路线和总体方案
2.2.1 处理器选型
二十年前,只有少数的几个科研机构在研究两足步行机器人,现在却不胜枚举,这其中很重要的一个原因就是嵌入式计算机的高速发展[24],[25]。嵌入式计算机由于其体积小、功耗低、硬件资源丰富,非常适合应用在对体积和功耗都有较高要求的小型机器人系统中。
在机器人控制系统中常用的处理器有:TI C2000和C6000系列DSP、8051和AVR单片机、ARM7和ARM9系列、PC104和PowerPC单板计算机等。它们各自具有鲜明的特点,通常都是为了特殊的应用而设计,如表2.1所示。
表2.1 机器人控制系统中常用处理器
2.2.3 硬件设计总体方案
对应于控制系统硬件设计的基本要求,作了如下的设计方案:
(1) 核心电路包括AVR[11]核心处理器、JTAG调试接口、串口驱动电路和A/D转换基准电压电路[19],原理如图2.3所示。
图2.3 核心电路原理图
(2) 控制系统需要控制17个直流伺服电机,使两足步行机器人完成相应的动作。控制直流伺服电机的PWM信号的周期为20ms,高电平持续时间为0. 5ms至2. 5ms,占空比较小,最大仅为1/8,所以可以进行多路分时复用。本文使用了4个三态锁存器74HC595D PWM信号进行4路分时复用,一共可以得到32路独立的单边沿PWM信号,这样可以满足控制系统的要求。使用高性能电池供电,增加了机器人的灵活性.其舵机PWM信号控制电路原理如图2.4所示。
3 两足步行机器人控制系统软件设计
AVR系列单片机通常在其内部集成了CPU、存储器、总线逻辑、看门狗、I/0、以及其他接口,单片化的特性使其体积和功耗都大大减小,在两足步行机器人中得到了广泛使用,现在在操作系统下设计并实现了两足步行机器人控制系统的多个应用软件,构成了一个完整的控制系统软件框架;最后改进了常见的多路PWM产生方法,具有很高的PWM信号的精度和系统的实时性,并对两足步行机器人进行了关节调试。
3.1 软件系统的基本要求
根据机器人控制系统的功能需求和硬件电路的特点,软件系统至少需要满足以下5个要求:
(1) 软件模块化,具有很好的可维护和可扩展性。
(2) 实现PWM信号的分时复用,并要保证PWM信号的高精度。并且通过软件,能够及时地改变PWM的输出。
(3) 通过RS232接口能和PC机通信。
(4) 通过I℃接口记录关键的信息到E2PROM存储器。
(5) 通过3路10位A/D转换器读取传感器的值并预处理。
3.2 软件设计的技术路线与总体方案
在机器人控制系统中常见的操作系统有:TI的DSP/BIOS, Microsoft的WinCE, u C/OS-II, Wind River的VxWorks, uC-Linux和RT-Linux等,它们各自的特点和应用如下所述:
(1) DSP/BIOS操作系统不但具有很好的实时性[23],而且与DSP外围的数据库兼容并且内建于DSP专用的交互式集成开发环境CCS。但DSP/BIOS操作系统只适合在TI的C6000和C5000 DSP处理器上使用。
(2) WinCE操作系统由Windows95精简而成,不开放源码,实时性不好。但从内核到GUI的整个体系比较完善,并且Microsoft公司具有强大的软件研发和技术支持能力。WinCE适合在功能复杂但对内核体积的实时性都没有太高要求的大型机器人主控制系统中使用,或者在图像监控系统中使用。
(3) uC/OS-II由世界著名的嵌入式专家Jean J. Lacrosse编写,它具有源码开放、体积小、可移植性强、可剪裁、可靠性高等特点,但GUI部分不完善。它非常适合在高实时性小型嵌入式系统中使用,经常应用在小型机器人控制系统中。
(4) VxWorks由美国Wind River公司开发,具有极高的可靠性和实时性,但是它不开放源码,而且价格非常昂贵,通常应用在军用机器人和航天机器人中。
(5) uC-Linux和RT-Linux都是由Linux演化而来,继承了Linux的一系列优点,比如高可靠性和具有完善的网络功能。它们结构复杂,对开发人员的技术要求较高,通常应用在比较复杂的机器人控制系统中。
本文根据控制系统硬件的特点和机器人的功能需要,选用了以C语言为基础编写而成的操作系统“Servo Control Software”。其软件的操作界面如图3.1所示。
图3.1 Servo Control Software操作界面
3.3.2 控制通道设置
控制通道序号与控制板上的序号一一对应,根据设计需要可选择多路调控,伺服电机接线一定要与控制软件通道对应,避免出现控制无效现象。将硬件设备接好,如图3.5所示。
图3.5 控制板接线示意图
4 两足步行机器人步行模式的建立
有的机器人行走时质心在地面上的投影始终在脚的支撑多边形内,这种步行方式被称为静态步行;在人的日常行走中,质心在地面上的投影经常会超越支撑多边形的范围,这种步行方式被称为动态步行。静态步行模式在设计步态时需要计算机器人的重心位置,以防止重心在地面上的投影超出了支撑多边形范围。静态步行通常是在行走前离线设计好各个步行中的姿态和姿态切换的方法,在行走的过程中不能改变,一般只能在平地上行走。
4.1 本章任务
本设计中的机器人的机械结构,它具有17个自由度,驱动器为微型直流伺服电机。该机械结构左右对称,每条腿具有5个自由度,分别为踝2个、膝l个、髋2个;每个手臂具有3个自由度,分别为肩2个、肘1个;颈部具有一个自由度。而我的主要任务是分析双腿的运动模式,研究10个舵机的转动角度以及相互的协调工作的关系,建立一个完整的运动模型。首先要把机器人组装起来,其腿部图片如图4.1所示。
图4.1 单腿的实物图片
在正确的把整个机器人完整的组装起来后,我们要把机器人腿部的每个舵机都标注起来,以便后来的调试,腿部10个舵机的分布如图4.2所示。
图4.2 腿部舵机的分布
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)