Skip to content
View lijinghai's full-sized avatar
🇨🇳
为实现中华民族伟大复兴的中国梦而努力奋斗!
🇨🇳
为实现中华民族伟大复兴的中国梦而努力奋斗!

Block or report lijinghai

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
lijinghai/README.md

🦾 努力,让世界听到RabbitRobot的声音 🤖
color divider

left wingRabbitRobot logoright wing
GitHub contribution snake animation

lijinghai · RabbitRobot

控制工程 · 自动驾驶 · ROS 2 机器人系统 · 具身智能

个人主页 / 项目文档 · CSDN 技术博客 · B站视频记录 · Email

自动驾驶ROS 2多传感器融合VLN and Embodied AI

RabbitRobot 全系列主页

这是我长期迭代的机器人项目公开入口:从 ROS 2 AMR 真车、多传感器融合 SLAM、Web 控制台,到 VLN / 具身智能导航探索。
项目路线、系统架构、实验图片、视频记录和技术文档都会持续整理在这里。

进入 RabbitRobot 主页
访问地址:https://lijinghai.github.io/RabbitRobot/

关于我

你好,我是 lijinghai。我正在做 RabbitRobot:一个从 ROS 2 小车、多传感器融合到自动驾驶决策逐步长出来的开源机器人平台。

我是一名控制工程方向的硕士研究生,关注自动驾驶规划与决策、多传感器融合定位建图、VLN / 具身智能,以及真实机器人系统的工程闭环。相比只做一个 demo,我更希望把硬件、传感器、ROS 2、SLAM、导航、Web 控制和实验记录长期串起来,让项目能够持续迭代、复现和展示。

  • 当前主线: RabbitRobot AMR2 平台、Vision-Language Navigation、端到端局部规划与场景理解。
  • 工程目标: 从底盘和传感器接入开始,打通建图、导航、控制、部署和可视化记录。
  • 公开入口: 更完整的项目路线、图文资料和长期更新放在 RabbitRobot 全系列主页

研究方向

方向关注问题
自动驾驶规划与决策端到端局部规划、策略生成、轨迹优化、低附着场景鲁棒性
VLN / 具身智能语义目标理解、视觉/语言/动作链路、移动机器人任务执行
SLAM 与定位建图Cartographer、FAST-LIO2、Point-LIO、RTAB-Map、多传感器融合建图
机器人系统工程ROS 2、Nav2、EKF、串口控制、Jetson 部署、Web 端机器人控制
边缘智能部署YOLO、BEV 感知、LeRobot、Docker / Nginx 服务化部署

项目经历

RabbitRobot 全系列机器人项目

RabbitRobot 不是单一小车 demo,而是一条围绕真实机器人系统逐步展开的研发链路:我把底盘、传感器、地图、覆盖算法、Web 控制台和 VLN 研究主线放在同一个工程闭环里做,让每个子项目都能为下一轮真车实验提供数据、工具或执行能力。

RabbitRobot 系统架构图
RabbitRobot 全系列主页:真实 AMR 平台、覆盖路径、建图工具、Web 控制台和 VLN 研究闭环。

子项目公开入口难点与创新点
RabbitRobot_AMR2真车平台轮毂伺服差速底盘、MID360、Fast-LIO、ICP、Nav2 MPPI、DS20270C CAN 和安全链路的一体化真车系统
RabbitRobot_CoveragePath覆盖算法在真实 PCD 地图上做 map-aware 覆盖规划,处理 footprint 膨胀、unknown/off-map 裁剪、holes、连通分块与 A* 过渡
RabbitRobot_ROS2_WebWeb 控制台把 ROS/ROS2 地图、导航、状态监控、3D 机器人模型和覆盖地图调试搬进浏览器
RabbitRobot_HandLiDAR / D435_L1_RTABMap建图工具用 Unitree L1、D435、MPU6050、RTAB-Map / FAST-LIO2 做多传感器地图生产与导航验证
RabbitRobot_Sweeper / SCFH扫地机原型把覆盖算法放进清扫/消毒任务语境,面向窄通道、复杂地面和真实服务机器人落地
RabbitRobot_VLN / Arm / ElderBuddyVLN 主线把语言目标、视觉/地图 grounding、waypoint 规划、移动执行和后续操作能力连成长期研究路线

RabbitRobot_AMR2:轮毂伺服 AMR 真车执行平台

AMR2 Web 3D coverage console
AMR2 Web 3D 覆盖控制台:真车模型、地图、路径和状态集中展示。
项目定位: 当前 RabbitRobot 最核心的真车底座,用来承接 SLAM、Nav2、覆盖路径和 VLN waypoint 的真实执行。

工程难度:
  • 把 MID360 激光/IMU、Fast-LIO 里程计、ICP 地图对齐、Nav2 MPPI、速度平滑、碰撞监控和 DS20270C CAN 底盘驱动串成同一条闭环。
  • 轮毂伺服差速底盘不是玩具车接口,需要处理真实车体 footprint、速度限制、加减速约束、急停和传感器异常。
  • 系统不是只跑一帧截图,而是面向 rosbag 回放、调参、复现实验和后续真实任务执行。
