双足机器人

2024-05-30

双足机器人(精选九篇)

双足机器人 篇1

人类在行走的时候, 其行走过程步态可划分为两个阶段:活动腿从支撑腿的后方摆动到支撑腿的前方;机器人的重心从上一步的支撑腿移动到下一步支撑腿。整个行走过程是连续的过程, 所以ZMP点从支撑腿的脚掌面上开始。首先支撑腿的小腿和大腿与竖直轴的夹角减小, 髋关节位置上提, 同时摆动腿的大腿和小腿与竖直轴的夹角增大, 摆动腿的脚掌离地同时向前摆动。经过一段时间, 摆动腿落地, 单脚支撑阶段结束, 进入双脚支撑阶段, ZMP点仍落在原支撑脚上。再经过一段时间, 机器人的ZMP点从原支撑脚后脚掌转移到原活动腿前脚掌, 原活动腿变为支撑腿, 机器人完成一步。然后整个过程为另一条腿再重复一遍。

如图1, 双足机器人腿部分布了十二个关节自由度, 每条腿各有六个自由度, 分别为:踝关节上纵向和横向两个自由度;膝关节上一个纵向自由度, 髋关节上分布三个自由度:纵向、横向及转弯自由度。

2 行走步态设计

为了步态规划能够顺利进行, 将行走步态设计为5个阶段:双腿支撑, 重心右移 (先是右腿支撑) 、左腿抬起, 左腿放下、重心移到双腿中间, 重心左移、右腿抬起, 右腿放下、重心移到双腿间。

在摆动腿向前摆动阶段, 身体的重心从两腿中间移到支撑腿上, 要完成这个摆动动作, 先要向支撑腿一侧扭动身体来移动重心, 为了防止在侧扭时身体向摆动腿一侧倾倒, 步态设计中将纵向和横向分步规划。

为了使规划易于进行, 将机器人的双腿简化为如图2所示。

α1是机器人的右腿髋俯仰关节 (Right_hip_pitch) 转动角度, β1是机器人的右腿踝俯仰关节 (Right_ankle_pitch) 转动角度, γ1是机器人右腿膝关节俯仰 (Right_knee_pitch) 转动角度;α2是机器人的左腿髋俯仰关节 (Left_hip_pitch) 转动角度, β2是机器人的左腿踝俯仰关节 (Left_ankle_pitch) 转动角度, γ2是机器人左腿膝关节俯仰 (Left_knee_pitch) 转动角度, 逆时针方向为关节旋转正方向。

2.1 起步阶段

起初, 机器人双腿并立, 第一步的步态显然与连续行走时的步态不一样。以右腿支撑, 左腿迈出第一步为例, 实现步行机器人的行走, 其关节规划如下:右腿踝关节向右偏移, 将位于两腿中间的重心向右边移动, 落于右腿脚掌, 然后弯曲左膝关节, 上抬左脚, 左腿髋关节做俯仰运动, 带动左腿向前迈进, 直到左脚掌落地, 同时, 右脚踝关节向前弯曲, 重心也随着向前移动。

2.2 连续步行阶段

(1) 左腿支撑阶段

当左腿落地后, 以左腿为支撑腿, 两膝关节同时运动, 使重心向前移动, 落于支撑脚的脚掌中间, 此过程模拟了双腿支撑期的整个运动过程, 并能随时确定在任一时刻的运动状态。在此过程中关节角的规划可以在连续运动过程中通用, 角度规划如下:左腿踝关节向左偏转, ZMP点从支撑腿中间向左移动, 然后右腿膝关节稍微弯曲, 同时右腿髋关节向前俯仰运动, 达到一定角度后, 左脚踝关节向前弯曲, 做俯仰运动同时左脚膝关节向后做俯仰运动。当右脚将要着地之前, 踝关节向右偏转, 准备在右脚着地时将ZMP点移到两脚中间。

整个这一迈步过程规划用1s时间, 前半秒时间, 使右腿刚好跨过左腿这一平面, 重心完全落在左腿上。

后半秒时间, 调整重心, 将重心前移到右腿上。左腿膝关节稍微弯曲, 同时让左腿髋关节向前俯仰运动, 达到一定角度后, 右脚踝关节向前弯曲, 做俯仰运动同时右脚膝关节向后做俯仰运动。

(2) 右腿支撑阶段

右腿支撑的姿态与左腿支撑的姿态是对称的。

2.3 止步阶段

当所有运动结束时就需要进入止步阶段, 止步阶段比较简单, 也就是使姿态全部还原到初始状态, 使各关节的转动角度还原到0°。这个过程规划使用1s的时间。图3为关节运动示意图。

3 结语

本文机器人各关节的运动采用离线规划方法。四个横向关节和六个纵向关节的协调运动实现了机器人的直线行走 (转弯关节始终不动) 、横向关节的运动实现了机构重心的移动, 机器人向前行走通过双腿纵向关节的协调运动来实现。

摘要:采用离线法, 对关节运动进行规划。通过多次实验观察, 以及对机器人相对稳定的行走姿态分析, 最后确定出从起步到止步5s时间步行阶段的各步态。

双足竞步机器人技术总结报告 篇2

双足竞步机器人技术总结报告

• 引言

2010年中国机器人大赛已经结束,回顾整个比赛及赛前调试过程,我们遇到了很多问题,下面就将我们遇到的问题做一分析和总结,并提出改进方案,对我们以后的工作有所帮助。

• 遇到的问题及原因分析

• 机器人稳定性不好

机器人在走路的过程中不稳,比较晃。造成此问题的原因有两个: 1.机器人高度过高。

由于我们用成型的U型套件,套件高度是固定的,我们必须将腿做成一定的高度才能保证腰翻下去不压脚;下面两个套件决定了腰的高度,所以总体下来我们的机器人高度比较高,导致机器人重心比较高,平衡性不好,造成不稳定。2.步态设计不合理。

在动作上需要6个舵机同时配合,要做到很协调,还是很有难度的,某个舵机的角度,速度都会对整个机器人的行走造成影响,这也是造成机器人走路不稳定的原因。• 舵机控制问题

舵机控制原理

控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为 20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。

电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源.电压通常介于4~6V,一般取5V。注意,给舵机供电电源应能提供足够的功率。

控制线的输入是一个宽度可调的周期性方波脉冲信号,方波脉冲信号的周期为20 ms(即频率为50 Hz)。当方波的脉冲宽度改变时,舵机转轴的角度发生改变,角度变化与脉冲宽度的变化成正比。

• 上电机器人乱动

问题在于上电程序初始化时,没有给出一个确定的值来产生一个确定的脉冲,脉冲给舵机后,舵机状态不定,就出现了乱动的现象。• 舵机抖动

在调试过程中,舵机出现抖舵的问题,主要原因有:

1、控制板供电电源电压不足

控制板供电电源电压不足,引起芯片电源电压不稳定,导致输出脉冲抖动,测得当供电电压降低到5V以下经过78M05稳压,再经过ASM1117稳压后,输出脉冲高电平电压再2.5V左右,是一不可靠的高电平,输入舵机控制电路后,输出的直流偏置电压不准确,导致舵机抖动。

2、脉冲精度不够

很多舵机的位置等级有1024个,如果舵机的有效角度范围为180度的话,其控制的角度精度是可以达到180/1024度,约0.18度,从时间上看其实要求的脉宽控制精度为2000/1024us,约2us。

此次为节省芯片资源,先将时钟进行一次分频,再拿分频产生的时钟来控制脉冲的时基计数器和步进计数器,这样,每个计数器的计数值变小,节省了一定的资源,但在控制精度上有所下降,控制板产生的脉冲精度为:

脉冲时基计数值为:1600;步进计数值为:1或2; 则: 脉冲精度为1/1600 * 20 ms = 12.5 us 与舵机的要求精度相差很大,由于模拟舵机的无反应区比较大,当以较低精度的脉冲来控制舵机时,在某个时刻舵机状态不定就会出现抖舵现象。

• 烧电路板

电路板原理图如下:

此原理图比较简单,没有什么原理性的东西,也没有做隔离和保护,电源模块有两路供电,一路经过开关后直接给舵机供电,另一路经过两级稳压输出3.3V电压,满足EPM1270的供电需求;复位是直接通过一电阻拉到地上,进行低电平复位;时钟模块是一有源晶振,接上电源后就可以起振;其他都是接口。

