linorobot2:实践指南

作者:袖梨 2026-09-11

工作中遇到相关需求时,linorobot2值得先读说明,因为它主要用于自主移动机器人(2WD、4WD、麦克纳姆驱动)。这类硬件与仿真开发工具真正难在接口、单位、环境差异和真实设备风险难以靠示例覆盖,仓库说明只能作为第一层证据。短测时我会先在仿真或备用硬件上跑最小闭环,并保留接口约束、参数单位、异常保护和复现实验记录的结果,方便团队复盘。我的判断是,它更适合能提供测试环境并理解硬件边界的工程师;若眼下没有这类需求,先保留观察即可。

linorobot/linorobot2 项目截图 1

文档:https://linorobot.github.io/linorobot2

ROS 2 发行版 分公司 构建状态
爵士乐 jazzy

利诺机器人2

linorobot2 是一个 ROS2 软件包,可让您的机器人从裸硬件过渡到完全自主导航。无论您是使用可访问的部件构建物理机器人、在 Gazebo 中进行模拟、学习 Nav2 还是制作新硬件原型,linorobot2 都为您提供了一个完整的工作基础,其中 Nav2、SLAM Toolbox 和已经连接在一起的 robots_localization。

支持的基本配置:2WD4WDMecanum 驱动器

你能用它做什么?

  • 构建真正的自主机器人。 按照 硬件指南 使用现成零件组装机器人,刷新 micro-ROS 固件,并使用单个命令运行 SLAM 和 Nav2。
  • 在 Gazebo 中进行模拟。 带有激光雷达、深度摄像头和 IMU 的预配置机器人 URDF 已准备好生成。相同的启动文件和 Nav2 配置适用于物理机器人和模拟机器人,无需维护单独的配置。
  • 模拟您的真实环境。 将平面图图像或 SLAM- 生成的地图直接转换为 Gazebo 世界。在与物理空间完全相同的布局中测试您的 ROS2 应用程序,并使用激光雷达看到的相同障碍物,无需运行机器人。
  • 学习 Nav2。 该文档逐步介绍 Nav2 设置指南 旅程:基础控制器、里程计、传感器、转换、SLAM 和导航。每个概念在配置之前都会进行解释。
  • 制作新硬件原型。 使用模板化的 URDF 作为您自己的机器人设计的起点。在切割任何零件之前,交换 CAD 网格、调整传感器姿势并验证 Gazebo 中的运动学。
  • 构建 ROS2 应用程序。 模拟堆栈为开发和测试自主代码(包括路径规划器、状态机和感知管道)提供了一致、可重复的环境,而无需现有物理硬件。

特点

Nav2、SLAM Toolbox 和 robots_localization(预集成)

linorobot2 附带完整 ROS2 自主导航堆栈的工作配置。 Nav2、SLAM 工具箱和 robots_localization EKF 已配置并准备就绪。物理机器人和 Gazebo 仿真都使用相同的 YAML 文件,因此仿真中的调整会直接传输到硬件。

带传感器的预配置机器人

机器人 URDF 采用 2D 激光雷达、RGBD 深度相机以及已包含并定位的 IMU 进行模板化。更改机器人的尺寸或传感器安装位置只需编辑一个属性文件即可。 URDF 也是构建更详细模型的坚实起点:添加 CAD 网格体,堆栈的其余部分将继续工作。

模拟您的真实环境

linorobot2_gazebo 中的两个工具可让您将物理环境带入 Gazebo:

  • image_to_gazebo:GUI 工具,可拍摄任何平面图图像(PNG、JPG、BMP 等),让您可以交互式地校准其真实世界比例并设置坐标原点,然后生成完整的 Gazebo 世界:3D 墙壁网格,型号 SDF 和世界 SDF。
  • create_worlds_from_maps:一种批处理 CLI 工具,可通过一个命令将 linorobot2_navigation/maps/ 中的所有 SLAM 地图转换为 Gazebo 世界。

这两种工具都会生成一个与激光雷达在真实环境中看到的几何形状相匹配的 Gazebo 世界。您可以在模拟中开发和测试您的 Nav2 应用程序,并完全确信障碍物布局是准确的,然后毫无意外地部署到物理机器人上。

