SLAM 与自主导航:让机器人学会自己走路

SLAM 与自主导航

SLAM(即时定位与建图)回答两个问题:我在哪?周围长什么样?解决了它,机器人才敢自由走动。

一、两代 SLAM

  • 激光 SLAM(如 Cartographer / gmapping):精度高、受光照影响小,室内首选
  • 视觉 SLAM(如 ORB-SLAM):只需相机,成本低,室外与纹理丰富场景更合适

二、定位的朴素解释

没有 GPS 的室内,机器人靠“运动估计 + 观测匹配”定位:里程计给个预判,激光扫描再和地图对一下,误差互相校正,这就是卡尔曼/粒子滤波的直觉。

三、导航 = 全局规划 + 局部避障

Nav2 是 ROS 2 的导航栈:全局规划器找出一条到目标点的路径,局部规划器实时躲避刚冒出来的障碍:

ros2 launch nav2_bringup bringup_launch.py map:=map.yaml

四、让底盘动起来

底盘要能收发 /cmd_vel(线速度 + 角速度)话题,并提供里程计。差速 / 麦克纳姆轮底盘的模型略有不同,先跑仿真再上真车。

五、避坑清单

  • 地图精度不够:先调好激光安装角度与帧率
  • 走位漂移:加回环检测,定期重定位
  • 导航撞墙:多半是代价地图膨胀半径与底盘尺寸不匹配

跑通“建图—导航”后,机器人就具备了“移动”这个最基础的能力,再往上叠加抓取与 AI,就是具身智能了。

评论(7)