人形机器人Nao具有25个自由度,配备了摄像头、超声波传感器和惯性器件等传感器,以及电机和电动致动器等机构[1],可用于图像处理、人工智能、机器人控制以及医疗保健等多个教学和科研领域 [2-5]。Nao机器人具有丰富、强大的函数库,在Linux,Windows,Mac OS等操作系统下,均可利用C++,MATLAB,Python语言对其编程操作。目前,全球多个高等学校和研究机构已将Nao机器人用于教育和科研工作[2]。2013年山东科技大学电气与自动化工程学院引进Nao机器人平台,并将其用于自动化专业(山东省名校工程特色专业)学生的创新能力和科研能力培养。
目前,Nao机器人实验多采用其官方开发软件Choregraphe。但在实际教学过程中发现,该软件功能分散、用法复杂,其“指令盒”拖拽的编程方式隐藏了Nao机器人控制程序的整体框架。上述因素使得Choregraphe软件不适用于实验教学。为此,本文使用Python语言,以面向对象程序设计思想中的类(Class)方法为基础,设计了功能集中,操作简单、直观,且代码开源的Nao机器人实验系统,以改善实验教学效果。
1 Python语言
2 实验系统的功能结构
3 实验系统的软件设计
4 实验教学应用实例
5 结束语
Nao机器人平台功能丰富,广泛应用于人工智能和机器人控制等多个研究领域。本文利用Python语言和类方法,设计了Nao机器人实验系统。学生不但可以通过学习系统源代码的方式了解机器人控制系统的整体架构,而且可以在源代码基础上进行二次开发和功能扩充。该系统的应用有助于培养学生的科研能力和创新意识,取得了良好的实验教学效果。
参考文献
[1] 广州市美达克数据科技有限公司.硬件平台[EB/OL].http://www.naorobotics.com/naojqr.asp.
[2] 阿尔德巴兰(上海)有限公司.NAO:创造交互型的机器人[J].机器人技术与应用,2014(6):63-65.
[3] 张婷.基于Nao的迷宫解决算法研究[J].国外电子测量技术,2013,32(5):68-71.
[4] 张婷.NAO机器人在自闭症干预中的应用[J].系统仿真技术,2014,9(4):327-331,338.
[5] 柏雪峰,杨斌.基于NAO机器人目标识别与定位算法[J].成都信息工程学院学报,2014,29(6):625-629.
[6] 董焰民,王保保.Python与Matlab混合语言编程[J].现代电子技术,2007,14(253):108-110.
[7] 陶诚,陆从珍.基于C++和Python混合编程的Word文档操作方法[J].信息化研究,2014,40(5):58-63.
[8] 张若愚.Python科学计算[M].北京:清华大学出版社,2012.
张仁彦 刘孟茹 孔凡超 赵传林 赵洪亮 山东科技大学电气与自动化工程学院 |