Choregraphe:人形机器人编程的图形工具外文翻译资料

 2022-03-14 21:03:36

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料


Choregraphe:人形机器人编程的图形工具

E.Pot,J.Monceaux,R.Gelin,B.Maisonnier,Aldebaran Robotics

摘要 - 在本文中,我们展示了Choregraphe:一个由Aldebaran Robotics开发的图形环境软件,用于编写人形机器人Nao。 Choregraphe是一个非常强大的工具,它允许宏观连接高级行为,以轻松开发用于这个25度自由度机器人的复杂软件。 但它也提供了对复杂关节或笛卡尔运动进行微调的能力。在最底层,Choregraphe允许用Python进行编程。

I.引言

人形机器人是迷人的机器。自从机器人开始发展以来,它们一直是许多研究,小说和梦想的主题。在过去的15年,惊人的原型主要由日本公司或实验室开发。逐渐地,他们向广大观众表明,类人机器人不是梦想,而是科学技术发展的切实结果。来自本田的ASIMO和来自AIST的HRP2是最受欢迎的仿人机器人。

2005年,法国中小企业Aldebaran-Robotics决定开发和销售类人机器人。不是作为原型,而是作为可以以合理价格购买的产品,提供多种功能并以简单而有效的方式使用。该产品的第一个版本称为Nao,专门用于研究机构,应被视为软件开发的平台。 Nao是一个机器人实验室的机器人,他们不想开发机器人技术。正如索尼在10年前意识到的那样,在AIBO机器人狗身上,为高端机器人(人机界面,导航,本地化......)需要机器人平台进行自己的开发的人群有市场。这个概念的一个很好的例子就是RoboCup标准联盟的需求。 RoboCup是一个国际足球比赛,大学实验室与机器人队进行比赛。机器人被分成几个联盟(纳米机器人,巨型机器人,轮式机器人......),其中每个团队开发自己的机器人和自己的嵌入式软件。其中一个联盟的区别在于其重点在于编程专业知识,因此委员会要求所有的团队与同一个机器人竞争:标准平台联盟。从2000年到2007年,标准联赛的共同平台是索尼爱宝。在SONY停止生产机器狗后,RoboCup委员会呼吁建立一个新的平台。在2007年夏天,Aldebaran Robotics的人形机器人Nao被选中接替Aibo,Nao在2008年首次参加了比赛。使用同一个机器人,球队必须通过编程来证明自己的价值。 Nao的编程环境应该简单高效。

虽然今天Nao的用户主要是研究实验室,但随着时间的推移,Aldebaran希望将其产品扩展到更广泛的科技爱好者。 。作为ZX81或Commodore的爱好者在八十年代用第一台个人电脑做的事情,二十一世纪的极客们喜欢在仿人机器人上实现他们自己的软件,创造个性化的行为。但是如果你曾经在第一台个人电脑上进行过汇编程序编程的实验,你将尽力避免给今天的用户带来这样的体验。这就是为什么有必要为Nao提供强大的编程环境的原因。 Choregraphe被设想为允许通用开发人员快速开发复杂的应用程序,同时能够为苛刻的程序员精确控制运动。

在本文中,在简要介绍了Nao之后,我们将解释导致我们开发自己的开发平台的原因,尽管已经有类似的工具可用。然后我们介绍Choregraphe的基本原理和相关工具。第四章介绍允许描述事件驱动行为的图形用户界面。第五章介绍NaoQi,Choregraphe建立的框架。第六章解释NaoQi和Choregraphe之间的界面。第七章是对时间线的描述,这是一个对复杂运动进行微调的强大概念。在结论之前,我们提出Choregraphe的实际应用以及我们编程环境的未来改进。

II. NAO描述

Nao是一个57厘米高的类人机器人,拥有25个自由度。每个接头都配有位置传感器。包括2个陀螺仪和3个加速度计的惯性单元,以及每个脚下的4个力敏电阻器使Nao能够估计他的当前状态。声波测量机器人与其环境之间的距离。脚上的保险杠检测与地面上的障碍物的碰撞。头部触觉装置通过例如抚摸Nao作为奖励手势来提供与机器人通信的方式。其他输入设备是两个VGA CMOS摄像头(640x480)和四个麦克风。麦克风是非常重要的传感器,因为我们认为语音应该是Nao和用户之间最自然的接口。语音识别模块是Nao提供的基本软件功能的一部分。作为输出设备,Nao在眼睛周围提供两个扬声器和可编程LED。 CPU位于机器人的头部:它是一块带有512Mo闪存的GEODE ​​500MHz主板,可通过USB总线进行扩展。 Wi-Fi连接将机器人连接到任何本地网络以及其他需要的Naos。 Nao由锂聚合物电池供电,根据其活动提供45至4小时的自主权。

