VLN 真车执行底座

RabbitRobot_AMR2

轮毂伺服真车平台

AMR2 是当前正在用的轮毂伺服差速真车平台,围绕 MID360、Fast-LIO、ICP、Nav2 MPPI、速度平滑、碰撞监控和 DS20270C CAN 底盘驱动整理成可复现实车链路。

Time · 2026.07+ Source · ljh_amr2_hubwheel_drive README Repo · lijinghai/ljh_amr2_hubwheel_drive
RabbitRobot_AMR2

What It Does

项目做的是什么

  • 以 DS20270C 双轮轮毂伺服差速底盘作为执行层,导航模式下统一接收 /cmd_vel_smooth。
  • MID360 激光/IMU 进入 Fast-LIO,再产出点云、里程计与可供 Nav2 使用的 2D 地图。
  • Nav2 MPPI、velocity_smoother、collision_monitor 分层处理轨迹、平滑和最后一道避障保护。

VLN Relation

和当前 VLN 主线的关系

AMR2 是 VLN 的真车执行平台,用来接收语言策略落下来的 waypoint,并回收 rosbag、轨迹和失败样例。

Craft Record

工程痕迹

这个项目保留了从硬件选型、结构验证、驱动调试、话题链路到现场反馈的连续记录。页面里放的不是单独的效果截图,而是一段可回溯的迭代线索。

Media

关键画面

README Snapshot

README / 项目说明片段

ljh_amr2_hubwheel_drive

这是 ljh_amr2 系列里的轮毂伺服 AMR 真车项目。当前工程不是仿真 demo,而是围绕你的实车链路整理出来的 ROS2 Humble 工作空间:

  • Livox MID360 负责激光和 IMU 输入
  • Fast-LIO 负责建图、里程计和点云输出
  • PCD/PGM 地图分别用于 ICP 定位和 Nav2 map_server
  • Nav2 使用 MPPI 局部控制器
  • velocity_smoother 负责速度平滑
  • collision_monitor 负责最后一层近距离避障保护
  • DS20270C 轮毂伺服驱动器负责底盘运动
  • ljh_robot_web 提供网页控制台和状态查看

车辆印象

这台车是小型差速轮毂 AMR,当前导航 footprint 按实测外形配置:

车长: 0.486 m
车宽: 0.450 m
半长: 0.243 m
半宽: 0.225 m

底盘是 DS20270C 双轮轮毂伺服差速结构。相比普通小车底盘,它更像一台紧凑的工业调试 AMR:机械上重点是轮毂伺服和 CAN 控制,软件上重点是 ROS2 真车链路、MID360 建图定位、Nav2 导航和网页控制台。

MPPI 加入后的效果

MPPI 是 Nav2 的模型预测路径积分控制器。放到你这台车上,主要效果是:

  • 行驶会更连续

MPPI 会在当前速度约束、车体 footprint、局部 costmap 下采样多条未来轨迹,再选代价最低的一条,不是简单追一个局部点。转弯和贴路径时更容易平顺。

  • 避障更自然

MPPI 的 CostCritic 会结合局部 costmap 和真实矩形 footprint 计算碰撞代价。前方有障碍时,不只是“突然停”,它会尽量选择代价更低的轨迹。

  • 对轮毂差速底盘更合适

当前 motion_model: DiffDrivevy_max: 0.0,避免 Nav2 输出横移速度。速度上限也按你的车调成保守档:

vx_max: 0.20
vx_min: 0.0
wz_max: 0.60
controller_frequency: 10.0
model_dt: 0.10
time_steps: 24
batch_size: 800
  • 仍然保留硬保护

MPPI 是规划控制层,collision monitor 是最后保护层。即使 MPPI 或 costmap 没来得及绕开,近距离 stop 区也会把输出速度压成 0。

当前主链路

Livox MID360
  -> /livox/lidar, /livox/imu
  -> Fast-LIO
  -> /Odometry, /cloud_registered, /cloud_registered_body
  -> odom -> base_link
  -> pointcloud_to_laserscan
  -> /scan
  -> ICP registration
  -> map -> odom
  -> Nav2 map_server + planner_server + MPPI controller_server
  -> /cmd_vel_nav
  -> velocity_smoother
  -> /cmd_vel_raw
  -> collision_monitor
  -> /cmd_vel_smooth
  -> DS20270C CAN chassis node

底盘在导航模式下必须订阅:

/cmd_vel_smooth

不要让底盘直接订阅 /cmd_vel_nav/cmd_vel_raw,否则会绕过平滑和避障保护。

当前硬件配置

| 模块 | 当前配置 |
| --- | --- |
| 底盘 | DS20270C 轮毂伺服差速底盘 |
| 车体尺寸 | 0.486 m x 0.450 m |
| Nav2 footprint | `[[0.243, 0.225], [0.243, -0.225], [-0.243, -0.225], [-0.243, 0.225]]` |
| 激光雷达 | Livox MID360 |
| 雷达 IP | `192.168.1.3` |
| 主机雷达网口 | `eth0`, `192.168.1.100/24` |
| 常用 SSH 地址 | `192.168.3.248` |
| ROS 版本 | ROS2 Humble, Ubuntu 22.04 |
| 地图点云 | `ljh20260724.pcd` |
| 2D 地图 | `maps/map.yaml`, `maps/map.pgm` |

完整 README 已保存在本站快照中,可从本页底部打开。