您的位置:首页 >> 新闻中心 >> 机器人新闻

机器人新闻

  • NAO机器人的舞步程序设计

  • 0 引言

    伴随着自动化技术的进步,机器人正越来越多的走进人们的生活。对机器人的研究成为各大高校、研究机构关注的焦点。人形机器人以其类人的结构,控制复杂,应用广泛,代表机器人技术的前沿,受到各国的高度重视。2005 年,一家叫 Aldebaran Robotic 公司的公司成立,开始了机器人的研发工作。几年后,该公司第一代具 25 个自由度,集多种功能于一身 , 外形小巧可爱的人形机器人问世,被起名为 Nao。2010 年,20 个 NAO 在上海世博会的法国馆和巴黎大区馆的舞台上亮相,并进行了精彩的舞蹈表演,成为近一千万参观者注意的焦点。这个 Nao 机器人身高只有 0.58m,体重 4.3kg,动作流畅、灵活。内部使用了惯性导航仪技术,使机器人在移动时既能保持平衡,又能完成空间上的定位。超声传感器可以帮助它探测障碍物,并将信号传回中央处理器,改变行动规划。此外,它还具有声音合成、图像采集等功能,并可以通过分布与各处的发光二极管来营造视觉效果或信息提示与互动。在通用性方面,它支持 Windows、Mac OS、Linux 等主流操作系统,使编程变得更容易。NAO 机器人形象如图 1 所示。

    图 1 法国 Aldebaran Robotic 公司的 Nao 机器人

    1 NAO 机器人本体结构

    NAO 机器人高 58 厘米、重 5 公斤,一经问世就引起各界的关注。由于价格的原因 NAO 机器人并未在中国被大数家庭所接受,但已在教育界有一定的应用,在国外已在 70 多个国家里成为机器人研究的主要平台。NAO 机器人的本体结构如下图 2,机械结构解剖图如图 3。

    图 2 NAO 机器人本体结构图

    (1)机体规格与材料 :身高约 58cm,重约 4.3kg,机体材料为工程塑料。

    (2)充电器为 AC90-230V/DC24V,电池能量持续时间约90min。

    (3)具有 25 个自由度(DOF):其中头部 2 个 DOF,手臂 5个 DOF(每只手臂),胯部 1 个 DOF,腿部 5 个 DOF(每条腿),手部 1 个 DOF ;有三个手爪(每只手)。

    (4)2 个扬声器,4 个扩音器,2 个 CMOS 数码摄像头,8 个脚底压力传感器(每只脚各四个),1 个双轴陀螺仪、1个三轴加速器,2 个碰撞器(每只脚各一个)、双通道超声波传感器,2 个红外传感器,9 个触觉传感器。

    (5)Network access 连接类型为 Wi-fi(IEEE 802.1 1g),以太网,通过胸前的按钮可以获得机器人的无限网络地址。

    (6)致动器基于霍尔效果传感器(32 个)、dsPICS 微控制器和 MAXON 空芯杯直流电机。

    (7)控制器主板采用 1.6 GHz Intel Atom ;RAM:1GB/闪存 :2GB。

    (8)操作系统 :嵌入式 Linux(32bit x86 ELF), 使用OpenEmbedded 基础上加以适当调整的发行套件,编程语言 :Choregraphe,C++,URBI,Python。

    (9)随机配备 Bluetooth ;学术(科研)版。

    (10)基础功能 :拥有人脸识别能力、动态图像追踪能力、中文英文语言识别能力、传感器的数据采集功能、电机运动控制功能。

    NAO 机器人具有 25 个自由度。它的下肢关节具有 12 个自由度,例如髋、膝、踝关节分别为 3、1、2 个自由度,并且左右对称 。

    图 3 NAO 机器人机械结构解剖图

    2 NAO 机器人步态规划设计

    AO 机器人是人型机器人,它的运动是仿人的行走,关键在于步态的控制。所谓步态,就是指机器人行走移动脚步的某种方式。对机器人步态的规划,是从研究人的行走开始,也可以算是仿生学的一种应用。如果按着机器人关节的运动生成的方式来划分,大致可以分成三大类别 :(1)参考轨迹法 ;(2)自然动力学法 ;(3)强制学习法。这三种方式中,又以参考轨迹法研究最多,是一种步态综合方法。参考轨迹法又可分为 3 类 :(1)人类步行数据法 ;(2)中枢模式发生器法 ;(3)动力学模型法。下面加以说明 :

    (1)人类步行数据法

    这种方法是靠传感器采取人行走时的轨迹数据,经过相应的转换,得到各关节的角轨迹和机器人的姿态、加速度等。采集到的人的行走的数据需要处理,主要的处理方法有二种:

     对人类步行数据的分析和简化后用初等数学函数描述步态,形成参数化步态(如以步长,抬脚高度等作为参数),改变这些参数就得到不同的步态

     对人类步行数据进行运动元分析,常用的基本运动元包括站立、下蹲、迈步等。每一种运动元包括一些参数,把人类运动数据经过分析划为这些运动元的序列后,就得到参数化步态

    通过以上的方法借助于图像处理来进行步规是比较有发展前途的。这种方法是用录像采集人类步行影像,把转换的数据直接对应到机器人的各个关节,从而实现规划。

    (2)中枢模式发生器法

    Central Pattern Generator,简称 CPG,即中枢模式发生器法,在人形机器人的神经网络控制系统中,中枢模式发生器是由非常多的节律振动神经元(RON)组成的, 它是从动物的神经网络的工作原理入手解决步态生成的问题。

    (3)动力学模型法

    所谓动力学模型法首先要建立人形机器人的简化的动力学的模型,通常的做法是把质心约束在一个与地面相平行的平面里,在该约束条件下根据预先给出的 ZMP 轨迹,通过求解解耦二阶微分方程式得到质心的轨迹,最后再利用逆运动学的求解方法得到有关关节角的参考轨迹 。经常用到的动力学模型包括:① 平面倒摆模型 ② 三维线性倒摆模型 ③ 基于 ZMP 的集中质量模型 ④ 考虑重力补偿的倒摆模型,如图 4 所示。

    图 4 常用动力学模型

    Nishiwaki 提出的 ZMP 与 COG 动态关系的集中质量模型,如图 4(c)所示。该模型可表述为 :

    其中:m为机器人的总质量; g = [0 0 g]为重力加速度; f = [fx fy fz] 为机器人所受外力 ; P = [Xg Yg Zg] 为机器人重心(COG), Pz = [Xz Yz Zz]为ZMP,ZZ是地面高度。

    将(1)写成分量形式得到 :


    其中 ωg=√(Zg+g)/(Zg-Zz),该 COG 运动的轨迹实际是一个依靠 ZMP 的闭型解。

    3 NAO 机器人向前行走过程分析

    按照动力学模型法对机器人的向前行走进行规划,一般是把人形机器人的腰部关节约束在与地面相平行的平面里进行运动,可以用如图 5 所示的简图示意在平整地面上的机器人向前行走运动。

    图 5 人形机器人平整地面行走的过程简图

    一般情况下我们认为人形机器人的行走是循环的动作,可以看成是有周期的。一个行走周期由二部分组成,第一部分是人形机器人迈步期,第二部分是人形机器人站立期。第一部分和第二部分交替出现,形成闭链或开链结构。初始状态、步行参数、终止状态等特征对人行机器人行走过程影响较大,对人形机器人行走的步态进行规划应按以下三个阶段

    1) 起步阶段

    首先是人型机器人两腿对身体支撑站立,在站姿状态下,机器人两足与地面完全接触保持受力。起步后,人型机器人向侧向摆动,一腿加速,以另一腿为支撑,摆动腿离地,向前运动至重新落地,该阶段结束。

    2) 周期行走阶段

    这一阶段与上一阶段相衔接,从摆动腿落地开始,摆动腿完全落地后,转换支撑腿,原来的运动腿转换为支撑腿,支撑腿转换为运动腿,抬起到离地状态,向前摆动,重复上一过程,至摆动腿完全着地后,该过程结束。

    3) 收步阶段

    这一阶段为人形机器人行走结束阶段,人形机器人上体按惯性继续向前移动,摆动腿落地后与支撑腿交换重心,支撑腿转换为摆动腿,向前摆动出半步,与支撑腿保持平齐后落地,在摆动腿落地后实现人形机器人侧向减速和向前减速。人形机器人双腿微曲状态站立停止,完成行走。

    相对于从前直接对人形机器人的完整步长进行规划(将第一个阶段和第三个阶段看作是第二个阶段的特殊情况),将人形机器人行走过程分为上表中的三段,主要优点如表 4所示。


    1) 跟实际步行过程情况更为吻合 实际步行过程就是从起步开始,到达目标点后收步

    2) 对不同状态下的步态运用不同的规划策略具有实际意义。 三个阶段的初始状态、指标要求、目标状态、步行参数等条件不同

    3) 实现周期行走阶段初始状态的要求 合理规划起步阶段,排除了对周期行走阶段进行步态规划时初始条件选择面临的可行性和合理性问题

    人形机器人在规划中要模仿人类的动作包括 :跳跃、转弯、跑步、前向步行、后向步行、侧向行走等。这些运动中,很多都动作都需要人形机器人屈膝向下,为了保持合理的姿态,屈膝向下做为准备动作必不可少。前向行走是现在最常见的运动规划研究对象。

    图 6 舞步运动程序设计流程图

    4 NAO 机器人舞步运动程序设计

    根据 NAO 机器人的特点,我们可以为 NAO 机器人编写舞步运动程序,这比行走又难了一些,首先编写流程图如图 6。NAO 机器人将它的运动功能进行了集成,开发了相应的模块,这也使编程变得简化了许多,对于不复杂的程序不必从底层代码写起,可以采用 NAO 机器人所提供模块进行图形化编程,具体程序如图 7 所示。

    图 7 NAO 机器人舞步运动程序


客户服务热线

13602858842

在线客服