Nao在交付时运行Linux上的NaoQi,该框架提供了访问机器人所有功能的框架:向致动器发送命令,读取传感器,管理Wi-Fi连接... NaoQi能够并行执行功能,按顺序执行或由事件驱动。 NaoQi的函数可以用C ,Python甚至Urbi来调用。

运行在个人电脑上的Choregraphe可以通过图形用户界面访问NaoQi提供的所有功能。Nao的完整描述可在[1]中找到。

图1 Nao

III.技术发展水平

Nao的概念是要实现机器人行为的用户可以编程的开放平台。因为我们相信每个家庭至少会有一个机器人,所以任何人都可以轻松无缝地编程他的机器人,这一点很重要。但是由于机器人是能够执行复杂任务的复杂设备,因此编程工具必须以非常有效的方式访问机器人的所有功能。

每个机器人制造商提供自己的编程语言。索尼爱宝推出了Tekkotsu,这是一个需要复杂软件架构的非常专业化的环境。编程一个简单的任务需要用户理解复杂的结构。乐高建议基于NI Labview的Lego Mindstorm NXT软件。 AIST的日本类人机器人HRP2可以通过专用的开放式软件OPEN-HRP进行编程。基于这种观察,一些公司提出了用于机器人的通用编程语言。我们可以在这里提到Microsoft Robotic Studio,它为大量现有的机器人提供了广泛的开发者社区;和提出与普遍机器人身体接口Urbi的Gostaiuml;。

我们研究的所有语言都有其品质,但没有一个符合我们的所有标准:编程工具应该在任何平台(PC,MAC,Linux)上运行,因为我们认为我们的客户在购买时不应该修改其计算机环境机器人;编程环境应该提供一个抽象级别,允许简单的行为开发,并为复杂的嵌入式软件提供便利。许多开发工具的另一个重要缺失功能是能够同时进行事件控制编程和基于时间的编程。最后但并非最不重要的,只有专用编程工具才能利用Nao的所有功能。

考虑到现有环境的质量和局限性,Aldebaran Robotics开发了自己的编程工具NaoQi和Choregraphe。

IV.基本原则

Choregraphe是一个非常直观的图形环境,可以对Nao进行简单的编程。当软件启动时(版本在Windows XP,Linux Ubuntu和Mac OS X Leopard上可用),图2中显示的图形用户界面出现在屏幕上。应用程序窗口分为三个区域:区域1,重新组合可用行为列表的Box Library。区域2,流程图,允许用户以图形方式布置由库框和它们之间的链接组成的行为。 3区是Nao能够执行实施行为的图形表示。

行为是控制机器人的一种软件。编程Nao包括实现行为,它们本身由多种行为组成。在盒子库中,从高级功能(走路,跳舞,转动,躺下,站立,读取传感器,语音合成,语音识别)到非常低级的功能(读取传感器,转动LEDS)提出了一组经典的预编程行为开启和关闭)。通过汇集这些基本行为,可以创建一个原始行为。当然,任何人都可以创建自己的盒子,并将其添加到现有的库中。

图2. Choregraphe图形界面

行为的组装在流程图中执行。通过将区域1到区域2的行为图标“拖放”,可以在Nao的车载计算机上实施这些行为。在区域2中,行为被表示为在左侧(输入框)和右侧(输出框)上配备有小方格的图标。将一个行为的输出框连接到另一个行为的输入框意味着第二个行为将被执行,第一个将被完成(事件编程)。在区域2的左上方,全局“输入框”代表行为的起点。在右上角,全局“输出框”表示行为的结束。编程Nao的原则是连接“输入框”和“输出框”之间的顺序或平行行为。

当行为从输入框链接到输出框时,可以通过单击界面顶部的“播放”按钮在Nao上运行它们。如果真正的Nao通过Wi-Fi连接到运行Choregraphe的PC,真正的Nao将执行全局行为。如果没有真正的Nao可用,或者如果在实际使用之前必须测试行为,则Choregraphe连接到Zone 3的3D图形Nao。虚拟Nao执行编程的行为。

为了对Choregraphe进行全局概述,图2给出了另外两个区域。区域4是Python指令的脚本编辑器,以更经典的方式开发新的盒子(计算,条件分支......)。 5区是允许基于时间的编程的时间线。这在第七节中介绍。

Choregraphe的第一个目标达成了:为Nao编程简单的行为是快速直观的。下一个