在调试过程中,有一段时间,老烧电路板,每次烧的都是CPLD芯片,从CPLD手册上查得:

芯片3.3V供电时,I/O口的单端输出电压为3.3V

3.3V供电时,输出高电平电流为16mA,输出低电平电流为8 mA;由以上资料分析,烧板子的原因可能是: 1.电平不匹配。

CPLD输出电平电压为3.3V,而舵机需要的为TTL电平,由于外部再没有加驱动电路,这样CPLD的I/O端口驱动能力有限,当同时有几个舵机转时或者舵机转的角度比较大时负载过重,导致CPLD烧坏。

2.电流回流和尖峰脉冲

舵机中有一直流电机,当直流电机转的时候,自身也会产生电流,若多个舵机同时转,且转的角度比较大时,各舵机自身产生的电流汇集到一起应该是表较大的,若电流倒流入电路板,电路板可能因电流过大而烧坏;另一点就是尖峰脉冲,舵机在转的过程中若产生尖峰脉冲,倒灌入电路板也可能因电流过大而烧坏芯片。

这应该是此次电路板烧的主要原因。3.电路板制作工艺

在刻PCB板时,板子阻焊做的不好,在焊接的过程中,容易在电路板上留下焊锡渣,如果掉入芯片两引脚之间,也可能引起短路,导致电路板烧坏。• 解决方案

• 机器人稳定性解决方案

结构

对机器人整体结构应该在现有基础上加以改进,比如在机器人高度上,以及腰部;对于U型套件,自己做,用AutoCAD设计出机器人结构图、套件图,拿到机床去加工,这样能保证套件精度,和结构的合理性,将机器人结构对研究带来的影响减到最小。• 步态设计

对机器人走路的步态进行更合理的设计,保证走路过程中的平稳。

• 舵机控制解决方案

上电乱动

在上电程序初始化时应该给舵机一个确定的脉冲,而且此状态持续时间应稍长,问题就会得到解决。• 舵机抖动

首先,保证电源电量充足,电压保持稳定,给芯片一个稳定的电压,保证输出脉冲的稳定性;其次,增加脉冲精度,即脉冲宽度的步进不要太大,这样既能精确的控制舵机,又能避免舵机的抖动;另外,可以在后端加一脉冲整形电路,可以滤除毛刺等脉冲。

• 电路板解决方案

电平不匹配问题。

对于此问题,可在后端加一电平转换芯片,增强驱动能力,保证I/O口有足够的能力来驱动舵机。• 电流回流和尖峰脉冲

方案一:加电容吸收

在舵机前端加一电容来吸收尖峰脉冲,但此方法经过实际验证不可行。加电容后,从I/O口输出的脉冲被电容吸收了,舵机不转。

方案二:光电隔离 + 整形

为了防止干扰,舵机控制信号和驱动电路应光耦光电隔离, 将信号隔开,避免舵机转动对控制板的影响。

通过隔离出来的控制信号, 还必须经过整形以消除毛刺, 增加信号的稳定性, 提高信号的输出电流。整形可采用施密特触发器,施密特触发器是脉冲波形变换中经常使用的一种电路,它是具有滞后特性的数字传输门,且受电源限制,可对输入波形进行变换和整形;另外,还可以采用通过比较器整形的方法来消除毛刺比如用LM324,LM393等。• 电路板制作工艺

在今后做板的时候应该加强阻焊和助焊这两道工序,能保证焊接时不出现板子上有杂物而导致短路的情况;在板子焊好后,在引脚密集的芯片处采取一些措施,如涂上硅胶或者蜡,以防短路。

• 总结

双足机器人 篇3

【摘要】双足机器人基于零力矩点(ZMP)的行走方式得到了广泛的研究,以前的方法主要是让机器人在离线规划好的ZMP轨迹下行走,这种方式很明显缺乏自适应性。本文分析在线添加可变ZMP的作用,可变ZMP可以用来消除外力干扰、适应不平整地面和姿态控制,这样才与人在复杂环境下步行时实时调整步态相类似。

【关键词】双足机器人;可变零力矩点;自适应性;行走控制

1.可变ZMP的定义

双足机器人在行走过程中将由环境扰动、模型失配等因素引起步态跟踪误差,作者在文献[1]中研究过调节预测控制器参数的方法来消除一些随机扰动,但也很难通过调节参数的方法消除这种跟踪误差。要降低或消除它,就应该考虑ZMP的实时变化,不能只用离线规划好的ZMP作为步行控制器的输入,只有加入了实时变化的可變ZMP,才能使步行模式具有自适应性,所以将期望ZMP表示为考虑了环境变化的表达式:

(1)

左边为期望ZMP。右边第一项为参考ZMP,是由步行速度、步幅和步行周期等参数离线规划好的,一般在行走过程中不发生变化,通过参考ZMP来控制机器人的全局稳定性。第二项为具有实时性的可变ZMP,也就是本文所讨论的可变ZMP,它是根据环境的变化实时加入的,控制机器人的局部稳定性。第三项表示随机扰动,通过作者在文献[1]中的研究,能够通过选择步行控制器的参数消除它。可变ZMP可以用来消除外力干扰、适应不平整地面和姿态控制[2]。很明显,只有考虑了可变ZMP,机器人的步行模式才具有自适应性,才与人在复杂环境下步行时实时调整步态相类似。下文分析可变ZMP的作用。

2.可变ZMP的作用

(a)消除外力。如图1(a)所示,当机器人受到外力冲击时,这些外力的合力等价作用于质心的前向水平力F,要想消除这个外力干扰,离线规划好的参考ZMP就要向左移动,这个左移是通过加入可变ZMP来实现的,这也体现了可变ZMP是根据实际环境变化来实时规划的。要使机器人不受外力干扰而稳定,重力相对于可变ZMP产生的力矩必须与外力力矩平衡,则有下列等式:

(2)

其中Zc为质心高度,M为机器人的质量,g为重力加速度。

等式(2)表示在离线规划好的参考ZMP基础上,实时规划可变ZMP量,以便能消除外力干扰。但是,当外力很大时,ZMP移动到脚后跟部位,机器人将绕脚后跟旋转甚至跌倒,这种消除外力的作用也是有限的。

(b)适应不平整地面。如图1(b)所示,当机器人在不平整地面上行走时,此时支撑脚将有一部分与地面失去接触,提前离线规划好的ZMP轨迹点可能将不落在支撑范围内,这时步行模式生成器可以实时添加可变ZMP,及时将参考ZMP移动到脚底与地面接触的支撑区域内,以确保机器人能够稳定地行走。

(c)姿态控制。如图1(c)所示,当机器人的上身由于环境影响向前倾斜时,可以通过模型ZMP控制来恢复平衡。这种控制方式为:当实际机器人的上身与模型的上身相比向前倾斜时,模型上身强力加速,结果目标惯性力变大致使目标ZMP相对于原来的参考ZMP向后移动,这样实际机器人的姿态得以恢复。这种模型ZMP控制方法,在本田双足机器人P2上得到了很好应用。这种情况下,ZMP的移到量,也可以通过在步行模式生成器中添加可变ZMP来实现。

3.结语

本文分析了可变ZMP在双足机器人行走控制中的作用,通常为了设计方便起见,用离线规划好的ZMP作为行走控制器的输入,而没有考虑机器人行走过程中环境的复杂性,这样将导致行走稳定性降低。通过在线规划实时可变ZMP,可以提高双足机器人基于ZMP行走方式的自适应能力。

参考文献

[1]敬成林,薛方正,张华等.双足机器人稳定步行模式的预测控制实现方法[J].仪器仪表学报,2010,31(12):2700-2705.

[2]S.Kajita,F.Kanehiro,K.Kaneko,et al.Biped walking pattern generation by using preview control of ZMP[C]//Int.Conference on Robotics&Automation,Taiwan,china,2003:1620-1626.

作者简介

敬成林(1973-),男,汉族,四川南部县人,博士,副教授。主要研究领域为智能机器人控制.

基金项目

双足机器人设计及步态规划研究 篇4

双足机器人采用单、双足交替支撑的运动方式,拥有较好的灵活性及地面环境适应能力,具备轮式和履带式机器人无法比拟的优点,是最具代表性的先进智能机器人,其技术是当今机器人研究领域中的一个重要分支[1,2]。

