[{"data":1,"prerenderedAt":2159},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0400-terrain-analysis":3,"wiki-doc-items-2026-09-20-dao-hang":1922,"wiki:author-members":2147},{"id":4,"title":5,"authors":6,"body":8,"chapterDepth":299,"chapterOrder":1909,"date":1910,"description":292,"docKey":1911,"docRoot":1912,"docTitle":1913,"extension":1914,"isWikiDoc":1915,"isWikiIndex":1916,"meta":1917,"navigation":1915,"path":1918,"seo":1919,"stem":1920,"wikiDepth":299,"__hash__":1921},"wiki\u002Fwiki\u002F2026-09-20-导航\u002F0500-0400-terrain_analysis.md","terrain_analysis（近场地面与障碍高差分析）",[7],"董佳辉",{"type":9,"value":10,"toc":1902},"minimark",[11,15,19,89,118,133,136,143,251,254,261,267,274,277,282,286,593,1465,1468,1473,1476,1485,1489,1495,1498,1506,1513,1522,1538,1542,1556,1567,1584,1590,1593,1597,1603,1612,1616,1619,1622,1659,1665,1668,1681,1699,1702,1708,1712,1727,1732,1738,1742,1759,1762,1765,1769,1772,1778,1782,1795,1798,1805,1811,1823,1826,1850,1861,1867,1887,1898],[12,13,5],"h2",{"id":14},"terrain_analysis近场地面与障碍高差分析",[16,17,18],"h3",{"id":18},"地形分析节点分工",[20,21,22,41],"table",{},[23,24,25],"thead",{},[26,27,28,32,35,38],"tr",{},[29,30,31],"th",{},"节点",[29,33,34],{},"主要分工",[29,36,37],{},"输出",[29,39,40],{},"当前使用者",[42,43,44,68],"tbody",{},[26,45,46,53,60,65],{},[47,48,49],"td",{},[50,51,52],"code",{},"terrain_analysis",[47,54,55,56],{},"较细的近场地形分析，当前下采样尺度为 ",[57,58,59],"strong",{},"0.05 m",[47,61,62],{},[50,63,64],{},"terrain_map",[47,66,67],{},"局部代价地图",[26,69,70,75,81,86],{},[47,71,72],{},[50,73,74],{},"terrain_analysis_ext",[47,76,77,78],{},"扩展更大范围，当前下采样尺度为 ",[57,79,80],{},"0.1 m",[47,82,83],{},[50,84,85],{},"terrain_map_ext",[47,87,88],{},"全局代价地图",[90,91,92,93,96,97,100,101,104,105,108,109,111,112,114,115,117],"p",{},"两个节点都订阅 ",[50,94,95],{},"loam_interface"," 的 ",[50,98,99],{},"lidar_odometry"," 和 ",[50,102,103],{},"registered_scan","；",[50,106,107],{},"ext"," 还订阅 ",[50,110,64],{},"，当前以输入里程计的位置为中心，4 m内采用近场结果、4 m外计算扩展结果，再合并输出。本块只整理 ",[50,113,52],{},"，",[50,116,74],{}," 的参数留到下一块。",[90,119,120,121,124,125,128,129,132],{},"本节点在 ",[50,122,123],{},"odom"," 的水平格子内估计地面高度，输出点的 ",[50,126,127],{},"intensity"," 改为相对地面的高度差，单位为 m，已经不是雷达反射强度。当前局部代价地图的 ",[50,130,131],{},"IntensityVoxelLayer"," 按该字段筛选障碍，允许范围为0.1～2.0 m，并另外检查点坐标高度、距离等条件；不是把正负高度相加为通行代价。",[16,134,135],{"id":135},"上坡下坡先看哪些参数",[90,137,138,139,142],{},"先抓住两个问题：",[57,140,141],{},"正常的坡会不会被当成障碍，以及坡上的地面点有没有被过滤掉。"," 这段讲的是导航系统如何看待坡；目前没有坡道测试，不能从这些数值判断实车最多能爬几度。",[20,144,145,158],{},[23,146,147],{},[26,148,149,152,155],{},[29,150,151],{},"你看到的现象",[29,153,154],{},"先看哪些参数",[29,156,157],{},"用直白的话解释",[42,159,160,177,190,203,216,230],{},[26,161,162,165,174],{},[47,163,164],{},"正常坡被画成障碍，小车不愿意走",[47,166,167,170,171],{},[50,168,169],{},"useSorting","、",[50,172,173],{},"quantileZ",[47,175,176],{},"系统要先给每一小片区域选一个“地面高度”。选得太低，斜坡较高的一侧就可能看起来像凸出的障碍。当前 True、0.2是在采用较低的一档高度估计地面，不是开启了“允许上坡”",[26,178,179,182,187],{},[47,180,181],{},"上坡远处的地面点消失",[47,183,184],{},[50,185,186],{},"maxRelZ",[47,188,189],{},"当前地面点若高到输入雷达位置上方0.5 m之外，会被过滤。要检查坡是不是被这个上限截掉，而不是一看到不上坡就改排序开关",[26,191,192,195,200],{},[47,193,194],{},"下坡远处的地面点消失",[47,196,197],{},[50,198,199],{},"minRelZ",[47,201,202],{},"当前地面点若低到输入雷达位置下方1.5 m之外，会被过滤。这个下限影响系统能不能继续看到较低处的坡面",[26,204,205,208,213],{},[47,206,207],{},"下坡较低部分被当成坑或落差",[47,209,210],{},[50,211,212],{},"considerDrop",[47,214,215],{},"True 会把“低于这一小片估计地面”的点也按高差处理，可能识别坑，也可能误判正常坡。当前 False没有打开这种处理，不表示禁止下坡；它也会忽略一部分真实凹陷",[26,217,218,221,227],{},[47,219,220],{},"坡上的小高差被当成障碍",[47,222,223,224],{},"下游 ",[50,225,226],{},"min_obstacle_intensity",[47,228,229],{},"当前局部代价地图采用0.1 m，也就是10 cm的高度差下限。满足其他条件时，达到或超过这个门槛的点可能被画成障碍。这项在后续代价地图参数块中，不是本节点的参数",[26,231,232,239,244],{},[47,233,234,235,238],{},"改了 ",[50,236,237],{},"disRatioZ","，远处坡点仍然消失",[47,240,241,243],{},[50,242,237],{}," 与上面的高度上下限",[47,245,246,247,250],{},"它只在前面的缓存筛选中放宽高度范围，最后输出仍受 ",[50,248,249],{},"minRelZ\u002FmaxRelZ"," 限制，所以不能简单靠调大它解决坡点丢失",[90,252,253],{},"这里的高低按代码当前使用的高度方向计算，实际坐标方向仍需核对。正常下坡是一片连续降低的地面；坑、断崖或向下台阶则涉及地面突然降低，不能把它们都归为同一个“下坡开关”。",[90,255,256,257,260],{},"例如，其他条件都满足时：同一个坡上的点，若被算成比这一小片地面高6 cm，会低于当前10 cm障碍门槛；若地面高度估计偏低，把它算成高15 cm，就可能被画成障碍。这里是",[57,258,259],{},"局部地面高度差，不是整条坡的总高度","。调整地面估计或抬高障碍门槛，可能减少坡面误判，也可能让真实低障碍被忽略，不能只看坡能不能通过。",[90,262,263,266],{},[50,264,265],{},"vehicleHeight=0.5"," 限制的是正常输出点相对估计地面的高度差。它没有表示“车辆能爬0.5 m高的台阶”，也没有规定允许的坡度。",[90,268,269,270,273],{},"所以，坡道分析先沿着这条顺序看：",[57,271,272],{},"地面高度选得对不对 → 坡点有没有被删掉 → 下游是否把正常高差当成障碍。"," 动态物体清理、旧点保留时间和更新次数主要解决其他问题；当坡面点缺失时再检查它们的间接影响。",[16,275,276],{"id":276},"参数",[278,279,281],"h4",{"id":280},"ros__parametersros节点参数","ros__parameters（ROS节点参数）",[283,284,285],"h5",{"id":285},"参数表",[287,288,293],"pre",{"className":289,"code":290,"language":291,"meta":292,"style":292},"language-yaml shiki shiki-themes github-light github-dark","terrain_analysis:\n  ros__parameters:\n    scanVoxelSize: 0.05\n    decayTime: 0.5\n    noDecayDis: 0.0\n    clearingDis: 0.0\n    useSorting: True\n    quantileZ: 0.2\n    considerDrop: False\n    limitGroundLift: False\n    maxGroundLift: 0.3\n    clearDyObs: True\n    minDyObsDis: 0.3\n    minDyObsAngle: 0.0\n    minDyObsRelZ: -0.3\n    absDyObsRelZThre: 0.2\n    minDyObsVFOV: -28.0\n    maxDyObsVFOV: 33.0\n    minDyObsPointNum: 1\n    noDataObstacle: False\n    noDataBlockSkipNum: 0\n    minBlockPointNum: 10\n    vehicleHeight: 0.5\n    voxelPointUpdateThre: 100\n    voxelTimeUpdateThre: 1.0\n    minRelZ: -1.5\n    maxRelZ: 0.5\n    disRatioZ: 0.2\n","yaml","",[50,294,295,307,315,328,339,350,360,371,382,393,403,414,424,434,444,455,465,476,487,498,508,519,530,540,551,562,573,583],{"__ignoreMap":292},[296,297,300,303],"span",{"class":298,"line":299},"line",1,[296,301,52],{"class":302},"s9eBZ",[296,304,306],{"class":305},"sVt8B",":\n",[296,308,310,313],{"class":298,"line":309},2,[296,311,312],{"class":302},"  ros__parameters",[296,314,306],{"class":305},[296,316,318,321,324],{"class":298,"line":317},3,[296,319,320],{"class":302},"    scanVoxelSize",[296,322,323],{"class":305},": ",[296,325,327],{"class":326},"sj4cs","0.05\n",[296,329,331,334,336],{"class":298,"line":330},4,[296,332,333],{"class":302},"    decayTime",[296,335,323],{"class":305},[296,337,338],{"class":326},"0.5\n",[296,340,342,345,347],{"class":298,"line":341},5,[296,343,344],{"class":302},"    noDecayDis",[296,346,323],{"class":305},[296,348,349],{"class":326},"0.0\n",[296,351,353,356,358],{"class":298,"line":352},6,[296,354,355],{"class":302},"    clearingDis",[296,357,323],{"class":305},[296,359,349],{"class":326},[296,361,363,366,368],{"class":298,"line":362},7,[296,364,365],{"class":302},"    useSorting",[296,367,323],{"class":305},[296,369,370],{"class":326},"True\n",[296,372,374,377,379],{"class":298,"line":373},8,[296,375,376],{"class":302},"    quantileZ",[296,378,323],{"class":305},[296,380,381],{"class":326},"0.2\n",[296,383,385,388,390],{"class":298,"line":384},9,[296,386,387],{"class":302},"    considerDrop",[296,389,323],{"class":305},[296,391,392],{"class":326},"False\n",[296,394,396,399,401],{"class":298,"line":395},10,[296,397,398],{"class":302},"    limitGroundLift",[296,400,323],{"class":305},[296,402,392],{"class":326},[296,404,406,409,411],{"class":298,"line":405},11,[296,407,408],{"class":302},"    maxGroundLift",[296,410,323],{"class":305},[296,412,413],{"class":326},"0.3\n",[296,415,417,420,422],{"class":298,"line":416},12,[296,418,419],{"class":302},"    clearDyObs",[296,421,323],{"class":305},[296,423,370],{"class":326},[296,425,427,430,432],{"class":298,"line":426},13,[296,428,429],{"class":302},"    minDyObsDis",[296,431,323],{"class":305},[296,433,413],{"class":326},[296,435,437,440,442],{"class":298,"line":436},14,[296,438,439],{"class":302},"    minDyObsAngle",[296,441,323],{"class":305},[296,443,349],{"class":326},[296,445,447,450,452],{"class":298,"line":446},15,[296,448,449],{"class":302},"    minDyObsRelZ",[296,451,323],{"class":305},[296,453,454],{"class":326},"-0.3\n",[296,456,458,461,463],{"class":298,"line":457},16,[296,459,460],{"class":302},"    absDyObsRelZThre",[296,462,323],{"class":305},[296,464,381],{"class":326},[296,466,468,471,473],{"class":298,"line":467},17,[296,469,470],{"class":302},"    minDyObsVFOV",[296,472,323],{"class":305},[296,474,475],{"class":326},"-28.0\n",[296,477,479,482,484],{"class":298,"line":478},18,[296,480,481],{"class":302},"    maxDyObsVFOV",[296,483,323],{"class":305},[296,485,486],{"class":326},"33.0\n",[296,488,490,493,495],{"class":298,"line":489},19,[296,491,492],{"class":302},"    minDyObsPointNum",[296,494,323],{"class":305},[296,496,497],{"class":326},"1\n",[296,499,501,504,506],{"class":298,"line":500},20,[296,502,503],{"class":302},"    noDataObstacle",[296,505,323],{"class":305},[296,507,392],{"class":326},[296,509,511,514,516],{"class":298,"line":510},21,[296,512,513],{"class":302},"    noDataBlockSkipNum",[296,515,323],{"class":305},[296,517,518],{"class":326},"0\n",[296,520,522,525,527],{"class":298,"line":521},22,[296,523,524],{"class":302},"    minBlockPointNum",[296,526,323],{"class":305},[296,528,529],{"class":326},"10\n",[296,531,533,536,538],{"class":298,"line":532},23,[296,534,535],{"class":302},"    vehicleHeight",[296,537,323],{"class":305},[296,539,338],{"class":326},[296,541,543,546,548],{"class":298,"line":542},24,[296,544,545],{"class":302},"    voxelPointUpdateThre",[296,547,323],{"class":305},[296,549,550],{"class":326},"100\n",[296,552,554,557,559],{"class":298,"line":553},25,[296,555,556],{"class":302},"    voxelTimeUpdateThre",[296,558,323],{"class":305},[296,560,561],{"class":326},"1.0\n",[296,563,565,568,570],{"class":298,"line":564},26,[296,566,567],{"class":302},"    minRelZ",[296,569,323],{"class":305},[296,571,572],{"class":326},"-1.5\n",[296,574,576,579,581],{"class":298,"line":575},27,[296,577,578],{"class":302},"    maxRelZ",[296,580,323],{"class":305},[296,582,338],{"class":326},[296,584,586,589,591],{"class":298,"line":585},28,[296,587,588],{"class":302},"    disRatioZ",[296,590,323],{"class":305},[296,592,381],{"class":326},[20,594,595,623],{},[23,596,597],{},[26,598,599,602,605,608,611,614,617,620],{},[29,600,601],{},"参数名",[29,603,604],{},"当前值",[29,606,607],{},"单位",[29,609,610],{},"实车处理建议",[29,612,613],{},"作用",[29,615,616],{},"调大效果",[29,618,619],{},"调小效果",[29,621,622],{},"生效条件／备注",[42,624,625,657,688,724,758,791,828,859,886,924,951,980,1014,1048,1082,1112,1142,1173,1200,1234,1269,1303,1334,1367,1400,1433],{},[26,626,627,632,637,640,645,648,651,654],{},[47,628,629],{},[50,630,631],{},"scanVoxelSize",[47,633,634],{},[50,635,636],{},"0.05",[47,638,639],{},"m，三维体素边长",[47,641,642],{},[57,643,644],{},"实物运行时重点观察，有问题再针对性调整",[47,646,647],{},"对累计点云进行体素降采样",[47,649,650],{},"点通常更少，计算和缓存负担下降，小障碍细节可能减少",[47,652,653],{},"点通常更多，细节增加，负担上升",[47,655,656],{},"应为正数；不是地面格子尺寸或定位精度；还会影响地面样本数",[26,658,659,664,669,672,676,679,682,685],{},[47,660,661],{},[50,662,663],{},"decayTime",[47,665,666],{},[50,667,668],{},"0.5",[47,670,671],{},"s，输入点云时间",[47,673,674],{},[57,675,644],{},[47,677,678],{},"更新缓存时剔除过期代表点",[47,680,681],{},"保存历史更久，地面样本更充足，旧障碍残留也可能更久",[47,683,684],{},"历史更短，变化跟随更快，可能因点少出现空洞",[47,686,687],{},"仅体素更新时检查；近距离免衰减可绕过；不是0.5秒准时清除",[26,689,690,695,700,703,708,711,714,717],{},[47,691,692],{},[50,693,694],{},"noDecayDis",[47,696,697],{},[50,698,699],{},"0.0",[47,701,702],{},"m，水平距离",[47,704,705],{},[57,706,707],{},"根据实际功能需求开启或设置",[47,709,710],{},"指定不受时间衰减限制的近距离区域",[47,712,713],{},"免衰减范围扩大，近场历史和旧点保留更多",[47,715,716],{},"免衰减范围缩小；0表示不保留免衰减区",[47,718,719,720,723],{},"使用 ",[50,721,722],{},"d \u003C noDecayDis","；还用于无数据障碍初始化的移动距离门槛",[26,725,726,731,735,738,742,745,748,751],{},[47,727,728],{},[50,729,730],{},"clearingDis",[47,732,733],{},[50,734,699],{},[47,736,737],{},"m，水平清图半径",[47,739,740],{},[57,741,707],{},[47,743,744],{},"外部触发清图时清除半径内的缓存点",[47,746,747],{},"一次清除范围扩大",[47,749,750],{},"一次清除范围缩小；0没有正半径清除区",[47,752,753,754,757],{},"仅清图事件生效；方向是半径内，不是半径外；",[50,755,756],{},"map_clearing"," 消息可覆盖此变量",[26,759,760,764,769,772,777,780,783,785],{},[47,761,762],{},[50,763,169],{},[47,765,766],{},[50,767,768],{},"True",[47,770,771],{},"不适用，布尔",[47,773,774],{},[57,775,776],{},"通常保持当前值，不作为优先调试项",[47,778,779],{},"地面高度采用排序分位值或最小值",[47,781,782],{},"不适用",[47,784,782],{},[47,786,787,788,790],{},"True 使用 ",[50,789,173],{},"；False 使用最小高度；不保证上坡，也没有正负高度抵消",[26,792,793,797,802,805,809,812,815,818],{},[47,794,795],{},[50,796,173],{},[47,798,799],{},[50,800,801],{},"0.2",[47,803,804],{},"无量纲，分位比例",[47,806,807],{},[57,808,644],{},[47,810,811],{},"选择排序高度中的地面样本",[47,813,814],{},"地面估计通常抬高，凸起相对高度下降，可能漏掉低障碍",[47,816,817],{},"地面估计通常降低，凸起相对高度上升，更易受低离群点影响",[47,819,820,823,824,827],{},[50,821,822],{},"useSorting=True"," 时生效；按 ",[50,825,826],{},"floor(q×N)"," 取下标并截到有效范围，宜在0～1内设置",[26,829,830,834,839,841,845,848,850,852],{},[47,831,832],{},[50,833,212],{},[47,835,836],{},[50,837,838],{},"False",[47,840,771],{},[47,842,843],{},[57,844,707],{},[47,846,847],{},"是否把低于估计地面的高度差也取绝对值输出",[47,849,782],{},[47,851,782],{},[47,853,854,855,858],{},"False 时负高度差点被过滤；True 为 ",[50,856,857],{},"abs(z−地面)","；能与排序同时执行，但坡面可能出现额外障碍",[26,860,861,866,870,872,876,879,881,883],{},[47,862,863],{},[50,864,865],{},"limitGroundLift",[47,867,868],{},[50,869,838],{},[47,871,771],{},[47,873,874],{},[57,875,707],{},[47,877,878],{},"限制分位地面相对最低样本的抬升幅度",[47,880,782],{},[47,882,782],{},[47,884,885],{},"仅排序分支使用；当前关闭，不限制地面抬升",[26,887,888,893,898,901,906,909,912,915],{},[47,889,890],{},[50,891,892],{},"maxGroundLift",[47,894,895],{},[50,896,897],{},"0.3",[47,899,900],{},"m，相对最低样本的高度差",[47,902,903],{},[57,904,905],{},"当前运行不使用这个参数，暂不调整",[47,907,908],{},"地面抬升限制的上限",[47,910,911],{},"开启限制后：允许地面抬得更高",[47,913,914],{},"开启限制后：更接近最低样本，可能提高障碍高度差",[47,916,917,918,921,922],{},"当前 ",[50,919,920],{},"limitGroundLift=False","，不影响输出；还需 ",[50,923,822],{},[26,925,926,931,935,937,941,944,946,948],{},[47,927,928],{},[50,929,930],{},"clearDyObs",[47,932,933],{},[50,934,768],{},[47,936,771],{},[47,938,939],{},[57,940,644],{},[47,942,943],{},"根据历史点与本帧回波筛掉疑似动态残留格",[47,945,782],{},[47,947,782],{},[47,949,950],{},"当前开启；不是目标跟踪或永久禁行记录，可能受遮挡、稀疏回波影响",[26,952,953,958,962,964,968,971,974,977],{},[47,954,955],{},[50,956,957],{},"minDyObsDis",[47,959,960],{},[50,961,897],{},[47,963,702],{},[47,965,966],{},[57,967,644],{},[47,969,970],{},"划分近距离直接计数与较远的角度筛选分支",[47,972,973],{},"近距离直接计数区扩大",[47,975,976],{},"近距离直接计数区缩小",[47,978,979],{},"仅动态清理使用；近点直接增加计数，不是简单忽略近点；本帧点仍可重置该格",[26,981,982,987,991,994,998,1001,1004,1007],{},[47,983,984],{},[50,985,986],{},"minDyObsAngle",[47,988,989],{},[50,990,699],{},[47,992,993],{},"°，度",[47,995,996],{},[57,997,644],{},[47,999,1000],{},"对历史候选和本帧重置使用同一仰角门槛",[47,1002,1003],{},"提高两轮角度门槛，净清理效果不单调",[47,1005,1006],{},"降低两轮角度门槛，净清理效果不单调",[47,1008,1009,1010,1013],{},"仅动态清理使用；角度公式含 ",[50,1011,1012],{},"minDyObsRelZ","，不能只按“越大清得越少”理解",[26,1015,1016,1020,1025,1028,1033,1036,1039,1042],{},[47,1017,1018],{},[50,1019,1012],{},[47,1021,1022],{},[50,1023,1024],{},"-0.3",[47,1026,1027],{},"m，相对输入位姿的 z 偏置",[47,1029,1030],{},[57,1031,1032],{},"上实物前必须核对并正确配置",[47,1034,1035],{},"调整候选仰角计算的垂直基准",[47,1037,1038],{},"同一点的计算仰角下降",[47,1040,1041],{},"同一点的计算仰角上升",[47,1043,1044,1045],{},"仅动态清理使用；同时影响候选计数和本帧重置；当前角门槛0°对应 ",[50,1046,1047],{},"Δz > -0.3 m",[26,1049,1050,1055,1059,1062,1066,1069,1072,1075],{},[47,1051,1052],{},[50,1053,1054],{},"absDyObsRelZThre",[47,1056,1057],{},[50,1058,801],{},[47,1060,1061],{},"m，雷达自身 z 带宽",[47,1063,1064],{},[57,1065,644],{},[47,1067,1068],{},"让靠近雷达自身水平面的历史候选绕过垂直视场窗口",[47,1070,1071],{},"旁路带扩大，更多点可被计数",[47,1073,1074],{},"旁路带缩小",[47,1076,1077,1078,1081],{},"仅动态清理使用；条件是 ",[50,1079,1080],{},"abs(z_L)\u003C阈值","，与视场判断为“或”关系",[26,1083,1084,1089,1094,1096,1100,1103,1106,1109],{},[47,1085,1086],{},[50,1087,1088],{},"minDyObsVFOV",[47,1090,1091],{},[50,1092,1093],{},"-28.0",[47,1095,993],{},[47,1097,1098],{},[57,1099,1032],{},[47,1101,1102],{},"动态候选在雷达自身系的垂直角下界",[47,1104,1105],{},"下界提高，角窗口收窄",[47,1107,1108],{},"下界降低，角窗口扩大",[47,1110,1111],{},"仅动态清理使用；有高度带旁路；这是软件筛选窗口，不能直接当 MID360 标称视场",[26,1113,1114,1119,1124,1126,1130,1133,1136,1139],{},[47,1115,1116],{},[50,1117,1118],{},"maxDyObsVFOV",[47,1120,1121],{},[50,1122,1123],{},"33.0",[47,1125,993],{},[47,1127,1128],{},[57,1129,1032],{},[47,1131,1132],{},"动态候选在雷达自身系的垂直角上界",[47,1134,1135],{},"上界提高，角窗口扩大",[47,1137,1138],{},"上界降低，角窗口收窄",[47,1140,1141],{},"仅动态清理使用；应大于下界；需结合实际雷达坐标轴和筛选目的核对",[26,1143,1144,1149,1154,1157,1161,1164,1167,1170],{},[47,1145,1146],{},[50,1147,1148],{},"minDyObsPointNum",[47,1150,1151],{},[50,1152,1153],{},"1",[47,1155,1156],{},"点计数阈值",[47,1158,1159],{},[57,1160,644],{},[47,1162,1163],{},"候选计数达到门槛后，筛掉该格本轮输出",[47,1165,1166],{},"较远区域通常需要更多候选才剔除，残留可能增加",[47,1168,1169],{},"更容易剔除候选格，误删风险可能增加",[47,1171,1172],{},"仅动态清理使用，宜为正整数；近距离分支直接增加此阈值，不是纯粹的实测点数门槛",[26,1174,1175,1180,1184,1186,1190,1193,1195,1197],{},[47,1176,1177],{},[50,1178,1179],{},"noDataObstacle",[47,1181,1182],{},[50,1183,838],{},[47,1185,771],{},[47,1187,1188],{},[57,1189,707],{},[47,1191,1192],{},"是否为欠缺地面样本的格子合成障碍点",[47,1194,782],{},[47,1196,782],{},[47,1198,1199],{},"还需无数据处理初始化完成；False 不合成障碍，不代表下游一定把未知区域视为可通行",[26,1201,1202,1207,1212,1215,1219,1222,1225,1228],{},[47,1203,1204],{},[50,1205,1206],{},"noDataBlockSkipNum",[47,1208,1209],{},[50,1210,1211],{},"0",[47,1213,1214],{},"次，格子边界跳过迭代",[47,1216,1217],{},[57,1218,905],{},[47,1220,1221],{},"合成无数据障碍前，跳过靠近有效数据的部分欠数据格",[47,1223,1224],{},"开启无数据障碍后：通常跳过更多边界格",[47,1226,1227],{},"开启无数据障碍后：跳过更少，0不跳过",[47,1229,917,1230,1233],{},[50,1231,1232],{},"noDataObstacle=False","，不影响结果；不是米或帧数，使用非负整数",[26,1235,1236,1241,1246,1249,1253,1256,1259,1262],{},[47,1237,1238],{},[50,1239,1240],{},"minBlockPointNum",[47,1242,1243],{},[50,1244,1245],{},"10",[47,1247,1248],{},"点，邻域高度样本数",[47,1250,1251],{},[57,1252,644],{},[47,1254,1255],{},"规定正常地形输出需要的最低地面样本数",[47,1257,1258],{},"输出更保守，稀疏格更容易缺失",[47,1260,1261],{},"更多稀疏格可以输出，地面估计稳定性可能下降",[47,1263,1264,1265,1268],{},"正常输出一直使用；无数据功能开启时还用于判断欠数据；不是只在 ",[50,1266,1267],{},"noDataObstacle=True"," 时生效",[26,1270,1271,1276,1280,1283,1287,1290,1293,1296],{},[47,1272,1273],{},[50,1274,1275],{},"vehicleHeight",[47,1277,1278],{},[50,1279,668],{},[47,1281,1282],{},"m，相对估计地面的高度上限",[47,1284,1285],{},[57,1286,1032],{},[47,1288,1289],{},"限制正常地形点输出的高度差",[47,1291,1292],{},"保留更高的点，也可能引入悬空结构",[47,1294,1295],{},"更多高点被过滤，可能漏障",[47,1297,1298,1299,1302],{},"正常点需 ",[50,1300,1301],{},"0≤h\u003C0.5","；不是相对雷达的高度，也不能直接当作已确认的整车高度",[26,1304,1305,1310,1315,1318,1322,1325,1328,1331],{},[47,1306,1307],{},[50,1308,1309],{},"voxelPointUpdateThre",[47,1311,1312],{},[50,1313,1314],{},"100",[47,1316,1317],{},"点，每个缓存格的新入点计数",[47,1319,1320],{},[57,1321,776],{},[47,1323,1324],{},"达到计数门槛时重做该缓存格的降采样与过期筛选",[47,1326,1327],{},"点数触发更新通常更少，等待更久",[47,1329,1330],{},"点数触发更新通常更频繁，计算增加",[47,1332,1333],{},"与时间门槛、清图事件为“或”；不是整帧点数或缓存总点数",[26,1335,1336,1341,1346,1348,1352,1355,1358,1361],{},[47,1337,1338],{},[50,1339,1340],{},"voxelTimeUpdateThre",[47,1342,1343],{},[50,1344,1345],{},"1.0",[47,1347,671],{},[47,1349,1350],{},[57,1351,776],{},[47,1353,1354],{},"距该缓存格上次更新达到门槛后重做筛选",[47,1356,1357],{},"时间触发更新更稀疏，过期点可能保留更久",[47,1359,1360],{},"时间触发更新更频繁，计算增加",[47,1362,1363,1364,1366],{},"仅收到新点云进入处理时检查；与 ",[50,1365,663],{}," 是不同门槛",[26,1368,1369,1373,1378,1384,1388,1391,1394,1397],{},[47,1370,1371],{},[50,1372,199],{},[47,1374,1375],{},[50,1376,1377],{},"-1.5",[47,1379,1380,1381,1383],{},"m，相对输入位姿的 ",[50,1382,123],{}," z",[47,1385,1386],{},[57,1387,1032],{},[47,1389,1390],{},"有效高度下界",[47,1392,1393],{},"下界抬高，更多低点／地面点被过滤",[47,1395,1396],{},"下界降低，接受更低的点",[47,1398,1399],{},"地面采样与正常输出都严格使用此下界；地面相对雷达的高度需实测核对",[26,1401,1402,1406,1410,1414,1418,1421,1424,1427],{},[47,1403,1404],{},[50,1405,186],{},[47,1407,1408],{},[50,1409,668],{},[47,1411,1380,1412,1383],{},[50,1413,123],{},[47,1415,1416],{},[57,1417,1032],{},[47,1419,1420],{},"有效高度上界",[47,1422,1423],{},"接受更多高点，顶棚或悬空结构也可能进入",[47,1425,1426],{},"过滤更多高点，可能漏障",[47,1428,1429,1430,1432],{},"与 ",[50,1431,1275],{}," 的参考基准不同；地面采样与正常输出严格使用此上界",[26,1434,1435,1439,1443,1446,1450,1453,1456,1459],{},[47,1436,1437],{},[50,1438,237],{},[47,1440,1441],{},[50,1442,801],{},[47,1444,1445],{},"无量纲，m\u002Fm",[47,1447,1448],{},[57,1449,644],{},[47,1451,1452],{},"随水平距离扩大入缓存的上下高度窗口",[47,1454,1455],{},"远处缓存候选高度范围更宽",[47,1457,1458],{},"远处缓存候选范围更窄，0不扩大",[47,1460,1461,1462,1464],{},"入缓存及更新筛选使用；最终地面采样与输出仍用固定 ",[50,1463,249],{},"，不能保证扩大后的坡面点会输出",[283,1466,1467],{"id":1467},"参数详解",[1469,1470,1472],"h6",{"id":1471},"scanvoxelsize点云降采样尺度","scanVoxelSize（点云降采样尺度）",[90,1474,1475],{},"当前0.05 m表示累计点云重采样时的三维体素边长。同一小体素中的点合成代表点，可以压缩重复扫描；调得更大可能减少窄障碍、边缘和有效地面样本，调得更小则增加点数和处理负担。",[90,1477,1478,1479,1481,1482,1484],{},"源码另外固定了1.0 m的历史缓存分块和0.2 m的平面地面格子。",[50,1480,631],{}," 不改变这两种格子的尺寸，也不等于代价地图分辨率。地面样本来自平面格子的3×3邻域，",[50,1483,1240],{}," 判断的是这个邻域收集到的高度样本数。",[1469,1486,1488],{"id":1487},"decaytimenodecaydis-与-clearingdis旧点保留免衰减与事件清图","decayTime、noDecayDis 与 clearingDis（旧点保留、免衰减与事件清图）",[90,1490,1491,1492,1494],{},"新点进入缓存时，",[50,1493,127],{}," 暂存“该帧时间戳减首次点云时间戳”，用于历史管理；输出时再改为高度差。容器 PCL 的体素滤波默认平均各字段，因此年龄判定针对重采样代表点，不能理解为逐个原始点精确保留时间。",[90,1496,1497],{},"缓存格只有满足以下任一条件才重做降采样和筛选：新入点累计达到100、距离上次更新达到1.0秒、收到清图事件。检查时按如下关系保留点：",[287,1499,1504],{"className":1500,"code":1502,"language":1503,"meta":292},[1501],"language-text","高度在缓存允许窗口内\n且（代表点年龄 \u003C decayTime，或水平距离 \u003C noDecayDis）\n且不属于本次触发清图的半径内\n","text",[50,1505,1502],{"__ignoreMap":292},[90,1507,1508,1509,1512],{},"因此 ",[50,1510,1511],{},"decayTime=0.5"," 是更新时检查的年龄阈值，不是点到0.5秒就立刻消失。稀疏缓存格可能等到时间更新门槛才重新检查；没有新点云时，这段处理不会执行。增大衰减时间有利于保留地面样本，也可能延长旧物体残留；减小则需观察稀疏格是否出现空洞。",[90,1514,917,1515,1518,1519,1521],{},[50,1516,1517],{},"noDecayDis=0","，没有近距离免衰减区域。这个值还参与无数据功能的初始化：从记录位置移动至少该距离才进入无数据处理状态，0时首次里程计回调即可满足距离条件；当前 ",[50,1520,1232],{},"，后者不会生成障碍。",[90,1523,1524,1526,1527,1530,1531,1534,1535,1537],{},[50,1525,730],{}," 仅在清图事件触发后使用，清掉的是 ",[50,1528,1529],{},"d \u003C clearingDis"," 的点。当前0没有正半径清除区；",[50,1532,1533],{},"joy"," 的第6个按钮可触发清图，",[50,1536,756],{}," 的 Float32 消息会覆盖清图半径并触发处理。原注释“该距离外的点会被清除”方向相反，不能照此理解。清图只影响本节点缓存，不是删除 Point-LIO 地图；本轮未发布任何清图消息。",[1469,1539,1541],{"id":1540},"usesortingquantilez-与-considerdrop地面高度选择与低处高差处理","useSorting、quantileZ 与 considerDrop（地面高度选择与低处高差处理）",[90,1543,1544,1545,1547,1548,1551,1552,1555],{},"每个0.2 m平面格先收集邻域高度。",[50,1546,822],{}," 时排序并取下标 ",[50,1549,1550],{},"floor(quantileZ×N)"," 的高度；当前 ",[50,1553,1554],{},"quantileZ=0.2","，例如10个样本会取下标2，即从低到高第3个样本。它可以减少极低离群点对“最低地面”的影响，但分位比例过高也可能把障碍底部或坡面较高部分当作地面。",[90,1557,1558,1559,1562,1563,1566],{},"地面高度记为 ",[50,1560,1561],{},"g","，原始高度差为 ",[50,1564,1565],{},"h=z−g","：",[1568,1569,1570,1577],"ul",{},[1571,1572,917,1573,1576],"li",{},[50,1574,1575],{},"considerDrop=False","：只输出非负高度差，低于估计地面的点被过滤。",[1571,1578,1579,1580,1583],{},"True：先取 ",[50,1581,1582],{},"abs(z−g)","，凹下去的点也可能作为高度差输出；仍需通过其他高度和样本数条件。",[90,1585,1586,1587,1589],{},"源码没有坡面正负高度相加抵消的步骤，也没有禁止这两个开关同时开启。它们可以同时执行，但坡面较低部分取绝对值后可能被当作障碍。",[50,1588,169],{}," 是地面估计方式，是否能上坡还取决于坐标轴、坡度、高度窗口、下游障碍阈值及车辆能力，不能保证“开启就能上坡”。",[90,1591,1592],{},"当前局部代价地图的强度下限为0.1 m。地面估计抬高会降低凸起的高度差，可能让低障碍低于该门槛；估计过低则可能把正常地面标成障碍。后续实物应同时检查地面、低障碍和坡面，不能只看点云是否连续。",[1469,1594,1596],{"id":1595},"limitgroundlift-与-maxgroundlift地面估计抬升限制","limitGroundLift 与 maxGroundLift（地面估计抬升限制）",[90,1598,1599,1600,1602],{},"启用限制且使用排序时，地面估计不会高于“邻域最低高度 + ",[50,1601,892],{},"”。它限制的是分位地面相对最低样本的抬升，不是云台升降、底盘离地高度或每帧地面变化率。",[90,1604,917,1605,1607,1608,1611],{},[50,1606,920],{},"，所以 ",[50,1609,1610],{},"maxGroundLift=0.3"," 不影响结果，暂不调整。最低样本本身若为低离群点，开启限制也可能将地面压低。",[1469,1613,1615],{"id":1614},"cleardyobs-及其几何门槛动态残留点筛选","clearDyObs 及其几何门槛（动态残留点筛选）",[90,1617,1618],{},"这个开关用旧点与最新回波做格子级候选筛选，不估计物体速度，也不创建“动态物体走过就永久禁行”的区域。候选计数每轮重建，最后只筛掉本轮仍被标记的格子输出；缓存老点的移除另由衰减等规则处理。",[90,1620,1621],{},"当前过程是：",[1623,1624,1625,1635,1646,1652],"ol",{},[1571,1626,1627,1628,1631,1632,1634],{},"累计点云中，水平距离不大于 ",[50,1629,1630],{},"minDyObsDis=0.3 m"," 的点直接给格子增加 ",[50,1633,1148],{},"；不是忽略近点。",[1571,1636,1637,1638,1641,1642,1645],{},"较远的点先满足 ",[50,1639,1640],{},"angle1 > minDyObsAngle","，再转到输入位姿对应的雷达自身系；自身仰角在视场窗口内，或 ",[50,1643,1644],{},"abs(z_L)\u003CabsDyObsRelZThre","，就给格子计数。",[1571,1647,1648,1649,1651],{},"最新一帧裁剪点中，只要该格有满足 ",[50,1650,1640],{}," 的点，就把计数归零；这一轮没有再次要求视场窗口或0.3 m距离门槛。",[1571,1653,1654,1655,1658],{},"最终计数达到 ",[50,1656,1657],{},"minDyObsPointNum=1"," 的格子不进入正常地形输出。",[90,1660,1661,1662,1664],{},"这里的第一个仰角按 ",[50,1663,123],{}," 中相对输入位姿的位置计算：",[90,1666,1667],{},"[\n\\theta_1=\\operatorname{atan2}(\\Delta z-\\text{minDyObsRelZ},d)\\frac{180}{\\pi}\n]",[90,1669,1670,1671,1674,1675,1677,1678,1680],{},"当前0°角门槛和-0.3 m高度偏置，在非零水平距离处等价于要求 ",[50,1672,1673],{},"Δz>-0.3 m","。",[50,1676,986],{}," 与 ",[50,1679,1012],{}," 同时影响历史候选和最新回波重置，调整后的净清理效果不能只按一个方向推断。",[90,1682,1683,1684,1687,1688,1691,1692],{},"第二个仰角在雷达自身系中计算，单位同样是度。当前窗口为(-28°,33°)，另外 ",[50,1685,1686],{},"abs(z_L)\u003C0.2 m"," 可绕过该窗口。MID360 官方标称垂直视场为 ",[57,1689,1690],{},"-7°～52°","；这与当前软件窗口不同，但窗口还承担候选筛选，不能据此直接判定两项数值必须替换。",[1693,1694,1698],"a",{"href":1695,"rel":1696},"https:\u002F\u002Fwww.livoxtech.com\u002Fmid-360\u002Fspecs",[1697],"nofollow","Livox 官方规格",[90,1700,1701],{},"上实物前需要核对输入位姿究竟代表 IMU 还是雷达、逆旋转后的轴向，以及这个窗口的筛选目的。雷达自身系已经扣除安装姿态，不应把整机倾斜角随意加到视场上下界；这里度制的阈值也不能与弧度制 JointState 混用。MID360 随实际 yaw、不随实际 pitch 转动的机械约定继续保留。",[90,1703,1704,1705,1707],{},"遮挡、稀疏回波或位姿错误可能使静态障碍也暂时缺少“本帧确认”，从而被误筛。当前 ",[50,1706,1657],{}," 比较敏感；应观察障碍离开后的残留和静态物体被遮挡时的结果，再判断是否需要调整，而不是直接根据原注释关闭或修改。",[1469,1709,1711],{"id":1710},"nodataobstaclenodatablockskipnum-与-minblockpointnum缺数据区域与最少地面样本","noDataObstacle、noDataBlockSkipNum 与 minBlockPointNum（缺数据区域与最少地面样本）",[90,1713,1714,1716,1717,1720,1721,1723,1724,1726],{},[50,1715,1267],{}," 且初始化完成时，地面样本不足的格子会生成4个障碍标记点，",[50,1718,1719],{},"z"," 设为输入位姿高度，",[50,1722,127],{}," 设为 ",[50,1725,1275],{},"。这表示主动阻挡欠数据区域；False 只是不生成这些点，未知区域怎样通行仍由下游决定。",[90,1728,1729,1731],{},[50,1730,1206],{}," 控制欠数据格边界的跳过迭代次数，不能按米或跳过几帧理解。当前无数据功能关闭，这项不影响结果，简述其用途即可。",[90,1733,1734,1737],{},[50,1735,1736],{},"minBlockPointNum=10"," 仍然生效：正常地形点输出要求邻域地面样本数至少10。提高它会减少稀疏格输出，降低它可能保留更多细小障碍，但也更依赖少量、不稳定的地面样本。它同时受降采样尺度、衰减时间和实际点密度影响。",[1469,1739,1741],{"id":1740},"vehicleheight地形输出高差上限","vehicleHeight（地形输出高差上限）",[90,1743,1744,1745,1748,1749,1752,1753,1755,1756,1758],{},"正常地形点要求 ",[50,1746,1747],{},"0≤h\u003CvehicleHeight","，当前即0～0.5 m，不包含0.5 m上界。",[50,1750,1751],{},"h"," 相对估计地面，",[50,1754,249],{}," 则相对输入雷达位姿的 ",[50,1757,123],{}," z，两者参考基准不同。",[90,1760,1761],{},"该参数没有直接控制模型尺寸或碰撞包络。若障碍只有高于0.5 m的有效回波，这些点会被过滤；调小可能漏障，调大则可能把更多悬空结构引入输出。需结合真实车辆包络、雷达可见的障碍部位和下游筛选核实，不能仅凭名字把它设成整车高度。",[90,1763,1764],{},"当前正常输出高度差还与下游0.1 m障碍下限共同作用，因此进入局部障碍标记的正常点，高度差通常需落在0.1～0.5 m之间，并通过其他过滤。当前数值是否适合实车尚无测量结论。",[1469,1766,1768],{"id":1767},"voxelpointupdatethre-与-voxeltimeupdatethre缓存点云更新门槛","voxelPointUpdateThre 与 voxelTimeUpdateThre（缓存点云更新门槛）",[90,1770,1771],{},"每个1.0 m缓存分块的新入点计数达到100，或距离该块上次更新达到1.0秒，就重新降采样并筛除过期点；清图事件也会强制更新。计数在更新后清零，计时采用输入点云时间。",[90,1773,1774,1775,1777],{},"增大门槛通常减少这一阶段的更新频率，减小则增加处理次数。它们不是发布频率参数，也不是地面样本数门槛；发布由新点云处理驱动，实际频率还受负载影响。先沿用当前值，若历史残留或计算负担异常，再与 ",[50,1776,663],{}," 一起检查。",[1469,1779,1781],{"id":1780},"minrelzmaxrelz-与-disratioz相对输入位置的高度窗口","minRelZ、maxRelZ 与 disRatioZ（相对输入位置的高度窗口）",[90,1783,1784,1785,114,1788,1791,1792,1794],{},"设 ",[50,1786,1787],{},"Δz=z_point−z_input_pose",[50,1789,1790],{},"d"," 为 ",[50,1793,123],{}," 中的水平距离。入缓存以及缓存更新时使用：",[90,1796,1797],{},"[\n\\text{minRelZ}-\\text{disRatioZ},d\n\u003C\\Delta z\u003C\n\\text{maxRelZ}+\\text{disRatioZ},d\n]",[90,1799,1800,1801,1804],{},"当前在5 m水平距离处，缓存候选窗口为(-2.5,1.5) m。但源码在收集地面样本和输出正常点时，又要求固定的 ",[50,1802,1803],{},"-1.5\u003CΔz\u003C0.5","，没有继续使用距离扩展。",[90,1806,1807,1808,1810],{},"所以 ",[50,1809,237],{}," 能放宽缓存候选范围，却不能保证远处坡面超出固定窗口的点最终被保留。原注释只解释了前一阶段，不能据此认定整条链都随距离扩大高度范围。",[90,1812,1813,1814,1816,1817,1819,1820,1822],{},"这些高度沿 ",[50,1815,123],{}," 的 z 轴，并相对输入 ",[50,1818,99],{}," 的位置，不是相对底盘原点或云台 pitch 层。需先确认雷达到地面高度、",[50,1821,123],{}," 的方向以及 IMU／雷达位姿转换；参考系错误不能通过单纯加大窗口解决。本轮不修改重力方向或任何工程参数。",[1469,1824,1825],{"id":1825},"启动来源与当前验证范围",[90,1827,1828,1829,1832,1833,1836,1837,1839,1840,170,1843,170,1846,1849],{},"整套 reality／simulation 启动分别默认使用对应目录的 ",[50,1830,1831],{},"nav2_params.yaml","，经 ",[50,1834,1835],{},"navigation_launch.py"," 将处理后的参数文件交给该节点，并把节点名设为 ",[50,1838,52],{}," 以匹配 YAML。包内独立 XML launch 和 C++ 默认值是另外的来源，例如独立 XML 的 ",[50,1841,1842],{},"decayTime=1.0",[50,1844,1845],{},"noDecayDis=1.75",[50,1847,1848],{},"vehicleHeight=1.5","，不能套用本表；直接运行可执行文件也不会自动加载整套 YAML。",[90,1851,1852,1853,100,1855,1857,1858,1860],{},"这26项均在启动时声明和读取，没有动态参数更新回调。",[50,1854,892],{},[50,1856,1206],{}," 当前因开关关闭而不影响结果；",[50,1859,730],{}," 由事件使用且可被消息覆盖，其变量变化也不能只靠启动参数表判断。",[90,1862,1863,1864,1866],{},"源码还存在接口前提：两个输入分别回调，使用最近收到的里程计，没有时间配对、插值或“已获得有效里程计”的保护；输出参考系固定写成 ",[50,1865,123],{},"，没有校验或变换输入参考系。上游位姿与坐标关系仍需核对，尤其会影响本块的高度窗口和动态候选判断。",[1568,1868,1869,1875,1881],{},[1571,1870,1871,1874],{},[57,1872,1873],{},"源码能确认："," 参数读取、单位、门控分支、衰减与清图条件、分位地面估计、动态候选筛选和高度输出范围；本轮在容器中确认安装后的导航 launch 与两份 YAML 对应当前源码。",[1571,1876,1877,1880],{},[57,1878,1879],{},"仿真已观察："," 2026-10-08 仅验证独立 Point-LIO 的静止和短距离往返输出，没有验证本节点地面估计、坡面、动态清理、欠数据障碍或最终代价地图。",[1571,1882,1883,1886],{},[57,1884,1885],{},"必须实物核实："," 雷达原点到地面的高度、安装与内部外参、目标参考系方向、实际点密度、可见障碍高度、坡面与落差特征，以及动态物体离开／静态物体被遮挡时的筛选表现。当前无实物，本轮未启动节点或进行运行测试。",[90,1888,1889,1890,1893,1894,1897],{},"源码位置：",[50,1891,1892],{},"src\u002Fpb2025_sentry_nav\u002Fterrain_analysis\u002Fsrc\u002FterrainAnalysis.cpp","；下游强度筛选位于 ",[50,1895,1896],{},"src\u002Fpb2025_sentry_nav\u002Fpb_nav2_plugins\u002Fsrc\u002Flayers\u002Fintensity_voxel_layer.cpp","。本块纠正的是日志中的参数解释，工程源码、配置和参数值均保留。",[1899,1900,1901],"style",{},"html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":292,"searchDepth":309,"depth":309,"links":1903},[1904],{"id":14,"depth":309,"text":5,"children":1905},[1906,1907,1908],{"id":18,"depth":317,"text":18},{"id":135,"depth":317,"text":135},{"id":276,"depth":317,"text":276},"0500-0400","2026-09-20","2026-09-20-dao-hang","\u002Fwiki\u002F2026-09-20-dao-hang","导航","md",true,false,{},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0400-terrain-analysis",{"title":5,"description":292},"wiki\u002F2026-09-20-导航\u002F0500-0400-terrain_analysis","X-c7zyC5ESgJcYq9B0WOTb5FpFlQ-F89zQ5YNFMLGaA",[1923,1930,1936,1942,1948,1954,1960,1966,1972,1978,1984,1990,1996,2002,2008,2014,2020,2022,2028,2034,2040,2046,2052,2058,2064,2070,2076,2082,2088,2094,2100,2106,2112,2118,2124,2130,2136,2142],{"path":1924,"stem":1925,"title":1926,"authors":1927,"date":1910,"chapterOrder":1928,"chapterDepth":1929,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0100-jian-jie","wiki\u002F2026-09-20-导航\u002F0100-简介","简介",[7],"0100",0,{"path":1931,"stem":1932,"title":1933,"authors":1934,"date":1910,"chapterOrder":1935,"chapterDepth":1929,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0200-huan-jing-pei-zhi-yu-yun-xing","wiki\u002F2026-09-20-导航\u002F0200-环境配置与运行","环境配置与运行",[7],"0200",{"path":1937,"stem":1938,"title":1939,"authors":1940,"date":1910,"chapterOrder":1941,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0100-robot-description","wiki\u002F2026-09-20-导航\u002F0300-0100-robot_description","robot_description（机器人模型与关节定义）",[7],"0300-0100",{"path":1943,"stem":1944,"title":1945,"authors":1946,"date":1910,"chapterOrder":1947,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0200-mid360-an-zhuang-wei-zhi","wiki\u002F2026-09-20-导航\u002F0300-0200-MID360安装位置","MID360安装位置",[7],"0300-0200",{"path":1949,"stem":1950,"title":1951,"authors":1952,"date":1910,"chapterOrder":1953,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0300-launch-yu-bao-yi-lai-pei-zhi","wiki\u002F2026-09-20-导航\u002F0300-0300-Launch与包依赖配置","Launch与包依赖配置",[7],"0300-0300",{"path":1955,"stem":1956,"title":1957,"authors":1958,"date":1910,"chapterOrder":1959,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0400-fang-zhen-shi-jue-you-hua","wiki\u002F2026-09-20-导航\u002F0300-0400-仿真视觉优化","仿真视觉优化（可选）",[7],"0300-0400",{"path":1961,"stem":1962,"title":1963,"authors":1964,"date":1910,"chapterOrder":1965,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0500-tian-jia-di-tu","wiki\u002F2026-09-20-导航\u002F0300-0500-添加地图","添加地图",[7],"0300-0500",{"path":1967,"stem":1968,"title":1969,"authors":1970,"date":1910,"chapterOrder":1971,"chapterDepth":1929,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-ji-qi-ren-mo-xing-yu-fang-zhen","wiki\u002F2026-09-20-导航\u002F0300-机器人模型与仿真","机器人模型与仿真",[7],"0300",{"path":1973,"stem":1974,"title":1975,"authors":1976,"date":1910,"chapterOrder":1977,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-0100-linux-yu-mcu-shu-ju-dui-jie","wiki\u002F2026-09-20-导航\u002F0400-0100-Linux与MCU数据对接","Linux与MCU数据对接",[7],"0400-0100",{"path":1979,"stem":1980,"title":1981,"authors":1982,"date":1910,"chapterOrder":1983,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-0200-chuan-kou-tong-xin","wiki\u002F2026-09-20-导航\u002F0400-0200-串口通信","Serial_Comm（串口通信）",[7],"0400-0200",{"path":1985,"stem":1986,"title":1987,"authors":1988,"date":1910,"chapterOrder":1989,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-0300-shou-bing-kong-zhi","wiki\u002F2026-09-20-导航\u002F0400-0300-手柄控制","Joy（手柄控制）",[7],"0400-0300",{"path":1991,"stem":1992,"title":1993,"authors":1994,"date":1910,"chapterOrder":1995,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-0400-mid360-yu-tf-lian-tiao","wiki\u002F2026-09-20-导航\u002F0400-0400-MID360与TF联调","MID360与TF联调",[7],"0400-0400",{"path":1997,"stem":1998,"title":1999,"authors":2000,"date":1910,"chapterOrder":2001,"chapterDepth":1929,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-ying-jian-dui-jie-yu-kong-zhi","wiki\u002F2026-09-20-导航\u002F0400-硬件对接与控制","硬件对接与控制",[7],"0400",{"path":2003,"stem":2004,"title":2005,"authors":2006,"date":1910,"chapterOrder":2007,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0100-point-lio","wiki\u002F2026-09-20-导航\u002F0500-0100-Point_LIO","Point_LIO（激光与IMU融合里程计，建图与定位算法）",[7],"0500-0100",{"path":2009,"stem":2010,"title":2011,"authors":2012,"date":1910,"chapterOrder":2013,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0200-loam-interface","wiki\u002F2026-09-20-导航\u002F0500-0200-loam_interface","loam_interface（Point-LIO输出的坐标与话题适配）",[7],"0500-0200",{"path":2015,"stem":2016,"title":2017,"authors":2018,"date":1910,"chapterOrder":2019,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0300-sensor-scan-generation","wiki\u002F2026-09-20-导航\u002F0500-0300-sensor_scan_generation","sensor_scan_generation（雷达点云换系与底盘、云台位姿转换）",[7],"0500-0300",{"path":1918,"stem":1920,"title":5,"authors":2021,"date":1910,"chapterOrder":1909,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},[7],{"path":2023,"stem":2024,"title":2025,"authors":2026,"date":1910,"chapterOrder":2027,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0500-terrain-analysis-ext","wiki\u002F2026-09-20-导航\u002F0500-0500-terrain_analysis_ext","terrain_analysis_ext（扩展远场地形与近远场结果合并）",[7],"0500-0500",{"path":2029,"stem":2030,"title":2031,"authors":2032,"date":1910,"chapterOrder":2033,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0600-fake-vel-transform","wiki\u002F2026-09-20-导航\u002F0500-0600-fake_vel_transform","fake_vel_transform（云台系速度转换与底盘自旋）",[7],"0500-0600",{"path":2035,"stem":2036,"title":2037,"authors":2038,"date":1910,"chapterOrder":2039,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0700-small-gicp-relocalization","wiki\u002F2026-09-20-导航\u002F0500-0700-small_gicp_relocalization","small_gicp_relocalization（先验点云地图重定位）",[7],"0500-0700",{"path":2041,"stem":2042,"title":2043,"authors":2044,"date":1910,"chapterOrder":2045,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0800-pointcloud-to-laserscan","wiki\u002F2026-09-20-导航\u002F0500-0800-pointcloud_to_laserscan","pointcloud_to_laserscan（三维地形点云转二维扫描）",[7],"0500-0800",{"path":2047,"stem":2048,"title":2049,"authors":2050,"date":1910,"chapterOrder":2051,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0900-slam-toolbox","wiki\u002F2026-09-20-导航\u002F0500-0900-slam_toolbox","slam_toolbox（二维地图生成与轨迹优化）",[7],"0500-0900",{"path":2053,"stem":2054,"title":2055,"authors":2056,"date":1910,"chapterOrder":2057,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1000-bt-navigator","wiki\u002F2026-09-20-导航\u002F0500-1000-bt_navigator","bt_navigator（行为树导航任务调度）",[7],"0500-1000",{"path":2059,"stem":2060,"title":2061,"authors":2062,"date":1910,"chapterOrder":2063,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1100-controller-server","wiki\u002F2026-09-20-导航\u002F0500-1100-controller_server","controller_server（路径跟踪、进度检查与到达判定）",[7],"0500-1100",{"path":2065,"stem":2066,"title":2067,"authors":2068,"date":1910,"chapterOrder":2069,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1200-local-costmap","wiki\u002F2026-09-20-导航\u002F0500-1200-local_costmap","local_costmap（局部障碍代价地图）",[7],"0500-1200",{"path":2071,"stem":2072,"title":2073,"authors":2074,"date":1910,"chapterOrder":2075,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1300-global-costmap","wiki\u002F2026-09-20-导航\u002F0500-1300-global_costmap","global_costmap（全局规划代价地图）",[7],"0500-1300",{"path":2077,"stem":2078,"title":2079,"authors":2080,"date":1910,"chapterOrder":2081,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1400-map-server","wiki\u002F2026-09-20-导航\u002F0500-1400-map_server","map_server（已有二维地图加载与发布）",[7],"0500-1400",{"path":2083,"stem":2084,"title":2085,"authors":2086,"date":1910,"chapterOrder":2087,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1500-map-saver","wiki\u002F2026-09-20-导航\u002F0500-1500-map_saver","map_saver（二维栅格地图保存）",[7],"0500-1500",{"path":2089,"stem":2090,"title":2091,"authors":2092,"date":1910,"chapterOrder":2093,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1600-planner-server","wiki\u002F2026-09-20-导航\u002F0500-1600-planner_server","planner_server（Theta*全局路径规划）",[7],"0500-1600",{"path":2095,"stem":2096,"title":2097,"authors":2098,"date":1910,"chapterOrder":2099,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1700-smoother-server","wiki\u002F2026-09-20-导航\u002F0500-1700-smoother_server","smoother_server（全局路径平滑）",[7],"0500-1700",{"path":2101,"stem":2102,"title":2103,"authors":2104,"date":1910,"chapterOrder":2105,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1800-behavior-server","wiki\u002F2026-09-20-导航\u002F0500-1800-behavior_server","behavior_server（恢复行为与空闲方向移动）",[7],"0500-1800",{"path":2107,"stem":2108,"title":2109,"authors":2110,"date":1910,"chapterOrder":2111,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1900-waypoint-follower","wiki\u002F2026-09-20-导航\u002F0500-1900-waypoint_follower","waypoint_follower（逐点导航与到点等待）",[7],"0500-1900",{"path":2113,"stem":2114,"title":2115,"authors":2116,"date":1910,"chapterOrder":2117,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-2000-velocity-smoother","wiki\u002F2026-09-20-导航\u002F0500-2000-velocity_smoother","velocity_smoother（速度限幅与加减速平滑）",[7],"0500-2000",{"path":2119,"stem":2120,"title":2121,"authors":2122,"date":1910,"chapterOrder":2123,"chapterDepth":299,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-2100-pb-teleop-twist-joy-node","wiki\u002F2026-09-20-导航\u002F0500-2100-pb_teleop_twist_joy_node","pb_teleop_twist_joy_node（手柄输入与可替换控制入口）",[7],"0500-2100",{"path":2125,"stem":2126,"title":2127,"authors":2128,"date":1910,"chapterOrder":2129,"chapterDepth":1929,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-dao-hang-can-shu","wiki\u002F2026-09-20-导航\u002F0500-导航参数","导航参数",[7],"0500",{"path":2131,"stem":2132,"title":2133,"authors":2134,"date":1910,"chapterOrder":2135,"chapterDepth":1929,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0600-kai-fa-wen-ti-yu-pai-cha","wiki\u002F2026-09-20-导航\u002F0600-开发问题与排查","开发问题与排查",[7],"0600",{"path":2137,"stem":2138,"title":2139,"authors":2140,"date":1910,"chapterOrder":2141,"chapterDepth":1929,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1916},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0700-jue-ce","wiki\u002F2026-09-20-导航\u002F0700-决策","决策",[7],"0700",{"path":1912,"stem":2143,"title":2144,"authors":2145,"date":1910,"chapterOrder":2146,"chapterDepth":1929,"docKey":1911,"docRoot":1912,"docTitle":1913,"isWikiDoc":1915,"isWikiIndex":1915},"wiki\u002F2026-09-20-导航\u002Findex","北极熊导航复现日志",[7],null,[2148,2150,2153,2156],{"name":7,"image":2149},"\u002Fimages\u002Fmember_photo\u002F董佳辉.jpg",{"name":2151,"image":2152},"宫金良","\u002Fimages\u002Fmember_photo\u002F宫金良.jpg",{"name":2154,"image":2155},"巩丽","\u002Fimages\u002Fmember_photo\u002F巩丽.png",{"name":2157,"image":2158},"张彦斐","\u002Fimages\u002Fmember_photo\u002F张彦斐.jpg",1792431906121]