新闻中心
新闻中心

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)连接。

a9bba18e-f3d5-11ef-9310-92fbcf53809c.jpg

图(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)定时,电路接通,输出高电平。当发生移动或振动时,电路会短暂断开,输出低电平。同时,还可以根据自己的需要调节灵敏度。

wKgZPGe-tWWAYA-xAAIUc1ZVcsY104.png

图 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,可帮助设计人员构建功能更强大、更灵活的语音产品。

wKgZPGe-tYaABOkjAAM_nvO_vng874.png

图 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 编程提供丰富的存储空间。

wKgZO2e-tY-Aa0lJAADzOBj7u0g430.png

图 4:Nextion Touch Display for Arduino Raspberry Pi(来源:贸泽电子)

Grove – 触摸传感器(TTP223)(图5)基于 TTP223-B 触摸检测集成电路。TTP223 是一种触摸板检测集成电路,提供一个触摸键。该触摸检测 IC 专为取代传统的直接按键而设计,具有不同的焊盘尺寸。低功耗和宽工作电压是触点的主要特点,适用于直流或交流应用。

wKgZPGe-tZiAb52OAAF_R3TbWkE470.png

图 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)。

wKgZO2e-taOAS9hVAAIEzoSpKvA121.png

图(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 最大电源电压、内置热关断电路和低电压检测电路。

wKgZO2e-tayAYGfrAAFyGUxT8qM227.png

图 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)。

wKgZPGe-tbeAKapEAAGb8G7NIuM773.png

图(tú) 8:Nextion表(biǎo)情(qíng)显(xiǎn)示(shì)代(dài)码(mǎ)(来源:贸泽电子)

语音命令识别和情感分析:

安装语音处理(pip3 install SpeechRecognition)和情感分析(pip3 install transformers torch)库(kù)。

通过如下代码(图9)录制音频并转为文本。

wKgZPGe-tcqAbq5BAAGMjXwVJdA533.png

图 9:音频录制转文本代码(来源:贸泽电子)

使用Hugging Facetransformers库加载预训练的情感分析模型(图10)。

wKgZO2e-tdGAbhdOAADSPU6OL58127.png

图 10:情感分析代码(来源:贸泽电子)

将情感分析结果发送到Nextion屏幕显示表情。

通过pyttsx3库(kù),实(shí)现(xiàn)情(qíng)感(gǎn)结(jié)果(guǒ)的(de)语(yǔ)音(yīn)反(fǎn)馈(kuì)(图(tú)11)。

wKgZPGe-tdqAAtbdAADiTosaXGA900.png

图 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)。

wKgZO2e-teGAGjJ4AAFf-wKfDUM586.png

图 12:触摸检测代码(来源:贸泽电子)

在情感(gǎn)机(jī)器人中,可以通过触摸触发情感状态切换,显示特定表情或语音反馈(图13)。

wKgZPGe-teqAHxNjAAJ_qB4kN8c357.png

图 13:触摸实现情感状态的切换代码(来源:贸泽电子)

运动控制(直流电机):通过以下步骤实现情感机器人身体的转动,并将其与其他功能模块相结合,增强交互性和趣味性。

通过控制DIR1DIR2,实现机器人右转圈(正转)、左转圈(反转)、停止。

正转控制逻辑:DIR1高电平,DIR2低电平。

反转控制逻辑:DIR1低电平,DIR2高电平。

停止控制逻辑:DIR1DIR2同时低电平。

在左右转圈时,通过串口控制Nextion屏幕显示表情(图14)。

wKgZO2e-tfOAXiixAAExmNN8qfQ108.png

图(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)。

wKgZPGe-tfqAFRQhAAGTzKzESvc633.png

图(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)。

wKgZPGe-tgKAIRcNAADf33OHyVg302.png

图(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)。

wKgZPGe-tgmAWRZ2AAEjqlOucKk887.png

图 17:情感机器人手臂动作控制代码(来源:贸泽电子)

外壳设计

使用Autodesk Fusion 360来设计情感机器人(图18),为了简化3D打印的过程,将机器人的主体部分分成几个部分,选择PLA作为3D打印的材料,并使用螺钉进行组装。

wKgZPGe-thGABrWZAAFVIyNq7Po123.png

图 18:3D打印设计图(来源:贸泽电子)

成果展示

wKgZO2e-thmAZi4uAAGlCLhEPE8667.png

五、项目总结

本项目基于 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 算法和语音模型,进一步提升机器人的情感理解能力。