步态规划是双足机器人研究的关键技术之一,稳定自然的步态是双足机器人区别于其它类型机器人的主要标志,也是实现其基本操作功能的基础。步态规划的好坏将直接影响机器人行走过程中的稳定性、所需驱动力矩的大小以及步态美观性等多个方面,因此对双足机器人步态规划的研究具有很高的学术价值和现实意义[3]。目前主要有以下两种步态规划方法:1)数学分析获得机器人行走轨迹;2)由人类行走数据获得机器人行走轨迹[4]。

本文提出一种双足机器人的机械结构形式,并对此双足机器人的前向运动进行了步态规划,根据机器人运动轨迹的边界点,采用三次多项式拟合得到机器人关节的平滑运动轨迹,为机器人样机的研制提供理论依据。

1 机械结构

传统双足机器人前向行走时,通常由若干个侧向关节和若干个前向关节的协调运动来实现,通过侧向关节的运动来移动机构的重心,双腿前向关节的协调运动使机器人向前行走。本文提出的双足机器人采用了一种新的结构形式,结构简图如图1所示。其每条腿中仅包含两个驱动电机,减小了能耗和控制的复杂程度,大腿的运动角度和小腿的运动角度相互解耦。在此机构中,各关节通过同步皮带和带轮构成平行四边形行结构形式,能够保证腿部处于任何姿势时,足底始终与地面保持平行,如图1(b)和图1(c)所示。

2 运动步态规划

步态是机器人在步行运动过程中,腿部各部位在时序和空间上的一种协调关系。实验研究表明,双足机器人在行走过程中前向各关节的运动与侧向各关节运动间的耦合很小[5],因此可以忽略这一耦合的影响,对机器人前向和侧向的运动分开建模,本文主要讨论前向运动的步态规划问题。

双足机器人的一个完整的行走周期可分为双腿支撑阶段和单腿支撑相阶段。在双腿支撑阶段,两只脚都与地面接触;在单腿支撑阶段,一条脚固定在地面上支撑身体,另一只脚从后向前摆动。机器人步行时,交替地进入双腿支撑阶段和单腿支撑阶段。

本文从双腿平行的初始位置开始步态规划,可将腿部的运动分为3个主要阶段,各阶段的运动如图2~图4所示,其中h表示髋关节高度,l表示大腿和小腿的长度(两者相等),d表示步长,α1和α2分别表示支撑腿的髋关节和膝关节运动角度,β1和β2分别表示摆动腿的髋关节和膝关节运动角度。

1)初始单腿支撑运动阶段,如图2所示。在此阶段,躯干重心保持不变,初始位置如图2(a)所示,此时机器人双腿平行;机器人髋关节运动角度保持不变,膝关节从初始位置开始向后摆动,运动到图2(b)所示位置;机器人膝关节运动角度保持不变,髋关节从初始位置开始向前摆动到终止位置,运动到图2(c)所示位置;机器人髋关节运动角度保持不变,膝关节开始摆动到终止位置,如图2(d)所示。

2)行走双腿支撑运动阶段,如图3所示。在此阶段,初始位置如图3(a)所示,此时机器人双脚触地,躯干重心位于支撑腿上;躯干重心水平向前移动到终止位置,运动到图3(b)所示,此时躯干重心位于摆动腿上,并据此设定髋关节和膝关节的运动角度。

3)行走单腿支撑运动阶段,如图4所示。在此阶段,躯干重心保持不变,初始位置如图4(a)所示,此时机器人双脚触地;机器人摆动腿髋关节运动角度保持不变,膝关节从初始位置开始向后摆动,运动到图4(b)所示位置;机器人膝关节运动角度保持不变,髋关节从初始位置开始向前摆动到终止位置,运动到图4(c)所示位置;机器人髋关节运动角度保持不变,膝关节开始摆动到终止位置,如图4(d)所示。

重复步骤(2)和(3),同时在冠状面内采用适当的配重,保证行走过程中稳定点[6](ZMP、Co P、FRI等)控制在稳定域内,则双足机器人便可在水平面内实现连续、稳定的行走动作。机器人在实际行走过程中,为了提高行走速度,在不干涉的前提下,单腿支撑阶段摆动腿髋关节和膝关节可同时运动。

3 运动轨迹边界点

分析正常人在前向平面内行走步态的相关特性,同时结合双足机器人步行运动的设计要求,防止双足机器人的足部和地面出现过接触和间隙,需确定髋关节和膝关节在运动过程中经过的关键点,即计算髋关节和膝关节在各阶段运动的初值和终值。根据上述步态轨迹规划以及机器人设计的几何尺寸,得到关节运动的边界值如下所示。

1)初始单腿支撑运动阶段

支撑腿髋关节和膝关节运动角度:

摆动腿髋关节和膝关节运动角度:

2)行走双腿支撑运动阶段

初始时刻髋关节和膝关节运动角度与第(1)阶段运动终止阶段相同。

终止时刻髋关节和膝关节运动角度:

其中:

3)行走单腿支撑运动阶段

初始时刻髋关节和膝关节运动角度与第2)阶段运动终止时刻相同;终止时刻髋关节和膝关节运动角度与第1)阶段运动终止时刻相同。

4 关节运动轨迹规划

传统双足机器人在脚触地的瞬间会产生一个冲击力,影响机器人运动的稳定性。本文提出的机器人,由于腿部运动采用圆弧运动形式,脚触地瞬间较为平滑,且在腿摆动过程中躯干重心保持不变,有效减小脚触地瞬间的接触力。为了进一步减小冲击力,并考虑控制策略的复杂程度,本文采用3次多项式拟合的方法对关键点间的运动进行拟合,得到关节运动的平滑轨迹。

三次多项式及其导数表示如下:

其中,分别为关节在t时刻的角度、角速度和角加速度。

由于在不同时刻关节角度需满足如下条件:

将上述条件带入式(1),可得:

本文设定关节角度运动有三个阶段构成,分别为加速运动阶段,匀速运动阶段和减速运动阶段。其特点是在多数时间内,机器人的关节运动处于匀速阶段,能够减少驱动器对机器人的冲击力。设T为关节某一次运动总时间,ta为加速(减速)运动时间,则在这三个阶段内,关节运动规律可表示为:

1)加速运动阶段,即0

2)匀速运动阶段,即ta

3)减速运动阶段,即T-ta

其中:

设定匀速运动角速度ω=0.1rad/s,初始角度θi=0.1rad,T=8s,ta=2s,得到关节某次运动边界点间运动规律如图5所示,计算表明机器人关节可以得到平滑的运动轨迹,进而有效减小运动过程中的冲击力。根据运动步态规划和运动轨迹边界点,结合本节关节运动轨迹规划方法,可以进一步得到双足机器人双腿在前向平面内各个关节的角度、角速度和角加速度运动规律。

5 结束语

提出一种新形式的双足机器人,由于包含的驱动关节少,可显著减少能耗和降低控制复杂程度。步态规划过程中,由于双足机器人摆动腿运动过程中躯干重心保持不变,躯干重心移动仅发生在双足支撑阶段,具有较大的运动稳定性。关节运动轨迹的规划能够减小脚触地瞬时速度,有效减小冲击力,提高机器人的稳定性。为后续机器人各关节在运动周期内的角度规划和样机的研制提供理论依据。

参考文献

[1]绳涛,王剑,马宏绪,李迅.驱动双足步行机器人运动控制与动力学仿真[J].系统仿真学报,2008,20(24):6745-6753.

[2]Mousavi PN,Bagheri A.Mathematical simulationof a seven link biped robot on various surfacesand ZMP considerations[J].Applied MathematicalModelling,2007,31(1):18-37.

[3]韩亚丽,王兴松.行走助力机器人研究综述[J].机床与液压,2008,36(2):165-169.

[4]俞志伟.双足机器人拟人步态规划与稳定性研究[D].黑龙江:哈尔滨工程大学,2008.

[5]董金波.双足机器人步态规划与运动学仿真研究[J].智能工程,2011,7(3):66-69.

双足机器人运动学分析与仿真 篇5

机器人的上体用一个质量块代替。为了增强研究内容的通用性, 选择主流机器人腿部结构配置: 单腿六自由度结构。为保证稳定行走, 需要在髋、膝、踝配备合理的自由度。自由度分配如表1所示。

