家庭机器人 · ROS2 导航 · 具身智能平台

PiCarHome —— 基于 Raspberry Pi 5 与 ROS2 的家庭机器人平台

面向家庭陪伴、室内巡逻与智能看护场景,集成差速底盘、激光雷达、IMU、轮速里程计、SLAM 建图、Nav2 自主导航、Web 遥控与实时语音交互扩展。

Raspberry Pi 5 Ubuntu 24.04 · ROS2 Jazzy N10 激光雷达 IM10A / BNO085 IMU Nav2 自主导航 WebSocket 控制台

项目实物照片

PiCarHome Home02 家庭机器人整机形态
Home02 家庭机器人整机形态立式支架、屏幕/交互面板、电池与底盘组合,用于验证家庭服务机器人外形与人机交互形态。
PiCarHome N10 雷达底盘验证形态
N10 雷达底盘验证形态低矮差速底盘集成 N10 激光雷达与控制板,用于 SLAM 建图、运动控制和导航算法调试。
PiCarHome Home02 底盘俯视结构
Home02 底盘俯视结构型材框架、双驱动轮、后置万向轮、雷达支架与控制板布局,体现模块化硬件搭建思路。

一、项目背景

从智能小车到家庭机器人,关键差异不只是“能不能动”,而是能否在真实室内环境中稳定感知、定位、规划、避障,并与人自然交互。PiCarHome 项目正是在前期两个小车方向的基础上继续演进。

PiCar Mini 2WD

聚焦超低成本教学与创客验证,用 ESP32-C3、MicroPython、超声波、按键和 LED 快速完成入门级小车控制。

MiniClaw

聚焦高性能运动底盘实验,通过 DDSM400 直驱轮毂电机、LIN 总线、里程反馈和 Web 控制验证更强的运动控制能力。

PiCarHome

面向家庭机器人完整系统,把底盘、电源、雷达、IMU、里程计、ROS2、SLAM、Nav2、Web 前端和语音交互串成可运行平台。

项目定位:PiCarHome 不是单一功能演示,而是一条从“低成本硬件验证 → 高性能运动控制 → 家庭场景机器人”的系统化研发路线。

二、项目目标

  1. 稳定可控的移动底盘:基于 ESP32-S3 + 驱动板实现双轮差速、编码器读取、PID 调速与串口控制。
  2. 可靠的室内定位与建图:融合 N10 激光雷达、IMU 和轮速里程计,完成 2D SLAM 建图与位姿估计。
  3. 可用的自主导航:集成 Nav2,实现点击目标点、路径规划、避障与速度平滑控制。
  4. 友好的远程操作界面:通过 Web 页面查看地图、雷达、小车状态,并支持方向键遥控与点击导航。
  5. 多车可复制部署:通过主机名与 ROS_DOMAIN_ID 区分多台 PiCarHome,支持教学分组、设备克隆和现场交付。
  6. 面向家庭机器人的扩展能力:预留摄像头、实时语音、VLM 视觉理解、老人看护、儿童陪伴等上层智能应用接口。

三、系统架构

PiCarHome 采用“树莓派上层智能 + ESP32 底层实时控制”的分层架构。Raspberry Pi 5 运行 Ubuntu 24.04 与 ROS2 Jazzy,负责传感器接入、SLAM、导航、Web 服务和智能应用;ESP32-S3 负责电机控制、编码器读取与底层安全逻辑。

┌─────────────────────────────────────────────────────────────┐
│                    用户交互层                                │
│  Web 控制台 / 实时语音 App / 后续移动端或家庭大屏              │
│  ├── 地图与雷达可视化                                        │
│  ├── 方向键遥控与急停                                        │
│  └── 点击目标点导航 / 语音指令扩展                            │
└─────────────────────────────────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────┐
│                 ROS2 机器人中间层                            │
│  ├── slam_toolbox:2D 建图                                   │
│  ├── robot_localization EKF:编码器 + IMU 融合                │
│  ├── Nav2:全局规划、局部控制、行为树、速度平滑                │
│  ├── twist_mux:遥控 / 导航速度指令多路复用                   │
│  └── aiohttp + WebSocket:浏览器控制台                        │
└─────────────────────────────────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────┐
│                  硬件感知与运动层                             │
│  ├── N10 激光雷达:/scan,360° 环境扫描                       │
│  ├── IM10A / BNO085 IMU:姿态、角速度、航向                   │
│  ├── ESP32-S3 串口桥:/odom ↔ /cmd_vel                       │
│  ├── 双路直流电机 + 霍尔编码器:差速运动与里程计                │
│  └── UPS HAT:电压、电流与电池状态监测                         │
└─────────────────────────────────────────────────────────────┘

硬件平台

