这是一个基于 Rust 语言开发的履带式移动机器人,兼具自主导航与远程控制能力,是面向嵌入式 Rust 与机器人开发的学习项目。


项目核心概况
开发背景
最初是作者为孩子打造的入门机器人项目,现已迭代至 v2 版本,目标是实现无 ROS 依赖的轻量自主导航方案。
核心开发语言为 Rust,采用 Embassy 异步框架,主打 “纯嵌入式、低资源占用” 的实现思路。
核心功能目标
基础远程控制(红外 / 遥控)
超声波传感器避障(基础版)
基于 IMU(ICM20948)+ 超声波的空间感知与高级避障
摄像头跟随目标模式
自主探索模式(随机搜索目标)
硬件架构(v2 版本)
主控与核心板
主控:Raspberry Pi Pico 2(RP2350),双核 Cortex-M33,150MHz 时钟
PCB:作者自研的定制底板,集成电源管理、电机驱动、传感器接口
传感器系统
模块 | 型号 / 规格 | 用途 |
|---|---|---|
9 轴 IMU | ICM-20948(TDK InvenSense) | 姿态解算、运动补偿 |
超声波传感器 | HC-SR04(×2) | 前方 / 侧方障碍物检测 |
摄像头 | Grove Vision AI V2 | 目标识别与跟随 |
红外传感器 | 红外接收模块 | 遥控信号接收 |
动力与驱动
底盘:基于 Proto-Tank 履带式底盘(3D 打印 PLA 外壳)
电机驱动:TB6612FNG 双路电机驱动 ×2(控制左右履带)
电源:LM2596 DC-DC 降压模块,支持锂电池供电
软件设计亮点
代码架构
采用 任务 - 状态分离 的分层设计:
system模块:全局资源管理(时钟、电源、外设初始化)tasks模块:独立任务线程(电机控制、传感器采集、用户交互)
基于 Embassy 异步框架,实现无阻塞的传感器读取与电机控制,单核心即可驱动所有任务。
关键实现细节
为 HC-SR04 超声波传感器开发了 异步驱动,解决传统轮询方式的阻塞问题。
实现了基于移动中位数的传感器滤波算法,解决超声波在运动状态下的噪声问题。
开发了 ICM-20948 的 Rust 驱动,支持异步 I2C 操作与姿态数据输出。
设计与制造细节
电路与 PCB
作者提供了完整的 KiCad 工程文件(原理图与 PCB 版图),可直接打板制作。
采用模块化设计,将电源、驱动、传感器接口分区布局,减少信号干扰。
3D 打印部件
底盘、传感器支架、履带张紧结构等部件均提供 FreeCAD 源文件,支持用户自定义修改。
采用 PLA 材料打印,兼顾强度与打印难度,适合 hobby 场景制作。
开源与许可
项目采用多协议许可模式,不同组件适用不同许可证:
固件代码:MIT License
3D 打印部件:CC BY-SA 4.0
原理图与 PCB 设计:CC BY-SA 4.0
文档与说明:CC BY-SA 4.0
项目意义与延伸
这个项目是嵌入式 Rust 在机器人领域的优秀实践,证明了无需复杂的 ROS 生态,也能在低资源微控制器上实现实用的自主导航功能。同时,项目附带的驱动开发(HC-SR04、ICM-20948)也为 Rust 嵌入式开发者提供了可复用的组件。
