Pepper 机器人终极教程:从入门到应用
Pepper 是一款由 SoftBank Robotics(软银机器人)开发的人形社交机器人,它配备了丰富的传感器、语音识别、情感识别和触摸屏,被广泛应用于零售、教育、医疗、酒店和客服等领域。

本教程将分为以下几个部分:
- 第一部分:认识 Pepper
- 第二部分:核心交互方式
- 第三部分:应用开发入门
- 第四部分:高级应用场景
- 第五部分:资源与社区
第一部分:认识 Pepper
在开始之前,让我们先了解一下 Pepper 的“身体构造”和“大脑”。
硬件组件
- 头部:
- 屏幕: 4个触摸屏,用于显示表情、信息或作为交互界面。
- 4个麦克风: 分布在头部,实现360°声源定位和清晰的声音拾取。
- 2个摄像头: 用于人脸识别、物体识别和环境感知。
- 惯性测量单元: 包含陀螺仪和加速度计,用于保持平衡。
- 身体:
- 躯干: 内置高性能计算机(处理器、内存、存储)。
- 手臂: 2个自由度(可以抬起和放下),末端有触摸传感器。
- 手: 5个手指,每个手指都有触摸传感器,可以握手或做出手势。
- 激光雷达: 位于身体底部,用于创建周围环境的 2D 地图,避免碰撞。
- 轮子: 2个驱动轮,用于在平坦地面上移动。
- 超声波传感器: 用于检测近距离障碍物。
- “大脑” - NAOqi OS:
- Pepper 运行的是一个名为 NAOqi 的专用操作系统,这个系统基于 Linux,并提供了强大的 API(应用程序编程接口)来控制机器人的所有硬件。
“大脑” - NAOqi OS 与软件架构
NAOqi 是 Pepper 的核心,它像一个中间层,连接底层的硬件和上层的应用程序,它由以下几部分组成:
- NAOqi OS: 操作系统本身。
- NAOqi SDK (Software Development Kit): 开发工具包,允许开发者用 Python、C++、Java 等语言创建应用。
- 模块化架构: Pepper 的功能被分解成许多“模块”,
ALMotion: 控制所有运动(行走、转头、挥手等)。ALTextToSpeech: 控制语音合成(让 Pepper 说话)。ALSpeechRecognition: 控制语音识别(听懂人说的话)。ALMemory: 全局“黑板”,用于模块间共享数据。ALTabletService: 控制平板电脑屏幕的显示。
第二部分:核心交互方式
与 Pepper 交互非常直观,主要有以下四种方式:

语音交互
这是最自然的交互方式。
- 说话: 您可以直接对 Pepper 说话。
- 倾听: Pepper 的 4 个麦克风会定位您的声音并开始倾听。
- 关键词识别: 您可以设置一组关键词,当 Pepper 听到这些词时,会触发特定的动作或回应,设置关键词“你好”,当 Pepper 听到后,它会挥手并说“你好!”。
- 句子理解: Pepper 可以理解更复杂的句子和问题,并从中提取关键信息,问 Pepper:“今天天气怎么样?”,它会联网后回答。
触摸交互
Pepper 的屏幕、手和手臂都可以作为触摸输入设备。
- 屏幕触摸: 直接点击屏幕上的按钮、图标或卡片。
- 触摸传感器: 当您触摸它的手或手臂时,它会做出相应的反应(如高兴地笑或说“别挠我”)。
- 平板电脑应用: Pepper 的平板电脑可以运行基于 Web 的 HTML5 应用,提供丰富的图形化交互界面。
移动交互
- 自主导航: Pepper 可以通过激光雷达感知环境,自主地在指定区域内行走、避障、充电,您可以通过平板电脑发送一个地点名称,它会自动导航过去。
- 跟随: Pepper 可以跟随指定的人移动。
- 遥控: 可以通过平板电脑或遥控器手动控制 Pepper 的移动。
情感识别
Pepper 的“眼睛”是摄像头,它可以:
- 识别人脸: 识别并记住它见过的人。
- 识别情绪: 通过分析面部表情和语音语调,判断人的情绪是开心、悲伤还是生气,并做出相应的回应。
第三部分:应用开发入门
如果您想自己为 Pepper 创建应用,可以从这里开始。