模块型号 / 方案作用
主控制器Raspberry Pi 5 8GBUbuntu 24.04、ROS2 Jazzy、SLAM/Nav2/Web
底层控制ESP32-S3 + 奇果派驱动板电机控制、编码器采集、JSON 串口协议
激光雷达镭神 N102D 360° 扫描、建图与避障
IMU幻尔 IM10A 十轴 AHRS / BNO085 备用姿态、航向、角速度与 EKF 融合
电机双路直流电机 + 霍尔编码器差速驱动与轮速里程计
电源Waveshare UPS HAT (E)电池供电、电压电流监测、低电量保护
视觉扩展RGB / 红外摄像头,后续可接深度相机视频查看、视觉识别、家庭看护
语音扩展USB 麦克风阵列 + 扬声器实时语音对话与语音导航

软件栈

层级技术组件说明
操作系统Ubuntu 24.04 aarch64Pi5 端部署环境
机器人框架ROS2 Jazzy节点通信、TF、传感器与运动控制
建图slam_toolbox基于 N10 雷达的 2D SLAM
导航Nav2路径规划、局部避障、行为树、速度平滑
融合定位robot_localization EKF融合编码器速度与 IMU 航向
底层固件PlatformIO / Arduino / ESP32-S3编码器、PID、NVS 参数、串口协议
Web 服务Python aiohttp + WebSocket地图、雷达、遥控和导航前端
语音交互Flutter 前端 + Pi5 Audio Bridge可扩展为自然语音家庭机器人入口

四、关键技术方案

Pi5 + ESP32 分层控制Pi5 负责 SLAM、Nav2、Web 服务与智能应用,ESP32-S3 专注编码器读取、左右轮 PID 调速、里程计计算和串口 JSON 协议。
编码器 + IMU 的 EKF 融合定位使用 robot_localization 融合轮速里程计与 IMU 的 yaw / vyaw,输出稳定的 /odom_filtered 与 TF。
N10 激光雷达 SLAM 建图N10 发布 /scan,由 slam_toolbox 生成 /mapmap -> odom TF。

Nav2 自主导航与狭窄通道调参

项目已完成 Nav2 全栈集成,包括 global planner、local costmap、DWB controller、behavior server、velocity smoother 和 twist_mux。Web 前端可以在地图上点击目标点,由 Nav2 自动规划路径并控制小车移动。

Web 可视化控制台

PiCarHome 内置 Web 控制台,学生或用户只需浏览器访问 http://<Pi的IP>:8095 即可操作小车。界面包含 SLAM 地图、雷达扫描、方向键遥控、速度调节、建图控制、导航按钮和 WebSocket 状态流。

多车部署与教学交付

每台车通过主机名自动分配 ROS_DOMAIN_ID,同一局域网下互不干扰;硬件串口路径放入独立的 hardware.yaml,代码主线统一维护,再按需同步到具体设备。

家庭机器人上层智能扩展

五、工程亮点

六、与前期小车项目的关系

PiCarHome 可以看作前期小车技术路线的系统化升级。

项目定位核心价值
PiCar Mini 2WD低成本教学小车用极低成本完成 ESP32、MicroPython、超声波避障和基础 IO 教学
MiniClaw高性能底盘实验验证 DDSM400 直驱电机、LIN 通信、里程反馈和 Web 电机控制
PiCarHome家庭机器人平台集成 Pi5、ROS2、雷达、IMU、SLAM、Nav2、Web 和语音扩展,面向真实室内服务

七、应用场景

家庭陪伴机器人

结合实时语音系统,为儿童提供问答、讲故事、英语练习和机械电子启蒙。

独居老人看护助手

结合摄像头、语音和日程信息,提供巡逻、提醒、远程查看和异常报警。

室内导航教学平台

用于讲解 ROS2、TF、SLAM、Nav2、EKF、传感器融合和路径规划。

具身智能实验平台

承载 VLM、Agent、语音控制、视觉导航、强化学习等研究型任务。

机器人系统工程案例

展示从供电、串口、驱动、传感器、算法到交互界面的完整工程实践。

八、当前状态与后续路线

当前状态

后续路线

  1. 导航稳定性增强:继续优化窄通道、桌腿、柜角、抱起后重定位等真实家庭场景;
  2. 视觉能力接入:从 RGB / 红外 Web 推流升级到深度相机与人体姿态识别;
  3. 语音与导航联动:实现“去客厅”“回充电点”“到桌子旁边”等自然语言导航;
  4. 家庭看护功能:加入巡逻任务、跌倒检测、用药提醒、紧急呼叫和家庭成员识别;
  5. 课程化封装:整理成从 ESP32 入门、ROS2 建图、Nav2 导航到 AI 机器人应用的分阶段实验教程。
项目价值:PiCarHome 不是单点算法 Demo,而是一台真正能在实验室与家庭室内环境中运行、调试和迭代的机器人平台。它把低成本教学小车、运动底盘实验、ROS2 导航、实时语音交互和家庭看护需求连接起来,为人工智能通识课、机器人课程、研究生课题和具身智能原型提供了一个可持续演进的实物基础。
Raspberry Pi 5 ROS2 Jazzy SLAM Nav2 EKF WebSocket 家庭机器人 具身智能