Raspberry Pi 5情感機器人: “知人知面”的智能交互
Raspberry Pi 5相較于上一代搭載了更強的處理器和硬件性能,為情感機器人的開發(fā)提供了前所未有的可能性。其支持多任務(wù)處理和實時計算,為語音交互和情感判斷提供了堅實的基礎(chǔ)。此外配合高性能的攝像頭模塊和傳感器,機器人能夠捕捉環(huán)境信息,真正做到 “知人知面” 。
本文引用地址:http://2s4d.com/article/202503/467563.htm本項目一款以Raspberry Pi 5為核心設(shè)計的情感機器人,具備語音識別、情緒分析、表情顯示和運動控制等功能。
一、項目背景和意義
1985年,人工智能的奠基人之一 Minsky 就明確指出 “問題不在于智能機器能否有情感,而在于沒有情感的機器能否實現(xiàn)智能” 。1995年情感計算的概念由 Picard 首次提出,她在《Affective Computing (情感計算)》書中指出 “情感計算就是針對人類的外在表現(xiàn),能夠進行測量和分析并能對情感施加影響的計算” ,開辟了計算機科學(xué)的新領(lǐng)域,其思想是使計算機擁有情感,能夠像人一樣識別和表達情感,從而使人機交互更自然。
隨著人工智能技術(shù)的迅速發(fā)展,機器人正在從工業(yè)制造和服務(wù)業(yè)的傳統(tǒng)角色,逐步邁向更貼近人類生活的場景。人們期望機器人不僅能夠執(zhí)行任務(wù),更希望它們具備情感認知和互動能力,以滿足人類對智能伙伴的需求。然而,現(xiàn)有情感機器人的設(shè)計往往因成本高昂和復(fù)雜性高而限制了普及。Raspberry Pi 5作為一款性價比極高且性能強大的單板計算機,為情感機器人的開發(fā)帶來了突破性的契機。它的強大處理能力、模塊化擴展性和豐富的開發(fā)資源,使得情感機器人從理論走向?qū)嵺`成為可能。這款基于Raspberry Pi 5的情感機器人項目,將通過融合語音識別、情感分析、物體識別以及自主運動等功能,為人們帶來前所未有的智能交互體驗。
二、項目材料和資源
項目材料清單
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
軟件開發(fā)工具
操作系統(tǒng)與環(huán)境:Raspberry Pi OS(64-bit)
編程語言:Python 3
集成開發(fā)環(huán)境(IDE)Visual Studio Code
三、項目技術(shù)概述
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視頻編碼和解碼,并優(yōu)化了圖形渲染性能,適合圖形密集型任務(wù)。Raspberry Pi 5支持PCIe 2.0,通過可選擴展卡連接NVMe SSD,實現(xiàn)高效存儲。采用雙頻帶802.11 ac Wi-Fi 和藍牙? 5.0/藍牙低功耗 (BLE)連接。
圖1:Raspberry Pi 5單板計算機(來源:貿(mào)澤電子)
Grove - 振動傳感器(SW-420)(圖2)是一種高靈敏度非定向振動傳感器。模塊穩(wěn)定時,電路接通,輸出高電平。當(dāng)發(fā)生移動或振動時,電路會短暫斷開,輸出低電平。同時,還可以根據(jù)自己的需要調(diào)節(jié)靈敏度。
圖2:Grove - 振動傳感器(SW-420)(來源:貿(mào)澤電子)
ReSpeaker 2-Mics Pi HAT(圖3)設(shè)計基于Cirrus Logic WM8960,WM8960是一款低功耗立體聲編解碼器,具有設(shè)計用于數(shù)字音頻應(yīng)用的1W立體聲D類揚聲器驅(qū)動器。其他硬件包括電路板兩側(cè)的2個麥克風(fēng)(用于收集聲音)、3個APA102 RGB LED、1個用戶按鈕和2個用于擴展的板載Grove接口。音頻輸出可通過3.5mm音頻插孔或JST 2. 0揚聲器輸出傳輸。該板是一款帶有用于Raspberry Pi的雙麥克風(fēng)的擴展板。該板設(shè)計用于AI和語音應(yīng)用,包括Amazon Alexa語音服務(wù)和Google Assistant,可幫助設(shè)計人員構(gòu)建功能更強大、更靈活的語音產(chǎn)品。
圖3:ReSpeaker 2-Mics Pi HAT(來源:貿(mào)澤電子)
Nextion Touch Display for Arduino Raspberry Pi(圖4)是一款分辨率為 400*240 的 TFT 顯示器。該顯示器的觸摸屏為電阻式觸摸屏。Nextion 只有一個串口(TTL),用于供電或與 Arduino 板或 Raspberry Pi 等外圍設(shè)備連接。Nextion 顯示器有一個 MCU,頻率高達 48MHz。借助 16MB 閃存、3584 字節(jié) RAM 和 SD 卡插槽,該顯示器可為 HMI 編程提供豐富的存儲空間。
圖4:Nextion Touch Display for Arduino Raspberry Pi(來源:貿(mào)澤電子)
Grove –觸摸傳感器(TTP223)(圖5)基于 TTP223-B 觸摸檢測器集成電路。TTP223 是一種觸摸板檢測集成電路,提供一個觸摸鍵。該觸摸檢測 IC 專為取代傳統(tǒng)的直接按鍵而設(shè)計,具有不同的焊盤尺寸。低功耗和寬工作電壓是觸點的主要特點,適用于直流或交流應(yīng)用。
圖5:Grove –觸摸傳感器(TTP223)(來源:貿(mào)澤電子)
Adafruit PCA9685 16-Channel Servo Driver(圖6)可通過 I2C 驅(qū)動多達 16 個伺服電機,只需 2 個引腳。板載 PWM 控制器可同時驅(qū)動所有 16 個通道。
圖6:Adafruit PCA9685 16-Channel Servo Driver(來源:貿(mào)澤電子)
DRI0044 2x1.2A DC Motor Driver(圖7)是基于 TB6612FNG 電機驅(qū)動器 IC 的微型雙向直流電機驅(qū)動器。這款 DFRobot 電機驅(qū)動器繼承了 L298N 的電機控制邏輯,只需四個引腳即可驅(qū)動兩個電機。TB6612FNG 是一款用于雙直流電機的驅(qū)動器 IC,其輸出晶體管采用低導(dǎo)通電阻的 LD MOS 結(jié)構(gòu)。該驅(qū)動器 IC 具有 CW/CCW/ 短路制動/停止功能模式、15V 最大電源電壓、內(nèi)置熱關(guān)斷電路和低電壓檢測電路。
圖7:DRI0044 2x1.2A DC Motor Driver(來源:貿(mào)澤電子)
四、項目設(shè)計與調(diào)試
硬件架構(gòu)設(shè)計
以Raspberry Pi 5為核心處理單元,集成多種傳感器與模塊,實現(xiàn)豐富的交互功能。按照不同的功能模塊,主要的硬件架構(gòu)設(shè)計包括:
1.核心處理單元:采用Raspberry Pi 5,具備強大的計算能力和豐富的接口,支持復(fù)雜的算法運行和多任務(wù)處理。
2.傳感與交互模塊:
麥克風(fēng)陣列( ReSpeaker 2-Mics Pi HAT)實現(xiàn)語音信號采集,用于語音命令識別和情緒分析。Pin腳與Raspberry Pi 5兼容,可直接連接Raspberry Pi 5。
觸摸傳感器(TTP223)用于模擬人機交互的觸控功能。
振動傳感器(SW-420)檢測環(huán)境中的振動信號,增加互動的趣味性。
顯示模塊(Nextion Touch Display)實現(xiàn)機器人的動態(tài)表情呈現(xiàn)和狀態(tài)反饋。
3.運動控制系統(tǒng):
直流電機驅(qū)動模塊(TB6612FNG)實現(xiàn)機器人底盤的轉(zhuǎn)動控制。
舵機驅(qū)動模塊(PCA9685)實現(xiàn)機器人復(fù)雜表情呈現(xiàn)中手臂的控制。
軟件設(shè)計
軟件框架基于樹莓派的Raspberry Pi OS,結(jié)合Python開發(fā)語言實現(xiàn)多模塊協(xié)作:
下載并安裝最新版本的Raspberry Pi OS (64bit)。
顯示模塊:
從Nextion官方網(wǎng)站下載并安裝Nextion編輯器,并將不同階段的表情動畫圖片導(dǎo)入Nextion編輯器。
Raspberry Pi通過UART向Nextion發(fā)送指令,控制圖片的顯示。控制代碼(圖8):
使用Nextion的Timer控件實現(xiàn)本地切換動畫幀,Raspberry Pi僅需通過page命令切換到對應(yīng)動畫頁面。
圖8:Nextion表情顯示代碼(來源:貿(mào)澤電子)
語音命令識別和情感分析:
安裝語音處理(pip3 install SpeechRecognition)和情感分析(pip3 install transformers torch)庫。
通過如下代碼(圖9)錄制音頻并轉(zhuǎn)為文本。
圖9:音頻錄制轉(zhuǎn)文本代碼(來源:貿(mào)澤電子)
使用Hugging Face的transformers庫加載預(yù)訓(xùn)練的情感分析模型(圖10)。
圖10:情感分析代碼(來源:貿(mào)澤電子)
將情感分析結(jié)果發(fā)送到Nextion屏幕顯示表情。
通過pyttsx3庫,實現(xiàn)情感結(jié)果的語音反饋(圖11)。
圖11:語音反饋代碼(來源:貿(mào)澤電子)
觸摸交互:
使用GPIOZero檢測觸摸,Grove觸摸傳感器在觸摸時會將信號輸出為高電平(1),未觸摸時為低電平(0),控制代碼(圖12)。
圖12:觸摸檢測代碼(來源:貿(mào)澤電子)
在情感機器人中,可以通過觸摸觸發(fā)情感狀態(tài)切換,顯示特定表情或語音反饋(圖13)。
圖13:觸摸實現(xiàn)情感狀態(tài)的切換代碼(來源:貿(mào)澤電子)
運動控制(直流電機):通過以下步驟實現(xiàn)情感機器人身體的轉(zhuǎn)動,并將其與其他功能模塊相結(jié)合,增強交互性和趣味性。
通過控制DIR1和DIR2,實現(xiàn)機器人右轉(zhuǎn)圈(正轉(zhuǎn))、左轉(zhuǎn)圈(反轉(zhuǎn))、停止。
正轉(zhuǎn)控制邏輯:DIR1高電平,DIR2低電平。
反轉(zhuǎn)控制邏輯:DIR1低電平,DIR2高電平。
停止控制邏輯:DIR1和DIR2同時低電平。
在左右轉(zhuǎn)圈時,通過串口控制Nextion屏幕顯示表情(圖14)。
圖14:轉(zhuǎn)圈時顯示表情的代碼(來源:貿(mào)澤電子)
使用觸摸或者振動傳感器時控制轉(zhuǎn)圈動作(圖15)。
圖15:觸摸或振動與機器人轉(zhuǎn)圈相結(jié)合的代碼(來源:貿(mào)澤電子)
運動控制(舵機):實現(xiàn)情感機器人的手臂控制,通過設(shè)置不同的手臂動作來模擬各種情感表現(xiàn)。
初始化PCA9685,安裝Adafruit提供的Python庫(pip3 install adafruit-pca9685)。
設(shè)置舵機角度(圖16)。
圖16:舵機角度控制代碼(來源:貿(mào)澤電子)
根據(jù)機器人的情感狀態(tài)來觸發(fā)不同的手臂動作(圖17)。
圖17:情感機器人手臂動作控制代碼(來源:貿(mào)澤電子)
外殼設(shè)計
使用Autodesk Fusion 360來設(shè)計情感機器人(圖18),為了簡化3D打印的過程,將機器人的主體部分分成幾個部分,選擇PLA作為3D打印的材料,并使用螺釘進行組裝。
圖18:3D打印設(shè)計圖(來源:貿(mào)澤電子)
成果展示
五、項目總結(jié)
本項目基于 Raspberry Pi 5,設(shè)計并實現(xiàn)了一款具備語音識別、情感分析及多模態(tài)人機交互功能的情感機器人。通過軟硬件的協(xié)同工作,機器人能夠識別用戶的情緒并做出相應(yīng)的表情和動作反饋,極大提升了互動體驗。
在硬件方面,Raspberry Pi 5 強大的處理性能為實時語音情感分析提供了支持,輔以 Seeed Studio ReSpeaker 2-Mics Pi HAT 實現(xiàn)語音輸入、Nextion NX4832T035 顯示屏動態(tài)顯示表情、以及 DFRobot DRI0044 電機驅(qū)動器控制底盤運動。此外,Adafruit PCA9685 PWM 驅(qū)動模塊負責(zé)手臂動作的精準(zhǔn)控制,TTP223 觸摸傳感器和 SW-420 振動傳感器增強了機器人對環(huán)境的感知能力。
在軟件開發(fā)方面,項目采用 Python 編寫核心邏輯,結(jié)合 gpiozero 控制硬件接口,集成了 Google Speech-to-Text 的情感分析 API,精準(zhǔn)解讀用戶語音情感。通過編程實現(xiàn)了表情顯示、手臂動作和機器人移動的聯(lián)動反應(yīng),例如用戶表達開心時,機器人會揮動手臂并顯示微笑表情。
本項目展示了 Raspberry Pi 5 的強大擴展性和靈活性,成功打造了一個富有情感交互功能的機器人平臺,為家庭娛樂、教育和助老助殘領(lǐng)域提供了潛在應(yīng)用價值。未來可通過增強 AI 算法和語音模型,進一步提升機器人的情感理解能力。
評論