创新点: 把 VLN / VLM 生成的语义 waypoint 下沉到真实 AMR 的导航安全链路,让语言任务不只停在仿真层,而是能进入可验证的真车执行层。

RabbitRobot_CoveragePath:真实地图约束下的覆盖路径算法

Coverage path generated on PCD 2D map
Coverage path clipped to known free cellsRViz fake car follows coverage path
RViz 区域输入、known-free 裁剪、覆盖路径生成和仿真跟随验证。
项目定位: 为扫地机、鸡舍净环机器人和 AMR 区域作业准备的覆盖规划能力。

工程难度:
  • 不是几何蛇形线:算法订阅 /map,只在真实 PCD 转出的 known-free OccupancyGrid 中规划。
  • 按 AMR2 0.486 m × 0.450 m footprint 和 safety margin 膨胀障碍,unknown、off-map、occupied cells 会被扣除。
  • 支持 RViz Coverage Rect 拖矩形、Coverage Poly 点多边形、polygon holes、连通分块和 A* 过渡连接。
创新点: 把“鼠标圈一个要清扫的区域”变成可复用的 ROS2 覆盖路径服务,输出 /coverage_path,后续可接 Nav2 执行器,同时保留真车安全链路。

RabbitRobot_ROS2_Web:浏览器里的机器人操作台

RabbitRobot ROS2 Web console
AMR2 3D coverage panelROS2 Web single goal navigation
Web 控制台把地图、导航、3D 状态、覆盖区域和系统日志放在一个界面里。
项目定位: RabbitRobot 的 Web cockpit,用于降低 ROS 调试门槛,也用于项目展示和远程演示。

工程难度:
  • 前端要同时处理地图图层、导航目标、机器人状态、日志、覆盖区域编辑和 3D STL 模型显示。
  • 后端需要和 rosbridge、WSL、Vite、ROS2 topic/service 协同,解决连接失败、端口代理、启动恢复等真实环境问题。
  • 界面不是静态网页,而是服务于真车调试、覆盖地图验证和工程复盘的操作台。
创新点: 把传统 RViz/命令行调试经验迁移到浏览器,让非 ROS 背景的人也能看懂机器人正在看什么、准备去哪、为什么停下。

RabbitRobot_HandLiDAR / D435_L1_RTABMap:多传感器地图生产链路

D435 L1 RTABMap overview
HandLiDAR prototypeRTAB-Map RViz pointcloud
手持建图仪与 D435 + Unitree L1 + RTAB-Map / FAST-LIO2 多传感器建图链路。
项目定位: 为 AMR 导航、覆盖规划和场景实验提供地图与传感器数据来源。

工程难度:
  • D435、Unitree L1、MPU6050 和 Jetson/ROS2 需要在时间戳、坐标系、驱动、启动顺序和 RViz 可视化上保持一致。
  • D435 非 D435i,没有内置 IMU,因此额外接入 MPU6050 来补足姿态约束,服务于视觉/惯性/激光融合建图。
  • 手持建图不是固定底盘采集,运动扰动更大,对传感器安装、轨迹稳定性和后处理更敏感。
创新点: 把“先有高质量地图”作为机器人系统能力的一部分单独做出来,让 AMR 不依赖单一场地或单一传感器配置。

RabbitRobot_Sweeper / SCFH:面向真实清扫场景的机器人原型

RabbitRobot Sweeper V1.0
Coverage Poly path for cleaning areaCoverage path follow trace
扫地机原型、区域覆盖路径和 RViz-only 跟随轨迹,为后续真实清扫任务做准备。
项目定位: 把 AMR 能力落到清扫/消毒这种有明确作业面积和覆盖率要求的服务任务。

工程难度:
  • 清扫机器人不仅要能导航,还要考虑作业宽度、边界安全距离、遗漏区域、障碍孔洞和低速稳定执行。
  • 鸡舍/窄通道场景对地面、障碍、通道宽度和维护成本更敏感,不能只用办公室导航 demo 的标准来判断。
  • 硬件原型涉及底盘结构、供电、清扫机构、传感器安装和后续 ROS2 接入,机械和软件要一起迭代。
创新点: 用真实服务场景倒逼覆盖规划、地图生产和 Web 调试工具,让算法不是孤立存在,而是服务于实际机器人作业闭环。

RabbitRobot_VLN:从“能导航”走向“听懂任务”

AMR2 Web navigation for VLN
AMR2 single goal navigationRabbitRobot architecture for VLN
以 AMR2 为执行层,把语言任务、地图区域、视觉观测和 waypoint 评估接到真实机器人上。
项目定位: 当前长期研究主线,让 RabbitRobot 从“能跑导航”升级到“能理解语义目标并完成任务”。

工程难度:
  • VLN 不只是模型调用,需要把语言目标 grounding 到地图、视觉观测、局部目标、导航状态和失败恢复策略。
  • 真车评估要记录 scan、odom、tf、cmd_vel、goal_pose、local costmap 和 rosbag,才能比较成功率、碰撞率、轨迹效率和恢复能力。
  • 需要先跑稳 Nav2 baseline,再比较学习式策略,否则很难判断模型到底带来了什么提升。