机器人腿部各个杆件长度仿照人体的实际尺寸设计。 从仿生学的角度, 人体经过长时间的生物进化各个部分的长度经过了很好的优化, 因而仿照人体实际尺寸设计机器人也能达到自然优化的效果。选择《中国成年人人体尺寸》中按照男性人体第50百分位数的人体数据作为设计依据, 并以身高作为计算基准, 来设计机器人腿部基本尺寸[1]。

例如参考数据: 身高: 1 678 mm; 大腿长度: 465 mm, 大腿长度比例为: 465 ÷ 1 678H = 0. 277H。其余计算结果如表2所示。

*此处脚长数据为实际测量值;取值时为了能完成稳定步行故取值较大。

2机器人运动学

2. 1正运动学

选择空间直角坐标系定义机器人各个杆件的位置。 全局参考坐标系的原点: 机器人竖直站立时机器人髋部连线中点在地面的投影点。

通过旋转矩阵与角速度矢量之间的关系推导出旋转矩阵的矩阵指数形式[2]:

其中, 为转动轴单位矢量;φ为转动角度。∧为特殊的运算操作符, 其定义为:

通过以上公式生成对应旋转矩阵, 方便编程运算。

定义各关节 ( 共12个关节) 初始坐标系与全局参考坐标系平行, 列出各个关节处的齐次变换矩阵:

最终, 再通过齐次变换矩阵的链乘法则完成研究点到全局参考坐标系的推导, 因每个齐次矩阵都是相对当前坐标系表示的, 故需要右乘齐次矩阵表示变换结果[3]。

从上体到两腿脚踝处分别编写齐次变换矩阵。

2. 2逆运动学

在求解逆运动学运算时, 采用两种方法计算: 解析法和数值法[4]。

解析法通过机器人几何数据和旋转矩阵对应元素对应完成计算。首先, 考虑机器人模型的右腿, 在计算之前, 需要先把上体位姿和右脚位姿确定下来。利用几何关系完成膝部和踝部关节角度的求解[4]。之后将已经得出的角度矩阵代入, 并变形得:

左右两边分别展开和计算有:

最终, 经过以上运算推导, 逆运动学解析法推导即可完成。

由于正运动学计算比逆运动学解析法计算更为简单, 因此按照反复修正数值减小控制误差的方式来求解逆运动学的方法叫做数值法, 数值法可被用于机器人实时控制计算。

2. 3正逆运动学GUI

MATLAB中的GUI ( 图形用户界面) 使得数据可视化, 并能完成交互式图形界面设计[5]。图1为双足机器人正逆运动学GUI。本程序计算机器人右腿的正逆运动学, 左腿的计算只需很小的改动就能完成。在正运动学计算框中输入主体位姿和关节角度后点击开始计算, 就能计算出右腿脚踝处位姿。在逆运动学计算框中按取值能够将上面的主体和踝部位姿数据取值下来, 之后分别点击解析法计算和数值法计算可以完成计算。计算结果与原值误差满足预期计算精度要求, 证明正逆运动学推导正确。

3机器人运动分析与仿真

理想运动步行模型: 在机器人模拟行走过程中, 暂不考虑动力学, 上体中心x轴方向投影始终在两脚之间; 双脚脚底始终保持与地面平行, 并且离地高度为0。

仿真时间共80 s, 前后20 s为下蹲和直立阶段, 中间每10 s为一个阶段, 分别对应: 1、右脚迈出2、左脚跟上, 两脚并拢3、左脚迈出4、右脚跟上, 两脚并拢。

3. 1上体竖直向前直线行走

本节计算上体高度与行走步长之间的关系, 并测定各个关节角度范围。其运动关节主要运用了x - z平面中的6个自由度完成行走。根据几何关系可知, 行走过程中双腿处于伸直状态时为理论极限位置, 如图2所示。

在一定高度时, 双脚步行步长过大时, 双腿长度就无法满足要求, 也就是当一只腿的大腿小腿成一条直线时到达理论极限位置, 这时的位置关系和杆件构成了直角三角形便于计算。

其中H为BODY杆件对地高度, L为步长, 对应有关系式:

之后对对应状态进行计算: 仿真中高度h = 400 mm, 仿真1中步长l = 590 mm, 仿真2中l = 610 mm。并对右腿主要运动的三个关节绘制时间角度曲线, 如图3所示。

由以上仿真结果可以看出, 在理论运动范围内 ( 仿真1) , 各个关节数据处于连续状态, 但超出极限位置之后 ( 仿真2) , 关节数据就出现非连续现象, 这时计算中使用的数值法的雅克比矩阵的逆没有正确或精确的解。这时的数据若控制机器人运动就可能出现机器人损坏或者其他不可预知的事故。故需要在控制中不断的检测, 并限制关节运动角。

3. 2上体保持一定转角向前直线行走

机器人腿部实现腰部转动功能时能够为上体提供的转动运动。由于存在转角, 使得在xy平面投影中, 髋关节与踝关节沿y轴方向存在一定的距离, 需要计算补偿才能满足步长要求。这里采用两种方式, 一种是用踝关节绕x轴自由度补偿, 此时双脚距离中心投影点沿y轴距离不变; 另一种方式为用双脚距离中心投影点沿y轴距离的补偿, 此时x轴踝关节角度为零。

a) 第一种方式:

如图4 ( a) 所示, D为髋部杆件长度值, θ 为上体转动角度, d为因转动产生髋关节和踝关节在xy平面中投影的距离。

在MATLAB中不断绘制各个关节的时间角度关系图, 当图形出现跳跃数据时, 就说明此时输入的数据不能满足计算要求, 再更正, 直到计算出能够正确计算运动结果的角度值。测得极限角度值为8. 320 64°。

b) 第二种方式:

双足在准备步行之前调整两脚之间的距离, 适合于机器人在行走中需要腿部提供上体转动的情况, 这样能够转动的角度较大, 如图4 ( b) 所示。在计算行走时各个关节角度之前, 双脚靠近距离根据上体转动角度确定。

从实验结果来看, 对于此时的上体转动角度几乎没有约束, 但是在模型中, 双脚不能重叠, 故存在极限位置:

其中d为脚部宽度。根据三维模型数据, 计算得出 θ 为65. 098 9, 图5为对应转动角度时的仿真结果。

3. 3仿真

在Pro/E中按照设计尺寸建立理想机器人腿部结构模型, 再将建立好的构件组装并添加约束, 之后在Pro/E中选择机构分析环境完成运动学分析[6]。在机构分析界面中首先为转动轴添加伺服驱动, 并定义好转动方向, 调整好构件转动的初始位置; 然后为机器人腿部的12个伺服电机添加运动角度值, 方法是在各个伺服驱动定义中轮廓选项导入表格数据 ( 机械表数据, 后缀为. tab) 。这些数据是由之前理想运动模型生成的。并在Pro/E中选择线性拟合的插值方式。

完成运动学仿真之后, 再进行干涉检测 ( 图6) , 并及时修改模型并重新仿真直到通过干涉检测为止, 这时理想机器人腿部结构模型就在规定动作下通过了实验仿真。 其外部尺寸值就能指导后续实体机器人的设计。仿真结果与MATLAB计算一致。

4结语

1) 文中按照人体实际比例设计并生成了双足步行机器人的腿部结构的理想模型, 为双足机器人腿部参数选取提供了方法。

2) 完成了机器人的正逆运动学运算, 并运用GUI验证计算结果; 生成理想运动模式用于限定运动时的极限参数, 以防止机器人进入奇异位置或超过理论极限位置而导致控制失控, 为后续机器人运动控制打下基础。

3) 运动模型在Pro / E中的运动学仿真能够有效的通过干涉检测检查影响模型运动的机械结构, 以指导机械实体设计。

4) 重点分析了机器人上体直立行走、上体转动一定角度后行走的理想运动模拟, 并给出了实验结果, 计算出了极限参数, 可供设计和控制中作为约束条件使用。

参考文献

[1]GB10000-1988, 中国成年人人体尺寸[S].

[2]R.M.Murray, Z.Li, S.S.Sastry.A Mathematical Introduction to Robotics Manipulation[M].CRC Press, 1994:19-73.

[3]Saeed B.Niku著.机器人学导论-分析、系统及应用[M].北京:电子工业出版社, 2011:42-43.

[4]梶田秀司著.仿人机器人[M].北京:清华大学出版社, 2007:47-48.

