NAO是一个57厘米高的可编程仿人机器人。其关键组件如下:
· 拥有25个自由度(DOF)的身体,其关键部件为电机与致动器。
· 一系列传感器:2个摄像头、4个麦克风、1个超声波距离传感器、2个红外线发射器和接收器、1个惯性板、9个触觉传感器及8个压力传感器。
· 用于自我表达的器件:语音合成器、LED灯及2个高品质扬声器。
· 一个CPU(位于机器人头部),运行一个Linux内核,并支持ALDEBARAN公司自行研制的专有中间件(NAOqi)。
· 第二个CPU(位于机器人躯干内)。
· 一个55瓦时电池, 根据使用方式的不同,可为NAO提供1.5小时、甚至更长的自主时间。
应用程序建立在大量先进的复杂技术之上,如语音识别、物体识别、地图构建等。
应用程序必须安全可靠,而且能够利用有限的资源、在有限的环境中运行。
嵌入式软件NAOqi包含一个跨平台的分布式机器人框架,快速、安全、可靠,为开发人员提供了一个全面的基础,以提高、改进NAO的各项功能。
NAOqi使算法的API可供其它算法使用。通过该软件,用户还可选择将模块在NAO上运行或是在一台电脑上远程运行。
用户可在Windows、Mac或Linux系统下开发代码,并通过C++、Python、Urbi、.Net等多种语言进行调用。建立在该框架之上的模块提供丰富的API接口,以便与NAO互动。
NAOqi可满足一般机器人开发的需要:并行,资源,同步,事件。
正如在其它框架中一样,NAOqi中也包含通用层。这些通用层专为NAO设计。通过NAOqi,不同模块(如运动、音频、视频等)之间可协调沟通,还可实现齐次规划,并与ALMemory模块共享信息。
NAO行走使用的是一个简单动态模型(线性倒摆,LIPM)及二次规划 (Quadratic programming)。NAO使用关节传感器提供的反馈信息,来完成行走平衡。这样,既可提高机器人行走的鲁棒性,免受小的干扰,也可吸收躯干在前面 和侧面的振荡。此外,NAO还可在多种地面上行走,如地毯、瓷砖地、木质地板等,并可从一种地面自如地行走至另一种地面。
NAO的运动模型基于一个普遍的逆运动学(Generalized Inverse Kinematics),可处理笛卡尔和关节控制、平衡、冗余和任务优先级等。换言之,当要求NAO伸出手臂时,它会同时弯下躯干。这是因为它的手臂和腿 部关节都被考虑在内。而且NAO会停止移动,以保持平衡。
摔倒管理器(Fall Manager)可在机器人摔倒时起到保护作用。它的主要功能在于探测机器人的重心(CoM)是否超出支持多边形的范围。该支持多边形根据接触地面的双足 的位置来确定。当摔倒管理器探测到机器人要摔倒时,所有的运动任务都会被终止,机器人的双臂会根据情况处于自我保护的位置,而且机器人重心降低,电机的刚 度也会降为零。
NAO 采用两个高清摄像头,有效像素达920万,每秒30帧
其中一个摄像头位于机器人前额,拍摄其前方的水平画面。另一个位于嘴部,用于扫描周围环境。
通过视觉软件,您可再现NAO看到的图片及视频流。然而,如果人无法感知并分析周围的环境,就算眼睛能看到,那又有什么用呢?
正是出于这个原因,NAO身上包含了一系列算法,用于探测和识别不同的面部和物体形状。这样,机器人就可以认出和它说话的人、找到一个皮球或是更为复杂的物体。
这些算法均为NAO专门开发。而且,我们在开发过程中,始终力争将处理器资源的使用率降至最低。
此外,通过NAO的SDK,您可自行开发模块,并可连接至OpenCV(OpenCV:由英特尔公司最早开发的开源计算机视觉库)。
您可以在NAO上执行模块,或是将模块传送至与机器人连接的电脑上。这样,您就可以轻松地使用OpenCV的显示功能,来开发和测试自行设计的算法,并可获得图片反馈。
NAO拥有四个麦克风,可跟踪声源,还可使用七种语言进行语音识别和声音合成。
让机器人与人类互动是研制仿人机器人的主要目的之一。声源定位功能用于确定声音来自何方。为了生成鲁棒且有用的输出数据,同时满足CPU和内存方面的要求,NAO的声源定位功能基于“到达时间差”法(Time Difference of Arrival)。
换言之,当NAO附近的某个声源发出声音时,NAO身上的四个麦克风在接收声波的时间上会略有差异。
例如,当有人在NAO左侧说话时,相应的信号会首先到达机器人左侧的麦克风,几毫秒之后到达位于前额与脑后的麦克风,最后到达右侧的麦克风。
这种时间差名为“双耳时间差”(interaural time differences,简称ITD)。在这些时间差的基础上,通过数学运算可获得声源的当前位置。
这样,每当听到一个声音时,机器人就可借助4个麦克风测量到的ITD值,通过运算检索到声源的方向(方位角和仰角)。
该功能作为一个NAOqi模块供用户使用。模块名为“ALAudioSourceLocalization”,提供一个C++和Python的API接口,可准确地与某一Python脚本或NAO模块互动。
Choregraphe中也包含两个相关指令盒,帮助用户在某一行为中使用该功能:
可行的实际应用包括:
· 探测、跟踪并识别某个人
· 探测、跟踪并识别某个可发声物体
· 在某一特定方向的语音识别
· 在某一特定方向的说话者识别
· 远程安全监控
· 娱乐
音频信号处理
由于机器人上的嵌入式处理器计算能力有限,有时可将某些运算导出至远程桌面或服务器上完成。
这个方法尤其适用于处理音频信号。例如,在一个远程处理器上进行语音识别时,效率会更高(速度更快且更准确)。大部分现代智能手机就是以远程方式来处理语音识别。
用户可能会希望直接在机器人上应用自己的信号处理算法。
NAOqi框架使用“简单对象访问协议”(Simple Object Access Protocol,简称SOAP)来发送和接收网络音频信号。
使用ALSA库(Advanced Linux Sound Architecture)在NAO上生成和记录声音。
ALAudioDevice模块管理音频的输入和输出。
专业人员利用NAO的音频处理能力,可进行大量与人机互动及信息交流有关的实验和研究。
例如,NAO可用作一个交流器件。用户可以像是在和另一个人交谈一样,与机器人互动(如交谈、倾听等)。
信号处理自然也是一个很好的应用实例。用户可借助音频模块,实时获得来自麦克风的原始音频数据,然后使用自己的代码予以处理。
触觉传感器
除摄像头和麦克风外,NAO还配备了电容式传感器,分别位于头顶与手部。每处的传感器分为三部分。
由此,您就可以通过触摸向NAO发出讯息,例如,按下一次触摸传感器,告诉机器人自行关闭,或是使用该传感器来触发某一相关动作。
该系统与LED灯配套使用,可指示触摸类型。它还可用来编辑复杂序列。
超声波
NAO配备双通道超声波系统,包括两个发射器和两个接收器。
通过该系统,机器人可估计自身与周围环境中的障碍物之间的距离。探测范围介于0至70厘米之间。
当与障碍物的距离小于15厘米时,机器人不会获得具体的距离信息,而只是知道附近有一个物体。
连接
以太网与Wifi无线连接
NAO支持Wi-Fi无线连接(a、b、g标准)和以太网连接。这是目前使用最广泛 的两种网络连接方式。此外,NAO眼部还配备了红外线发射与接收器,可连接至周围环境中的物体上。NAO与IEE 802.11g Wi-Fi标准兼容,可用于WPA和WEP网络,因此可较为容易地连接至家庭或办公室网络上。NAO的操作系统支持以太网与Wi-Fi无线连接,因此,除 需要在无线连接时输入密码外,无需进行其它任何特别的设置。
NAO的网络连接能力为研究工作提供了多种可能性。您可通过联网的任何一台电脑来控制NAO或为其编程。
以下为NAO用户开发的若干应用实例:
· 根据IP地址,NAO可确定其当前的位置,正确报告天气预报;
· 让NAO寻找更多与某一主题有关的信息;NAO会自动连接至维基百科,并朗读相关词条;
· 将NAO连接至相应的音频流,机器人会转播某一在线电台的节目;
运用XMPP技术(如谷歌聊天系统使用的技术),用户可远程控制NAO,并获得由机器人的摄像头返回的视频流。
红外线技术
通过红外信号,不同的机器人NAO之间可相互交流。NAO还可与其它支持红外线技术的器件 交流。例如,用户可以让NAO向其它器件发送红外线信号,以控制这些器件(例如:“NAO,请打开电视!”)。此外,NAO也可接收如遥控器等红外线发射 器发出的指令。两个机器人NAO之间可直接交流。
红外线技术早已成为在家用电器上广泛使用的一项遥控技术。因此,NAO只需经过适当调整,即可适用于家庭使用。此外,NAO还可探测接收到的红外线信号来自其左侧,还是右侧。
近五年多以来,Aldebaran Robotics公司一直致力于开发机器人平台的嵌入式系统,希望与研究、开发人员以及参与仿人机器人新兴项目的人员共同分享跨平台构建工具、核心通信库和其它基本模块。
NAO用户可充分利用Aldebaran Robotics公司的丰富经验,将精力集中在开发创新的应用程序上。
此外,不断成长的NAO社团以强大的创新能力为特色,也可令用户受益匪浅。
机器人及其相关应用程序仍属新兴的研究领域。
如要共同探索未来的应用程序,就有必要在我们的用户社区内与其他成员不断沟通与交流。
NAO机器人的应用
NAO机器人凭借其开放的编程框架,应用广泛。
在科研领域,使用者将机器人应用于计算机科学、数学、物理、人工智能、机械自动化、通信工程、心理学、医疗等尖端研究。
在教育领域,教师将教学目的融入机器人的开发中,例如瑞典的高校成立实验室鼓励学生自主创新进行语音识别与视觉的结合应用。
在工业领域,企业研发部门将机器人与其交流产品想结合,利用软件的开放性赋予机器人工业附加值,例如危险工作环境监控和数据采集等。
在商业领域,机器人参与大型产品发布会等,以彰显产品以及公司对高新科技的重视,达到市场营销的良好效果。