创新点: 用真实 AMR 系统给 VLN 提供落地接口和评价闭环,把“语言理解”变成可以被路径、轨迹和安全指标检验的机器人能力。

扩展方向:AMR 底盘、机械臂与室内服务机器人

RabbitRobot AMR prototypes
RabbitRobot Arm LeRobot ACT demoRabbitRobot ElderBuddy compact AMR concept
移动底盘、机械臂学习式控制和室内服务机器人,是 RabbitRobot 后续从移动到移动操作的扩展方向。
项目定位: 这些项目用于拓展 RabbitRobot 的形态边界:从差速/全向移动平台,到机械臂操作,再到室内陪伴与服务概念。

工程难度:
  • 底盘侧要验证不同轮系、载荷、传感器安装和控制接口对 ROS2/Nav2 的影响。
  • 机械臂侧关注 LeRobot、ACT、SmolVLA、MoveIt2 等学习式操作与传统运动规划如何对接。
  • 室内服务机器人需要把导航、交互、任务提醒和安全边界组合成面向人的产品体验。
创新点: RabbitRobot 不是只做一台车,而是在搭一组可复用的机器人能力库:移动、建图、覆盖、Web 可视化、语义导航和操作能力可以逐步组合。

更详细的版本路线、系统架构图和实验记录请看:RabbitRobot 全系列主页。 演示视频:RabbitRobot_V1.0 on Bilibili。 相关仓库:RabbitRobot-D435-L1lidar-RTABMap-ROS2 · RabbitRobot-JetsonOrinSuper_MPU6050-ROS2 · ljh_robot_ros2_web

WarmSearch 校园失物招领系统

WarmSearch 是一个面向校园场景的失物招领系统,覆盖后端服务、Web 前端与 UniApp 移动端,是我早期完整应用系统实践之一。

  • 仓库:WarmSearch, WarmSearch-uniapp
  • 技术: Spring Boot, Vue, UniApp, MySQL
  • 经历: 从业务建模、接口设计到多端交互,完成一套面向真实校园使用场景的系统。

技术栈与能力

层级技术
编程语言Python, C++, Java, JavaScript / TypeScript
机器人系统ROS 2, Nav2, Autoware, UniAD, RTAB-Map, Cartographer, FAST-LIO2, Point-LIO
传感器与硬件3D/4D LiDAR, depth camera, IMU, UWB, Jetson, STM32
AI 与感知YOLO, BEV perception, HuggingFace, LeRobot, VLA / VLN
工程部署Linux, Docker, Nginx, MySQL, Vue, React, Spring Boot

technical stack

GitHub 动态

GitHub activity graph

Find Me

除了 GitHub,你也可以在这些平台找到 RabbitRobot 的公开更新和联系方式。

小红书微信B站
小红书:理想主义的焊工日记微信:理想主义的焊工日记B站:理想主义的焊工日记
理想主义的焊工日记
小红书号:RabbitRobot2025
理想主义的焊工日记
扫码添加我为朋友
理想主义的焊工日记
UID: 1339027047

Pinned Loading

  1. RabbitRobot-D435-L1lidar-RTABMap-ROS2RabbitRobot-D435-L1lidar-RTABMap-ROS2Public

    基于 LiDAR、RGB-D 与 IMU 融合,实现移动小车的高精度三维建图

    C++ 18 3

  2. RabbitRobot-JetsonOrinSuper_MPU6050-ROS2RabbitRobot-JetsonOrinSuper_MPU6050-ROS2Public

    因为我使用的是 D435(非 D435i),它本身不带 IMU。在 SLAM 中,IMU 数据(加速度 + 角速度)可以帮助: 1. 提高位姿估计的稳定性 2. 实现视觉-惯性融合建图 3. 启动阶段更快收敛 —— IMU 可辅助初始化方向与加速度估计。 所以我用 MPU6050(通过 I²C 接 Jetson)来弥补 D435 缺少 IMU 的功能,这是一个非常合理的系统设计。

    C++ 4

  3. ljh_robot_ros2_webljh_robot_ros2_webPublic

    一个基于ROS2的现代化的自主移动机器人(AMR)Web 控制与可视化平台

    TypeScript 11 3

  4. ljh_gemini_305ljh_gemini_305Public

    奥比 Gemini 305 局域网 MJPEG 推流

    Python 2 1

  5. ljh_Gemini335ljh_Gemini335Public

    Orbbec Gemini 335 × ROS 2 Humble — 面向嵌入式平台的开箱即用驱动工作空间

    C++ 1

  6. ljh-codex-desktop-loopback-repair-skillljh-codex-desktop-loopback-repair-skillPublic

    这个 Skill 用来诊断并修复 Windows 上 Codex Desktop 因 AppContainer loopback 隔离、sandbox 防火墙规则、端口转发或本地代理配置问题导致无法连接 127.0.0.1 本地 OpenAI 兼容代理、反复 Reconnecting 或 stream disconnected 的问题。

    Python 11 1