[5]陈垚光, 毛涛涛, 王正林, 等.精通MATLAB GUI设计[M] (第2版) .北京:电子工业出版社, 2011.

双足步行机器人教师的设计与研究 篇6

机器人是现代科技发展的必然产物, 双足步行机器人的研究是近年来机器人研究的热点之一。国外早在20世纪60年代起就开始了相关研究, 在机器人的本体设计、控制方法、运动稳定性、步态规划等方面取得了较好的效果[1]。机械、电子类课程关于自由度、机构设计和单片机设计等内容, 抽象的理论知识较多, 学生难于理解。针对这种情况, 研究设计了双足机器人教师, 以机器人自身运动步态为实例, 结合机器人语音讲解和问答, 使机器人结构和控制等抽象内容得以充分展现。

1 总体方案设计

1.1 方案概述

双足机器人教师主要由5部分组成, 分别为运动机构、指纹识别模块、语音发声模块、语音识别模块和智能控制系统。双足步行机器人教师的运动机构是所有部件的载体, 也是设计过程最基本和首要的工作[2], 通过其运动机构能够完成双腿行走、双臂摆动和回复等基本功能;指纹识别模块能实现课堂点名功能;语音识别模块和语音发声模块完成课程的讲解和问答;智能控制系统将指纹识别模块、语音识别模块、语音发声模块, 以及舵机的控制有效结合, 控制指纹识别模块实现点名功能后, 对机器人发出指令控制舵机实现四肢的动作, 完成行走、摆臂和回复, 同时利用语音识别模块、语音发声模块结合自身运动展开课堂内容的讲解和问答。

1.2 自由度的选取和分配

模拟人类行走时的步态, 调整舵机的旋转角度, 完成机器人的步态行走。为使双足机器人教师实现行走动作, 如图1所示, 将机器人的每条腿配置3个自由度, 髋关节、膝关节、踝关节各一个自由度。除上述6个自由度外, 机器人的两只胳膊在肩关节处各配置一个自由度, 因此本研究机器人自由度总数为8。每个自由度由舵机驱动。髋关节和膝关节俯仰自由度共同协调动作可完成机器人的直线行走功能;踝关节的偏转自由度协调动作可实现在横向平面内的重心转移功能。

2 机构设计

2.1 机构设计的基本要求

2.1.1 对称性要求

在结构布置上, 步行运动普遍采用对称性结构。Goldberg[3]等人研究了步行结构的对称性, 发现机身运动的对称性和腿结构的对称性之间存在着相互关系。在单足支撑阶段, 对称性的机身运动要求腿部机构是对称的, 而在双足支撑阶段, 则对腿部结构没有对称性的要求。根据这点, 本设计采用对称分布结构。

2.1.2 避免耦合干涉设计

当机器人关节自由度为2个或3个时, 容易产生自由度的耦合干涉, 即通常所说的折叠腿现象。为了防止这种现象的出现, 尽量通过设计将旋转轴的中心线交于一点, 以降低发生耦合干涉的几率。

2.1.3 机器人关节的要求

机器人关节的设计是双足机器人设计中最关键的步骤之一, 为保证机器人在行走过程中步态平稳, 行动灵活, 动作可靠, 本研究关节选用旋转式关节, 根据机器人动作要求设计3个主要关节, 分别为:髋关节、膝关节、踝关节。

2.1.4 机器人外观设计

本研究机器人由头部、上体、双臂、腰部、双腿、双足等部分构成, 模拟人体各部分比例设计完成。所设计的机器人尺寸为300 mm×270 mm×130 mm, 重1.42 kg。

3 驱动的选择

对机器人而言, 驱动器和肌肉在人体运动过程中所起到的作用一样, 它通过驱动机器人各关节从而让其实现各种复杂的运动。目前, 常用于机器人驱动的驱动器可以分为电机驱动、液压驱动、气压驱动以及其它新型驱动机构。驱动方式特点如表1所示。

由于本研究的机器人尺寸较小、动作复杂等特点, 选择电机驱动作为本机器人各关节的驱动器。

3.1 电机的选择

控制用的电机主要有步进电机和伺服电机两种, 但这两种电机输出转速很高, 对于本研究机器人而言, 驱动器速度一般要求在100~150 r/min, 所以需要在电机输出端增加减速机构, 这必然会增加机器人的尺寸。考虑到本设计驱动器的负载较低, 同时需要调节的速度范围较小, 因此选用舵机驱动为机器人提供动力。

为了简化控制系统设计并尽可能提高控制系统的可靠性, 本设计采用MG995全金属齿轮舵机做为驱动电机, 其主要技术指标如表2所示。

驱动器与运动机构最简单的连接方法是将舵机与各关节同轴直接相连, 虽然采用此种连接方式会减弱整个腿部的机动性, 但是本研究机器人只有8自由度, 结构相对简单, 采用舵机支架直接连接的方式是可行的。舵机支架采用铝合金 (LY12) 钣金材料, 舵机关节受力为双弯曲受力, 校核公式如下式:

本研究的机器人舵机支架宽度b=26 mm, 厚度h=1.5 mm, 最大力矩L=300 N·mm, 铝合金材料抗弯强度为30 MPa, 通过式 (1) 校核计算可以得出上述尺寸设计是合理的。

3.2 控制系统的设计

利用Arduino单片机编写语音识别模块、语音发声模块、指纹识别模块, 舵机控制模块的控制程序。

机器人共有8个舵机, 主要用于驱动各处关节的运动, 同时采用Arduino单片机控制各个舵机的运动。由于Arduino单片机I/O接口较少, 单独使用时只能控制两个舵机, 不能满足设计要求。因此采用16路舵机控制器与Arduino单片机配合使用控制8个舵机。

舵机控制器需要两个电源:舵机电源和芯片电源。由于舵机的功率比较大, 当两者公用一个电源时, 可能会因为发热量过大烧坏芯片, 所以使用两个外接电源分别为舵机和芯片提供电源。控制器与Arduino的配合连接比较简单, 只需要将Arduino的TX引脚与控制器的RX引脚相连接, 共接二者的GND就可以实现对多个舵机的控制。

语音识别部分采用语音识别芯片LD3320实现;采用芯片WP588D实现语音发声功能。

本机器人运动的实现是通过协调各个舵机的先后运动顺序来完成的, 舵机的程序控制部分如下:

4 三维实体模型建立

利用三维建模软件Unigraphics建立了双足步行机器人的实体模型, 其模型如图2。

5 运动步态的调试与分析

5.1 运动步态的设计

双足机器人运动步态设计的难点在于如何使其在行走过程中保证自身的平稳性。目前世界上大多数双足机器人都采用ZMP作为稳定行走的判定依据。当双足机构处于动态平衡时, ZMP和脚底所受地面反力的压力中心是重合的。因此可以通过检测到的地面反力信息, 计算出Co P, 利用控制策略不断调整ZMP和Co P的位置直至两者重合, 最终实现机器人的稳定行走[4,5]。

在步态设计时, 不仅要考虑到机器人的稳定行走, 也要考虑各动作之间的协调性。传统的保证协调性的编写方法是采用滚动条的方法, 但是这种方法效率较低, 不适合在本研究中使用, 所以需要编写更加有效率的运动文件。在研究本机器人的动作平台中, 由于每台机器人的初始位置所对应的动作数据不同, 因而, 即使机器人的动作表达式一样, 他们所对应的数据也不尽相同。比如, 机器人实际动作时的舵机角度值A, 初始位置角度值H, 机器人进行动作时舵机转动角度R之间的关系如下式:

通过机器人运动中双腿各个部分角度R, H, A的计算, 编程逐步移动机器人。机器人立正动作的程序如下:

5.2 机器人行走步骤

初始状态:机器人保持立正的姿势, 如图3 (a) 。

第一步:右腿踝关节转动30°, 机器人身体向右倾斜, 使重心右移, 所有重量都集中到机器人的右腿上, 使机器人保持平衡, 如图3 (b) 。

第二步:髋关节和膝关节转动, 左腿向前踢出, 同时右臂向前摆, 由拉绳拉动肘部弯曲, 小臂基本水平。左臂向后摆动, 如图3 (c) 。

第三步:右腿踝关节回转30°, 左脚着地, 重心回到两腿之间, 如图3 (d) 。

