NAOqi 框架核心概念
什么是 NAOqi 框架
NAOqi
是在机器人上运行
的软件和对机器人进行控制
的软件的总称。
NAOqi
框架( NAOqi Framework
)是用于对Aldebaran机器人进行编程的编程框架。
它满足了常见的机器人技术需求,包括:并行性、资源、同步、事件。
主要特征
该框架允许不同模块(运动,音频,视频)之间的同类通信,同类程序设计和同类信息共享。
NAOqi
框架是跨平台和跨语言的,并允许您创建分布式应用程序。
跨平台
您可以在Windows,Linux或Mac上使用NAOqi
框架进行开发。
-
使用Python:您将能够在计算机上或直接在机器人上轻松运行代码。
-
使用C++:由于它是一种编译语言,因此您需要针对目标操作系统编译代码。因此,如果要在机器人上运行
C++
代码,则需要使用交叉编译工具才能生成能够在机器人操作系统:NAOqi OS
上运行的代码。请遵循C++ SDK安装指南完成您的安装,以确保您已安装所有必需的工具。
跨语言
-
可以使用
C++
和Python
开发在机器人上运行的软件:在两种情况下,编程方法都完全相同。
注意
初学者应该从Python开始。它更容易学习,并且应该满足他们的所有需求。
熟练使用C++的开发人员通常会使用以下开发方式:
Python
编写机器人行为C++
编写模块
分布式应用
一个实时的功能程序不仅可以是一个可执行文件,还可以是分布在多个机器人上的多个进程或模块。无论您的选择是什么,调用方法始终是相同的。
他们可使用其IP地址和端口将一个可执行文件连接到另一个机器人,其他可执行文件中的所有API方法都可以使用与本地方法完全相同的方式来使用。
计算机使用代码指令r1MemoryProxy.insertData("danceLeader","yes")
来控制R1机器人调整为领舞者、使用代码指令r2MemoryProxy.insertData("danceLeader","yes")
来控制R2机器人调整为非领舞者。
R1机器人可以使用myMemoryProxy.insertData("CountDown",30)
来设置自身的CountDown
的值。
R2机器人可以使用r1MemoryProxy.getData("CountDown")
来获取R1机器人的CountDown
的值。
请注意,
NAOqi
会自动地在快速直接调用(LPC)和远程过程调用(RPC)之间进行选择。