体系结构图
本节将全面介绍NAOqi的体系结构。
1. 安全体系结构
一个名为NAOqi的代理程序始终在机器人上运行。您也可以在所有的平台上运行NAOqi。如果这个代理程序崩溃,机器人就会摔倒,甚而会严重损坏。所有动态连接到主代理程序的库都可能让NAOqi崩溃。在一个较安全的体系结构中,应从另一个用户代理程序调用方法。如果用户代理程序崩溃,机器人摔倒的可能性较小。移除进程或代理程序的操作在100ms内不会予以交流。
要应用这一体系结构时,必须在主代理程序(NAOqi)之后运行myBroker。
2. 不安全体系结构
在这一结构中,用户模块崩溃会导致NAOqi崩溃,从而可能会导致机器人摔倒。但是,调用比远程模式快。
3. NAO当前的体系结构
在这一结构中,用户的代理程序或模块可以从任何地方插入。
Audioout
可执行档或本地模块
- audioplayer:播放文件
- ALTextToSpeech:声音合成(默认语言为英语)
Telepathe
图形用户接口(GUI),可用来查看变量,并提供在NAOqi上的GUI可视化界面。
- camera viewer (摄像头查看器):在电脑上查看摄像头
- memory viewer (内存查看器)
NAOqi主代理程序
NAOqi里的模块有的是必须的(在“autoload.ini”的[core]一节里),有的是可选的(在“autoload.ini”的[extra]一节里)。
- ALLauncher: 自动加载。管理外部库。
- ALNetwork: 自动加载。管理远程网络信息交流。
- Framemanager:读取Choregraphe项目,使用嵌入式Python解释器。
- PythonBridge: 嵌入式Python解释器。
- ALPreferences: 管理.xml首选项文件。该模块在“albase.so”里。
- ALMemory: 机器人的共享内存。该模块在“albase.so”里。
- ALLogger: 管理日志。该模块在“albase.so”里。
- ALBonjour: Apple协议,用来在网络上寻找机器人。
- ALFileManager: 管理机器人的文件。
API的蓝色说明书中介绍所有必须及可选模块。