26
2025
-
02
基于Raspberry Pi 5的情感机器人设计
浏览:498
发布:2025-02-26 15:42:11
Raspberry Pi 5相(xiāng)较(jiào)于(yú)上(shàng)一(yī)代(dài)搭(dā)载(zài)了(le)更(gèng)强(qiáng)的(de)处(chù)理(lǐ)器(qì)和(hé)硬(yìng)件(jiàn)性(xìng)能(néng),为(wèi)情(qíng)感(gǎn)机(jī)器(qì)人(rén)的(de)开(kāi)发(fā)提(tí)供(gōng)了(le)前所未有的可能性。其支持多任务处理和实时计算,为语音交互和情感判断提供了坚实的基础。此外配合高性能的摄像头模块和传感器,机器人能够捕捉环境信息,真正做到 “知人知面” 。
本项目一款以Raspberry Pi 5为核心设计的情感机器人,具备语音识别、情绪分析、表情显示和运动控制等功能。
Apple Spatial Audio并不是唯一的空间音频技术;Sony和Denon等公司在这项技术上也处于领先地位,并提供商业化产品。不过,本文仅讨论空间音频技术一般概念以及Apple的Personalized Spatial Audio。
音频偏好始终被视为一项个人体验。一个人认为好的东西对另外一个人可能并非如此。但随着Apple iOS 16对Personalized Spatial Audio的支持,许多渠道上众说纷纭,误传误报层出不穷。本文将浅谈一下空间音频技术的现状和特性。
01项目背景和意义
1985年,人(rén)工(gōng)智(zhì)能(néng)的(de)奠(diàn)基(jī)人(rén)之(zhī)一(yī) Minsky 就(jiù)明(míng)确指出 “问题不在于智能机器能否有情感,而在于没有情感的机器能否实现智能” 。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)连接。

图(tú) 1:Raspberry Pi 5单(dān)板(bǎn)计(jì)算(suàn)机(jī)(来(lái)源(yuán):贸(mào)泽(zé)电(diàn)子(zi))
Grove - 振(zhèn)动(dòng)传(chuán)感(gǎn)器(qì)(SW-420)(图(tú)2)是(shì)一(yī)种(zhǒng)高(gāo)灵(líng)敏(mǐn)度(dù)非(fēi)定(dìng)向(xiàng)振(zhèn)动(dòng)传(chuán)感(gǎn)器(qì)。模(mó)块(kuài)稳(wěn)定时,电路接通,输出高电平。当发生移动或振动时,电路会短暂断开,输出低电平。同时,还可以根据自己的需要调节灵敏度。

图 2:Grove - 振动传感器(SW-420)(来源:贸泽电子)
ReSpeaker 2-Mics Pi HAT(图(tú)3)设(shè)计(jì)基(jī)于(yú)Cirrus Logic WM8960,WM8960是(shì)一(yī)款(kuǎn)低(dī)功(gōng)耗(hào)立(lì)体(tǐ)声(shēng)编(biān)解(jiě)码(mǎ)器(qì),具(jù)有(yǒu)设(shè)计(jì)用(yòng)于(yú)数(shù)字(zì)音(yīn)频(pín)应(yīng)用(yòng)的(de)1W立(lì)体(tǐ)声(shēng)D类(lèi)扬(yáng)声(shēng)器(qì)驱(qū)动(dòng)器(qì)。其(qí)他(tā)硬(yìng)件(jiàn)包(bāo)括(kuò)电(diàn)路板(bǎn)两(liǎng)侧(cè)的(de)2个(gè)麦(mài)克(kè)风(fēng)(用(yòng)于(yú)收(shōu)集声(shēng)音(yīn))、3个(gè)APA102 RGB LED、1个(gè)用(yòng)户(hù)按(àn)钮(niǔ)和(hé)2个(gè)用(yòng)于(yú)扩展的板载Grove接口。音频输出可通过3.5mm音频插孔或JST 2. 0扬声器输出(chū)传(chuán)输(shū)。该(gāi)板(bǎn)是(shì)一(yī)款(kuǎn)带(dài)有(yǒu)用(yòng)于(yú)Raspberry Pi的(de)双(shuāng)麦(mài)克(kè)风(fēng)的(de)扩(kuò)展(zhǎn)板(bǎn)。该(gāi)板(bǎn)设(shè)计(jì)用(yòng)于(yú)AI和(hé)语音应用,包括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(图(tú)6)可(kě)通(tōng)过(guò) I2C 驱(qū)动(dòng)多(duō)达(dá) 16 个(gè)伺(cì)服(fú)电(diàn)机(jī),只(zhǐ)需(xū) 2 个(gè)引(yǐn)脚(jiǎo)。 板(bǎn)载(zài) PWM 控(kòng)制(zhì)器(qì)可(kě)同(tóng)时(shí)驱(qū)动(dòng)所(suǒ)有(yǒu) 16 个(gè)通(tōng)道(dào)。