第四步:左腿踝关节转动30°, 机器人身体向左倾斜, 使重心左移, 所有重量都集中到机器人的左腿上, 使机器人保持平衡, 如图3 (e) 。

第五步:左右腿的髋关节和膝关节同时转动, 右腿向前踢出, 同时左臂向前摆, 由拉绳拉动肘部弯曲, 使小臂基本水平。右臂向后摆动, 如图3 (f) 。

如此循环往复, 机器人便可向前运动。

6 结论

完成了双足机器人教师本体的结构设计, 共8个自由度, 包括上肢2个自由度和下肢6个自由度。利用Arduino单片机通过舵机控制器实现了对8个舵机的控制, 并对其进行步态规划, 最终实现前进、后退、左右转等动作。同时, 在完成类人行走的基础上, 增加了语音识别、语音发声、指纹识别的功能使其能够有效地用于讲解机器人的结构和驱动的抽象知识, 实现了课堂的互动。

参考文献

[1]周华平, 冯金光.仿人步行机器人机构设计[J].电测与仪表, 2005, 42 (2) :9-12.

[2]梁静强, 许瑛.双足步行机器人的结构及其控制系统设计[J].机械工程师, 2007 (3) :47-49.

[3]曾强, 方跃法.双足步行机器人整体协调运动规划[J].机械, 2007 (2) :53-59.

[4]Comb G M, Predko M.机器人设计与实现[M].北京:北京科学出版社, 2008.

双足机器人 篇7

关键词:Arduino,类人,多自由度,驱动与控制

对于双足类人机器人控制的研究一直是近些年机器人研究的热点问题。能否精确地执行预设动作,是评价机器人性能的指标之一,而本科生可接触到的传统中小型机器人上,所运用的主控以传统单片机为主,原理是利用定时器和中断的方式来实现对舵机的控制,在舵机数量较少时表现尚可,而在竞赛中所用到的类人舞蹈机器人、类人竞技机器人等上面,往往需要十几个自由度甚至更多,以达到使机器人更加灵活的目的, 这样的情况下传统单片机控制起来就没有那么方便了,尤其在要求机器人进行复杂动作,多个舵机同时驱动时,单片机不但精度难以保证,在编程方面也相当复杂。因此本文结合作者的比赛经验,介绍时下较为流行的开源Arduino,来实现对双足类人机器人的控制。

1 Arduino简介

Arduino是可编程的,使用功能强大的AVR微控制器,标准板拥有20个I/O引脚(Arduino的变体拥有更多的I/O引脚),并且很便宜。主Arduino使用标准的USB数据线连接到计算机, 不仅提供到PC的串行连接,还包括所需的5V电源。其最大的优势在于它秉承开源硬件的思想,程序开发接口免费下载,也可依需自己修改。Arduino UNO的引脚如图1所示:

Arduino的硬件是高度模块化的,在核心控制板的外围,有开关量输入输出模块、各种模拟量传感器输入模块、总线类传感器的输入模块,还有网络通信模块,只要在核心控制板上增加网络控制模块,就可以容易地与互联网连接。Arduino还提供了自己的开发环境Arduino IDE,支持Windows、Linux、Mac OS等主流操作系统。Arduino系统是基于单片机开发的,并且大量应用通用和标准的电子元器件,包括硬件和软件在内的整个设计,代码均采用开源方式发布,因此采购的成本较低,在各种电子制作竞赛、电子艺术品创意设计等越来越多地使用Ardui-no作为开发平台。

2主控的选择

在“华北五省机器人大赛”前,作者对市面上在售的控制系统进行了数据收集与对比,对控制精度及扩展宽容度等多方面参数进行对比,并对其他参赛队伍所选用的主控实际测试后, 选择了Arduino UNO R3的一个变体版Manshow-RC1,后者集成了Arduino UNO R3及24通道的Soft Servo舵机控制系统,其优点在于:集成度更高,极大减小了主控安装于机器人上所占用的空间,一定程度上减小了机器人的自重;拥有24路舵机控制通道,满足了比赛中对机器人灵活度的要求;集成软启动功能,众所周知,PWM类型的舵机其初始位置往往是未知的。传统的启动模式将使舵机以全速运行到目标位置,在很多机器人应用中是非常忌讳的。软启动模式在初始位置未知的情况下可将舵机缓速运行到目标位置,但在短时间内需要较大的电流(当需要控制多个舵机时,可采用分时启动的方式缓解)。

在决定使用Arduino之前,作者也曾试验过比较熟悉的51单片机在机器人控制上的效果,结果发现除了在对多个舵机的控制方面表现不足外,在代码编写方面,传统单片机也不及Ar-duino方便,因为Arduino的编译环境对AVR-GCC库实现了二次封装,使用者即使对C等编译语言不是很熟悉,没有很多单片机基础,进行简单学习后也能很快上手,大大缩短了开发周期,节约了开发成本。并且由于开源的环境,可以根据自己的需求到Arduino论坛上下载已有的代码,然后进行修改,其中包括传感器等模块的库文件及测试程序。以下为作者参赛时所用双足类人舞蹈机器上程序的一段截取:

大括号内的48个数字,分别对应24个舵机的预设位置(0-180°)和运转时的速度(1-250)。由于已经有现成的库文件可以使用,只需简单配置寄存器即可,由此可见与传统单片机相比,Arduino在开发周期上极大地缩短,并且减少了代码占用空间,让使用者省去了扩展内存的麻烦,为增加扩展模块带来便利。

3 PWM类型的舵机控制器性能评价

1)PWM类型的舵机,其PWM有效宽度并非完全一致,考虑到兼容性问题,PWM有效宽度必须可设定。

2)对于标准的PWM类型舵机,PWM信号周期通常建议为20ms,但对于数字舵机,可允许更高频率的信号输入,当应用系统要求舵机具有更高的响应速度时,可缩短PWM信号的周期。因此,PWM信号的周期可人为设定,也是很有必要的。

3)有些时候我们希望所有的PWM信号同时输出,并且信号间的耦合性控制在肉眼难以察觉的程度。

4)在一些动态的应用系统中,尤其是人形机器人,我们希望在任意时刻每个通道的位置和速度均可单独控制,因为机器人的动态平衡是依靠惯性力实现的。

5)绝大多数的舵机控制器均将舵机的动作代码固化在EE-PROM或Flash ROM中,或许这样操作起来很简单。我们认为, 一个机器人系统,需要结合搭载的传感器与智能控制算法,动态生成舵机的动作代码。此外,关于通讯接口的简易性、实时性和稳定性也是非常的关键。

6)为了更好地保护舵机,必须能够在任意时刻停止PWM信号的输出。在使用过程中经常会发现一个现象:舵机毁于冲击力,原则上,当存在异常的冲击力时,应当停止信号的输出。 例如:机器人处于跌落状态(可由加速度传感器检测),倘若提前停止PWM信号的输出,使舵机进入惰行或制动状态,便可避免刚性冲击。

4传感器的使用

针对不同应用情境或比赛项目的不同,机器人可视情况加载合适的传感器,以达到适应外界环境和精确控制的目的。比如擂台对抗机器人,为了防止掉下擂台,往往加载灰度传感器检测擂台边缘的色带;舞蹈机器人可增加加速度传感器,用以检测机器人的意外跌落,因为对于舵机,跌落后的意外卡死往往是致命的。

5一些主流的控制方式

如若没有特殊要求的情况下,可以给机器人增设遥控,通过一组红外传感器来控制机器人,在遥控器上对于每个按下的按钮都发送一个特定的红外线编码,可以在Arduino上使用IR接收集成电路读取红外线编码,这样使用者可以更及时的调整机器人的姿态。

语音控制也是一种不错的选择,预先将一些指令录入主控当中,具体操作时,语音模块对使用者的指令进行识别,然后调动舵机或其他模块进行相应动作。

谈到了声控就不得不提及光控,虽然此种控制方式对环境要求较高,但倘若使用好了也会给人耳目一新的感觉,比如舞蹈机器人,结合特定舞台灯光的指令后可以更好地进行姿态调整。

为了实时监控机器人的动态参数,也可以选择上位机控制机器人,可以自主编写上位机软件或网上下载现成的软件使用。上位机控制方式分为有线和无线两种。

蓝牙模块、语音模块以及光传感器等在网上商城均有销售,买时需注意是否与Arduino兼容。

