NAO 机器人运行的是一个定制的、经过裁剪的 Linux 操作系统。 你不能直接在 NAO 上安装一个标准的 Ubuntu 或 Debian 发行版,但你可以通过 SSH 连接到它,使用命令行,并且可以利用 Linux 的强大功能来控制和开发 NAO。
下面我将从几个方面为你详细解释:
NAO 的操作系统是什么?
NAO 机器人运行的操作系统是 NAOqi OS,它基于 Linux 内核,但不是我们通常使用的桌面版 Linux 发行版,它是一个嵌入式 Linux 系统,具有以下特点:
- 定制化内核:内核经过特别配置,以适应 NAO 的硬件(如 Atom 处理器、特定的传感器、电机驱动等),并进行了优化以实现实时性能。
- 轻量级:为了在有限的存储空间(闪存)和内存下运行,系统只包含了必要的软件包,没有图形界面。
- 专用软件栈:系统的核心是 NAOqi,这是 NAO 的操作系统和中间件,它负责管理所有硬件(电机、传感器、摄像头、麦克风等)并提供 API(应用程序接口)供上层应用调用。
- 基于 Debian:虽然内核是定制的,但其用户空间和软件包管理系统的底层与 Debian Linux 兼容,这使得安装和管理软件变得相对容易。
如何访问 NAO 的 Linux 系统?
你有两种主要的方式来与 NAO 的 Linux 系统交互:
a) 通过 SSH (Secure Shell) - 命令行访问
这是最常用和最强大的方式,让你可以像管理一台远程服务器一样管理 NAO。
- 前提条件:
- NAO 和你的电脑连接在同一个 Wi-Fi 网络中。
- 你知道 NAO 的 IP 地址(通常在 NAO 的胸前屏幕上显示,或在 Choregraphe 中可以找到)。
- 默认用户名和密码:
- 用户名:
nao - 密码:
nao(注意:出于安全考虑,强烈建议首次登录后立即修改密码)
- 用户名:
- 操作步骤 (在 Linux, macOS 或 Windows 上):
- 打开终端(Linux/macOS)或 PowerShell/命令提示符(Windows)。
- 输入以下命令并回车:
ssh nao@<NAO的IP地址>
ssh nao@192.168.1.100 - 首次连接时,系统会询问你是否信任主机的指纹,输入
yes。 - 然后输入密码
nao。
- 登录后你可以做什么?
- 文件管理:使用
ls,cd,cp,mv,rm,mkdir等命令浏览和操作文件。 - 软件安装:使用
apt-get命令安装新的软件包(sudo apt-get update && sudo apt-get install htop)。 - 系统监控:使用
top,htop,df -h,free -m等命令查看 CPU、内存和磁盘使用情况。 - 日志查看:查看系统日志或应用程序日志来排查问题。
- 手动启动/停止服务:重启 NAOqi 核心。
- 文件管理:使用
b) 通过 Choregraphe 或 Python - 编程访问
这是通过 NAO 提供的 API 来间接与系统交互的方式。
- Choregraphe:这是一个图形化编程环境,在“面板”或“时间轴”中,你可以拖拽“框”(Box),这些框内部实际上是 Python 代码,你可以执行 Python 脚本来控制 NAO 的行为。
- Python SDK:你可以直接在你的电脑上(或通过 SSH 在 NAO 上)用 Python 编写脚本,调用 NAOqi 提供的模块(如
ALMotion,ALAudioPlayer,ALTextToSpeech等)来控制 NAO 的各个部分。
NAOqi OS 的核心组件:NAOqi
当你通过 SSH 登录 NAO 时,你实际上是在与 NAOqi OS 交互,NAOqi 是整个系统的“大脑”,它由几个关键部分组成:
- NAOqi OS:底层操作系统。
- NAOqi Engine:核心引擎,负责加载和管理所有模块。
- NAOqi Modules:功能模块,每个模块负责一部分功能。
ALMotion:控制所有电机,实现运动。ALAudioPlayer:播放音频文件。ALTextToSpeech:文本转语音。ALVideoDevice:管理摄像头。ALMemory:一个全局共享的内存空间,用于在不同模块之间传递数据。- ...等等。
你可以通过 SSH 命令 top 查看正在运行的 NAOqi 模块进程。
开发应用:在 NAO 上运行你的 Linux 程序
既然 NAO 是一个 Linux 系统,你几乎可以运行任何标准的 Linux 应用程序,只要它们是为 ARM 架构编译的(因为 NAO 使用的是 Intel Atom 处理器,但早期版本是 ARM,现代 NAOqi OS 已经支持 x86,但通用性仍需考虑)。
常见的开发场景:
-
运行 Python 脚本:
- 这是最简单的方式,Python 已经预装在 NAO 上。
- 编写一个 Python 脚本(
my_behavior.py),使用ALProxy连接到 NAOqi 模块。 - 将脚本通过 SCP (Secure Copy) 复制到 NAO 上,然后通过 SSH 登录并运行:
python my_behavior.py。
-
安装和使用额外的软件:
- 场景:你想让 NAO 录制视频并分析,系统可能没有
ffmpeg。 - 步骤:
- SSH 登录 NAO。
- 更新软件包列表:
sudo apt-get update - 安装
ffmpeg:sudo apt-get install ffmpeg - 现在就可以在 Python 脚本中通过
subprocess模块调用ffmpeg命令了。
- 场景:你想让 NAO 录制视频并分析,系统可能没有
-
编译 C++ 程序:
- NAO 上有
g++编译器。 - 你可以编写 C++ 代码,并通过
g++直接在 NAO 上编译,或者交叉编译后部署。
- NAO 上有
实用技巧和注意事项
- 修改密码:首次使用 SSH 登录后,立即使用
passwd命令修改密码。 - 文件传输:
- 上传:使用
scp命令。scp my_script.py nao@<NAO_IP>:~/ - 下载:
scp nao@<NAO_IP>:~/my_script.py .
- 上传:使用
- 重启:
- 软重启(推荐):
sudo reboot,这会重启 NAOqi 系统,但不会断开 SSH 连接(会断开,但会自动重连)。 - 硬重启:长按 NAO 胸前的按钮,或在 SSH 中使用
sudo shutdown -r now。
- 软重启(推荐):
- 日志:日志文件通常位于
/var/log/目录下,naoqi.log。 - 固件更新:更新 NAO 的固件(包括操作系统和 NAOqi)通常是通过 Choregraphe 软件完成的,而不是通过
apt-get。
| 特性 | 描述 |
|---|---|
| 操作系统 | NAOqi OS,一个定制的嵌入式 Linux 系统,基于 Debian。 |
| 核心 | NAOqi,负责硬件管理和提供 API 的中间件。 |
| 访问方式 | SSH (用于命令行管理和系统维护) 和 Python/Choregraphe (用于应用开发)。 |
| 开发能力 | 非常强大,可以运行 Python 脚本、安装 Linux 软件包、编译 C++ 程序,充分利用 Linux 的生态。 |
| 架构 | 现代 NAO 机器人使用 x86 (Intel Atom) 架构,与普通 PC 相同,提高了软件兼容性。 |
NAO 机器人不仅仅是一个封闭的机器人,它是一个运行在 Linux 上的、可高度定制的计算平台,理解它与 Linux 的关系,是进行高级开发和系统管理的关键。
标签: nao机器人linux系统配置 nao机器人linux开发教程 nao机器人linux驱动安装