广泛的传感器支持

linorobot2 支持各种开箱即用的 2D 激光雷达和 RGBD 深度相机。安装脚本会自动设置正确的驱动程序和主题重新映射。有关完整列表,请参阅 传感器 文档。

选定支持的激光雷达: RPLIDAR A1/A2/A3/S1/S2/S3/C1、LD06、LD19、STL27L、YDLIDAR、XV11、Intel RealSense(作为激光雷达)、ZED(作为激光雷达)

支持的深度摄像头: Intel RealSense D435/D435i、ZED/ZED2/ZED2i/ZED Mini、OAK-D/OAK-D Lite/OAK-D Pro

打造你自己的机器人

有关 Teensy 和兼容板的电机驱动器配置和 micro-ROS 固件的详细硬件文档位于 linorobot2_hardware。该固件通过微型 ROS 发布里程计和 IMU 数据,因此微控制器可以无缝集成为 ROS2 节点。

快速入门

除非另有说明,以下所有命令都在机器人计算机上运行。对于物理机器人和模拟机器人来说,SLAM 和导航启动文件是相同的。

实体机器人

终端1:启动机器人:

ros2 launch linorobot2_bringup bringup.launch.py

等待微型 ROS 代理打印 session established,然后再继续。

终端2:创建地图:

ros2 launch linorobot2_navigation slam.launch.py

3 号航站楼:驾车前往绘制区域地图:

ros2 run teleop_twist_keyboard teleop_twist_keyboard

保存地图:

cd linorobot2/linorobot2_navigation/maps
ros2 run nav2_map_server map_saver_cli -f <map_name> --ros-args -p save_map_timeout:=10000.

2号航站楼:自主导航:

ros2 launch linorobot2_navigation navigation.launch.py map:=<path_to_map>/<map_name>.yaml

随时从主机上进行可视化:

ros2 launch linorobot2_viz slam.launch.py        # during mapping
ros2 launch linorobot2_viz navigation.launch.py  # during navigation

模拟机器人

1 号航站楼:启动 Gazebo:

ros2 launch linorobot2_gazebo gazebo.launch.py

终端2:运行SLAM或导航(与实体机器人相同的命令,添加sim:=true):

ros2 launch linorobot2_navigation slam.launch.py sim:=true
# or
ros2 launch linorobot2_navigation navigation.launch.py map:=<path_to_map>/<map_name>.yaml sim:=true

工具

图像到gazebo

使用 GUI 将任何平面图或建筑布局图像转换为 Gazebo 世界:

ros2 run linorobot2_gazebo image_to_gazebo

加载图像,通过单击两个已知点校准比例,设置坐标原点,然后单击“生成”。该工具将 STL 网格、模型 SDF 和世界 SDF 写入包的 models/worlds/ 目录。使用以下命令启动生成的世界:

ros2 launch linorobot2_gazebo gazebo.launch.py world_name:=<world_name>

从地图创建世界

通过一个命令将所有保存的 SLAM 地图批量转换为 Gazebo 世界:

ros2 run linorobot2_gazebo create_worlds_from_maps

这会读取 linorobot2_navigation/maps/ 中的每个 YAML 文件,将占用网格挤出到 3D 墙网格中,并为每个地图写入一个 Gazebo 世界。对于在映射会话后保持模拟世界同步很有用。

文档

涵盖安装、基础控制器、里程计、传感器、转换、映射、导航等的完整文档位于 linorobot2 文档网站

文档维护

文档作为一组 markdown 文件存储在 docs/ 目录及其子目录中 linorobot2 文档网站(使用 GitHub 页面实现)。 每次推送到当前主动维护的主分支(e.g.jazzy)时,都会自动发生这种情况。

您可以在本地浏览文档并在提交和发布之前查看您的更新:

sudo apt install mkdocs-material
mkdocs serve

然后在浏览器中打开http://127.0.0.1:8000。

安装

请参阅 linorobot2 文档网站 的安装页面,了解涵盖工作站、机器人计算机、 微控制器和 Docker。

有用的资源

  • Nav2 设置指南
  • 凉亭 ROS2 概述
  • linorobot2_硬件
  • linorobot2_viz

相关文章

精彩推荐