ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

移动机器人定位技术:从基础原理到多传感器融合实战

移动机器人定位技术:从基础原理到多传感器融合实战 1. 从“我在哪”到“我要去哪”移动机器人定位的基石意义如果你玩过任何一款需要操控角色在地图上移动的游戏无论是经典的《红色警戒》还是现代的《原神》你都会发现一个核心机制你的角色必须时刻知道自己在地图上的精确位置才能执行移动、攻击、采集等一系列任务。对于移动机器人而言“定位”就是它在现实物理世界中扮演的那个“小地图”和“坐标点”。没有准确的定位机器人就像蒙着眼睛在迷宫里乱撞所谓的自主导航、路径规划、任务执行都成了空中楼阁。我接触移动机器人定位这个领域是从研究生时期的一个室内巡检项目开始的。当时我们组装了一台底盘装上了激光雷达和轮子编码器满心欢喜地以为它就能自己溜达了。结果呢它要么在空旷的走廊里“鬼打墙”原地转圈要么自信满满地一头撞向墙壁还坚称自己正在“正确路径”上。这些令人啼笑皆非的场景其根源几乎都指向了定位的失效。从那时起我就意识到定位不是机器人众多功能中的一个而是所有高级智能行为的“入场券”。它回答的是机器人学中最根本的三个问题我在哪我面向何方我接下来该怎么走近年来随着自动驾驶、仓储物流AGV、服务机器人乃至无人机配送的爆发式增长“移动机器人定位”从一个实验室课题迅速演变为工业界和学术界共同关注的硬核技术。无论是工厂里搬运物料的“小黄人”还是商场里导引顾客的机器人抑或是农田里自主作业的农机其核心能力都建立在稳定、鲁棒且高效的定位系统之上。这不仅仅是技术问题更直接关系到安全性、效率和成本。一个定位飘忽不定的仓储机器人可能会把货物送错库位甚至引发碰撞事故而一个定位精准的农业机器人则能实现厘米级的精准施肥和收割极大提升作业质量。因此这份研究笔记并非一份面面俱到的教科书而是我作为一名一线研发工程师在多年项目实战、踩坑填坑过程中对移动机器人定位技术栈的梳理、思考和经验沉淀。我会避开那些过于艰深的数学推导除非必要重点聚焦于不同技术路线的核心思想、适用场景、工程落地中的“坑”以及选型建议。无论你是刚刚踏入机器人领域的学生还是正在为产品选型而纠结的工程师希望这些来自前线的“战地笔记”能给你带来一些切实的启发。2. 定位技术全景图从“内外兼修”到“多源融合”在深入细节之前我们有必要对移动机器人定位的技术体系有一个全景式的认识。定位的本质是根据传感器观测数据推断机器人本体在预先已知或未知环境中的位姿位置和姿态。根据是否依赖外部基础设施、是否拥有先验地图我们可以画出一个清晰的分类矩阵。但在我实践中更倾向于一种更工程化的划分方式航迹推算、环境特征匹配、全局绝对定位以及它们的融合艺术。2.1 航迹推算机器人自带的“内部里程表”这是最古老、最基础的定位方法完全依靠机器人自身的内部传感器如编码器Odometry和惯性测量单元IMU。编码器安装在电机轴上通过计算车轮转动的圈数来估算移动距离。它的原理简单成本低在短时间内精度尚可。但它的致命弱点在于累积误差。只要车轮发生一次微小的打滑地面有油、水、或者转弯时或者轮胎气压发生变化这个误差就会被积分放大时间一长机器人自认为的位置和实际位置可能相差十万八千里。这就是我们常说的“drift”漂移。惯性测量单元IMU提供角速度和加速度信息。通过对加速度二次积分可以得到位移但误差累积得更快通常单独用于姿态尤其是朝向的估计或者与编码器互补。实操心得永远不要单独依赖编码器做长距离定位它只适合作为高频、短时、相对运动的参考。在项目初期可以用编码器数据快速验证机器人的基本运动控制是否正常但一旦涉及到需要记忆路径或回到原点就必须引入其他校正手段。航迹推算给出了机器人的相对运动变化它回答了“我从上一个时刻到现在移动了多少”但无法回答“我最初在哪里”这个绝对问题。它就像一个只知道走了多少步但不知道自己起点在哪的徒步者。2.2 环境特征匹配用“眼睛”识别周围的世界这类方法让机器人通过外部传感器“观察”环境并将当前的观测与记忆中的地图进行匹配从而确定自身位置。这是目前主流的高精度定位方案。激光SLAM同步定位与建图这是工业界经久不衰的“老兵”。激光雷达LiDAR发射激光束并接收回波得到周围环境的点云数据。通过将当前帧点云与已有地图或上一帧点云进行匹配如ICP迭代最近点算法可以计算出机器人精确的位姿变化。它的优势在于精度高厘米级、不受光照影响、直接获得几何信息。但缺点也很明显成本高、在特征稀疏的长走廊或空旷地带容易匹配失败。关于ICP这是一个核心算法但初学者常会抱怨“ICP初始定位不准确”。这是因为ICP是一个局部优化算法严重依赖于初始位姿猜测。如果初始猜测离真实值太远它很容易收敛到错误的局部最优解。工程上通常会用里程计、IMU或者简单的特征匹配如提取线段、角点来提供一个较好的初始值。视觉SLAM/VIO视觉惯性里程计使用摄像头作为主要传感器。通过提取图像中的特征点如SIFT, ORB, FAST跟踪这些特征点在连续帧间的运动来估计相机运动并重建稀疏地图。纯视觉SLAM存在尺度不确定性、快速运动时容易跟丢等问题。因此VIO将视觉与IMU紧耦合IMU提供高频的加速度和角速度弥补图像处理的计算延迟和运动模糊而视觉信息则用来校正IMU的漂移并确定尺度形成了“112”的效果。在计算资源受限的嵌入式平台或无人机上VIO是绝对的主流。视觉定位在已经拥有高精度先验地图可能是通过激光或视觉SLAM事先构建的的前提下机器人只需要将当前摄像头看到的场景与地图中的图像或特征进行匹配即可直接获得全局位姿。这省去了在线建图的计算开销但对地图的完整性和时效性要求很高。2.3 全局绝对定位寻找世界中的“锚点”这类方法能为机器人提供一个不随时间漂移的全局坐标系下的绝对位置。GNSS/RTK全球导航卫星系统及其载波相位差分技术。在室外开阔环境下RTK可以提供厘米级的绝对定位是自动驾驶和农业机器人的“黄金标准”。但它无法用于室内、隧道、高楼林立的城市峡谷等卫星信号被遮挡的场景。UWB超宽带一种室内高精度定位技术。需要在环境中部署多个已知位置的基站机器人携带标签通过测量无线电波飞行时间来计算距离进而解算位置。精度可达10-30厘米但需要额外部署基础设施成本较高多用于特定区域的精确定位如仓储中的货架间。二维码/ArUco码在工厂、仓库地面或墙上粘贴预先设计好的二维码。机器人通过摄像头识别二维码直接从码中解码出自己在全局坐标系中的位姿。方案简单、可靠、绝对准确但灵活性差环境改动成本高且覆盖范围有限。Wi-Fi/蓝牙指纹定位通过匹配当前接收到的各个Wi-Fi/蓝牙信号强度RSSI与预先采集的“指纹”数据库来确定大致区域。精度通常只有米级常用于消费级机器人的粗定位或楼层判别。2.4 多传感器融合定位系统的“终极答案”在实际工程中几乎没有单一传感器能胜任所有场景。因此多传感器融合是构建鲁棒定位系统的必然选择。其核心思想是利用不同传感器的互补特性通过滤波或优化算法得到一个比任何单一传感器都更准确、更稳定的位姿估计。滤波器方案如卡尔曼滤波系列将系统状态机器人的位姿建模为一个动态过程传感器数据作为观测。通过预测-更新的循环不断融合新数据估计最优状态。扩展卡尔曼滤波EKF和无迹卡尔曼滤波UKF在机器人定位中应用广泛。它们非常适合处理高频传感器如IMU、编码器与低频传感器如视觉、激光的融合计算效率高。优化方案如图优化将定位问题构建成一个巨大的非线性最小二乘问题。机器人在不同时间点的位姿作为优化变量传感器观测数据如激光匹配约束、视觉重投影约束、里程计约束构成了变量之间的约束边。通过求解这个图一次性优化所有位姿。这类方法精度更高能有效利用历史信息“回环检测”来消除累积误差是当前激光SLAM和视觉SLAM后端的主流。但计算量更大通常不能严格实时。工程经验在资源受限的嵌入式平台如基于ROS的机器人一个经典的架构是EKF作为高频的状态估计器融合编码器和IMU提供短时、高频的位姿输出同时运行一个低频的激光或视觉SLAM模块其优化后的位姿结果以较低频率如10Hz反馈给EKF作为绝对观测来校正漂移。这样既保证了控制的实时性又维持了长期的定位精度。3. 深入核心算法不只是调用一个开源包很多初学者上手ROS发现用gmapping或cartographer就能建出不错的地图便觉得定位问题已经解决。但这只是万里长征第一步。当你的机器人走出实验室面对真实世界的复杂性与恶意时算法内部的细节决定了成败。3.1 激光SLAM中的匹配与回环以最常用的Google Cartographer为例它之所以强大在于其巧妙的多层级优化设计。前端扫描匹配Cartographer并不是简单地进行帧到帧的ICP。它首先进行CSM相关性扫描匹配在一个搜索窗口内暴力寻找最优解为后续优化提供一个良好的初始值。然后使用Ceres Solver进行基于非线性优化的精细匹配。这个过程对计算资源要求较高但匹配精度和鲁棒性远超简单的ICP。子图构建与稀疏位姿调整Cartographer将连续的激光扫描累积成一个局部一致的“子图”。当子图构建完成后它就被认为是固定的。新的扫描帧不再与全局地图匹配而是与最近的几个子图匹配这大大减少了计算量。更重要的是它运行一个后台的全局优化稀疏位姿调整当检测到回环即机器人回到曾经到过的地方时会调整所有相关联的子图位姿从根本上消除累积误差。工程中的调参噩梦Cartographer有数十个参数调参是门艺术。例如TRAJECTORY_BUILDER_2D.submaps.num_range_data控制多少帧数据构成一个子图太少了子图不稳定太多了计算慢且不易优化。POSE_GRAPH.constraint_builder.min_score控制回环检测的严格程度太松会产生错误回环导致地图扭曲太紧则无法纠正漂移。我的经验是先从默认参数开始录制一个包含去程和回程的数据包bag然后反复调整回环相关参数直到地图在回环处能完美闭合没有重叠或断裂。3.2 视觉VIO的紧耦合与初始化视觉VIO是当前的研究热点也是手机AR和无人机定位的核心。以VINS-Mono和ORB-SLAM3带IMU版本为代表。紧耦合 vs 松耦合这是核心区别。松耦合将视觉和IMU视为两个独立的估计器分别输出位姿后再进行融合如EKF简单但精度有损失。紧耦合则将视觉特征点的重投影误差和IMU的预积分误差放在同一个非线性优化框架中一起最小化理论上精度最优VINS-Mono就是紧耦合的典范。初始化的“鸡生蛋”问题VIO的初始化是个关键且脆弱的环节。它需要从最初的几帧图像和IMU数据中估计出尺度、重力方向、速度、陀螺仪偏置等一大堆状态。如果机器人初始时静止或做纯旋转运动初始化很容易失败。VINS-Mono采用了一个松耦合的初始化过程来提供较好的初始值。在工程部署时我们通常会要求机器人在启动后先进行一段“初始化运动”比如缓慢地向前走一段直线加一个转弯以提供充分的激励。时间戳同步的生命线视觉和IMU数据的时间戳必须精确同步硬件同步最佳软件同步次之。哪怕几十毫秒的错位也会在快速运动时导致严重的估计误差。我曾调试过一个系统定位总是在转弯时发散排查了三天最后发现是摄像头和IMU的时间戳基准不同存在一个固定的微小偏移校正后问题立刻消失。3.3 滤波器的工程实现以机器人定位中的EKF为例虽然图优化是学术前沿但在很多对计算资源苛刻或需要严格实时的场景如高速移动的平衡车、无人机EKF仍是主力。自己动手实现一个用于机器人定位的EKF是理解状态估计最好的方式。核心步骤状态定义我们通常估计一个包含位置、朝向、速度、传感器偏置等的状态向量。例如对于2D机器人x [px, py, theta, vx, vy, omega, ...]^T。运动模型预测步根据控制输入如轮速和IMU数据预测下一个时刻的状态和状态的不确定性协方差矩阵P。例如使用编码器的差分模型或IMU的积分模型。// 简化的差分驱动模型预测示例伪代码 double delta_s (left_encoder_delta right_encoder_delta) / 2.0 * wheel_radius; double delta_theta (right_encoder_delta - left_encoder_delta) / wheel_base * wheel_radius; predicted_px current_px delta_s * cos(current_theta delta_theta/2); predicted_py current_py delta_s * sin(current_theta delta_theta/2); predicted_theta current_theta delta_theta;同时需要根据模型的不确定性如轮子打滑系数来更新协方差矩阵P。观测模型更新步当获得绝对观测数据时如看到了一个二维码或激光匹配到了一个全局位姿将这个观测值与我们根据预测状态“认为”应该看到的观测值进行比较得到残差。观测值z_measure [二维码识别的x, y, theta]预测观测z_predicted [predicted_px, predicted_py, predicted_theta]这里假设二维码坐标系与地图系重合残差y z_measure - z_predicted卡尔曼增益计算与状态更新根据预测的不确定性P和观测噪声R计算卡尔曼增益K。K决定了我们是更相信预测模型还是更相信当前的观测。最后用K和残差y来更新状态和协方差。// 简化更新核心伪代码 Matrix H getObservationMatrix(); // 观测矩阵描述了状态如何映射到观测 Matrix S H * P_pred * H.transpose() R; // 创新协方差 Matrix K P_pred * H.transpose() * S.inverse(); // 卡尔曼增益 x_updated x_predicted K * y; // 状态更新 P_updated (I - K * H) * P_pred; // 协方差更新踩坑实录在实现EKF时最常遇到的“玄学”问题就是滤波器发散。除了模型不准、噪声参数设置不当外一个非常隐蔽的坑是数值计算不稳定。协方差矩阵P在迭代更新中必须保持对称正定但由于浮点数计算误差它可能会逐渐失去这个性质。一个有效的工程trick是在每次更新后强制令P (P P.transpose()) / 2.0并检查其特征值是否为正必要时进行修正。4. 实战构建一个室内服务机器人的多源融合定位系统理论说了这么多我们来看一个具体的实战案例为一款室内迎宾导引机器人设计定位系统。需求是在约5000平米的商场环境动态行人较多需要实现稳定、平滑、精度在10厘米以内的定位且成本可控。4.1 传感器选型与配置方案经过权衡我们确定了如下传感器方案主传感器16线激光雷达。选择16线而非32线或64线是基于成本和实际需求的平衡。商场环境天花板较高16线在10米范围内的地面点云密度足够用于匹配和避障。品牌上选择了国产的Mid-70因其在室内反光地面如瓷砖上的表现相对稳定。辅助传感器1轮式编码器IMU组合模块。我们直接采购了集成了高精度编码器和六轴IMU的机器人底盘。编码器用于航迹推算IMU主要用于提供朝向角通过融合磁力计和陀螺仪和加速度信息补偿激光雷达在机器人加减速、转弯时的运动畸变。辅助传感器2单目摄像头。主要用于回环检测的视觉辅助和二维码识别。在长廊等激光特征稀疏的区域视觉特征可以提供额外的约束。同时在电梯口、前台等关键点位部署ArUco二维码提供零漂移的绝对位置校正。备用方案UWB。在激光反射条件极差的区域如全玻璃幕墙走廊作为补充定位手段。但由于成本仅做点状部署。4.2 软件架构与算法集成我们基于ROS构建了如下定位流水线底层EKF融合定位节点 (robot_localization包)。这个强大的包允许我们输入多个传感器数据源。我们配置了三个输入/odom来自底盘编码器的里程计信息nav_msgs/Odometry。/imu/data来自IMU的姿态和角速度信息sensor_msgs/Imu。/laser_pose来自激光SLAM模块的全局位姿估计同样是nav_msgs/Odometry。robot_localization内部的EKF会将这些信息在map坐标系下进行融合输出平滑、高频的最终位姿/odometry/filtered。这里的关键是正确配置每个输入话题的坐标系以及它们的噪声协方差矩阵。例如编码器在平移上的噪声较小但在旋转上噪声大IMU在旋转上短期可信但存在漂移激光SLAM的位姿绝对精度高但频率低且可能存在跳变。中层激光SLAM模块 (Cartographer)。它订阅激光雷达数据 (/scan) 和由EKF提供的、初步融合后的位姿作为先验 (/odometry/filtered)进行扫描匹配和子图构建。Cartographer会输出一个优化后的、低频的位姿估计和全局地图。这个优化后的位姿被反馈回上层的EKF作为绝对观测来校正漂移。高层视觉辅助与全局校正。一个独立的视觉回环检测节点订阅摄像头图像提取ORB特征。当Cartographer自身激光回环检测置信度不高时我们利用视觉特征匹配进行辅助验证提升回环检测的可靠性。一个二维码识别节点。当机器人巡逻到部署了二维码的区域时识别结果会以geometry_msgs/PoseWithCovarianceStamped消息形式作为一个强约束直接发送给robot_localization的EKF。由于二维码位姿是零误差的在测量误差内EKF会极大地信任这个观测瞬间将机器人的位姿“拉”回正确位置彻底消除任何累积漂移。4.3 调试、标定与性能优化这个系统搭建起来后离稳定运行还有很长的路要走大部分时间花在了调试和标定上。传感器时空标定这是第一步也是最重要的一步。时间同步我们使用PTP精密时间协议网络同步所有传感器的时钟确保激光、IMU、摄像头数据的时间戳在同一个时间基准下。ROS的message_filters包用于话题的近似时间同步。外参标定即确定激光雷达、IMU、摄像头相对于机器人底盘中心通常是后轴中点的变换关系T_base_lidar,T_base_imu,T_base_camera。我们使用开源的lidar_imu_calib和kalibr工具包通过让机器人做“画8字”等激励充分的运动离线标定出这些变换矩阵。标定不准的直接后果就是融合效果差比如激光地图总是斜的或者视觉投影误差大。滤波器参数调优robot_localization的EKF有几十个参数核心是各个传感器的噪声协方差矩阵。我们的方法是**“孤立测试逐步融合”**。先只融合编码器和IMU让机器人在空旷场地直线行走20米观察纯里程计的漂移。调整编码器的噪声参数使EKF输出的轨迹尽可能直。加入激光SLAM的位姿输入。观察当激光SLAM位姿跳变由于匹配不准时EKF的输出是否平滑。通过增大激光位姿输入的噪声协方差表示我们不太信任它来降低跳变对最终输出的影响。最后测试二维码校正。当机器人经过二维码时观察EKF输出位姿是否被迅速、准确地校正。校正过程应平滑不应产生剧烈抖动。系统性能与鲁棒性测试长时运行测试让机器人连续运行8小时记录其回到原点的位置误差。我们要求误差小于15厘米。动态干扰测试在机器人周围快速移动物体模拟行人测试激光SLAM和整体定位的稳定性。退化场景测试专门在长走廊、玻璃墙、强光直射摄像头等场景进行测试记录定位失效的情况并思考应对策略如切换到纯里程计模式并减速或触发UWB辅助。4.4 遇到的典型问题与解决方案问题在光滑瓷砖地面激光雷达偶尔出现“鬼影”点云导致Cartographer定位瞬间跳变。分析与排查检查原始点云发现当地面反光时激光雷达会接收到来自地面的二次甚至多次反射产生低于实际地面的虚假点。这些“鬼影”点云被Cartographer误认为是新障碍物导致匹配错误。解决方案传感器层面调整激光雷达的安装俯仰角尽量避免激光束以极小角度掠射光滑地面。有些激光雷达固件支持设置多回波模式可以选择最强回波而非最后一次回波能在一定程度上缓解。算法层面在点云预处理环节增加一个“地面点过滤”和“统计离群点移除”的步骤。使用简单的平面拟合或射线跳变检测剔除明显不合理的点。对于Cartographer可以调高TRAJECTORY_BUILDER_2D.min_range和max_range并设置missing_data_ray_length让算法忽略那些看起来“穿透”了已知障碍物的点。系统层面在EKF中适当调高激光位姿输入的角速度噪声分量这样当激光SLAM发生短暂跳变时EKF会更相信IMU提供的稳定角速度平滑掉跳变。问题机器人快速转弯时定位轨迹出现“过冲”或“滞后”。分析与排查这通常是运动畸变补偿没做好。激光雷达一帧扫描需要时间如100ms在这段时间内如果机器人自身在快速旋转那么这帧点云中的点就不是在同一时刻采集的直接用于匹配会产生误差。解决方案利用高频的IMU数据或编码器数据进行点云去畸变。在ROS中可以使用laser_geometry或pointcloud_to_laserscan包结合tf查询每个点采集时刻的机器人位姿将其统一校正到扫描结束时刻或开始时刻的坐标系下。Cartographer内部也集成了基于IMU的运动畸变补偿选项需要开启并确保IMU数据准确。确保提供给Cartographer的/odom先验信息是准确且低延迟的。如果里程计本身就有延迟或不准畸变补偿会适得其反。问题在极度相似的长走廊区域机器人发生“绑架”问题即定位系统认为自己在另一个相似的走廊。分析与排查这是基于地图匹配定位系统的经典挑战。激光或视觉特征在两条走廊里几乎一模一样导致匹配算法无法区分。解决方案增加先验信息这是最有效的方法。利用二维码或UWB在走廊的入口、出口或中间关键点提供绝对位置“锚点”一旦识别到就能立刻消除歧义。多假设跟踪维护多个可能的位姿假设粒子滤波的思想当机器人运动产生足以区分走廊的位移比如转弯后再剔除错误的假设。但这会增加计算复杂度。融合高层语义信息如果摄像头能看到走廊里的海报、消防栓、门牌号等语义信息就可以作为区分特征。但这需要额外的语义识别算法。产品设计妥协在环境部署阶段主动在相似区域增加一些差异化的小改动比如在墙角贴一个不同的标识牌。5. 前沿趋势与个人思考移动机器人定位远非一个已解决的问题。随着应用场景的复杂化和对成本、功耗的严苛要求新的挑战和趋势不断涌现。深度学习与定位的融合传统基于几何特征的定位方法在纹理缺失、动态物体多的场景下依然脆弱。深度学习正在从多个层面改变游戏规则。端到端的定位输入图像直接输出6自由度位姿。这类方法避免了手工设计特征但对数据量和泛化能力要求极高目前精度和鲁棒性还难以超越传统方法更多用于提供初始位姿或辅助。特征提取的升级用学习到的特征如SuperPoint, LoFTR替代SIFT、ORB等手工特征。这些特征对光照、视角变化更鲁棒匹配精度更高正在被逐步集成到VSLAM系统中。动态物体处理利用语义分割网络如Mask R-CNN, YOLO识别出行人、车辆等动态物体在构建地图或定位时将其剔除可以显著提升在动态环境中的稳定性。这就是一个“基于YOLO的经纬度定位”可以引申的方向——在视觉定位中先用YOLO剔除动态干扰再用静态背景进行匹配。多机器人协同定位在仓储、搜索救援等场景多个机器人可以共享观测信息相互校正位姿。一个机器人在某个区域构建的精确地图或检测到的特征可以实时分享给其他机器人帮助它们快速定位甚至实现“一个建图全员享用”大大提升效率。面向边缘计算与低功耗的优化很多移动机器人平台计算资源有限。算法轻量化是关键。例如使用稀疏特征点而非稠密点云使用二值特征描述子BRIEF而非浮点型使用轻量级神经网络。同时研究在定位精度和计算开销之间的权衡策略比如在特征丰富区域使用复杂算法在空旷区域切换到低功耗的航迹推算模式。“云-边-端”协同的定位架构这是我认为的未来方向。机器人端端运行轻量级的VIO或激光里程计保证实时性和基础安全性边缘服务器边运行更耗资源的全局优化、重定位和语义地图维护云端云负责众包地图的更新与分发。这种架构既能满足实时性要求又能获得强大的全局一致性和语义理解能力。回顾我自己的研究与实践历程最大的体会是没有“银弹”。在实验室表现完美的算法到了真实的商场、工厂、街道总会遇到各种意想不到的挑战。一个鲁棒的定位系统必然是多层次、多传感器、软硬件紧密结合的产物。它既需要你对卡尔曼滤波、图优化等数学工具有着深刻理解也需要你具备丰富的工程经验懂得如何标定传感器、调试参数、处理异常数据。对于初学者我的建议是不要一开始就试图搭建一个复杂的多传感器融合系统。从一个简单的传感器开始比如先只用激光雷达玩转Cartographer理解数据流、坐标系变换、参数调优的每一个环节。然后逐步加入编码器、IMU尝试用EKF进行融合。在这个过程中你会遇到无数个“为什么不准”的问题而解决每一个问题的过程都是对你知识体系的一次夯实。当你亲手让机器人从跌跌撞撞到稳步前行时那种成就感正是这个领域最吸引人的地方。定位是机器人迈向自主的第一步也是最坚实的一步。
返回列表