开发环境准备
- 硬件: 一台 Pepper 机器人,或者一台装有 NAOqi Sim(NAOqi 机器人模拟器)的电脑。
- 软件:
- Choregraphe (核心工具): 这是 SBR 提供的图形化编程软件,您可以通过拖拽“盒子”来创建行为流,非常适合初学者。
- Python IDE: 对于更复杂的逻辑,通常使用 Python 语言,推荐使用 PyCharm 或 VS Code。
- NAOqi SDK: 包含了所有必要的库和文档。
开发流程
使用 Choregraphe (图形化编程)
这是最简单、最直观的方法,适合快速原型制作和简单应用。
- 下载并安装 Choregraphe。
- 连接机器人: 在 Choregraphe 中连接到您的 Pepper(或启动模拟器)。
- 创建行为流:
- 基本盒子: 拖入一个
Say(说话) 盒子,输入文本“你好,世界!”。 - 连接盒子: 用箭头将
Say盒子连接到一个Wait for 5 seconds(等待5秒) 盒子,再连接到一个Animation(动画) 盒子(选择一个挥手动画)。 - 运行: 点击“播放”按钮,机器人就会按顺序执行这些动作。
- 基本盒子: 拖入一个
- 发布应用: 将创建好的行为流保存为一个
.choregraphe文件,并上传到 Pepper 上运行。
使用 Python (代码编程)
当您需要处理复杂逻辑、数据或与外部系统(如数据库、API)交互时,Python 是更好的选择。
-
在 Pepper 上创建 Python 脚本:
- 连接 Pepper 的 SSH。
- 在
/home/nao/naoqi/bin/目录下创建一个.py文件,my_first_app.py。
-
编写简单代码:
#!/usr/bin/env python # -*- coding: utf-8 -*- from naoqi import ALProxy # 连接到机器人 IP = "YOUR_PEPPER_IP" # 替换为您的 Pepper IP PORT = 9559 # 创建语音代理 tts = ALProxy("ALTextToSpeech", IP, PORT) # 创建运动代理 motion = ALProxy("ALMotion", IP, PORT) # 让 Pepper 说话 tts.say("你好,我是 Pepper!") # 让 Pepper 挥手 motion.openHand("RHand") motion.setAngles("RShoulderPitch", -1.5, 0.5) # 抬起右臂 motion.setAngles("RElbowYaw", 1.0, 0.5) # 挥手动作 motion.wait(1.0) motion.setAngles("RElbowYaw", -1.0, 0.5) motion.wait(1.0) motion.setAngles("RElbowYaw", 1.0, 0.5) motion.wait(1.0) motion.setAngles("RShoulderPitch", 0.0, 0.5) # 手臂放下 print("程序执行完毕。") -
运行脚本:
- 在 Pepper 的终端中,使用
python my_first_app.py来运行脚本。 - 或者,您可以将脚本作为后台任务(
ALAutonomousLife中的一个“行为”)来运行。
- 在 Pepper 的终端中,使用
第四部分:高级应用场景
掌握了基础后,您可以探索更复杂的应用。
- 迎宾与导览: 在商场、博物馆或展会,Pepper 可以识别访客,进行问候,并通过语音和屏幕提供信息引导。
- 零售助手: 回答顾客关于商品、促销活动的问题,引导顾客到特定货架,甚至进行简单的商品推荐。
- 教育伙伴: 在教室里,Pepper 可以讲故事、教单词、与学生互动,使学习过程更有趣。
- 健康陪伴: 为老人或病人提供陪伴,提醒他们吃药,进行简单的对话,缓解孤独感。
- 数据收集与分析: 通过对话和问卷收集用户反馈,并将数据发送到云端进行分析,为商业决策提供支持。
第五部分:资源与社区
遇到问题或需要灵感时,可以参考以下资源:
官方资源
- SoftBank Robotics 官网: https://www.softbankrobotics.com/emea/zh-hans
- 产品页面: 获取最新的产品信息和规格。
- 开发者中心: 最重要的资源! 包含了完整的 SDK 下载、API 文档、教程和示例代码。
- NAOqi OS 文档: 详细介绍了每个模块的功能和使用方法。
- Choregraphe 用户指南: 图形化编程的官方教程。
社区与论坛
- SoftBank Robotics 开发者论坛: 在这里可以提问、分享经验,并与全球的开发者交流。
- GitHub: 搜索 "NAOqi" 或 "Pepper",可以找到许多开源项目和示例代码。
视频教程
在 YouTube 和 Bilibili 上搜索 "Pepper robot tutorial"、"NAOqi Python tutorial" 等关键词,可以找到大量视频教程,非常直观。
学习 Pepper 机器人是一个充满乐趣的过程,建议您从 直接与 Pepper 交互 开始,感受它的魅力;然后尝试使用 Choregraphe 制作一些简单的动画和对话;当您有明确的应用目标时,再深入学习 Python 编程。
祝您与 Pepper 的互动之旅愉快!