章节中,我们解释如何在使用相同的基本原则的同时开发复杂的行为。

V.NAOQI

A.分布式框架

Choregraphe的效率和力量的原因主要在NaoQi中发现,它是Choregraphe背后的框架。 NaoQi是一个分布式环境,允许多个分布式的二进制文件,每个文件包含多个软件模块一起通信。 NaoQi是跨平台的。 它运行在Linux上(在Nao的CPU上),而且在Windows和Mac OS上运行。 实际上,Choregraphe是在开发计算机上运行的NaoQi的一个特定模块。

NaoQi在开发计算机上的使用带来了自然就能够在开发计算机本身上运行为Nao开发的应用程序。如果有任何Nao连接到计算机,则应用程序在计算机上运行,​​控制图形Nao。

NaoQi是跨语言的。作为基本模块,它提供了Python和Urbi解释器。 C 应用程序可以通过专用的SDK使用NaoQi的功能。

B.多任务能力

由于具体的NaoQi命令,可以按顺序,并行或事件方式执行方法。

说明:

Motion.Walk(0.1)Speech.Say(“我到了”)

将按照任何编程语言的顺序执行。当机器人走了0.1米时,他说“我已经到了”。

以下说明:

Motion.post.Walk(0.1)Speech.Say(“我正在走路”)

将执行平行命令:机器人将在步行0.1m的同时说“我正在行走”。

考虑到机器人应用的特殊性,这种能力是绝对必要的:按顺序执行的计划任务,与感知任务并行运行,并在意外事件发生时中断。事件通过名为AL_Memory的共享内存模块进行管理

C. AL_Memory

ALMemory是一个实现基于事件的存储库的类。用户可以将数据存储在ALMemory中,他们可以存储组或关系。模块可以通过其名称使用写入和读取功能访问数据。但是可以通过指令来订阅数据:

AL_Memory.subscribeOnDataChange(X,Y,Z,T)

订阅时,应用程序将在数据通过回调进行更改时收到通知。

数据可以是简单传感器(例如脚保险杠)的二进制值或更复杂的传感器(声纳)的模拟值。在这种情况下,该值将永久更改,并且在每个采样周期都会触发一个事件。在这种情况下,让程序检查传感器数据的值更为重要。当数据通过阈值时,AL_Memory中的专用数据被设置为1。这些数据将被应用程序用作触发器。视觉处理模块使用相同类型的机制来传递从图片中提取的语义信息,而不是像素的640x480值。

如果开发人员想要直接访问传感器值和执行器命令,则需要一个称为设备的专用模块

Communication Manager(DCM)可用。 DCM负责将AL_Memory与传感器和执行器连接起来。由于硬件抽象层,DCM可以以相同方式访问真实机器人上的值或模拟值上的值。它甚至可以解决比Nao更多的其他机器人。

图3.在Nao环境中的NaoQi。 Choregraphe生成描述应用程序的文件。 该文件被下载到Nao的内存中。 嵌入式NaoQi解释这个文件,调用所需的模块。

D.分布式功能

NaoQi最有效的功能之一就是功能树的分布(图4)。 只要在不同平台上运行的NaoQ通过有线或无线网络连接,它们就可以进行通信,并且可以交换数据和资源。 例如,Nao#1可以使用在Nao#2上运行的模块或连接的计算机。 从应用角度来看,这是完全透明的。 对于视觉处理等复杂软件的开发,当视频信号来自Nao嵌入式相机时,可以在开发计算机上开发和调试应用程序。 当几个Naos一起跳舞时,此功能有助于开展令人印象深刻的群体演示。 实际上,所有跳舞的Naos都在单个舞蹈模块中接受相同的命令,这个模块只在一个Naos的头部运行。与专门用于访问远程模块的CORBA相比,NaoQi能够以非常透明的方式访问远程模块以及本地模块。

图4.分布式功能树:如果应用程序需要一个本地不可用的模块,NaoQi会在其他连接的NaoQis上查找它

VI. 从NAOQI到CHOREGRAPHE

Choregraphe以非常直观的方式提供NaoQi提供的所有功能。 为了描述顺序执行,行为框被链接(图2)。 为了描述并行执行,前一个框的输出与两个链接连接到预期并行运行的行为框的输入(图5)。 建议使用特定的图形表示来表示来自AL_Memory的信息。 只需点击几下,就可以描述触发变量的名称。

图5.具有并行和顺序行为的完整应用程序示例 机器人在移动头部时跳舞。 舞蹈结束后,机器人停止点头,走路。

用户可以建立

全文共8662字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[16230],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。