6结束语

双足类人机器人运动灵活,因与人类相似,可以在众多领域得到应用。本文对基于Arduino主控的机器人的控制进行了简述,结合作者的参赛经历,从主控的选择、外设扩展以及其他主流控制方式三方面给予建议。经过验证,Arduino在中小型机器人的设计制造上确实有很多传统单片机没有的优势。

参考文献

[1]John-David Warren,Josh Adams,Harald Molle.Arduino Robot-ics[M].Apress,2011.

[2]陈吕洲.Arduino程序设计基础[M].北京:北京航空航天大学出版社,2015.

[3]蔡睿妍.基于Arduino的舵机控制系统设计[J].电脑知识与技术,2012,5(15).

双足机器人 篇8

近年来,仿人机器人一直是自动控制领域研究的热点。在模仿人类进行迈步行走时,由于仿人机器人的重心经常要处于中心线以外的区域,使得它的身体很难保持站姿平衡,能够稳定地实现双足行走是仿人机器人研究的重点也是难点[1,2]。人类需要大脑和肢体的相互配合来协调动作,机器人需要的则是运动控制器和驱动装置的强大支持,尤其是运动控制器,需要有高效率的芯片为基础,才能最迅速地采集数据、完成计算和发送指令。在本次设计中机器人关节使用的是大功率三相无刷直流电机,控制器采用TMS320F2812芯片,它是TI公司推出的一款针对控制领域做优化配置的数字信号处理器,器件上集成了多种先进的外设,为电机高速度和高精度控制提供了良好的平台。

1 系统概述

双足机器人每条腿设有5个自由度,这样既可以实现基本的步行功能,又尽可能的简化了控制变量[3],系统整体结构如图1所示,L1~L5分别对应左腿髋侧向、髋前向、膝前向、踝前向、踝侧向关节电机,R1~R5对应右腿。考虑到成本因素和驱动性能,选用Maxon的EC-max系列三相无刷直流电机来驱动关节活动[4],其中1号和5号电机选用EC-max35型,其他均为EC-max30型。受安装空间所限,每条腿的运动控制器都为独立的个体[5],各运动控制器通过主控计算机进行协调控制并可基于运动指令单独完成动作,类似于人类反射弧的原理,减轻主控计算机的工作量,加快反应速度,主控计算机和运动控制器之间通过CAN总线来传递数据。

机器人双足步行时,主控计算机根据运动周期向底层运动控制器发送运行和停止等指令,完成对行走状态的监控和数据运算。单个运动控制器由DSP处理和电机控制两部分组成:DSP处理电路负责与主控计算机和传感器之间交换各类信息、分析接收到的数据并运算输出相应关节电机的控制信号;电机控制电路根据控制信号驱动相应的电机动作,达到要求的速度和角度,并对光电编码器信号进行处理,将执行结果反馈给DSP形成闭环控制,保证执行的精度。

数据处理器选用的是TMS320F2812,它拥有基于C/C++高效32位DSP内核,提高了运算的精度;时钟频率高达150 MHz,增强了系统的处理能力;集成了128 KB的FLASH存储器、4 KB的引导ROM、数学运算表以及2 KB的OTP ROM,改善了芯片应用的灵活性;两个事件管理器模块为电机及功率变换控制提供了良好的控制功能;16通道高性能12位ADC单元提供了两个采样保持电路,可以实现双通道信号同步采样,适合整个运动控制器的开发需求,其代码和指令与F24x系列完全兼容,更是保证了项目开发和产品设计的可延续性[6]。

2 电机调速原理

系统用PWM波形给出无刷直流电机的转速信息,即利用电路一周期内的占空比变化,达到平均电压值的改变,以对应电机不同的速度值。

在TMS320F2812中可以通过配置定时周期寄存器的周期值和比较单元的比较值来产生PWM[7],周期值用于产生PWM波的频率,比较值用于产生PWM波的脉宽,改变比较值可以改变PWM波的占空比,改变周期值可以改变PWM波的频率[8]。以事件管理器A为例,单路PWM信号的产生过程如下:

定时器1作为产生PWM信号的时基,通过控制寄存器T1CON和周期寄存器T1PR设置时钟周期,通过寄存器COMCONA设置比较单元的各个参数,产生出三角波信号,在寄存器CMPR1和ACTRA中分别设置比较值和比较输出方式,设定的比较值实时与三角波信号比较,得到相应占空比的PWM信号。将定时器计数器T1CNT设置为连续增计数方式时,产生非对称PWM波形,设定为连续增减计数方式时,可以得到对称的PWM波形[9]。

图2所示是对称PWM波形产生的原理:若PWM输出为高电平有效,则当三角波的当前值小于比较值时输出为低电平,当三角波的当前值大于比较值时输出为高电平;低电平有效时,则反之。

如果在寄存器DBTCONx中设置了死区时间值,则相应事件管理器所有PWM输出通道使用同一个死区值。由于加入了死区,PWM波高电平脉冲的宽度减少了一个死区时间,但是周期没有变化,所以高有效和低有效的PWM波形的占空比可分别用式(1)和(2)来计算。

d=ΡWΜ=--(1)

d=ΡWΜ=-(2)

通过调节占空比,可以调节输出电压,用这种无级连续调节的输出电压可以给出速度信息,因此可以通过调整PWM信号有效电平的宽度达到控制转速的目的。

3 硬件设计

整个硬件电路包括DSP芯片TMS320F2812、电源、JTAG仿真接口、通讯、RAM、PWM、A/D、I/O扩展、备用端口、电机驱动和光电信号处理等模块,其控制系统结构如图3所示。

双足机器人总电源采用24 V直流电源,为了满足DSP及外围电路的需要,需将电源转换成5 V,3.3 V和1.8 V。首先使用DC-DC变换器将24 V转换成5 V,再选用TPS767D318电源转换芯片将5 V转换成1.8 V和3.3 V。该芯片专门针对DSP设备提供稳压电源,为双电源输出,每路电源的最大输出电流为1 A,此外该芯片的电压漂移非常低,在最大输出电流为1 A的情况下为350 mV,每路输出还有过热保护、复位和监控输出电压等功能,能满足系统对电源性能的要求。

系统特别留有JTAG接口电路,使控制器可以通过TDS510仿真器连接到计算机,其仿真信号采用JTAG标准IEEE1149.1,使用双列14脚的插座,并将DSP上的EMU0和EMU1上拉连接至VCC[10]。

TMS320F2812自身集成CAN总线的控制模块,所以在外围电路中加入CAN总线收发器SN65HVD251D即可实现DSP与CAN总线的通信功能。为了确保在CAN总线传输信号的完整性,设计时在CAN总线的两根传输线之间加上150 Ω的电阻进行阻抗匹配,可以提高CAN总线传输信号的精度。

利用XINTF的区域0和区域1扩展一块存储容量为(64K×16)b的RAM存储器IS61LV6416-10T。其数据存取时间为10 ns,能满足高速运行的需要,工作电压为3.3 V,与DSP工作电压一致,无需电平转换电路。

此外,DSP控制系统中的I/O端口电压绝大部分为3.3 V,而外部信号一般为5 V,因此需要将外部5 V信号转换为符合DSP芯片要求的3.3 V信号,系统使用总线驱动器74LVX4245进行电平转换。

电机驱动电路采用全桥驱动三相无刷直流电机的控制方式,由于要独立控制5个电机,系统需按照前面的原理由DSP事件管理器生成PWM,并用其波形占空比给出转速信息,该信息结合转向、制动等信号通过控制电路转换后进行电机的调速,这里使用三相无刷直流电机控制器MC33035。驱动电机时,MC33035的输出信号施加到三相桥功率电路MPM3003上,决定功率开关器件开关频度及换流器换相时机,使其产生出供电机正常运行所需的三相方波,根据速度电压MC33035可改变底部半桥输出脉冲宽度,相当于改变供给绕组的平均电压,从而控制转速。

4 软件设计

运动控制系统软件设计的关键是接收到主控计算机传来的运动控制指令后,电机是否能够达到要求的速度和角度,考虑到整个系统运行过程中不可避免的误差,特别引入补偿算法,实现速度和位置双闭环PID控制,其具体的控制流程如图4所示。

