想象周末的超市:货架如迷宫般交错,顾客推着购物车走走停停。一位盲人爷爷想从入口走到冷冻区拿盒饺子,他看不见,只能撑开导盲杖,轻轻向前戳一点、试探一下——这里能走,那里撞上了货架。他每挪一步,都在心里更新一张“哪里能去”的地图,绕开挡路的柱子,避开突然拐过来的购物车,最终稳稳当当地抵达目标。这趟“从起点到终点”的探险,恰恰就是机器人运动规划每天都在做的事:在充满障碍的环境中,为机器人生成一条既能避开碰撞、又足够平滑高效的前进路线。运动规划让机器人从“会动”升级为“敢动、动得稳”,是具身智能体真正走进现实世界的第一道门槛。
对 AI 从业者而言,运动规划是打通感知与执行的关键桥梁。理解它,你才能设计出在真实物理世界里安全、高效、可落地的智能机器人系统——这是具身智能时代最稀缺的工程能力之一。
目录
可视化演示
展示机器人运动规划三大核心:构型空间障碍物映射、RRT采样式树形搜索、轨迹优化平滑处理,切换模式查看不同规划阶段。
本节配有交互动效(进入视口后自动加载,约 3KB)。
构型空间与碰撞检测 起点S到目标G在C-space中需绕过障碍物 红色区域为C-space障碍物(构型不可行) C_free = C - C_obs 自由空间内任意构型不发生碰撞
一、构型空间:机器人的姿势地图
盲人爷爷推着购物车,车的把手角度、前后位置、朝向,这些“身体姿势”的每一种组合,都对应他在地图上的一个位置点。机器人也一样——机械臂的每个关节转到几度、底盘滑到哪儿,这些能自由变化的量合在一起,就构成了一个“姿势点”。所有可能的姿势点铺开成的抽象空间,就叫构型空间,英文简称 C-space。运动规划要回答的第一个问题正是:在这个空间里,哪个点能安全站住?
构型空间为什么重要?因为机器人在现实世界里撞不撞东西,本质上不是看“轮子在哪”,而是看“整个身体的姿势是否与障碍物重叠”。于是我们把抽象问题翻译成了几何问题:构型空间里有一块块“禁地”——只要姿势点落进去,机器人就必然碰撞,这些禁地叫 C-obstacle(障碍映射)。求解一条路径,就变成在布满禁地的地图上找一个从起点到终点的连续通道。
这里要特别警惕维度爆炸:一个 6 关节机械臂的构型空间是 6 维的,而人类熟悉的超市地图只有 2 维。维度越高,“禁地”的边界越复杂,规划算法的搜索代价指数上升。爷爷在超市里能靠常识绕开货架,机器人必须靠算法在高维空间里独立探路。
- 构型空间符号$C$ 代表机器人全部可能姿势的集合,是规划发生的“舞台”。
- 每个自由度的取值集合$C_i$ 表示第 $i$ 个关节能转到的所有角度(或平移范围)。
- 笛卡尔积运算$\times$ 表示把这些取值范围组合起来——像把三块拼图拼成一整张地图。
- 完整组合$C_1 \times C_2 \times \cdots \times C_n$ 表示把所有自由度的取值范围全部叠在一起,构成高维空间。
二、碰撞检测:购物车会不会撞上货架
爷爷的导盲杖每戳一下,都在瞬间回答一个问题:“前方这块区域能不能走?”对机器人而言,这个回答过程叫碰撞检测——判断某个姿势下,机器人的身体和障碍物有没有“碰在一起”。碰撞检测是整个规划流程中最频繁调用的功能,规划算法每试探一个新姿势,都要先问它一句“安全吗”。
最常见的做法是几何求交:把机器人和障碍物都抽象成几何体,直接计算它们是否相交。但这个方法在全身体 6 个关节时非常慢,于是工程师想出了“先粗后细”的策略——包围盒层次。就像爷爷先用导盲杖远远划一个大圈判断“这方向店多不多”,如果大圈都碰不到障碍,就不必细查每一寸;只有大圈可疑时,才缩小范围精查。更进一步的距离场查询则预先算好“每个位置离障碍最近的边有多远”,让计算变成一次查表,快如翻书。
碰撞检测看似只是个“是/否”问题,却在真实系统中决定了安全底线。爷爷戳导盲杖的动作又准又快,机器人也要在微秒级完成数千次检测。因此,工程上常用层次包围盒让“大多数检查快速通过”,只在少数可疑处做精细求交。
- 当前姿势下的距离$d(q, \mathcal{O}_i)$ 表示机器人处于姿势 $q$ 时,与第 $i$ 个障碍物 $\mathcal{O}_i$ 表面的最近距离。
- 机器人的安全半径$r_{robot}$ 是把机器人身体膨胀成球后的半径——留出一点安全余量。
- 障碍物的膨胀半径$r_i$ 是把障碍物也向外扩一圈,防止机器人贴得太近。
- 碰撞条件如果最近距离比两者半径之和还要大,说明还有空隙,可以安全通过;否则就会撞上。
三、采样规划:用导盲杖戳出一条路
爷爷不知道货架怎么摆,但他有一个简单策略:朝大致方向戳一杖,能走就迈一步,撞上了就换个方向。这种“边试边探”的思路,正是采样规划的精髓。它不试图一次性看清全局,而是随机撒点、连线,慢慢织出一张“可行走地图”。
最经典的算法叫 RRT(快速扩展随机树):从起点出发,随机在空间里撒一个目标点,找出离它最近的已探索节点,朝它走一小步;如果这一步没撞到障碍,就把新节点加入树中。反复执行,树就会像植物的根须一样向四周延伸,直到够到终点。另一种思路是 PRM(概率路图):先在空间里大规模随机撒点,把互相可达的点连成一张“公路网”,之后再查询任意起终点,只要在网络里找路即可——这就像爷爷搬进新小区前,先让家人骑车把小区路况摸清,画好一张“常走路线图”。
采样规划有一个优雅的理论保证——概率完备性:只要采样的次数足够多,找到路径的概率趋近于 1。它不保证最快,不保证最优,但保证“几乎一定能找到”。爷爷推着车多戳几次杖,也总能摸到冷冻区的门口。这让 RRT 成为高维构型空间里最可靠的主力算法。
- 随机撒出的目标点$x_{rand}$ 是在构型空间中随机采样的一个姿势点,代表“想去但未知的方向”。
- 已有树上的最近节点$x_{near}$ 是当前随机树中离随机点最近的节点,作为延伸的起点。
- 方向归一化$\frac{x_{rand} - x_{near}}{\|x_{rand} - x_{near}\|}$ 表示从最近节点指向随机点的单位方向向量,长度恒为 1。
- 步长控制$\tau$ 是每次扩展的最大步长,防止一步跨过障碍物钻进球形“陷阱”。
- 生成新节点$x_{new} = x_{near} + \tau \cdot \text{方向}$ 就是在不越界的前提下,勇敢地朝随机方向迈出一小步。
四、轨迹优化:让推车走得更顺滑
路径找到了,但机器人还不能马上出发。试想爷爷顺着折线路径推车,每到一个拐角都要急停、猛转,购物车里的鸡蛋早就碎了。“有路可走”只是及格线,“走得好”才是分水岭。轨迹优化的任务,就是在这条几何路径上附加“时间维度”,生成一条位置、速度、加速度都平滑变化的运动曲线。
优化的目标通常是多个代价的加权和:平滑代价惩罚急转弯和剧烈加减速;时间最优希望尽快抵达目标;有时还要考虑能耗——毕竟电池就那么多电。这些目标往往互相矛盾,想快就难平稳,想稳就偏慢。工程师的做法是把问题写成数值优化,用迭代法一点点调整轨迹参数,直到找到权衡后的满意解。
在工程实践中,数值迭代最常用。常见做法是用“时间最优参数化(TOPP)”先把路径变成初速度可控的轨迹,再通过多轮迭代打磨。爷爷学会了在转弯前提前减速、均匀发力,购物车里的鸡蛋稳了,到达时间也差不了多少——这就是轨迹优化的价值。
- 目标函数$J(q)$ 是当前轨迹的“总代价”,代价越低轨迹越优秀。
- 取最小$\min_q$ 表示我们要在所有可能的轨迹中挑代价最小的一条。
- 速度代价$\|\dot{q}(t)\|^2$ 衡量速度的大小——速度变化太猛,代价就上升。
- 加速度代价$\|\ddot{q}(t)\|^2$ 衡量加速度的冲击——急刹急转都会让这一项暴涨。
- 加权求和并积分$\int_0^T (\cdots) dt$ 把整个运动时长内的代价全部累加,$w_1$、$w_2$ 是两个目标的相对权重。
五、动力学约束:别把购物车推飞了
爷爷在斜坡上推购物车时会格外小心:如果是下坡,车越冲越快,人根本刹不住;如果是上坡,使出吃奶的劲也推不动。这些“身体能力的天花板”,对应到机器人身上就是动力学约束——电机能输出的力有限,关节的加速度、速度也不可能无限大。规划出的轨迹如果无视这些限制,就是一张“纸上谈兵”的地图。
具体来说,机器人至少要满足两类硬约束:一是加速度限制——关节的角加速度不能超过电机能力,否则跟踪时会“甩尾”甚至抖振;二是力矩上限——每个关节能输出的最大力矩有限制,机械臂抓着重物时尤其明显。规划完成后还要做可行性验证,用机器人的动力学模型模拟整条轨迹,确认每个时刻的控制指令都不超限。
为什么动力学约束比几何路径更重要?因为真实的物理世界有惯性、有重力、有摩擦。爷爷知道,空车时可以大步流星,满载时要小步慢行。规划算法如果不加入动力学模型,让 6 轴机械臂高速冲向目标,末端位置可能冲出好几厘米,轻则撞坏工件,重则伤人。所以,一条动力学可行的轨迹,才是真正“推得动、刹得住”的轨迹。
- 关节加速度的大小$|\ddot{q}_i(t)|$ 表示第 $i$ 个关节在 $t$ 时刻的角加速度绝对值。
- 加速度上限$a_{max}^{(i)}$ 是第 $i$ 个关节最多能承受的加速度——电机给得了多大力,就转得多快。
- 关节力矩$\tau_i(t)$ 是第 $i$ 个关节在 $t$ 时刻实际输出的力矩。
- 力矩上限$\tau_{max}^{(i)}$ 是电机的最大输出力矩,超了就“烧电机”或“打滑”。
六、避障控制:人群中灵活闪躲
超市里还有别的顾客——有人突然伸手拿货架顶层,有人推着小孩横穿通道。爷爷只靠预先规划好的路线远远不够,他需要“边走边看、边看边躲”的能力。这就是避障控制,与静态规划互补的“反应层”。静态规划负责远方的宏观路线,避障负责眼前一两米的即时闪躲。
最经典的避障方法是人工势场:把目标点看作“引力源”不断吸引机器人前进,把障碍物看作“斥力源”把机器人推开,两者叠加形成合力,机器人沿着合力的方向移动。引力像“前方有饺子”的召唤,斥力像“别撞上货架”的警告,爷爷在这两股力量的平衡中左拐右绕。更现代的方案则结合传感器实时感知,做局部实时避障,每一帧重新计算安全方向。
但人工势场有个著名缺陷——局部极小:当引力与斥力恰好平衡而合力为零时,机器人会卡在某个“假目标”点原地发抖。工程上的解法是全局局部融合:用 RRT 等全局规划先生成宏观路径作为“导航带”,局部避障只负责在导航带附近微调,就像爷爷心中记着“先走到冷藏区再右转”的大计划,具体每一步怎么绕开挡路的人,则随机应变。
- 合力向量$F(q)$ 是作用在机器人身上的总控制力,方向即下一步的运动方向。
- 引力场梯度$\nabla U_{att}(q)$ 是目标点产生的引力场的变化率,指向目标方向;负号表示“沿梯度下降走”。
- 斥力场梯度$\nabla U_{rep}(q)$ 是障碍物产生的斥力场的变化率,从障碍物指向外;负号表示“远离障碍”。
- 合力叠加两个负号把“吸引力”和“排斥力”合成一个方向,机器人朝合力方向移动——这就是“跟着感觉走”的数学版。
七、多维评估:给规划结果打分
一趟超市购物结束,家人会问三个问题:顺利到目的地了吗?路上稳不稳?花了多久?这三个问题,正好对应运动规划的三大核心关切:安全、平滑、效率。但真实工程里,评估维度更细,需要建立一套多维评估体系,才能客观判断一个规划算法到底行不行。
常用的指标可以归纳为四类:准确性——规划结果是否精确到达目标、是否完全避开障碍;鲁棒性能——换一个相似环境、加一点传感器噪声,算法还能不能稳定工作?效率——规划耗时不超预算、路径长度和能量消耗是否合理;安全性——离障碍物最近的距离是多少、紧急刹停是否来得及。没有一个单一指标能说明全部问题——就像爷爷的家人不能只看“到了没”,还要看鸡蛋碎没碎、爷爷累不累。
这套评估体系在实际研发中像一把“体检报告”。盲目追求规划速度快,可能牺牲安全裕度;过度求稳,又会让机器人慢得像蜗牛。指标设计本身就是一门权衡的艺术——爷爷的家人从不要求他“最快到达”,而是希望他“稳稳到达、不摔不撞”。这也是运动规划工程师的真实日常:在多个指标之间反复平衡,找到那个让用户体验最好的平衡点。
- 综合评分$S_{total}$ 是规划结果的总得分,越高说明整体表现越好。
- 准确性项$A$ 是准确性得分(如终点误差),$w_a$ 是它的重要程度。
- 鲁棒性项$R$ 是鲁棒性得分,衡量算法在不同环境下的稳定表现,$w_r$ 为权重。
- 效率项$E$ 是效率得分(规划时间、路径长度、能耗),$w_e$ 为权重。
- 安全项$V_{safe}$ 是安全裕度得分,$w_s$ 为权重。加和之后得到最终评价。
AI 应用场景
电商仓库的 AGV 调度
阶段:路径规划与系统集成
解决的问题:传统人工拣货时,搬运机器人靠在地面画磁条走固定路线,一旦货物堆码改变就要重新铺设;而且多车同场容易拥堵。运动规划让每台 AGV 实时读取货架布局,在构型空间里动态规划出一条无碰撞、少绕路的路线。
具体案例:亚马逊 Kiva 仓库中,数千台搬运机器人同时在地面穿行。系统先用 PRM 建立全局路网,再用局部避障应对临时停放的货箱和穿梭的同事机器人,每台车每秒钟都要做几十次碰撞检测与路径微调。
达芬奇手术机器人的器械路径规划
阶段:术前规划与实时避障
解决的问题:手术器械要通过皮肤上的微小切口进入体内,在血管和器官之间的狭窄间隙中移动,绝不能碰到敏感组织。传统医生手动操作全凭手感,而运动规划能预先在人体 CT 重建的构型空间中找到安全通道。
具体案例:做前列腺手术时,机械臂末端带摄像头和手术刀,需要在 1 厘米宽的骨盆间隙中完成精细动作。工程师将器官模型化为障碍物,用 RRT 规划出器械进入路径,再用轨迹优化让动作平滑,叠加力反馈实现“碰壁即停”的安全保护。
自动驾驶汽车的换道规划
阶段:决策规划层
解决的问题:高速上要超车变道,既要满足“旁边车道没车”的几何条件,又要满足“加速不超功率、打方向不甩尾”的动力学约束。人类司机凭直觉,自动驾驶靠运动规划在毫秒级搜索可行轨迹。
具体案例:特斯拉 FSD 在高速 NOA 模式下,感知模块先识别出相邻车道的空隙,规划模块随即在“构型空间”(横纵向位置)里生成多条候选轨迹,用动力学模型验证每条轨迹的加速度、方向盘转角是否超限,再选一条舒适度最高、碰撞风险最低的曲线执行。
Python 演示
"""RRT 路径规划演示:在 2D 空间中寻找从起点到目标的无碰撞路径"""import mathimport random def rrt_plan(start, goal, obstacles, max_iter=2000, step_size=5.0): """简单 RRT:返回从 start 到 goal 的路径点列表,找不到返回空列表""" nodes = [start] parent = {start: None} def dist(a, b): return math.hypot(a[0] - b[0], a[1] - b[1]) def collision(x, y): for (ox, oy, r) in obstacles: if math.hypot(x - ox, y - oy) < r + 1.0: return True return False def nearest(q): return min(nodes, key=lambda n: dist(n, q)) for i in range(max_iter): # 以 10% 概率直接朝目标采样,其余时间随机撒点 if random.random() < 0.1: q_rand = goal else: q_rand = (random.uniform(0, 100), random.uniform(0, 100)) q_near = nearest(q_rand) d = dist(q_near, q_rand) if d < 1e-6: continue # 向随机点延伸一个固定步长 length = min(step_size, d) q_new = ( q_near[0] + (q_rand[0] - q_near[0]) / d * length, q_near[1] + (q_rand[1] - q_near[1]) / d * length, ) # 碰撞检测:新点撞上障碍就放弃本轮 if collision(q_new[0], q_new[1]): continue nodes.append(q_new) parent[q_new] = q_near # 到达目标附近则回溯整条路径 if dist(q_new, goal) < step_size: path = [] node = q_new while node is not None: path.append(node) node = parent[node] return path[::-1] return [] if __name__ == "__main__": obstacles = [(30, 30, 10), (55, 65, 12), (75, 25, 8)] start = (5, 5) goal = (95, 90) path = rrt_plan(start, goal, obstacles) print("规划的路径(共 %d 个点):" % len(path)) for i, p in enumerate(path): print(" 第 %2d 步: (%.1f, %.1f)" % (i, p[0], p[1]))
nodes = [start]用列表记录所有已探索的树节点,初始只有起点。parent = {start: None}字典记录“每个节点从哪来”,最后靠它回溯整条路径。if random.random() < 0.1:10% 概率向目标采样,给随机树一点“方向感”,加快收敛。q_rand = (random.uniform(0, 100), random.uniform(0, 100))在环境里随机撒一个目标点。q_near = nearest(q_rand)找出已有树中离随机点最近的节点,作为延伸起点。length = min(step_size, d)限制步长,防止一步跨过障碍物。if collision(q_new[0], q_new[1]): continue碰撞检测,新点撞上障碍就丢弃。path.append(node)` 与 `node = parent[node]从终点沿父指针一路回溯到起点,还原完整路径。
常见误区
误区运动规划不就是求起点到终点的最短距离吗?像导航软件那样,距离越短越好。
正解最短路径往往是最危险、最不舒服的路径——贴墙走、直角急转、频繁加减速。真实的运动规划要综合考虑平滑性、动力学可行性和安全裕度,找到的是“综合代价最低”的轨迹,而不是几何长度最短的折线。就像盲人爷爷宁愿绕远一点走宽敞通道,也不去钻窄缝。
为何常见:人们习惯用日常导航软件的“最短路线”来类比,忽略了机器人有物理惯性、关节限制和安全要求这些“额外账单”。
误区RRT 全靠随机撒点,那我是不是每次跑出来的结果都不一样?这种碰运气的算法能用在工业上吗?
正解概率完备性恰恰给 RRT 上了保险——只要采样次数足够多,找到路径的概率趋近于 1。虽然单次运行有随机性,但工程上会固定随机种子做复现,并用多轮规划取优。就像爷爷导盲杖试探的路线每次略有不同,但“最终能走到冷冻区”这件事是高度确定的。
为何常见:把“随机过程”等同于“不可控的赌博”,忽略了概率论意义上的强保证。
误区只要提前规划好一条全局路径,机器人照着走就不会出事。
正解真实环境时刻在变化——有人走过、货架被移动、门被打开。全局规划提供的是宏观“导航带”,必须搭配局部避障实时修正,形成“全局+局部”双层结构。爷爷记着超市的大致布局,但看到有人挡路时,照样得临时拐弯。
为何常见:静态地图思维让人误以为环境是冻结的,忽视了物理世界的动态本质。
误区碰撞检测就靠暴力计算,把机器人每个部件和障碍物每个面都做求交,结果最准。
正解在高维空间里,规划算法一次要跑上万次碰撞检测,全量精确计算会慢到无法实时。工业方案普遍用“包围盒层次”先粗筛后精查:先用大包围盒快速排除绝大多数无害区域,只有可疑时才做精细几何求交。精度和速度的平衡才是工程关键。
为何常见:初学者容易把“精确”直接等同于“高效”,忽略了实时系统的计算预算约束。
误区跑得快就是好算法,规划时间越短越优秀。
正解规划耗时的确重要,但只代表效率一个维度。还要看路径的平滑度、离障碍的最近距离、在噪声下的稳定性、能耗等。一个 1 毫秒出结果但贴着障碍物擦过的算法,远不如 50 毫秒出结果但安全裕度充足的算法可靠。多维评估才是行业标准。
为何常见:演示 demo 里最容易感知的就是快慢,而安全性和鲁棒性需要长期测试才能暴露。
面试题
Q1. 运动规划在哪个空间中搜索可行路径?
- A.三维欧氏空间
- B.机器人构型空间← 正确答案
- C.二维图像空间
- D.关节力矩空间
答案:B。运动规划在构型空间中搜索路径,因为一个点对应机器人一个完整姿势,能统一描述碰撞与可行性。三维欧氏空间只描述位置,忽略关节姿态;力矩空间是执行层概念,不是规划发生的场所。就像导航在地图上规划路线,而不是直接踩油门。
Q2. 构型空间的维度取决于什么?
- A.环境地图的大小
- B.机器人关节自由度数← 正确答案
- C.障碍物体的数量
- D.目标点的距离
答案:B。构型空间维度等于机器人可独立运动的自由度数——关节越多,维度越高。环境大小、障碍物数量只影响禁区的复杂程度,不改变空间维度。好比盲人爷爷推车时,“推车角度+位置”两个自由度构成二维的地图。
Q3. 关于 RRT 算法,下列说法正确的是?
- A.一种完全确定的算法
- B.每次规划结果完全一致
- C.随机采样越多找到路径概率越接近一← 正确答案
- D.不需要任何环境信息
答案:C。RRT 基于随机采样,具有概率完备性——采样次数趋向无穷时,找到解的概率趋近于 1。它不是确定性算法(每次结果可能不同),也离不开碰撞检测所需的环境信息。这就像爷爷多戳几次导盲杖,总能摸通一条路。
Q4. 碰撞检测中的包围盒层次方法主要解决什么问题?
- A.提高碰撞判定的精度
- B.加速碰撞检测的过程← 正确答案
- C.直接缩短规划路径长度
- D.提升控制力矩上限
答案:B。包围盒层次通过“先粗后细”的层级结构,用大包围盒快速排除大多数安全区域,只在可疑处深入精查,从而大幅加速检测。精度由精细几何求交保证,路径长度由规划算法决定,力矩上限属于动力学范畴。
Q5. 轨迹优化阶段通常考虑哪些代价?
- A.轨迹平滑性代价← 正确答案
- B.执行总时间代价← 正确答案
- C.关节运动能耗代价← 正确答案
- D.屏幕显示颜色代价
答案:ABC。轨迹优化在几何路径上附加时间维度,权衡平滑性、时间效率与能耗等物理代价。屏幕颜色是渲染层概念,与机器人运动无关。就像爷爷既要推得稳(平滑)、又要尽快到(时间)、还不能太费劲(能耗)。
Q6. “概率完备性”的确切含义是?
- A.规划一定能找到最短路径
- B.采样无穷多时找到路径概率趋近于一← 正确答案
- C.规划在有限时间内必成功
- D.任意时刻都能找到全局最优解
答案:B。概率完备性指当采样数量趋于无穷时,算法找到可行路径的概率趋近于 1。它不保证最短路径、不保证最优解,也不限定时间上界(那是“渐进完备”/“有限时间完备”研究的范畴)。对应现实就是:多试几次运气,成功率稳步上升。
Q7. 下列哪些属于机器人动力学约束?
- A.各关节加速度上限← 正确答案
- B.各关节力矩上限← 正确答案
- C.关节角度边界← 正确答案
- D.关节颜色取值要求
答案:ABC。动力学约束关注运动能力边界——加速度上限防止失控,力矩上限防止电机过载,关节角度边界限制活动范围。颜色属于外观属性与运动无关。就像爷爷推车,坡太陡推不动(力矩),下坡冲太快刹不住(加速度)。
Q8. 人工势场避障方法最著名的固有缺陷是?
- A.无法避开任何障碍物
- B.容易陷入局部极小值← 正确答案
- C.必须依赖全局精确地图
- D.计算复杂度趋于无穷
答案:B。当引力与斥力在某点恰好平衡时,合力为零,机器人会卡在非目标点动弹不得,这就是局部极小问题。势场法的其他局限包括参数敏感,但它并非无法避开障碍,也未必需要全局地图,计算量通常也不大。
Q9. 运动规划的多维评估通常包含哪些指标?
- A.规划的准确性← 正确答案
- B.算法的鲁棒性← 正确答案
- C.运行效率水平← 正确答案
- D.安全性能保障← 正确答案
答案:ABCD。多维评估需覆盖准确性(能否精确到达目标)、鲁棒性(环境扰动下是否稳定)、效率(规划时间与路径质量)和安全性(离障碍的裕度)。这四个维度缺一不可,单一指标无法全面评判算法,正如只看速度无法评价一趟超市购物的体验。
Q10. 关于 RRT 与 PRM 的区别,下列说法正确的是?
- A.两者在原理上完全相同
- B.RRT 适合单次查询,PRM 适合多次查询← 正确答案
- C.PRM 更适合单次规划任务
- D.两者都基于确定性搜索
答案:B。RRT 从起点生长一棵随机树直到触碰目标,是“单查询”算法,适合一次规划一个目标;PRM 先离线建好整个概率路图,之后任意起终点只需查图寻路,是“多查询”算法,适合多次规划复用。两者都是采样类算法,但构建策略与适用场景截然不同。