Raspberry Pi 5相较于上一代搭载了更强的处理器和硬件性能,为情感机器人的开发提供了前所未有的可能性。其支持多任务处理和实时计算,为语音交互和情感判断提供了坚实的基础。此外配合高性能的摄像头模块和传感器,机器人能够捕捉环境信息,真正做到 “知人知面” 。
本项目一款以Raspberry Pi 5为核心设计的情感机器人,具备语音识别、情绪分析、表情显示和运动控制等功能。
apple Spatial Audio并不是唯一的空间音频技术;Sony和Denon等公司在这项技术上也处于领先地位,并提供商业化产品。不过,本文仅讨论空间音频技术一般概念以及Apple的Personalized Spatial Audio。
音频偏好始终被视为一项个人体验。一个人认为好的东西对另外一个人可能并非如此。但随着Apple iOS 16对Personalized Spatial Audio的支持,许多渠道上众说纷纭,误传误报层出不穷。本文将浅谈一下空间音频技术的现状和特性。
01项目背景和意义
1985年,人工智能的奠基人之一 Minsky 就明确指出 “问题不在于智能机器能否有情感,而在于没有情感的机器能否实现智能” 。1995年情感计算的概念由 Picard 首次提出,她在《Affective Computing (情感计算)》书中指出 “情感计算就是针对人类的外在表现,能够进行测量和分析并能对情感施加影响的计算” ,开辟了计算机科学的新领域,其思想是使计算机拥有情感,能够像人一样识别和表达情感,从而使人机交互更自然。
随着人工智能技术的迅速发展,机器人正在从工业制造和服务业的传统角色,逐步迈向更贴近人类生活的场景。人们期望机器人不仅能够执行任务,更希望它们具备情感认知和互动能力,以满足人类对智能伙伴的需求。然而,现有情感机器人的设计往往因成本高昂和复杂性高而限制了普及。
Raspberry Pi 5作为一款性价比极高且性能强大的单板计算机,为情感机器人的开发带来了突破性的契机。它的强大处理能力、模块化扩展性和丰富的开发资源,使得情感机器人从理论走向实践成为可能。这款基于Raspberry Pi 5的情感机器人项目,将通过融合语音识别、情感分析、物体识别以及自主运动等功能,为人们带来前所未有的智能交互体验。
02项目材料和资源
项目材料清单
358-SC1111--- Raspberry Pi 5单板计算机
713-101020586--- Seeed Studio Grove -振动传感器(SW-420)
713-107100001--- Seeed Studio ReSpeaker 2-Mics Pi HAT
713-104990604--- Seeed Studio Nextion Touch Display for Arduino Raspberry Pi
713-101020037--- Grove –触摸传感器(TTP223)
485-1411--- Adafruit PCA9685 16-Channel Servo Driver
485-5815---Raspberry Pi 5官方主动散热器
426-SER0043---DFRobot TowerPro SG90C 360 Degree Micro Servo
426-DRI0044---DFRobot DRI0044 2x1.2A DC Motor Driver
932-MIKROE-1388---Jumper Wires Wire Jumpers Female to Female
932-MIKROE-2023---Jumper Wires Wire Jumpers Male to Male
软件开发工具
操作系统与环境:Raspberry Pi OS(64-bit)
编程语言:Python 3
集成开发环境(IDE)Visual Studio Code
03项目技术概述
Raspberry Pi 5单板计算机(图1)配备了运行频率为2.4GHz的64位四核Arm Cortex-A76 CPU,带加密扩展、512KB每核L2缓存和2MB共享L3缓存,CPU 性能相对于 Raspberry Pi 4 提升了 2-3 倍。同时800MHz VideoCore VII GPU的引入,支持OpenGL ES 3.1、Vulkan 1.2,使Raspberry Pi 5支持4K@60fps视频编码和解码,并优化了图形渲染性能,适合图形密集型任务。Raspberry Pi 5支持PCIe 2.0,通过可选扩展卡连接NVMe SSD,实现高效存储。采用双频带802.11 ac Wi-Fi 和蓝牙5.0/蓝牙低功耗(BLE)连接。
图 1:Raspberry Pi 5单板计算机(来源:贸泽电子)
Grove - 振动传感器(SW-420)(图2)是一种高灵敏度非定向振动传感器。模块稳定时,电路接通,输出高电平。当发生移动或振动时,电路会短暂断开,输出低电平。同时,还可以根据自己的需要调节灵敏度。
图 2:Grove - 振动传感器(SW-420)(来源:贸泽电子)
ReSpeaker 2-Mics Pi HAT(图3)设计基于Cirrus Logic WM8960,WM8960是一款低功耗立体声编解码器,具有设计用于数字音频应用的1W立体声D类扬声器驱动器。其他硬件包括电路板两侧的2个麦克风(用于收集声音)、3个APA102 RGB LED、1个用户按钮和2个用于扩展的板载Grove接口。音频输出可通过3.5mm音频插孔或JST 2. 0扬声器输出传输。该板是一款带有用于Raspberry Pi的双麦克风的扩展板。该板设计用于AI和语音应用,包括Amazon Alexa语音服务和Google Assistant,可帮助设计人员构建功能更强大、更灵活的语音产品。
图 3:ReSpeaker 2-Mics Pi HAT(来源:贸泽电子)
Nextion Touch Display for Arduino Raspberry Pi(图4)是一款分辨率为 400*240 的 TFT 显示器。该显示器的触摸屏为电阻式触摸屏。Nextion 只有一个串口(TTL),用于供电或与 Arduino 板或 Raspberry Pi 等外围设备连接。Nextion 显示器有一个 MCU,频率高达 48MHz。借助 16MB 闪存、3584 字节 RAM 和 SD 卡插槽,该显示器可为 HMI 编程提供丰富的存储空间。
图 4:Nextion Touch Display for Arduino Raspberry Pi(来源:贸泽电子)
Grove – 触摸传感器(TTP223)(图5)基于 TTP223-B 触摸检测器集成电路。TTP223 是一种触摸板检测集成电路,提供一个触摸键。该触摸检测 IC 专为取代传统的直接按键而设计,具有不同的焊盘尺寸。低功耗和宽工作电压是触点的主要特点,适用于直流或交流应用。
图 5:Grove – 触摸传感器(TTP223)(来源:贸泽电子)
Adafruit PCA9685 16-Channel Servo Driver(图6)可通过 I2C 驱动多达 16 个伺服电机,只需 2 个引脚。 板载 PWM 控制器可同时驱动所有 16 个通道。
图 6:Adafruit PCA9685 16-Channel Servo Driver(来源:贸泽电子)
DRI0044 2x1.2A DC Motor Driver(图7)是基于 TB6612FNG 电机驱动器 IC 的微型双向直流电机驱动器。这款 DFRobot 电机驱动器继承了 L298N 的电机控制逻辑,只需四个引脚即可驱动两个电机。TB6612FNG 是一款用于双直流电机的驱动器 IC,其输出晶体管采用低导通电阻的 LD MOS 结构。该驱动器 IC 具有 CW/CCW/ 短路制动/停止功能模式、15V 最大电源电压、内置热关断电路和低电压检测电路。
图 7:DRI0044 2x1.2A DC Motor Driver(来源:贸泽电子)
四、项目设计与调试
硬件架构设计
以Raspberry Pi 5为核心处理单元,集成多种传感器与模块,实现丰富的交互功能。按照不同的功能模块,主要的硬件架构设计包括:
1.核心处理单元:采用Raspberry Pi 5,具备强大的计算能力和丰富的接口,支持复杂的算法运行和多任务处理。
2.传感与交互模块:
麦克风阵列( ReSpeaker 2-Mics Pi HAT)实现语音信号采集,用于语音命令识别和情绪分析。Pin脚与Raspberry Pi 5兼容,可直接连接Raspberry Pi 5。
触摸传感器(TTP223)用于模拟人机交互的触控功能。
振动传感器(SW-420)检测环境中的振动信号,增加互动的趣味性。
显示模块(Nextion Touch Display)实现机器人的动态表情呈现和状态反馈。
3.运动控制系统:
直流电机驱动模块(TB6612FNG)实现机器人底盘的转动控制。
舵机驱动模块(PCA9685)实现机器人复杂表情呈现中手臂的控制。
软件设计
软件框架基于树莓派的Raspberry Pi OS,结合Python开发语言实现多模块协作:
下载并安装最新版本的Raspberry Pi OS (64bit)。
显示模块:
从Nextion官方网站下载并安装Nextion编辑器,并将不同阶段的表情动画图片导入Nextion编辑器。
Raspberry Pi通过UART向Nextion发送指令,控制图片的显示。控制代码(图8):
使用Nextion的Timer控件实现本地切换动画帧,Raspberry Pi仅需通过page命令切换到对应动画页面。
图 8:Nextion表情显示代码(来源:贸泽电子)
语音命令识别和情感分析:
安装语音处理(pip3 install SpeechRecognition)和情感分析(pip3 install transformers torch)库。
通过如下代码(图9)录制音频并转为文本。
图 9:音频录制转文本代码(来源:贸泽电子)
使用Hugging Face的transformers库加载预训练的情感分析模型(图10)。
图 10:情感分析代码(来源:贸泽电子)
将情感分析结果发送到Nextion屏幕显示表情。
通过pyttsx3库,实现情感结果的语音反馈(图11)。
图 11:语音反馈代码(来源:贸泽电子)
触摸交互:
使用GPIOZero检测触摸,Grove触摸传感器在触摸时会将信号输出为高电平(1),未触摸时为低电平(0),控制代码(图12)。
图 12:触摸检测代码(来源:贸泽电子)
在情感机器人中,可以通过触摸触发情感状态切换,显示特定表情或语音反馈(图13)。
图 13:触摸实现情感状态的切换代码(来源:贸泽电子)
运动控制(直流电机):通过以下步骤实现情感机器人身体的转动,并将其与其他功能模块相结合,增强交互性和趣味性。
通过控制DIR1和DIR2,实现机器人右转圈(正转)、左转圈(反转)、停止。
正转控制逻辑:DIR1高电平,DIR2低电平。
反转控制逻辑:DIR1低电平,DIR2高电平。
停止控制逻辑:DIR1和DIR2同时低电平。
在左右转圈时,通过串口控制Nextion屏幕显示表情(图14)。
图 14:转圈时显示表情的代码(来源:贸泽电子)
使用触摸或者振动传感器时控制转圈动作(图15)。
图 15:触摸或振动与机器人转圈相结合的代码(来源:贸泽电子)
运动控制(舵机):实现情感机器人的手臂控制,通过设置不同的手臂动作来模拟各种情感表现。
初始化PCA9685,安装Adafruit提供的Python库(pip3 install adafruit-pca9685)。
设置舵机角度(图16)。
图 16:舵机角度控制代码(来源:贸泽电子)
根据机器人的情感状态来触发不同的手臂动作(图17)。
图 17:情感机器人手臂动作控制代码(来源:贸泽电子)
外壳设计
使用Autodesk Fusion 360来设计情感机器人(图18),为了简化3D打印的过程,将机器人的主体部分分成几个部分,选择PLA作为3D打印的材料,并使用螺钉进行组装。
图 18:3D打印设计图(来源:贸泽电子)
成果展示
五、项目总结
本项目基于 Raspberry Pi 5,设计并实现了一款具备语音识别、情感分析及多模态人机交互功能的情感机器人。通过软硬件的协同工作,机器人能够识别用户的情绪并做出相应的表情和动作反馈,极大提升了互动体验。
在硬件方面,Raspberry Pi 5 强大的处理性能为实时语音情感分析提供了支持,辅以 Seeed Studio ReSpeaker 2-Mics Pi HAT 实现语音输入、Nextion NX4832T035 显示屏动态显示表情、以及 DFRobot DRI0044 电机驱动器控制底盘运动。此外,Adafruit PCA9685 PWM 驱动模块负责手臂动作的精准控制,TTP223 触摸传感器和 SW-420 振动传感器增强了机器人对环境的感知能力。
在软件开发方面,项目采用 Python 编写核心逻辑,结合 gpiozero 控制硬件接口,集成了 Google Speech-to-Text 的情感分析 API,精准解读用户语音情感。通过编程实现了表情显示、手臂动作和机器人移动的联动反应,例如用户表达开心时,机器人会挥动手臂并显示微笑表情。
本项目展示了 Raspberry Pi 5 的强大扩展性和灵活性,成功打造了一个富有情感交互功能的机器人平台,为家庭娱乐、教育和助老助残领域提供了潜在应用价值。未来可通过增强 AI 算法和语音模型,进一步提升机器人的情感理解能力。
关注
68文章
19493浏览量
231578免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:bangqikeconnect@gmail.com