接着前面的博客继续接下来的工作,这篇来介绍ROS2。为什么把ROS2提到最前面去说呢,因为它就像一个桥梁一样,把众多知识点联系在了一起,从此入手能够较好众观全局。

一. ROS2概念级了解

        它不是一个机器人程序库,初接触的童鞋会类比是否是类似opencv等。不是的哦,它是一套分布式通信与协作框架。我们回想一下,平常写窗体执行程序(不管是用MFC,还是C# Winform\WPF等),我们会把对外围设备的控制,如相机,IO板卡都写在一起,还有算法全写在一个进程里,然后编译部署。为了增加阅读性,会写很多注释,用对象的方法进行封装,尽量函数包装好各功能。但往往硬件一变,算法一变,整个程序就要大改,重新编译。当然可以采用dll等方式减少各模块之间的耦合性,但有大量工作要做,复杂的程序则要专业的程序框架工程师去架构。且由于是在一个进程中运行,一旦某个硬件或者某个模块遇到问题,进程往往崩溃,这就需要做大量防呆,往往让很多精力偏离本该应多关注的地方,比如算法,或者核心功能实现上。

        而ROS2相当于把一个大程序拆成一群可执行的小程序,这些小程序通过标准接口协作,每个小程序做好自己的本份,比如一个是和相机相关,一个是和雷达相关。ROS2本质就是应分布式部署思想,把传感器,算法,驱动程序等彻底解耦,不再捆绑在一个大的进程里(可执行exe)。这些就可以一拨人做视觉,一拨人做运动控制,一拨人做SLAM等,大家按照ROS2的通讯协议标准,做好自己的工作即可,这样就可以轻松组装成一个完全体。

        想一想,机器人(具身智能)天然就是这种分散形式,硬件极多:相机、电机、舵机、底盘、关节、运动控制、多个 IMU、音箱、屏幕、雷达、电机、轮子、机械臂,同时要具备的软件功能也颇多,如定位、SLAM建图、导航算法、避障算法、路径规划、识别算法、融合算法、智能人机交互、任务逻辑。ROS2 天生分布式,不同传感器、不同执行器可以拆到不同算力板上运行,互不干扰。

        且现在绝大多数正规品牌(激光雷达、双目相机)都会提供现成 ROS2 驱动包 / 节点,你不用自己从头到尾写驱动。科研机构、高校、初创公司、个人开发者,绝大多数用 ROS2 做分布式开发,大厂量产很多是自研闭源,但设计思路和ROS2很像(分布式、模块化)。所以若不掌握ROS2,机器人就是一堆零散的零部件。

一句话:ROS2 就是机器人的经脉,负责打通所有零部件、程序之间的信息往来,经脉顺畅,机器人才能灵活运转。所以ROS2是必须要了解的。

在这开启系列博客之间,博主借助AI工具搜集了一些背景知识,如下就以一问一答形式记录吧。

Q1: 第 1 篇 SLAM 到底是不是 “单纯建地图”?一字讲清同步定位与建图

A: 很多朋友看到带激光雷达的机器人,第一反应都是:这不就是到处走、把环境扫描成地图吗?其实这个理解只对了一半,今天咱们把 SLAM 最核心的概念掰扯明白。

SLAM 全称是同步定位与建图,两个动作必须同时进行,缺一不可。 所谓建图,就是机器人用激光雷达、摄像头等传感器,把周围墙体、家具、道路、障碍物的轮廓记录下来,拼接成环境地图,这也是大家直观能看到的部分。 而定位,才是整个技术的灵魂:机器人在移动过程中,必须时时刻刻算出「我现在站在哪个位置、面朝哪个方向」。

举两个最常见的例子: 家里的扫地机,如果只扫出户型图,却不知道自己在哪,只会原地乱转,根本没法规划清扫路线; 马路边的自动驾驶测试车,一边采集道路数据制作地图,一边依靠定位稳住车身,保证始终行驶在车道内。

单纯拿着传感器边走边记录画面,只能叫环境扫描,算不上真正的 SLAM。 总结一句话:SLAM = 实时知道自己在哪 + 同步画出周围环境,少了定位,建图就失去了实际意义。

Q2:单线激光雷达为什么垂直盲区大?靠俯仰扫描补盲的原理

A: 单线激光雷达成本低、普及率最高,扫地机、小型巡检机器人基本都在用,但用过的人都知道它有个硬伤 —— 垂直方向看不全。为什么会出现盲区?行业里又是用什么简单办法来弥补的?

从结构上来说,单线雷达内部只有一束水平发射的激光,工作时围绕中心 360° 旋转,只能扫出一个固定高度的水平面。简单理解:它就像人蹲在地上平视前方,抬头看不到高处的悬挂物,低头也看不清地面低矮障碍物。

放到实际场景里问题就很明显:地面上的小凳子、线缆、矮台阶,或者半空悬着的水管、电线,很容易逃出它的扫描范围,机器人直接撞上。

工程上没有复杂算法,全靠机械方式补盲: 第一种方式,让雷达本身做小角度俯仰转动,不再固定水平姿态,上下摆动扩大垂直视野; 第二种方式,控制整机缓慢升降、小幅摇摆,在不同高度完成多次扫描。

把多层不同高度的扫描数据叠加在一起,原本单薄的一条水平线,就变成了一片垂直区域,低矮障碍、悬空物体都能被识别到。这也是室内小型机器人最通用、性价比最高的盲区解决方案。

Q3: 多线雷达点云稀疏怎么办?移动采样提升垂直分辨率

A: 升级到多线雷达,是不是就万事大吉了?其实不然,距离一远,点云依旧会变稀,很多细节会丢失。今天聊聊工程上最常用的低成本优化手段。

多线雷达和单线雷达最大的区别,就是内部集成了十几束、几十束激光,在垂直方向分层排布,天生就能采集三维环境数据,不用像单线雷达那样大幅俯仰补盲,室外道路、大型巡检设备基本都会选用它。

但它也有短板:垂直方向的激光线束数量是固定的,距离越远,激光光斑之间的间距就越大,最终呈现出来的点云会变得非常稀疏。远处的路沿、小型标识、低矮护栏,会因为点太少无法识别,相当于 “看不清楚细节”。

针对这个问题,行业主流优化思路依旧偏向工程落地,而非改动硬件: 让搭载雷达的设备低速行驶、缓慢移动,同时配合雷达小幅度俯仰。设备每移动一小段距离,就会新增一批采样点,原本稀疏的区域被不断补全,垂直方向的采样密度大幅提升。

简单对比总结:单线雷达核心是补垂直盲区,靠摆动扫到更多区域;多线雷达核心是提升点云密度,靠连续移动丰富采样。两种方案场景不同,但思路相通。

Q4: IMU 在 SLAM 里扮演什么角色?雷达断联、姿态漂移全靠它

A: 一套完整的 SLAM 系统,几乎离不开 IMU。很多人只关注激光雷达,却忽略了这个小小的模块,关键时刻它能避免整个系统直接 “跑偏”。

IMU 也就是惯性测量单元,内部集成加速度计和陀螺仪,核心作用是实时采集设备的运动状态:走得多快、往哪个方向转弯、机身有没有倾斜、姿态如何变化。

我们可以把激光雷达理解为机器人的 “眼睛”,负责看清周围环境;那 IMU 就是机器人的本体感知 + 短时记忆

实际运行中,雷达经常会遇到突发状况:被行人、障碍物临时遮挡,短时间内收不到有效数据;或者设备急转弯、快速颠簸,雷达数据出现断层。 一旦 “眼睛” 暂时失灵,整个定位系统很容易出现漂移、错位。这时候 IMU 就会立刻顶上:依靠之前的运动数据,短时间内持续推算位置和姿态,保证系统不会瞬间失控。

正常工况下,雷达负责精准修正位置,IMU 辅助记录运动;极端工况下,IMU 全程兜底。二者互相配合,才构成一套稳定的 SLAM 硬件组合。

Q5: 室内 SLAM:为什么小空间能拼出一张完整全局地图?

A: 我们用机器人在室内走一圈,就能得到一张完整、不走样的地图。换到室外就做不到,室内到底有什么天然优势?

室内场景有三个非常鲜明的特点:空间封闭、边界清晰、静态障碍物极多。墙体、柱子、固定家具常年不会变动,这些稳定的特征,就是 SLAM 系统用来校准位置的 “参照物”。

机器人在房间、仓库、地下车库这类环境移动时,行走路线很容易形成闭合环路—— 简单说就是走着走着,又回到了之前路过的位置。

每一次回到熟悉区域,系统都会把当下采集的数据,和历史数据做比对,修正移动过程中产生的微小误差。一圈、两圈不断校准之后,所有位置、所有扫描画面都会对齐到同一个坐标系里。

最终的结果就是:机器人走完整个空间后,所有碎片化的扫描数据,会无缝拼接成一张完整、全局统一的地图。这也是为什么家用扫地机、室内巡检机器人,都能一次性输出全屋 / 全场地图,室内环境天然适配全局建图的逻辑。

Q6: 室外道路 SLAM:为啥 5000 公里不能实时拼成一张大图?

有人会好奇:自动驾驶测试车跑几千公里道路,为什么不直接拼成一张完整大地图?今天从技术和工程角度讲透原因。

室外道路和室内完全是两个逻辑:场景完全开放、没有固定边界,长距离行驶时,机器人很难再次走回原地,几乎无法形成回环

没有回环校准,设备每向前移动一米,定位就会产生一点微小误差。距离越长,误差不断累积、放大,跑上几公里之后,位置偏差就会达到米级甚至十几米。如果强行把几千公里的数据实时拼接成一张大图,整张地图会严重扭曲、错位,完全失去使用价值。

除此之外还有算力和存储的现实约束:5000 公里道路的激光点云、图像数据体量极其庞大,车载设备的实时算力、硬盘存储,根本支撑不了单张超大地图的实时运算。

所以室外长距离 SLAM,行业通用方案是分块建子图:每隔几百米划分一个独立局部地图,车辆只保证当前所在子图的精度,子图之间仅保留路线关联,不做全局拼接。

补充一点:5000 公里的完整道路地图并非做不出来,但绝对无法实时完成。需要跑完所有路段后,把原始数据带回后台,用大型算力做离线全局优化、对齐拼接,这属于测绘工作,不是车辆行驶时的实时功能。

Q7: 为什么说回环检测:室内 SLAM 消除误差的 “杀手锏”?

A: 机器人走得越远,定位偏差就越大,室内 SLAM 能稳住精度,全靠一项核心技术 —— 回环检测,它到底是怎么工作的?

先解释通俗版定义:机器人在移动过程中,重新抵达曾经走过的区域,这个行为就叫做回环,而识别出 “我回到老地方” 的算法,就是回环检测。

任何移动设备,只要靠传感器推算位置,就一定会产生误差。哪怕误差小到毫米级,持续移动后也会慢慢累积,最终导致定位跑偏、地图变形。室内空间再小,长时间运行也逃不开这个问题。

回环检测就是专门用来 “修正偏差” 的杀手锏:当系统识别出当前位置是历史点位时,会立刻把全局轨迹、所有地图数据统一拉回正确坐标,把累积的误差一次性清零。

举个例子:扫地机打扫客厅→卧室→书房,最后又走回客厅,回环检测生效,整屋地图被重新校准,始终保持精准。

这也能解释为什么室外道路很少依赖回环:长直公路、城市主干道很难形成闭合路线,回环出现概率极低,自然不能靠这套逻辑修正误差。室内靠回环,室外靠卫星定位,两套体系各司其职。

Q8: GPS 弱 / 无信号场景,SLAM 靠什么稳住定位?

A: 进入地下车库、隧道或者高楼密集的路段,手机导航都会飘,机器人和自动驾驶车又是如何保证定位不跑偏的?

GPS、北斗这类卫星定位,非常依赖天空信号。一旦进入室内、隧道、地下管廊,或者城市高楼形成的 “城市峡谷”,信号会被墙体、建筑遮挡,直接变弱甚至完全中断,这也是行业里常说的无 GPS / 弱 GPS 场景

在这类场景下,设备会立刻切换定位方案,放弃依赖卫星绝对坐标,转而使用激光雷达 + IMU + 轮速里程计的融合 SLAM 方案。

简单拆解分工:激光雷达持续扫描周围环境,用墙体、路沿、障碍物做特征匹配,确定相对位置;IMU 实时捕捉姿态变化,弥补雷达短暂失效的空档;轮速计记录车轮转动距离,辅助推算行进路程。

三者融合之后,设备不需要外部卫星信号,仅凭自身传感器,就能在密闭、遮挡环境里稳定定位。

目前这套方案已经广泛落地:地下车库 AGV、隧道巡检机器人、城市隧道内行驶的自动驾驶车辆,核心定位逻辑全都来源于此。

Q9: 扫地机器人地图更新:家具挪走、杂物新增,机器如何判断?

家里家具换位置、地上随手放个凳子,扫地机器人是视而不见,还是会主动修改地图?它的判断逻辑远比你想象的智能。

扫地机会把环境里的物体分成两大类:临时动态物体永久静态物体,两种情况的处理逻辑完全不同。

第一种,临时杂物:地上的拖鞋、板凳、玩具、临时堆放的物品。这类东西大概率是人随手摆放,后续会被挪走。机器人识别到之后,只会在当下实时绕开,不会修改已经保存的全屋静态地图。等杂物被拿走,下次清扫恢复正常,地图依旧保持原样。

第二种,永久布局改动:搬走大桌子、新增衣柜、挪动大型固定家具。如果连续多次清扫,同一区域的障碍物持续消失或新增,系统会判定为环境永久变化,启动局部增量更新,只修改对应区域的地图,不会动整张图。

如果家里彻底重装、墙体改动、全屋布局大变,多次检测到大面积数据不符,机器会直接弹窗提示 “环境变化较大”,建议用户手动重新建图。

现在高端机型还采用双层地图架构:底层是长期不变的静态户型图,上层是实时刷新的动态障碍物图层,两层分离,既保证导航稳定,又能灵活应对临时杂物。

Q10: 2D-SLAM 和 3D-SLAM 核心区别,适用场景一眼分清

A: 经常听到 2D-SLAM 和 3D-SLAM,很多新手分不清两者该怎么选。今天用最简单的方式讲清区别与适用场景。

首先从维度和硬件区分: 2D-SLAM 是二维平面 SLAM,搭配单线激光雷达,只扫描单一水平面,最终输出平面栅格地图,只有长、宽两个维度,没有高度信息。 3D-SLAM 是三维空间 SLAM,主流搭配多线激光雷达,能够采集空间高度数据,重建出完整三维点云地图,包含长、宽、高全部信息。

再看三者核心差异:算力、成本、覆盖能力。 2D 方案硬件便宜、算法简单、算力消耗极低,缺点是看不到垂直方向的细节,存在盲区; 3D 方案硬件成本更高,点云运算对设备算力要求也更高,但能完整还原立体环境,识别高低不同的障碍物。

最后直接给出场景选型建议: 优先选2D-SLAM:家用扫地机、室内简单巡检机器人、仓库平面转运 AGV,环境以平面移动为主,不需要高度信息。 优先选3D-SLAM:室外自动驾驶车辆、隧道 / 管廊巡检、三维测绘、无人机室内作业,需要识别悬空障碍、高低路面、立体环境。

简单总结:平面场景用 2D,立体复杂场景用 3D,根据实际需求选择即可。

Q11: 路边测试车装一堆雷达,在路上跑到底在采集什么数据?

A: 在城市道路、智能网联示范区,总能看到满身传感器的测试车来回行驶,很多人好奇:他们到底在一路采集哪些数据?就拿苏州高铁北站周边的测试车辆举例,今天一次性说全。

这类自动驾驶测试车,相当于移动的数据采集站,一路会同步采集五大类核心数据,每一类都有明确用途: 第一类,激光雷达点云数据。这是核心数据,记录路面、车道线、护栏、交通标识、建筑、树木,还有行人、电动车、社会车辆等动态目标,主要用来制作高精地图,同时训练 3D 感知算法。 第二类,摄像头图像数据。前视、环视摄像头抓拍红绿灯、车道标线、行人姿态、车牌,重点收集逆光、雨雾、隧道明暗交替等边缘场景,用于视觉 AI 模型训练。 第三类,IMU+RTK 定位轨迹数据。结合惯性单元和高精度卫星定位,记录车辆每一刻的位置、车速、姿态角,作用是把雷达、图像数据精准对齐到统一坐标,修正 SLAM 漂移。 第四类,车辆 CAN 总线数据。采集油门、刹车、转向、挡位等车辆状态,用于分析自动驾驶算法的决策逻辑,也相当于车辆 “黑匣子”。 第五类,车路协同数据。在智慧道路区域,车辆会和路边雷达、摄像头、红绿灯信号互通,验证车路协同的实际效果。

这些数据汇总之后,一部分用来离线制作道路高精地图,一部分送入算法平台迭代模型,还有一部分用来现场验证自动驾驶功能。这也是测试车反复在固定路段行驶的核心原因。

Q12: 高精地图是 “开卷考试” 吗?算不算自动驾驶作弊?

A: 关于高精地图,行业一直有个争论:依赖提前建好的地图,算不算自动驾驶 “作弊”?今天聊聊我的真实看法。

支持 “作弊论” 的观点很直观:车辆提前拿到了整条道路的车道、弯道、红绿灯位置,相当于考试前拿到了答案,不是纯靠车辆自身能力识别路况,在陌生路段必然失灵。

客观来说,高精地图确实相当于开卷考试、带辅助资料,但绝对算不上完全作弊。核心原因很简单:高精地图只存储静态道路信息,比如车道线、坡度、弯道曲率、固定交通标志;但道路上的行人、电动车、往来车辆、临时施工围挡等动态障碍物,地图完全无法预判。

哪怕有高精地图,车辆依旧需要依靠雷达、摄像头实时感知周围动态,自主完成避障、跟车、减速等操作,核心的感知与决策能力一点都不能少。

放在工程视角,高精地图更像是安全冗余和辅助工具:在 GPS 信号弱、传感器被遮挡的复杂路段,它能帮车辆稳住定位、提前预判路况,大幅提升行驶安全性。

行业也分为两大路线:一派深度依赖高精地图,追求行驶稳定;一派坚持纯无图方案,完全靠实时感知。没有绝对的优劣,只是技术路线选择不同。

Q13: 有高精地图也会失灵?未知复杂路段车辆如何兜底?

A: 就算搭载了高精地图,车辆开到从未采集过的陌生路段,也并非万能。遇到这种情况,车载系统会如何应对?

高精地图的局限性非常明显:它是基于过往采集生成的静态数据,一旦遇到道路临时施工、改道、新增路口,地图信息就会和现实不符;如果驶入完全没有建图的陌生区域,地图直接失效。

遇到这类场景,车辆不会直接宕机,行业通用逻辑是功能降级 + 方案切换

第一步,自动驾驶权限降级。原本全速域的辅助驾驶、自动变道、导航辅助驾驶功能会暂时关闭,只保留基础的车道居中、跟车等简单功能,提醒驾驶员接管车辆。

第二步,切换定位与感知方案。放弃高精地图匹配定位,转为车载实时 SLAM + 普通民用导航地图兜底。 普通导航地图只有米级精度,无法做到车道级定位,但可以提供宏观道路走向;配合雷达、IMU 组成的实时 SLAM,保证车辆在道路内正常行驶。

简单总结:在有图区域,车辆 “看得远、走得稳”;在未知无图区域,系统主动降低能力,依靠基础感知和实时定位勉强通行,接管率会明显上升,但不会彻底失灵。

Q14: 为什么不可能给全球道路都搭建高精地图?成本、法规、现实难题

A: 既然高精地图这么好用,为什么不把全国、全球道路全部建一遍?其实这件事从一开始就不具备落地条件,有三大无法逾越的现实门槛。

第一关,成本门槛,高到难以承受。 专业高精地图采集车单日行驶里程有限,车辆、设备、人工、后期数据处理综合成本极高。我国公路总里程超百万公里,如果要完成全域采集,需要投入海量车辆和人员,耗时十几年,整体费用达到万亿级别。放到全球范围,更是天方夜谭。

第二关,运维门槛,地图永远跟不上路况。 城市道路每天都在变化:临时施工、道路拓宽、路口改造、新增交通标志。高精地图更新周期最少也要数天,长则一两个月。刚更新完的地图,可能隔天路况就变了,全域地图的维护成本会无限叠加。

第三关,法规门槛,地理信息涉密管控。 高精地图包含厘米级的道路坐标、地理细节,属于国家涉密地理信息。国内采集、制作、使用都需要专属甲级测绘资质,对外输出、跨境采集更是严格禁止。个人、普通企业、海外团队都无法随意开展全域采集。

基于以上三点,行业早已达成共识:高精地图只会优先覆盖高速、城市主干道、核心城区等高频路段,全域全覆盖永远不会实现。

Q15: 辅助驾驶完整架构:SLAM 只是其中一环,全套系统都包含什么?

A: 很多人以为辅助驾驶就是 SLAM + 雷达,实际上它是一套极其庞大的系统,SLAM 仅仅是其中一个环节。今天用通俗的方式拆解整套架构。

我们可以把整套辅助驾驶系统,类比成一名经验丰富的老司机,完整工作链路分为五大模块,依次流转:

  1. 感知模块(眼睛) 由激光雷达、摄像头、毫米波雷达组成,负责识别行人、车辆、车道线、红绿灯、交通标志,看清路面所有物体。

  2. 定位模块(方向感) 核心就是 SLAM + RTK/GNSS 融合,实时判断车辆处在第几车道、精确位置、行驶姿态。这也是我们一直在聊的技术,只负责 “定位置”。

  3. 预测模块(预判能力) 根据感知到的画面,判断旁边车辆、行人下一步会往哪走,提前预判风险。

  4. 规划模块(路线决策) 结合导航、路况、交规,决定车辆接下来是直行、变道、减速还是转弯,规划行驶轨迹。

  5. 控制模块(手脚) 把决策指令下发给方向盘、油门、刹车,最终完成驾驶动作。

整条链路环环相扣,SLAM 只负责中间的定位环节。哪怕定位再精准,感知出错、决策失误,整套辅助驾驶依然无法正常工作。这也能理解,为什么单人很难做出全套车载辅助驾驶方案。

Q16: 普通导航地图 vs 高精地图:精度、内容、用途天差地别

A: 日常手机导航地图,和自动驾驶使用的高精地图,虽然都叫 “地图”,但本质、精度、内容、服务对象完全不同,今天做一次清晰对比。

第一,定位精度天差地别。 我们手机里的民用导航地图,精度是米级,误差普遍在 5~10 米,只能告诉你 “在哪条路上”; 自动驾驶高精地图,精度达到厘米级,误差控制在 20 厘米以内,可以精准识别车辆处在哪一条车道。

第二,承载的内容完全不一样。 普通导航地图:只标注道路名称、走向、红绿灯、服务区、地标,偏向宏观路线指引,内容简单。 高精地图:除了基础道路,还会记录每条车道的属性(直行 / 左转 / 右转)、车道线虚实、路面坡度、弯道曲率、停止线位置、护栏高度等海量细节,相当于一份道路工程图纸。

第三,服务对象与用途不同。 普通导航地图给人看,帮助司机规划出行路线; 高精地图给车载电脑看,是自动驾驶系统的运行依据,用来辅助定位、规划轨迹、预判路况。

最后总结:民用地图解决 “走哪条路”,高精地图解决 “在车道里怎么走”。二者场景互补,不可相互替代。

Q17: 自动驾驶三大误差来源:漂移、遮挡、环境变化如何应对

A: 自动驾驶系统的定位和感知,始终会受到各类误差干扰,其中最常见的有三类:定位漂移、传感器遮挡、环境变化。我们分别讲讲问题成因和对应的解决办法。

第一类,定位漂移。 成因:长距离行驶后,雷达、IMU 的微小误差不断累积,位置慢慢跑偏,室外无回环场景尤为明显。 应对:搭配 RTK 高精度卫星定位做全局约束,同时依靠高精地图特征匹配,定期校准位置。

第二类,传感器遮挡。 成因:大型货车、路边树木、建筑物挡住雷达或摄像头,传感器收不到有效数据。 应对:多传感器冗余设计,激光被遮挡就启用毫米波雷达;同时依靠 IMU 短时维持位姿,等待遮挡消失。

第三类,环境外观变化。 成因:昼夜光线变化、雨雪天气、落叶积雪覆盖路面,导致特征识别出错。 应对:算法增加多场景训练数据,同时结合地图静态信息,弱化外观变化带来的影响。

一套成熟的自动驾驶方案,核心工作之一就是不断压制各类误差,保证全场景稳定运行。

Q18: 城市峡谷、隧道、高架:GPS 失效路段的定位解决方案

A: 城市高楼密集区(城市峡谷)、长隧道、互通高架,是 GPS 信号重灾区,也是自动驾驶定位的难点场景,行业有一套成熟的组合应对方案。

在这类区域,卫星信号被完全遮挡,首先关闭纯 GPS 定位,启动三套组合方案接力工作:

  1. 激光 SLAM 为主力:依靠道路护栏、墙面、桥墩等固定特征,做实时特征匹配,计算车辆相对位置,保证车道内精度。
  2. IMU + 轮速计兜底:雷达短暂失效时,依靠惯性数据和车轮里程,持续推算行驶轨迹,防止瞬间跑偏。
  3. 高精地图辅助校准:用预先建好的地图特征做匹配,进一步修正累积误差,稳住全局位置。

三种方案融合之后,哪怕全程没有卫星信号,车辆也能平稳通过隧道、高楼区、高架路段。

这也是为什么城市核心区的自动驾驶测试,一定会重点攻坚隧道和城市峡谷场景,这里最能考验定位系统的综合稳定性。

Q19: 从扫地机到无人车再到人形机器人,底层技术居然是一家人

A: 很多人觉得扫地机器人、园区无人车、人形机器人是完全不同的产品,实际上剥开外壳看,底层技术架构高度同源,都属于具身智能体系。

它们遵循一模一样的工作闭环:传感器采集数据 → 感知理解环境 → 定位自身位置 → 规划行动路线 → 执行动作

硬件层面:全都离不开激光雷达、IMU、摄像头、电机驱动,传感器融合、标定、时间同步的逻辑完全通用。 算法层面:SLAM 定位建图、障碍物避障、路径规划、PID 控制等核心算法,可以跨场景复用。

唯一的区别,只是应用场景、运动形式、复杂度不同: 扫地机是低速平面移动,场景最简单; 园区无人车、自动驾驶汽车,速度更快、道路规则更复杂; 人形机器人多了肢体关节、平衡控制,环境是非结构化的。

简单理解:它们就像同门师兄弟,基本功完全一样,只是擅长的招式、面对的考场不同。学会一类机器人技术,再转其他品类,上手速度会非常快。

Q20: 变形金刚的技术原型:自动驾驶 + 人形机器人的终极融合形态

A: 看过变形金刚的朋友都知道,汽车形态可以在路上高速行驶,变形为人形之后,又能走路、攀爬、完成各类复杂动作。放在技术视角来看,这就是自动驾驶 + 人形机器人的终极融合形态。

汽车形态,对应完整的自动驾驶系统:依靠轮式结构在结构化道路行驶,激光雷达 + SLAM 完成定位导航,遵循交通规则避障、行驶,优势是移动速度快、稳定性强。

人形形态,对应全尺寸人形机器人:拥有多关节肢体,脱离平面道路限制,能适应台阶、杂物、复杂非结构化环境,可完成接触式作业、翻越障碍等动作。

两种形态无缝切换,也是目前行业追求的终极目标,但现实中存在三大技术鸿沟: 第一,形态切换的动力学难题,车身重心、结构刚度彻底改变,控制算法需要瞬间切换; 第二,感知与地图适配,从道路 2D 地图切换为室内 3D 环境地图; 第三,运动控制体系切换,轮式控制和双足平衡控制逻辑完全不同。

目前现实产品还做不到真正 “变形”,但轮式底盘 + 机械臂、轮足机器人,都是这条技术路线的初级尝试。

Q21: 轮式机器人、双足人形机器人,运动控制难度差在哪?

A: 同样是自主移动机器人,轮式设备和双足人形机器人,运动控制的难度天差地别,今天讲清楚核心差距。

轮式机器人(扫地机、无人车、AGV): 依靠车轮接触地面,整体结构天生稳定,不会摔倒。运动自由度少,控制逻辑简单,只需要控制前进、后退、转向,重点做好路径跟踪、速度控制即可。哪怕出现小偏差,也不会影响整机安全。

双足人形机器人: 依靠两条腿行走,天生处于不稳定状态,全程需要实时做平衡控制,稍微失衡就会摔倒。整机拥有几十个关节,运动自由度极多,行走、站立、上下台阶,每一个动作都需要复杂的动力学解算。

除此之外,人形机器人还要额外增加力控、触觉感知,完成抓取、推拉等接触式动作,这是轮式机器人完全不需要考虑的。

总结:轮式控制是 “稳着走”,难度低;双足人形控制是 “一边找平衡一边走”,难度呈几何级上升。这也是为什么人形机器人至今仍是行业难点。

Q22: 低速园区无人车:乘用车自动驾驶最友好的 “缩小版”

A: 如果觉得乘用车辅助驾驶系统太过庞大、门槛太高,那么园区低速无人车就是最适合练手、落地的缩小版方案。

它完整继承了乘用车自动驾驶的全套技术链路:激光雷达、IMU、视觉感知、SLAM 定位、路径规划、整车线控控制,该有的模块一个不少。

同时它砍掉了三大高门槛限制:

  1. 速度限制:园区车时速普遍 5~20km,低速带来极高的安全容错,对控制精度、应急反应要求降低;
  2. 场景限制:厂区、景区、校园属于封闭 / 半封闭场地,没有复杂城市交规、海量社会车辆,环境更简单;
  3. 法规与车规:不需要满足乘用车严苛的车级安全认证、上路法规,研发和落地成本大幅下降。

对于个人、小团队来说,从园区无人车入手,可以完整吃透自动驾驶整套逻辑,风险小、落地快,是非常优质的过渡方向。

Q23:  巡检 / 仓储 AMR:工业场景下 SLAM 的落地玩法

A: 工业仓储 AMR、管廊 / 电站巡检机器人,是 SLAM 技术在工业领域的主流落地形态,和家用机器人、车载方案的玩法略有区别。

仓储 AMR(自主移动机器人): 传统仓库 AGV 需要铺设磁条、二维码做导航,改造成本高。而基于 SLAM 的 AMR,依靠激光雷达实时建图定位,无需任何地面辅助标识。仓库布局调整后,只需要重新走一遍建图,就能立刻适配,柔性化程度极高。核心需求是:厘米级精准定位、自动对接货架、多机器协同调度。

巡检机器人(电力、管廊、隧道): 这类场景基本都是无 GPS 密闭空间,完全依靠激光 + IMU SLAM 定位。机器人按照预设路线自主巡航,一边行走一边采集设备图像、环境数据,发现异常及时报警。重点考验 SLAM 在狭长、单调环境下的稳定性。

工业场景对地图精度、定位可靠性要求更高,但环境变化少,地图一旦建好可以长期复用,这也是工业 SLAM 的典型特征。

Q24: 玩具 / 教育人形机器人:个人入门实操的最佳切入点

A: 想动手做机器人原型,又畏惧工业级、车载设备的高难度,玩具、教育类人形机器人就是个人入门的最优选择。

这类产品做了全方位降维,门槛极低: 硬件上:减少舵机数量、简化传感器,放弃高难度双足行走,很多采用 “轮式底盘 + 上半身人形” 的组合,不用攻克平衡控制难题; 环境上:仅限家庭、教室等简单室内场景,无复杂障碍,安全要求低; 功能上:以动作表演、语音交互、基础避障、图形化编程为主,算法简化。

技术层面依旧能复用 SLAM、传感器融合、运动控制等核心知识,既能动手实操硬件,也能练习算法逻辑。

对于技术爱好者、学生、想轻量化创业的人来说,不用投入高额成本,就能完整走完 “设计→搭建→调试→落地” 全流程,练手价值拉满。

Q25: AR/VR、无人机里的 SLAM 应用,拓展技术边界

A: SLAM 不只是用在地面机器人,在 AR/VR、室内无人机领域,它同样是核心技术,拓展了整个技术的应用边界。

AR/VR 领域: 手机 AR、空间互动 VR 设备,依靠视觉 SLAM实时扫描室内空间,构建简易地图。设备通过定位自身位置,才能把虚拟物体精准叠加在现实场景中,实现虚拟与现实联动。大空间 VR 体验馆,更是依靠 SLAM 实现人体定位,防止用户碰撞障碍物。

无人机领域: 室外无人机依赖 GPS,但仓库巡检、室内航拍、机房作业的无人机,处于无 GPS 环境,必须搭载激光 / 视觉 SLAM。依靠 SLAM 完成悬停定位、自主飞行、避障,保证无人机在室内稳定作业。

可以看出,SLAM 作为 “定位 + 建图” 的基础技术,早已跳出地面机器人范畴,成为空间智能设备的通用核心。

Q26: ROS2在辅助驾驶中的位置

A: SLAM 算法、感知算法、控制逻辑,都是一个个 “软件程序”;而 ROS 2 就是承载这些程序、让它们协同工作的系统平台。它本身不直接实现 “建图、定位、开车、走路”,但它提供一整套基础能力

  • 统一管理激光雷达、摄像头、IMU、电机等所有硬件;
  • 负责不同模块之间的数据通信(雷达数据传给 SLAM,SLAM 结果传给路径规划);
  • 提供时间同步、日志、调试、节点管理等通用工具;
  • 支持跨设备、跨硬件运行,大幅降低开发难度。

结束语1: 扫地机、工业 AMR、低速无人车、乘用车自动驾驶、人形机器人、无人机,全都扎根于具身智能,共享同一套技术体系。 从软件视角看,这份 “同源” 就体现在: 大多都在用 ROS 2 做底座,都在用 SLAM 做定位,都遵循具身智能 “感知 - 定位 - 规划 - 控制” 的标准链路。 只是硬件形态、运动方式、场景规则不同而已。量产乘用车自动驾驶:大厂会基于 ROS 2 思想自研车载系统,但底层通信、模块架构逻辑和 ROS 2 高度相似。

个人研发、原型调试、创客、教育机器人、工业机器人,ROS 2 依然是最优解。

结束语2:人形机器人 / 智能玩具,是当下多领域高精尖技术的 “集大成者”,堪称技术综合体。

  1. 运动与感知:同源自动驾驶 视觉感知、激光雷达、IMU 惯性测量、环境建模、路径规划、运动控制、实时决策、多传感器融合,这套核心栈和辅助驾驶 / 自动驾驶几乎完全相通。区别只是载体从车辆换成了人形躯体,场景从道路变成室内 / 复杂人居环境,对动态平衡、柔性交互、微型化要求更高。

  2. 能源系统:极致的电池与电源管理 人形 / 便携智能玩具对能量密度、轻量化、快充、低功耗 BMS要求极端苛刻。既要长时间续航,又要控制体积重量,还要兼顾安全、低温放电、动态功耗适配,直接拉满动力电池、储能、微型电源技术的难度。

  3. 跨域技术大合集 除了车规级感知、电池,还叠加了:

  • 机器人学:伺服电机、减速器、关节驱动、力控、仿生结构设计;
  • AI 大模型:端侧部署、语音交互、多模态理解、具身决策、人机自然交互;
  • 嵌入式 / 硬件:微型算力板、实时操作系统、有线 / 无线通信、抗干扰设计;
  • 材料学:轻量化结构、耐磨柔性材料、降噪减震;
  • 工业设计 + 安全标准:消费级产品还要过民用安规、人体交互安全、噪音、手感等门槛

和纯工业机器人、自动驾驶的差异 工业机器人重重复精度,自动驾驶重道路安全与规控,而面向消费端的人形 / 智能玩具,是在微型体积、低成本、高安全、强交互、类人体验的约束下,把上面所有技术揉在一起。约束更多、落地场景更贴近大众,技术覆盖面反而更广

技术地位:

它不是单一技术的延伸,而是机器人、自动驾驶、新能源、AI、嵌入式、精密机电、材料等多条高精尖赛道的交叉顶点,也是前沿技术走向民用、落地普及最典型的缩影。如果往产业视角看,这个领域也天然是技术人才的综合试炼场,能一站式接触全链条核心能力。

二. ROS2 Humble版本安装

后面的实验都是在ROS2 Humble版本上操作的

当然Ros2支持如下操作系统版本,博主当前使用的是Ubuntu 22.04版本

  • Ubuntu
  • Mac OS X
  • Windows 10

可看到博主当前的版本如下:

如下语句查看是否支持UTF-8编码

如果不支持可执行如下命令语句

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

详情安装,可参考如下博客

Ubuntu22.04下安装Ros2-Humble_ubuntu 22.04安装ros humble-CSDN博客文章浏览阅读4.6k次,点赞6次,收藏35次。本文详细记录了在Ubuntu22.04(Jammy)系统上安装ROS2Humble版本的过程,包括添加ROS2的apt存储库,设置GPG密钥,安装ROS包如桌面版本和开发工具,以及环境设置和测试示例。特别提醒,国内用户需处理raw.githubusercontent.com的访问问题,并且在安装前应更新系统和特定软件包以避免冲突。 https://flynix.blog.csdn.net/article/details/131779312

ROS2安装完毕之后,如果想要卸载,则可以执行如下命令:

sudo apt remove ~nros-humble-* && sudo apt autoremove

还可以再继续删除相关存储库

sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove

三.  其它必要开发环境安装

1. pycharm

博客

2. vscode

见博主之前博客

树莓派4B环境下vscode配置opencv_树莓派安装vscode opencv-CSDN博客文章浏览阅读2k次,点赞2次,收藏25次。本文详细介绍了如何在树莓派4B上编译安装OpenCV 3.4.4,并配置Visual Studio Code(VSCode)进行C++开发。包括新建build和install文件夹,使用cmake编译OpenCV,以及配置VSCode的task.json、launch.json和c_cpp_properties.json文件。此外,文章还提供了环境变量设置和程序运行的步骤。 https://blog.csdn.net/jiugeshao/article/details/124955930?spm=1001.2014.3001.5502树莓派4B IDE配置_树莓派ide-CSDN博客文章浏览阅读3k次。博主分享了如何在树莓派上配置Python环境,选择了PyCharm并详细介绍了安装和设置过程,包括选择Python3.7环境。此外,还展示了通过PyCharm运行摄像头程序的代码及其效果。对于C/C++环境,博主选择了VSCode,并指导了安装步骤,同时演示了如何编译和运行C++程序,包括添加外部库。最后,博主提到由于树莓派资源有限,建议在宿主机上交叉编译后再移植。 https://blog.csdn.net/jiugeshao/article/details/122768201?spm=1001.2014.3001.5501

准备好后,接下来进入正题了, 开启了解之旅吧!

Logo

立足具身智能前沿赛道,致力于搭建全球化、开源化、全栈式技术交流与实践共创平台。

更多推荐