linorobot/linorobot2

Autonomous mobile robots (2WD, 4WD, Mecanum Drive)

解决的问题

linorobot2 为从裸机硬件到完全自主导航的机器人提供了一个完整的基础。它消除了手动连接 Nav2、SLAM Toolbox 和 robot_localization 等复杂 ROS2 组件的需要,提供了一个预集成的堆栈,可在物理硬件和 Gazebo 模拟中同时运行。

工作原理

该项目集成了多个关键的 ROS2 包,以处理自主性的不同方面:

  • 导航与建图: 使用 Nav2 实现自主导航,使用 SLAM Toolbox 实现建图。

  • 定位: 采用 robot_localization 的 EKF(扩展卡尔曼滤波器)实现精确的定位。

  • 硬件集成: 支持 2WD、4WD 和 Mecanum 驱动配置。使用 micro-ROS 固件(如 Teensy)在微控制器上发布里程计和 IMU 数据作为 ROS2 节点。

  • 模拟: 提供带有激光雷达和深度相机的机器人模板 URDF,允许用户在部署到硬件之前在 Gazebo 中测试配置。还包含将平面图图像或 SLAM 地图转换为 3D Gazebo 世界的工具。

适用人群

  • 希望从现成部件组装物理机器人并快速实现自主性的机器人构建者。
  • 希望在可复现的模拟环境中对新硬件设计进行原型设计或测试自主性代码(如路径规划器和感知流水线)的开发者。
  • 将该项目作为学习 Nav2 堆栈的逐步指南的学生和学习者。

主要亮点

  • 统一配置: 模拟和物理硬件使用相同的 YAML 配置文件,确保调优可直接迁移。
  • 真实世界模拟: 包含 image_to_gazebocreate_worlds_from_maps 工具,可将真实世界的平面图或 SLAM 地图转换为精确的 3D 模拟环境。
  • 广泛传感器支持: 原生支持多种 2D 激光雷达(如 RPLIDAR、LD06)和 RGBD 深度相机(如 Intel RealSense、ZED、OAK-D)。
  • 硬件到模拟同步: 与 micro-ROS 无缝集成,实现微控制器级别的数据发布。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目