基于Choregraphe软件的NAO机器人的开发与应用_第1页
基于Choregraphe软件的NAO机器人的开发与应用_第2页
基于Choregraphe软件的NAO机器人的开发与应用_第3页
基于Choregraphe软件的NAO机器人的开发与应用_第4页
基于Choregraphe软件的NAO机器人的开发与应用_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单位代码 密 级 公 开 学 号 学 士 学 位 论 文 基于 Choregraphe 软件的 NAO 机器人的开发与应用论文作者:指导教师: 学科专业: 提交论文日期:论文答辩日期:学位授予单位:2015 年 12 月目 录摘要 .1Abstract .21 引言 .31.1 本课题研究的背景和意义 .31.2 Nao 机器人简介 .31.3 Nao 机器人的研究现状 .42 Nao 机器人参数和常规使用 .52.1 Nao 的结构参数 .52.2 Nao 的使用和常见问题 .53 Nao 机器人软件和编程 .63.1 Nao 的编程软件 .63.2 Nao 的编程编写 .83.2.1 舞蹈视频的选择与动作分解 .83.2.2 关键帧保存动作 .93.2.3 行为层的设置 .103.2.4 总程序的编写 .114 结语 .134.1 总结 .134.2 存在的问题及下一步可能研究内容 .13参考文献: .14致谢词: .15基于 Choregraphe 软件的 NAO 机器人的开发与应用第 0 页 共 15 页摘要:随着科学技术的发展,机器人已经成为最能代表科技先进程度的产物,而机器人中,仿人型机器人更是集智能、高效、可靠、自动化等于一身,Aldebaran Robotics 公司生产的 Nao 机器人是先进仿人机器人的杰出代表之一,本文主要对 Nao 机器人进行硬件和软件方面的学习,再使用 Choregraphe 软件的模块化编程方式对 Nao 机器人进行舞蹈程序的编写实现舞蹈动作。关键词:Nao 机器人 ; Choregraphe 软件 ;模块化编程 ;舞蹈程序2016 届机械工程及自动化专业学士学位论文第 1 页 共 15 页Abstract:With the development of science and technology, robot has become the most representative of the advanced level of science and technology, and the robot, intelligent, high efficiency, reliability, automation is equal to one, Robotics Aldebaran company production of Nao robot is one of the advanced humanoid robot, this paper mainly on the Nao robot hardware and software aspects of learning, and then use Choregraphe software modular programming method for Nao robot dance program.Key words: Nao robot ; Choregraphe software ; modular programming ; dance program基于 Choregraphe 软件的 NAO 机器人的开发与应用第 2 页 共 15 页1 引言1.1 本课题研究的背景和意义为了达到更高的生活水平,人们利用科技产物来提高生产能力,改善生活质量,最具代表性的改变就是机器人进入平常百姓家中以及机器人的工业化,而仿人型机器人 1和服务型机器人 2是与人们生活密切相关的高科技产物,对以 Nao 机器人为主要代表的仿人型机器人进行相关学科的研究是目前进行中最多的,因为 Nao 是先进仿人机器人的代表之一,Nao 机器人诞生以来,就备受世界关注,它集智能、高效、可靠、自动化等于一身 3。图 1-1 Nao 机器人本体 图 1-2 Nao 机器人现身 RoboCup 机器人世界杯赛随着对 Nao 机器人研究和开发的深入,Nao 已经迈向服务型机器人,世界各知名大学和研究所都在对其进行相应的研究,就目前已有研究成果,Nao 在科技竞赛 4、迎宾、表演、教育等方面有很好的应用。随着今后对 Nao 的进一步开发,Nao 将走进平常百姓家中,对助残、自闭症干预 5、智能楼宇系统 6等将有着很好的应用前景。对 Nao 的完善和研究,必将在改善生活质量,提高生活水平,提高生产效率,促进科技进步等方面做出不菲的贡献。1.2 Nao 机器人简介Nao 机器人是由法国 Aldebaran Robotics 公司制造的一款人工智能型机器人 7,它是一个身高约 58 厘米,由工业塑料制成的可以自由编写程序的仿人型机器人。Nao 是目前学术领域世界范围内运用最广泛的类人机器人,它具有很可爱的外形,研究人员可以通过编程软件对 Nao 进行编程,以达到不同的目的。Nao 目前在各个学科和各个领域都有运用,全球各大高校将 Nao 运用在机器人研究 8、人工智能、工程学、数学、物理学和计算机科学领域 9和相关科技竞赛等,同时 Nao 在医学领域和物联网等领域也有很好的应用,其包括自闭症干预、智能楼宇控制等都是不菲的研究成果。Nao 的身体拥有 25 个自由度,其中头部有 2 个自由度,每只手臂有 5 个自由度,每条腿有 5个自由度,每只手有一个自由度,胯部有一个自由度;其关键部件为电机与致动器。Nao 机器人能实现智能化要归功于遍布其全身的一系列传感器,包括 2 个位于额头和嘴部的摄像头,4 个位于前后和两侧的麦克风,2 个位于胸前的超声波距离传感器、2 个位于眼部的红外线发射器和接收器,1 个位于身体内部的惯性板、9 个位于头顶和手部的触觉传感器及 8 个位于脚部的压力传感器。2016 届机械工程及自动化专业学士学位论文第 3 页 共 15 页图 1-3 Nao 机器人硬件结构 图 1-4 Nao 机器人电机和自由度分布Nao 的编程语言有很多,包括 URBI Script、C、C+、Python 等,编程软件有 Aldebaran Choregraphe 和 Aldebaran SDK。本文则使用 Aldebaran Choregraphe 软件对 Nao 进行编程,通过软件简单易懂的模块化编程方式,可自由为 Nao 编写程序实现不同的功能。1.3 Nao 机器人的研究现状Nao 机器人目前是学术界用得最多 10的类人机器人,其作为研究工具分布在全球各大高校和实验机构。现阶段的 Nao 主要被用来进行研究、展览、表演和相关的科技比赛,高校将 Nao 运用在人工智能、工程学 11、物理学 12和计算机学等领域,还用 Nao 机器人进行科技竞赛,知名的RoboCup 公开赛的标准平台组就是以 Nao 机器人作为比赛平台 13,Nao 还在上海世博会、创博会、ChinaJoy 盛会等大型活动中起到表演、迎宾等作用。Aldebaran Robotics 公司开发了一个针对个人使用的娱乐平台,用户可以通过 Nao Compagnon 协会开发的 Choregraphe 软件自由为 Nao 编写程序。 基于 Choregraphe 软件的 NAO 机器人的开发与应用第 4 页 共 15 页图 1-5 Nao 机器人再自闭症干预中的表现突出 图 1-6 Nao 机器人在进行表演各个学科。目前正在进行将 Nao 应用于智能楼宇系统中,能提高智能楼宇系统的智能化 15、信息化以及人性化水平,为人们提供更加舒适及安全的环境。此外,一些研究机构正在对 Nao 进行物联网、导游、导航等领域进行研究。2 Nao 机器人参数和常规使用2.1 Nao 的结构参数在完成设计之前,要先对 Nao 机器人的结构参数进行学习,以达到熟练使用和正确使用的目的。首先,通过 Nao 机器人使用说明书和相关资料了解 Nao 的结构参数。第一项是 Nao 机器人的自由度分布和关节移动范围:头部两个自由度分别控制 Nao 脑袋的扭转,其中控制头部关节在 Z 轴扭转的范围为-120到 120,在 Y 轴前后运动的范围为-39到 39;左右手臂各有 5 个自由度且呈对称分布,肩关节控制 Y 轴前后运动的范围为-120到 120,控制Z 轴左右运动的范围为 0到 95,肩关节控制在 X 轴扭转的范围为-90到 0,肘关节控制在 Z轴运动的范围为-120到 120,腕关节控制在 X 轴扭转的范围为-105到 105;Nao 的左右手上各有一个自由度,其控制 Nao 的手部的打开或合拢;Nao 左右腿的关节除髋关节和踝关节外其余均呈对称分布的,左髋关节控制腿部在 Y 轴前后运动的范围为-104.5到 28.5,左髋关节控制腿部在 X 轴左右运动的范围为-25到 45,左踝关节控制在 Y 轴前后运动的范围为-70.5到54,左控制 X 轴左右运动的范围为-45到 25,右髋关节控制腿部在 Y 轴前后运动的范围为-104.5到 28.5,右髋关节控制腿部在 X 轴左右运动的范围为-45到 25,右踝关节控制在 Y轴前后运动的范围为-70.5到 54,右踝关节控制 X 轴左右运动的范围为-25到 45;膝关节控制腿部在 Y 轴运动的范围为-5到 125;髋部存在一个控制其髋部在 Y 轴运动的自由度,其运动范围为-65.62到 42.44。第二项是整体特性:Nao 的身高约 58 厘米,体重约 4.3 千克,机身材料是工业塑料,其配有AC 90-230V/DC24V 的充电器,可以一边充电一边使用。 Nao 所使用的致动器包括霍尔效果传感器、dsPICS 微控制器和 MAXDN 空芯被直流电机;Nao 全身分布有很多传感器,包括陀螺仪、三轴加速器、碰撞器、双通道超声波传感器、红外线传感器、触觉传感器和压力传感器,这些传感器实现了 Nao2016 届机械工程及自动化专业学士学位论文第 5 页 共 15 页平衡控制、检测、视觉、触觉等功能,使 Nao 能很好地与外界环境交流,同时也是实现 Nao 智能化不可或缺的组件。2.2 Nao 的使用和常见问题学习了 Nao 的结构参数之后就对 Nao 的常规使用和常见问题进行学习。先通过大量料资和使用手册学习最基本的操作,再到实验室进行实体机器人操作。在取出 Nao 的时候要注意:双手要抓住机器人的肩膀,然后双手用力向上提出机器人,这样有助于更好的保护机器人。机器人拿出来之后要让它处于一个蹲立的状态,单击机器人胸前的按钮开始启动,此时机器人眼部 LED 灯开始闪烁,直到变成绿色或蓝色并播放提示音即启动成功。启动后双击胸前按钮 Nao 全身的电机就会处于卸电状态,如果是处于网络连接状态,单击其胸前按钮则开始播报 Nao 的 IP 地址。Nao 胸前的按钮有彩色的灯光,其显示的是 Nao 的电池电量,绿色是指机器人电池电量充足,红色并伴随着闪烁表示机器人电量不足,此时需要及时充电,充电接口在背部。机器人启动后有一个相应的语音提示,如果机器人内部安有程序,启动后它就会执行相应的程序,如果没有则处于一个初始状态。如果不使用机器人或在调试程序时,机器人处于一个闲置状态,此时最好把机器人全身卸电,然后使其处于蹲立状态,双手放在膝间,目的是保护机器人的电机和关节。图 2-1 Nao 机器人蹲立状态Nao 机器人的外部网络连接有以太网连接和 WIFI 无线连接两种,本文使用的是以太网连接。将一根网线的两头分别插入 Nao 头部后面的接口和电脑主机网线接口,这样 Nao 的网络连接就搭建好了,然后只需要在电脑上打开软件进行相应的连接操作就可以对机器人进行实时控制了。Nao 在运行过程中也会发出许多信号,比如当机器人在使用时间较长,或电机长期处于上电状态,机器人会自行播放 motor hot 的提示音,其表示为电机过热,此时需要做出相应的处理,否则机器人的电机会受到损害,处理方法是将机器人全身关节卸电,然后使其处于蹲立状态,待电机温度降低一些后再使用机器人。使用过程中可能还会发出 battery low 的提示音,这个提示音表示机基于 Choregraphe 软件的 NAO 机器人的开发与应用第 6 页 共 15 页器人电量过低,此时也应该做出相应的处理,否则机器人就将自行关机,处理方法是将电源适配器连接机器人对其进行充电即可继续使用。如果机器人电量已经低至关机,在连接电源后还应等待几分钟后再开机,否则会使开机失败。以上两点是机器人使用过程中最常见的两个问题。3 Nao 机器人软件和编程3.1 Nao 的编程软件Nao 的编程语言包括 URBI Script、C、C+、Python 等。Nao 的编程软件也有很多,其包含在内的有 Aldebaran Choregraphe 和 Aldebaran SDK 两种,本文所学习的为 Choregraphe,该软件使用图形化、模块化编程,其编程方式简单、直观易懂,使用者可以通过软件对机器人进行各种程序的编写,以达到不同的使用目的。如图 3-1 所示为 Choregraphe 软件的初始界面,图中区域 1 表示项目操作按钮,其包括新建项目、保存项目、打开项目等操作,其下方的三个蓝色按钮是新项目、打开项目和保存项目的快捷操作按钮;图中区域 2 表示指令盒操作区,包括了新建、打开、保存、修改、增加指令盒等功能;图中区域 3 表示操作编辑,其主要包括对动作的撤销和恢复两个功能,下方两个灰色按钮是其快捷按钮;图中区域 4 是连接操作区,包括对机器人的连接、断开连接、动作播放、停止等功能,其下方圈出的区域 13 为其快捷操作按钮;图中区域 5 为视图操作区,点开后可打开视频显示器、项目内容、脚本编辑器、行为管理器和机器人视图等视图,从而达到相应的操作目的;图中区域 6 则为帮助按钮,其主要是对软件的相关功能和操作进行讲解和提示。图 3-1 中区域 7 为指令盒视图区,可在视图区进行隐藏和显示操作,该区域包含了很多预先设定的功能。其中 Audio 栏包含机器人的听和说的功能,主要实现机器人的说话、选择语音录入和识别等功能。Communication 栏包含机器人的接发送邮件等相关功能。Data Edit 栏主要实现机器人的数据编辑与处理等功能。Fallow Control 栏主要实现机器人的逻辑运算能力,包括机器人的延时、判断、假设等语句功能,这些功能是实现机器人自我思考与判断的关键。LEDs 栏主要控制机器人身上的各个 LED 灯。Math 栏主要包含机器人的常用运算公式,比如从最小值到最大值(设置为参数)生成一个随机浮动。Motions 栏主要包括几个已保存的舞蹈动作以及机器人行走动作和电机设置指令盒,通过该栏的指令盒可直接实现机器人的行走和预设的几个动作。Sensing 栏主要包含的是机器人各个传感器的检测指令盒和位姿调整指令盒,利用该区域的指令盒可以实现机器人自主掌握平衡,自行监测自身各电机的温度等功能。Trakers 主要是控制机器人的行走状态的指令盒,通过里面的指令盒可以实现机器人行走的细微控制。System 栏主要是机器人自行报读名字和日期的指令盒。Visin 栏主要是机器人实现脸部识别、跟着球走、记录声音、面部捕捉、相机控制等功能的指令盒。图 3-1 中空白区域为图形化软件编程区域,可以通过直接拖拽左侧指令盒库的指令盒到该区域中,然后通过相应的逻辑连接实现所设定的动作或目的。图中区域 8 是指令盒的层数显示与选择区,如一个指令盒作为容器使用,双击即可进入其下一层,在第二层中也可以进行相应的编辑操作,同时当点击相应的层数时视图会跳转至该层中,以进行相应的操作。图中区域 9 是开始点连线区域,该处只能和指令盒输入点进行连接,区域 10 为结束点连线,该点只能和指令盒输出点进行连接。图中区域 11 为姿势库,包含了 3 个简单的姿势,双击里面的机器人姿势便可直接实现机器人的动2016 届机械工程及自动化专业学士学位论文第 7 页 共 15 页作,该区域可以通过视图进行隐藏和显示。图中区域 12 的 4 个按钮分别是音量控制按钮、模式选择按钮、全身电机上电或卸电按钮和机器人电量显示的图标。图 3-1 Choregraphe 软件界面图 3-2 Choregraphe 软件界面常用的几个视图3.2 Nao 的编程编写本文使用 Choregraphe 软件的模块化编程方式来实现 Nao 的舞蹈动作,而在设计舞蹈动作时,要对指令盒进行相应的设置,同时还借助了一款外部软件来辅助完成设计。设计的思路是用截图软将视频分解截图为无数个小动作,然后按照所截图的动作将机器人相应的关节上电或卸电使其动作与截图上的动作一致,最后再保存动作,下面是详细步骤。3.2.1 舞蹈视频的选择与动作分解第一步是舞蹈视频的选择。选好舞蹈视频后再用一款名为 HyperSnap 的截图软件来辅助完成舞蹈动作的分步设计,该软件能实现连续截屏并保存的功能。打开辅助软件,点击捕捉设置/更多/视频或游戏,打开之后将前面的视频捕捉打上勾,确定。基于 Choregraphe 软件的 NAO 机器人的开发与应用第 8 页 共 15 页图 3-3 截图准备 1 图 3-4 截图准备 2然后是进行截屏区域的选择,先打开播放器播放视频,将视频暂停在刚开始时,再点击捕捉设置/区域,然后用出现的区域选择框将视频播放区域圈起来;之后将上访的保存勾上,再打开捕捉设置/快速保存,设置好保存位置和其他设置。到这里截屏准备就绪。图 3-5 截图保存设置 图 3-6 截图区域选择最后是播放视频,用软件按照视频播放的时间进行一秒一截图,所截取的图片会保存在事先设置的路径,这样就得到了舞蹈视频的动作分解图片,为后面编程做好了准备,只用按shift+ctrl+F11 就可以对视频进行连续截图并保存了。图 3-7 辅助软件界面 图 3-8 用辅助软件截取的视频的分解动作3.2.2 关键帧保存动作第二步是在时间轴上保存动作。先新建一个指令盒,要求将指令盒的类型设置为时间轴。然后2016 届机械工程及自动化专业学士学位论文第 9 页 共 15 页双击进入指令盒的第二层,将帧率设置为 10,大小设置为 1500,即表示每 10 帧为一秒,时间轴时长最多为 150 秒。图 3-9 新建指令盒 图 3-10 指令盒设置图 3-11 新建行为层和编辑时间轴 图 3-12 在关键帧保存关节设置好之后就将相对应的动作保存在对应时间点的时间轴上面,比如将第 5 秒时的分解动作直接保存在时间轴对应第 5 秒的帧处即第 50 帧处,方法是将机器人全身电机卸电,用手将机器人姿势调整为分解动作的姿势,然后点击要保存位置的关键帧,右键在关键帧中保存关节/保存全身关节,依次下去将全部的分解动作分别保存到时间轴上面,即完成了舞蹈分解动作的保存。在时间轴保存好动作后,点击单个关键帧时,机器人会实时做出该关键帧所对应的舞蹈动作,点击动作右边的运行按钮,就能让机器人做出一整套连贯的舞蹈动作。3.2.3 行为层的设置第三步是行为层的建立。添加一个行为层,在行为层中拖入一个 Play Sound 指令盒,其作用是将舞蹈的配套音乐放入程序,以达到机器人随音乐跳舞的目的。然后点击指令盒左下角的扳手图标,添加相应的音乐文件即可完成行为层的设置。图 3-13 编辑行为层 图 3-14 添加音乐文件基于 Choregraphe 软件的 NAO 机器人的开发与应用第 10 页 共 15 页图 3-15 完整的舞蹈动作指令盒内部图 3-16 机器人关键帧动作与分解动作对比图 3-17 机器人关键帧动作与分解动作对比3.2.4 总程序的编写程序编写到这里,机器人的舞蹈动作部分就写好了,之后点击 root 回到指令盒的外层,进行其他动作的编写,编写内容包括对话、选择、前进、后退、站立等。2016 届机械工程及自动化专业学士学位论文第 11 页 共 15 页图 3-18 拖入相应的指令盒 图 3-19 按逻辑顺序连接各个指令盒首先是拖入 Say、Move to、Choice、Stand up 和两个预设动作的指令盒,然后按照所要达到的目的将各个指令盒按照逻辑顺序连接起来。点击相应的指令盒进行相应的设置。首先是 Say 指令盒:双击指令盒进入第二层,对Localized Text 进行设置,选择所要使用的语言,本文使用的是中文,然后再在上面的方框中输入所要说的内容,右边的 Say Text 不用更改;其次是 Choice 指令盒:双击指令盒进入第二层,对 Localized Text 进行设置,同样先选择语言为中文,再在上面方框输入选择的内容,最后对Choice 进行设置,此处意为选择的输出内容,同样需要对输出的语言进行设置,以本文为例,先选择 Chinese 语言,选择的结果有是和否两个,否对应下方的输出点,是对应中间的输出点,最上端的输出点为程序结束输出点;然后是 Move To 指令盒:点击左下角扳手按钮进入设置界面,本文只设置机器人在 X 轴方向移动 0.3 米。图 3-20 Say 指令盒的内部设置 图 3-21 Choice 指令盒的内部设置基于 Choregraphe 软件的 NAO 机器人的开发与应用第 12 页 共 15 页图 3-22 Move to 指令盒的内部设置 图 3-23 Stand up 指令盒内部设置图 3-24 总程序组成及各指令盒功能2016 届机械工程及自动化专业学士学位论文第 13 页 共 15 页4 结语4.1 总结经过两个月左右的努力,我终于完成了基于 Choregraphe 软件的 NAO 机器人的开发与应用的论文。从一开始的一无所知到最终的完成设计,不仅是对我个人学习能力和动手能力的考验,同时也磨练了我毅力,锻炼了我克服困难和挑战困难的能力。当然,这离不开老师的悉心指导和朋友的帮助。本文的成果是实现机器人的舞蹈动作,其过程则主要是对机器人的硬件、软件等进行针对性的学习以及对模块化编程的学习,整个设计流程看似简单,但也存在着诸多难题,最为困难的就是机器人舞蹈程序的编写,因为要保存的关键帧较多,且机器人各部件运动范围有限,故舞蹈程序指令盒的编写是最难的也是最重要的。由于以前没有接触过相关的知识,在学习期间我感到十分茫然,曾为了完成毕业设计加入了 Nao 的兴趣讨论群,也曾多次请教老师和有相关知识的同学。在大家共同的努力下,我对 Nao 的学习有了一定的成果,能对 Nao 进行常规使用,能读懂 Nao 所发出的信号,能对 Nao 进行模块化编程,最终完成了老师指导的设计。整个设计的完成是在许多人的帮助下完成的,这使我更深刻的体会到了团队合作的重要性,同时,从一无所知到颇有收获的过程,让我明白了学习是无止境的,只要端正态度,认真努力就一定会有收获,在此由衷感谢帮助和支持我的老师和朋友们。4.2 存在的问题及下一步可能研究内容虽说实现了舞蹈动作的设计,但过程中也发现了许多问题。一是程序中所涉及到的动作只有机械平衡,并没有用到机器人自身的传感器,这意味着机器人在执行一些动作幅度较大的程序时可能会跌倒;二是编程编写时获取机器人姿态的方法有欠缺,即在使用软件调试机器人的过程中,机器人本体在实时执行动作时会超出预设的运动范围。为了能更好的掌握 Nao 机器人的编程方式,在接下来的研究中,我将会对 Nao 的传感器和软件中的传感器模块指令盒进行进一步的学习,之后再编写程序时充分利用机器人自身传感器来保持平衡以实现难度较高的动作。同时,可以对 Python 语言进行学习,这样就可以直接通过脚本编辑器写出 Nao 的动作。基于 Choregraphe 软件的 NAO 机器人的开发与应用第 14 页 共 15 页参考文献:1 戚开诚. 仿人

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论