主控计算机根据步态规划的数据,发出运动指令,生成下一个运动周期各个电机的转动方向和角度等控制参数,运动控制器接收到新的数据之后,PWM控制根据数据计算出占空比信息并生成相应的PWM波,进而控制电机转动,随后将电机光电编码器传送回的信号转换成关节位置和速度等信息,补偿控制针对速度和位置误差采用PID算法进行调节,计算需要的执行量,调整PWM波形,在每一个运动周期内使电机达到指定的速度,并使运动中的关节电机能够克服机器人重力和外力的影响,保持在设定的角度。图5是CCS仿真调试时,程序运行后在指定的摆动角度下监控到的单关节电机速度跟踪曲线,其响应时间和稳定性基本满足双足步行的要求。

5 结 语

介绍了一种基于DSP的无刷直流电机运动控制系统,在控制方案的具体实现过程中,根据机器人腿部系统的自身特点,将控制器围绕DSP处理和电机控制电路来分别设计,这样既方便设计和调试,又增强了系统的灵活性和扩展性。电机驱动采用速度和位置双闭环控制,保证运转精度。经测试,系统基本满足运动控制的要求,为双足步行规划提供了试验平台。

摘要:在仿人机器人研究领域,双足步行控制一直是其难点。主要介绍基于TI的DSP芯片TMS320F2812设计双足机器人的基本运动控制系统,围绕机器人腿部无刷直流电机的驱动进行优化设计。系统采用PWM进行电机调速,辅助以补偿参数,通过步态指令,验证电机运转的精确性、稳定性和系统的可操作性。电机调试为CCS仿真、步态规划和独立行走提供试验平台,使机器人能够实现步行功能。

关键词:双足机器人,运动控制,无刷直流电机,DSP

参考文献

[1]包志军,马培荪,姜山,等.从两足机器人到仿人型机器人的研究历史及其问题[J].机器人,1999,21(4):312-320.

[2]FUKUDA T,MICHELINI R,POTKONUAK V,et al.How far away is"Artificial Man"[J].IEEE Robotics&Automation Magazine,2001:66-73.

[3]李允明.国外仿人机器人发展概况[J].机器人,2005,27(6):561-567.

[4]Brigitte Michel.火星上的探测车——有Maxon电动机的地方就有一条道路[J].现代制造,2006(26):52-53.

[5]陈健,雷旭升,苏剑波.基于智能体的仿人机器人分层控制系统[J].高技术通讯,2007,17(6):586-590.

[6]谷海涛,颜湘武,于世涛.新型电机控制芯片TMS320F2812[J].微电机,2005,38(2):53-56.

[7]杨真,闫英敏.TMS320C2812型DSP在无刷直流电动机控制中的应用[J].国外电子元器件,2006(4):55-57.

[8]万山明.TMS320F281xDSP原理及应用实例[M].北京:北京航空航天大学出版社,2007.

[9]孙立志.PWM与数字化电动机控制技术应用[M].北京:中国电力出版社,2008.

双足机器人 篇9

双足机器人之所以引人注目是因为它用双腿行走,可以在和人类一样的环境中工作,与轮式或者履带式机器人相比,双足机器人对地面有更好的适应能力。另外,可以通过改变腿部结构来达到跨越不同的障碍物的目的,这在轮式和履带式机器人上是不可能实现的。另外,双足步行机器人的研究可以推动仿生学、人工智能、计算机图形学、通讯等相关学科发展,因此双足机器人的研究具有十分重大的价值和意义[1,2]。在实际应用中,双足机器人可用于有放射性、危险及其它对人体有害的环境中取代人类劳动,或把人类从高强度、长时间及单调乏味的工作中解脱出来,具有广阔的应用前景[3]。

1 单腿正逆向运动学模型的建立

双足机器人为复杂的多连杆机构,考虑到前向平面和侧向平面内的运动具有较小的耦合性,通常在分析双足机器人的机构模型时,将前向和侧向机构分开来建模[4]。在步行中,前向运动模型复杂而且最具有机器人行走的特性,在此只分析双足机器人的前向模型。由于机器人在每个行走的周期中都是左右腿的移动交替进行,单腿稳定运行是双腿顺利行走的基础,因此主要研究双足机器人的单腿的运动问题,此时可视腰部为静止,双足机器人的单腿杆件图如图1所示。

1—腰部;2—大腿;3—小腿

1.1 正向运动学模型

设θ=90-q1,机器人坐标系的z轴垂直于纸面,则其相邻坐标系的变换矩阵为

由式(3)可知机器人单腿的末端位置为

1.2 逆向运动学模型

由单腿的末端位置式(4)和式(5)可求得关节转角为

2 仿真分析

应用计算机仿真技术可快速、准确地对机器人运动系统进行分析,可以有效地预见系统的输出,了解系统的工作状态,提高在设计和分析系统时的效率。系统的仿真是利用Matlab软件进行的,依据Simulink和SimMechanics两种仿真模型来分析腿部的参数对其运动性能的影响。

2.1 基于Simulink模型仿真

根据运动学模型表达式,机构的运动学仿真模型可以很容易地根据Simulink模块库来建立。双足机器人腿部运动的相关参数如表1所示。根据上述运动学模型,在Matlab中利用Simulink模块库建立腿部的仿真模型如图2所示,另一条腿的机构模型可仿照此步骤进行,在此不在赘叙。通过仿真可以得到机器人跟踪给定直线输入的末端轨迹和机器人的关节转角曲线,如图3、图4所示。

从仿真结果可以得知,机器人腿部能够实现预期的位置和相应的转角要求。

2.2 基于SimMechanics仿真

SimMechanics工具箱为用户提供了刚体、关节、约束及驱动等机构模块,可以对常用的刚性传动系统进行仿真分析。在实际的建模过程中,可以从SimMechanics里找到建模所需的所有模块,将它们以刚体-接头-刚体-接头-刚体的方式组合在一起,再加上必要的驱动、检测模块或辅助模块,即完成系统的建模工作。使用SimMechanics作运动学仿真,不需要推导传动机构的运动学模型,可以直接利用工具箱中的模块构成仿真模型,它的优点是直观,可以以动画的方式形象地描述机器人机构的运动过程[5,6]。机器人的SimMechanics仿真程序图5所示。图6是机器人机构仿真结果,图中圆圈分别表示大腿和小腿质心,SimMechanics仿真程序得到的机器人末端的作业空间如图7所示。

从SimMechanics仿真结果同样可以看出机器人可以在预定的参数下运动,通过改变一些参数可以达到腿部机构优化设计的目的。

3 结论

通过建立双足机器人腿部运动学模型并通过Simulink和SimMechanics两种仿真模型进行分析可知腿部的结构参数能够实现预定的运动规律,通过控制输入可以对机构的参数进行优化,有利于机器人机械机构的设计和控制方案的改进,也为后面机器人样机的研制和实际控制提供了理论依据。

摘要:双足机器人有良好的地面适应能力,它可以通过改变腿部结构来达到跨越不同的障碍物,具有广阔的应用前景。针对双足机器人结构复杂,运动控制困难的特点,研究了其单腿的运动学模型并利用Matlab中的Simulink和SimMechanics工具箱建立了单腿的可参数化的仿真模型。对腿部的运动情况和控制输入输出进行仿真,仿真结果表明腿部的结构参数能够实现预定的运动。为双足机器人腿部参数的优化和样机的研制提供了理论依据。

关键词:双足机器人,运动学,仿真

参考文献

[1]槐创锋,方跃法.连杆双足机器人建模控制系统仿真.系统仿真学报,2008;20(20):5682—5683

[2]李向攀,韩建海,赵书尚.步态康复训练机器人行走步态仿真研究.机床与液压,2009;37(1):154—155

[3]胡洪志,马宏绪.一种双足步行机器人的步态规划方法.机器人技术与应用,2002;(3):16—17

[4]俞志伟,王立权,韩金华.双足机器人行走稳定性研究.哈尔滨工程大学学报,2009;30(11):35—36

[5]时黎霞.基于SimMechanics的一种六杆机构运动学仿真.长春理工大学学报,2007;30(4):50—51

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【双足机器人】相关文章:

双足步行机器人相关翻译04-27

机器人心得04-24

团队机器人04-27

机器人设计06-27

机器人比赛08-04

变形机器人05-19

情感机器人05-19

足球机器人05-22

涂装机器人05-26

仿生机器人06-11

上一篇:三规下一篇:VB通信