图(tú) 6:Adafruit PCA9685 16-Channel Servo Driver(来(lái)源(yuán):贸(mào)泽(zé)电(diàn)子(zi))
DRI0044 2x1.2A DC Motor Driver(图(tú)7)是(shì)基(jī)于(yú) TB6612FNG 电(diàn)机(jī)驱(qū)动(dòng)器(qì) IC 的(de)微(wēi)型(xíng)双(shuāng)向(xiàng)直(zhí)流(liú)电(diàn)机(jī)驱(qū)动(dòng)器(qì)。这(zhè)款(kuǎn) DFRobot 电(diàn)机(jī)驱(qū)动(dòng)器(qì)继(jì)承(chéng)了(le) L298N 的(de)电(diàn)机(jī)控(kòng)制(zhì)逻(luó)辑(ji),只(zhǐ)需(xū)四(sì)个(gè)引(yǐn)脚即可驱动两个电机。TB6612FNG 是一款用于双直流电机的驱动器 IC,其输出晶体管采用低导通电阻的 LD MOS 结构。该驱动器 IC 具有 CW/CCW/ 短路制动/停止功能模式、15V 最大电源电压、内置热关断电路和低电压检测电路。

图 7:DRI0044 2x1.2A DC Motor Driver(来源:贸泽电子)
四(sì)、项(xiàng)目(mù)设(shè)计(jì)与(yǔ)调(diào)试(shì)
硬(yìng)件(jiàn)架(jià)构(gòu)设(shè)计(jì)
以(yǐ)Raspberry Pi 5为(wèi)核(hé)心(xīn)处(chù)理(lǐ)单(dān)元(yuán),集成(chéng)多(duō)种(zhǒng)传(chuán)感(gǎn)器(qì)与(yǔ)模(mó)块(kuài),实(shí)现(xiàn)丰(fēng)富(fù)的(de)交(jiāo)互(hù)功(gōng)能(néng)。按(àn)照(zhào)不(bù)同(tóng)的(de)功(gōng)能(néng)模(mó)块(kuài),主要(yào)的(de)硬(yìng)件(jiàn)架(jià)构(gòu)设(shè)计(jì)包(bāo)括(kuò):
1.核(hé)心(xīn)处(chù)理(lǐ)单(dān)元(yuán):采用(yòng)Raspberry Pi 5,具(jù)备(bèi)强(qiáng)大(dà)的(de)计(jì)算(suàn)能(néng)力(lì)和(hé)丰(fēng)富(fù)的(de)接(jiē)口(kǒu),支(zhī)持(chí)复(fù)杂(zá)的(de)算(suàn)法(fǎ)运(yùn)行(xíng)和(hé)多(duō)任(rèn)务(wu)处(chù)理(lǐ)。
2.传感与交互模块:
麦克风阵列( ReSpeaker 2-Mics Pi HAT)实现语音信号采集,用于语音命令识别和情绪分析。Pin脚与Raspberry Pi 5兼容,可直接连接Raspberry Pi 5。
触摸传感器(TTP223)用于模拟人机交互的触控功能。
振动传感器(SW-420)检测环境中的振动信号,增加互动的趣味性。
显示模块(Nextion Touch Display)实现机器人的动态表情呈现和状态反馈。
3.运动控制系统(tǒng):
直流电机驱动模块(TB6612FNG)实现机器人底盘的转动控制。
舵机驱动模块(PCA9685)实现机器人复杂表情呈现中手臂的控制。
软件设计
软件框架基于树莓派的Raspberry Pi OS,结合Python开发语言实现多模块协作:
下载并安装最新版本的Raspberry Pi OS (64bit)。
显示模块:
从Nextion官方网站下载并安装Nextion编(biān)辑(ji)器(qì),并(bìng)将(jiāng)不(bù)同(tóng)阶(jiē)段(duàn)的(de)表(biǎo)情(qíng)动(dòng)画(huà)图(tú)片(piàn)导(dǎo)入(rù)Nextion编(biān)辑(ji)器(qì)。
Raspberry Pi通过UART向Nextion发送指令,控制图片的显示。控制代码(图8):
使用Nextion的(de)Timer控(kòng)件(jiàn)实(shí)现(xiàn)本(běn)地(de)切(qiè)换(huàn)动(dòng)画(huà)帧(zhèng),Raspberry Pi仅需通过page命令(lìng)切(qiè)换(huàn)到(dào)对(duì)应(yīng)动(dòng)画(huà)页(yè)面(miàn)。

