毕设题目:基于esp32s3的多模态机器人

Tips 内容:汇报我的毕设选题和进度 作者:苏楷

目录

链接

1. 项目综述

毕设题目:基于 ESP32-S3 的多模态机器人系统设计与实现

本项目旨在设计并实现一个基于 ESP32-S3 芯片的多模态智能平衡机器人系统。该系统集成了语音、视觉感知与运动控制能力,其核心目标是构建一个能够实时与云端大模型交互、理解复杂指令并执行精确物理动作的智能平台。系统采用分布式架构,由 ESP32-S3 主控板和 STM32F103 运动控制板共同构成机器人硬件端。 一、后端服务器与云端交互 系统以 Python 语言实现的后端服务器为中枢。后端通过 WebSocket 协议接收来自 ESP32-S3 的 Opus 音频包和摄像头图片。服务器首先进行 VAD 说话检测,将有效音频转换为文本并与图像数据、Function Calling 工具包一起发送给云端 Qwen-VL-Plus 大模型进行多模态推理。接收到大模型的响应后,服务器将回复文本通过 EdgeTTS 转换为 Opus 音频流发送回机器人播放,同时解析响应中的 JSON 函数指令,构建并发送控制命令。 二、核心主控电路板(ESP32-S3) ESP32-S3 作为核心主控,负责多模态数据的采集与通信。音频输入通过 ES7210 采集贴片麦克风数据并编码为 Opus,通过 ES8311 驱动喇叭进行音频输出。视觉数据通过 USB 连接摄像头,以 1FPS 的频率采集图像。所有数据通过 Wi-Fi WebSocket 协议与后端通信。此外,它通过低功耗蓝牙 BLE 连接上位机,接收 PID 调参和 WiFi 配置信息,并将从后端接收的 JSON 命令解包后,通过 UART 串口发送至运动控制板。 三、运动控制板(STM32F103) 运动控制功能由 STM32F103C8T6 芯片实现。它主要负责高精度的运动控制任务,包括通过陀螺仪和加速计实时采集姿态数据。系统采用 PID 算法控制霍尔编码有刷电机,实现机器人的直立平衡、前进和转弯。命令执行通过 DMA 串口接收 ESP32-S3 发来的指令并修改本地参数。此外,它还通过 SPI/IIC 接口驱动触摸显示屏,用于显示参数或机器人状态表情。


2 项目细节

2.1 后端:

2.2 核心主控电路板:

2.3 运动控制板:


3. 系统框图(尺寸太小,可见另一份文件)

🔋 电源管理系统

☁️ 阿里通义千问 Qwen-VL-Plus

💻 Python 后端服务器

🤖 多模态平衡机器人

📱 上位机/用户

逻辑与指令

音频/文本处理

⚙️ 运动控制板: STM32F103

📡 主控板: ESP32-S3

1FPS 图片

UART 串口透传

BLE 低功耗蓝牙

环境音

PCM数据

编码待发送的Opus包

1FPS 图片

JPEG流

esp32上传Opus音频+图片

文本 + 图片 + Tools

响应: 文本 + JSON函数

MP3

Opus音频

JSON指令

esp32接收Opus音频+JSON指令

播放Opus音频

PCM数据

JSON指令发给stm32

运动参数

表情/状态

姿态数据

🔋 电源板_12V8A锂电池

蓝牙小程序\nPID调参/WiFi配网

USB Host

WiFi / WebSocket 客户端

BLE 蓝牙服务

UART 指令发送

DMA 串口接收 & 解析

PID 闭环控制算法

陀螺仪姿态解算

电机驱动 PWM

SPI/IIC 屏幕驱动

贴片麦克风

Mic_Chip

Spk_Chip

喇叭

摄像头

霍尔编码电机

触摸显示屏

WebSocket 服务端

VAD 说话人检测

Opus转文本/STT

文本暂存

EdgeTTS: 文本转MP3

MP3转Opus编码

JSON 响应解析

构建 JSON 控制指令

多模态理解与推理

Function Calling 工具库

12V 8A 锂电池

稳压电源板 5V/3.3V

电机电压驱动板

Opus_Codec

4. 开发过程中遇到的问题进度

4.1 问题汇总

4.2 目前的成品图片

Tips:供老师参考,有点丑qwq,所以想优化下结构和电路。

正面:

image-20251127180344951

背面:

image-20251127180401163

 

上面:

image-20251127180411694

4.3 进度