图(tú) 8:Nextion表(biǎo)情(qíng)显(xiǎn)示(shì)代(dài)码(mǎ)(来源:贸泽电子)
语音命令识别和情感分析:
安装语音处理(pip3 install SpeechRecognition)和情感分析(pip3 install transformers torch)库(kù)。
通过如下代码(图9)录制音频并转为文本。

图 9:音频录制转文本代码(来源:贸泽电子)
使用Hugging Face的transformers库加载预训练的情感分析模型(图10)。

图 10:情感分析代码(来源:贸泽电子)
将情感分析结果发送到Nextion屏幕显示表情。
通过pyttsx3库(kù),实(shí)现(xiàn)情(qíng)感(gǎn)结(jié)果(guǒ)的(de)语(yǔ)音(yīn)反(fǎn)馈(kuì)(图(tú)11)。

图 11:语音反馈代码(来源:贸泽电子)
触(chù)摸(mō)交(jiāo)互(hù):
使(shǐ)用(yòng)GPIOZero检(jiǎn)测(cè)触(chù)摸(mō),Grove触(chù)摸(mō)传(chuán)感(gǎn)器(qì)在(zài)触(chù)摸(mō)时(shí)会(huì)将(jiāng)信(xìn)号(hào)输(shū)出(chū)为(wèi)高(gāo)电(diàn)平(píng)(1),未(wèi)触(chù)摸(mō)时(shí)为(wèi)低(dī)电(diàn)平(píng)(0),控(kòng)制(zhì)代(dài)码(mǎ)(图(tú)12)。

图 12:触摸检测代码(来源:贸泽电子)
在情感(gǎn)机(jī)器人中,可以通过触摸触发情感状态切换,显示特定表情或语音反馈(图13)。

图 13:触摸实现情感状态的切换代码(来源:贸泽电子)
运动控制(直流电机):通过以下步骤实现情感机器人身体的转动,并将其与其他功能模块相结合,增强交互性和趣味性。
通过控制DIR1和DIR2,实现机器人右转圈(正转)、左转圈(反转)、停止。
正转控制逻辑:DIR1高电平,DIR2低电平。
反转控制逻辑:DIR1低电平,DIR2高电平。
停止控制逻辑:DIR1和DIR2同时低电平。
在左右转圈时,通过串口控制Nextion屏幕显示表情(图14)。

图(tú) 14:转(zhuǎn)圈(quān)时(shí)显(xiǎn)示(shì)表(biǎo)情(qíng)的(de)代(dài)码(mǎ)(来(lái)源(yuán):贸(mào)泽(zé)电子(zi))
使(shǐ)用(yòng)触(chù)摸(mō)或(huò)者(zhě)振(zhèn)动(dòng)传(chuán)感(gǎn)器(qì)时(shí)控(kòng)制(zhì)转(zhuǎn)圈(quān)动(dòng)作(zuò)(图(tú)15)。

图(tú) 15:触(chù)摸(mō)或(huò)振(zhèn)动(dòng)与(yǔ)机(jī)器(qì)人(rén)转(zhuǎn)圈(quān)相(xiāng)结(jié)合(hé)的(de)代(dài)码(mǎ)(来(lái)源(yuán):贸(mào)泽(zé)电(diàn)子(zi))
运(yùn)动(dòng)控(kòng)制(zhì)(舵(duò)机(jī)):实(shí)现(xiàn)情(qíng)感(gǎn)机(jī)器(qì)人(rén)的(de)手(shǒu)臂(bì)控(kòng)制(zhì),通(tōng)过设置不同的手臂动作来模拟各种情感表现。
初始化PCA9685,安装Adafruit提供的Python库(pip3 install adafruit-pca9685)。
设(shè)置(zhì)舵(duò)机(jī)角(jiǎo)度(dù)(图(tú)16)。

图(tú) 16:舵(duò)机(jī)角(jiǎo)度(dù)控(kòng)制(zhì)代(dài)码(mǎ)(来(lái)源(yuán):贸(mào)泽(zé)电(diàn)子(zi))
根(gēn)据(jù)机(jī)器(qì)人(rén)的(de)情(qíng)感(gǎn)状(zhuàng)态(tài)来(lái)触(chù)发(fā)不(bù)同(tóng)的(de)手(shǒu)臂(bì)动(dòng)作(zuò)(图(tú)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,精准解读用户语音情感。通过编程实现了表情显示、手臂动作和机器人移动的联动反应,例如用户表达(dá)开(kāi)心时,机器人会挥动手臂并显示微笑表情。
本项目展示了 Raspberry Pi 5 的强大扩展性和灵活性,成功打造了一个富有情感交互功能的机器人平台,为家庭娱乐、教育和助老助残领域提供了潜在应用价值。未来可通过增强 AI 算法和语音模型,进一步提升机器人的情感理解能力。
相关新闻