[{"data":1,"prerenderedAt":1491},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0800-pointcloud-to-laserscan":3,"wiki-doc-items-2026-09-20-dao-hang":1254,"wiki:author-members":1479},{"id":4,"title":5,"authors":6,"body":8,"chapterDepth":219,"chapterOrder":1241,"date":1242,"description":31,"docKey":1243,"docRoot":1244,"docTitle":1245,"extension":1246,"isWikiDoc":1247,"isWikiIndex":1248,"meta":1249,"navigation":1247,"path":1250,"seo":1251,"stem":1252,"wikiDepth":219,"__hash__":1253},"wiki\u002Fwiki\u002F2026-09-20-导航\u002F0500-0800-pointcloud_to_laserscan.md","pointcloud_to_laserscan（三维地形点云转二维扫描）",[7],"董佳辉",{"type":9,"value":10,"toc":1235},"minimark",[11,15,20,24,35,46,65,189,192,197,201,208,392,403,920,923,928,942,949,956,959,964,967,971,981,984,1034,1041,1047,1053,1056,1059,1063,1070,1073,1076,1083,1087,1094,1097,1100,1104,1107,1117,1120,1124,1127,1130,1133,1137,1143,1146,1149,1152,1198,1201,1231],[12,13,5],"h2",{"id":14},"pointcloud_to_laserscan三维地形点云转二维扫描",[16,17,19],"h3",{"id":18},"实车先看哪些三维点会被画进二维地图","实车先看：哪些三维点会被画进二维地图",[21,22,23],"p",{},"当前建图链为：",[25,26,32],"pre",{"className":27,"code":29,"language":30,"meta":31},[28],"language-text","terrain_map_ext（odom系地形点）\n    → pointcloud_to_laserscan（转到底盘系，筛选并投影）\n    → obstacle_scan（base_footprint系二维扫描）\n    → slam_toolbox（二维建图）\n","text","",[33,34,29],"code",{"__ignoreMap":31},[21,36,37,38,41,42,45],{},"这个节点在整套 ",[33,39,40],{},"slam:=True"," 启动中使用。已有地图导航 ",[33,43,44],{},"slam:=False"," 不走这个入口；当前局部／全局代价地图直接使用地形点云，并非依靠这份二维扫描更新障碍。",[21,47,48,56,57,60,61,64],{},[49,50,51,52,55],"strong",{},"扫描以 ",[33,53,54],{},"base_footprint"," 原点为中心，方向按底盘系表达。"," 输入虽来自MID360，却不是原始雷达点云，而是 ",[33,58,59],{},"terrain_map_ext","；其中 ",[33,62,63],{},"intensity"," 已被改成相对估计地面的高差，单位m，不是雷达反射强度。",[66,67,68,84],"table",{},[69,70,71],"thead",{},[72,73,74,78,81],"tr",{},[75,76,77],"th",{},"实车上看到的现象",[75,79,80],{},"先看哪些参数或条件",[75,82,83],{},"怎样理解",[85,86,87,102,116,134,150,164,178],"tbody",{},[72,88,89,93,99],{},[90,91,92],"td",{},"正常坡面被画成障碍",[90,94,95,96],{},"地形估计、",[33,97,98],{},"min_intensity",[90,100,101],{},"当前10 cm高差门槛可能接纳被误估成凸起／凹陷的坡点；降低门槛也会接纳更多小障碍和噪声",[72,103,104,107,113],{},[90,105,106],{},"下坡较远处的点消失",[90,108,109,112],{},[33,110,111],{},"min_height","、target_frame方向",[90,114,115],{},"这里重新要求底盘系z不低于-0.5 m；上游按距离放宽高度范围，并不保证能通过这里",[72,117,118,121,131],{},[90,119,120],{},"高处横梁、悬空结构被画成墙",[90,122,123,126,127,130],{},[33,124,125],{},"max_height","、",[33,128,129],{},"max_intensity","、上游地形筛选",[90,132,133],{},"通过筛选的点会压到二维平面；目前z上限6 m很宽，是否妨碍车辆通行需按实车包络判断",[72,135,136,139,147],{},[90,137,138],{},"车旁小障碍没进入地图",[90,140,141,126,144,146],{},[33,142,143],{},"range_min",[33,145,98],{}," 和上游输出",[90,148,149],{},"0.3 m内的点或高差不足10 cm的点会被删；本节点也不能恢复上游丢掉的点",[72,151,152,155,161],{},[90,153,154],{},"小杆或障碍边缘漏掉",[90,156,157,160],{},[33,158,159],{},"angle_increment","、点云密度",[90,162,163],{},"当前约0.5°一个角度格，每格只留最近合格点；分格更细不能补出原本没有的回波",[72,165,166,169,175],{},[90,167,168],{},"以为扫描固定20 Hz，实际不是",[90,170,171,174],{},[33,172,173],{},"scan_time","、输入点云周期",[90,176,177],{},"0.05 s只写入消息，发布由点云回调驱动，没有20 Hz发布定时器",[72,179,180,183,186],{},[90,181,182],{},"有点云却没有扫描",[90,184,185],{},"下游订阅、坐标TF、字段",[90,187,188],{},"没人订阅扫描时不接点云；当前需要有效TF以及XYZ、intensity字段",[16,190,191],{"id":191},"参数",[193,194,196],"h4",{"id":195},"ros__parametersros节点参数","ros__parameters（ROS节点参数）",[198,199,200],"h5",{"id":200},"参数表",[21,202,203,204,207],{},"前13项对应当前实物 YAML；仿真仅 ",[33,205,206],{},"use_sim_time=True","。另外列出源码默认的3项，明确TF等待与无回波编码的条件。",[25,209,213],{"className":210,"code":211,"language":212,"meta":31,"style":31},"language-yaml shiki shiki-themes github-light github-dark","pointcloud_to_laserscan:\n  ros__parameters:\n    use_sim_time: False\n    target_frame: base_footprint\n    min_height: -0.5\n    max_height: 6.0\n    min_intensity: 0.1\n    max_intensity: 2.0\n    angle_min: -3.1415926                   # 约 -π，-180°\n    angle_max: 3.1415926                    # 约 +π，+180°\n    angle_increment: 0.00872665             # 约 π\u002F360，0.5°\n    scan_time: 0.05\n    range_min: 0.3\n    range_max: 10.0\n    use_inf: true\n","yaml",[33,214,215,228,236,249,261,272,283,294,305,320,334,348,359,370,381],{"__ignoreMap":31},[216,217,220,224],"span",{"class":218,"line":219},"line",1,[216,221,223],{"class":222},"s9eBZ","pointcloud_to_laserscan",[216,225,227],{"class":226},"sVt8B",":\n",[216,229,231,234],{"class":218,"line":230},2,[216,232,233],{"class":222},"  ros__parameters",[216,235,227],{"class":226},[216,237,239,242,245],{"class":218,"line":238},3,[216,240,241],{"class":222},"    use_sim_time",[216,243,244],{"class":226},": ",[216,246,248],{"class":247},"sj4cs","False\n",[216,250,252,255,257],{"class":218,"line":251},4,[216,253,254],{"class":222},"    target_frame",[216,256,244],{"class":226},[216,258,260],{"class":259},"sZZnC","base_footprint\n",[216,262,264,267,269],{"class":218,"line":263},5,[216,265,266],{"class":222},"    min_height",[216,268,244],{"class":226},[216,270,271],{"class":247},"-0.5\n",[216,273,275,278,280],{"class":218,"line":274},6,[216,276,277],{"class":222},"    max_height",[216,279,244],{"class":226},[216,281,282],{"class":247},"6.0\n",[216,284,286,289,291],{"class":218,"line":285},7,[216,287,288],{"class":222},"    min_intensity",[216,290,244],{"class":226},[216,292,293],{"class":247},"0.1\n",[216,295,297,300,302],{"class":218,"line":296},8,[216,298,299],{"class":222},"    max_intensity",[216,301,244],{"class":226},[216,303,304],{"class":247},"2.0\n",[216,306,308,311,313,316],{"class":218,"line":307},9,[216,309,310],{"class":222},"    angle_min",[216,312,244],{"class":226},[216,314,315],{"class":247},"-3.1415926",[216,317,319],{"class":318},"sJ8bj","                   # 约 -π，-180°\n",[216,321,323,326,328,331],{"class":218,"line":322},10,[216,324,325],{"class":222},"    angle_max",[216,327,244],{"class":226},[216,329,330],{"class":247},"3.1415926",[216,332,333],{"class":318},"                    # 约 +π，+180°\n",[216,335,337,340,342,345],{"class":218,"line":336},11,[216,338,339],{"class":222},"    angle_increment",[216,341,244],{"class":226},[216,343,344],{"class":247},"0.00872665",[216,346,347],{"class":318},"             # 约 π\u002F360，0.5°\n",[216,349,351,354,356],{"class":218,"line":350},12,[216,352,353],{"class":222},"    scan_time",[216,355,244],{"class":226},[216,357,358],{"class":247},"0.05\n",[216,360,362,365,367],{"class":218,"line":361},13,[216,363,364],{"class":222},"    range_min",[216,366,244],{"class":226},[216,368,369],{"class":247},"0.3\n",[216,371,373,376,378],{"class":218,"line":372},14,[216,374,375],{"class":222},"    range_max",[216,377,244],{"class":226},[216,379,380],{"class":247},"10.0\n",[216,382,384,387,389],{"class":218,"line":383},15,[216,385,386],{"class":222},"    use_inf",[216,388,244],{"class":226},[216,390,391],{"class":247},"true\n",[21,393,394,395,398,399,402],{},"原配置把 ",[33,396,397],{},"angle_min\u002Fmax"," 的注释写成 ",[33,400,401],{},"±π\u002F2","，与数值不符；当前数值对应约±π，扫描角域约360°，不是180°。",[66,404,405,433],{},[69,406,407],{},[72,408,409,412,415,418,421,424,427,430],{},[75,410,411],{},"参数名",[75,413,414],{},"当前值",[75,416,417],{},"单位",[75,419,420],{},"实车处理建议",[75,422,423],{},"作用",[75,425,426],{},"调大效果",[75,428,429],{},"调小效果",[75,431,432],{},"生效条件／备注",[85,434,435,470,498,528,558,589,620,650,679,708,738,768,798,827,859,888],{},[72,436,437,442,451,454,459,462,465,467],{},[90,438,439],{},[33,440,441],{},"use_sim_time",[90,443,444,447,448],{},[33,445,446],{},"False","；仿真 ",[33,449,450],{},"True",[90,452,453],{},"不适用，布尔",[90,455,456],{},[49,457,458],{},"上实物前必须核对并正确配置",[90,460,461],{},"控制节点与TF缓存的ROS时间",[90,463,464],{},"不适用",[90,466,464],{},[90,468,469],{},"输出沿用输入点云时间戳，不重新按当前时间打点；应与上游和机械TF使用相同时间域",[72,471,472,477,481,484,488,491,493,495],{},[90,473,474],{},[33,475,476],{},"target_frame",[90,478,479],{},[33,480,54],{},[90,482,483],{},"不适用，坐标系名称",[90,485,486],{},[49,487,458],{},[90,489,490],{},"先把点坐标转到此系，再按它的原点和轴投影",[90,492,464],{},[90,494,464],{},[90,496,497],{},"当前是底盘系虚拟扫描；不是只改frame_id；TF不可用时无法正常转换；空值保留输入系",[72,499,500,504,509,512,516,519,522,525],{},[90,501,502],{},[33,503,111],{},[90,505,506],{},[33,507,508],{},"-0.5",[90,510,511],{},"m，目标系z下界",[90,513,514],{},[49,515,458],{},[90,517,518],{},"删除低于底盘原点下方0.5 m的点",[90,520,521],{},"下界上移，更多低处／下坡点被删",[90,523,524],{},"下界下移，保留更多低处点，也可能引入无关低层",[90,526,527],{},"固定高度窗口，不随距离扩大；不是相对局部地面的高差",[72,529,530,534,539,542,546,549,552,555],{},[90,531,532],{},[33,533,125],{},[90,535,536],{},[33,537,538],{},"6.0",[90,540,541],{},"m，目标系z上界",[90,543,544],{},[49,545,458],{},[90,547,548],{},"删除高于底盘原点上方6 m的点",[90,550,551],{},"保留更多高处点，悬空结构也可能进入二维图",[90,553,554],{},"更多高处点被删，也可能丢掉障碍的可见部分",[90,556,557],{},"不是整车高度；点还必须通过高差门槛与上游规则，调大不保证出现更多点",[72,559,560,564,569,572,577,580,583,586],{},[90,561,562],{},[33,563,98],{},[90,565,566],{},[33,567,568],{},"0.1",[90,570,571],{},"m，当前地形点的高差下界",[90,573,574],{},[49,575,576],{},"实物运行时重点观察，有问题再针对性调整",[90,578,579],{},"只接纳相对估计地面高差至少10 cm的点",[90,581,582],{},"忽略更多小高差，可能减少坡面误判，也会漏低障碍",[90,584,585],{},"接纳更多低障碍，也更容易把地面噪声／坡面当障碍",[90,587,588],{},"当前输入不是反射强度；地形估计不准时不能只靠这项纠正",[72,590,591,595,600,603,608,611,614,617],{},[90,592,593],{},[33,594,129],{},[90,596,597],{},[33,598,599],{},"2.0",[90,601,602],{},"m，当前地形点的高差上界",[90,604,605],{},[49,606,607],{},"通常保持当前值，不作为优先调试项",[90,609,610],{},"删除高差超过2 m的点",[90,612,613],{},"允许更多大高差点",[90,615,616],{},"更多大高差点被删",[90,618,619],{},"当前近场正常高差低于0.5 m、远场低于1 m，2 m通常不再额外裁剪；条件仍被执行",[72,621,622,627,631,634,638,641,644,647],{},[90,623,624],{},[33,625,626],{},"angle_min",[90,628,629],{},[33,630,315],{},[90,632,633],{},"rad，目标系平面方位角",[90,635,636],{},[49,637,607],{},[90,639,640],{},"指定角域下界，当前约-180°",[90,642,643],{},"下界提高，角域缩小",[90,645,646],{},"下界降低，角域扩大",[90,648,649],{},"与上界共同定义方位覆盖；不是雷达垂直视场或云台机械角",[72,651,652,657,661,663,667,670,673,676],{},[90,653,654],{},[33,655,656],{},"angle_max",[90,658,659],{},[33,660,330],{},[90,662,633],{},[90,664,665],{},[49,666,607],{},[90,668,669],{},"指定角域上界，当前约+180°",[90,671,672],{},"上界提高，角域扩大",[90,674,675],{},"上界降低，角域缩小",[90,677,678],{},"当前近似整圈；需与下界、增量及数组边界共同核对",[72,680,681,685,689,692,696,699,702,705],{},[90,682,683],{},[33,684,159],{},[90,686,687],{},[33,688,344],{},[90,690,691],{},"rad／角度格，约0.5°",[90,693,694],{},[49,695,576],{},[90,697,698],{},"把方位角划分为离散格",[90,700,701],{},"格子更粗、项数减少，近邻方向更易合并",[90,703,704],{},"格子更细、项数增加，稀疏输入时空格更多",[90,706,707],{},"当前生成720项；不改变MID360采样密度或点云降采样；应为正数",[72,709,710,714,719,722,726,729,732,735],{},[90,711,712],{},[33,713,173],{},[90,715,716],{},[33,717,718],{},"0.05",[90,720,721],{},"s，消息中的扫描间隔",[90,723,724],{},[49,725,458],{},[90,727,728],{},"给LaserScan.scan_time字段赋值",[90,730,731],{},"消息声明更长间隔，发布周期不变",[90,733,734],{},"消息声明更短间隔，发布周期不变",[90,736,737],{},"应与实际输入／输出扫描周期对应；不是固定20 Hz开关；time_increment另写死为0",[72,739,740,744,749,752,756,759,762,765],{},[90,741,742],{},[33,743,143],{},[90,745,746],{},[33,747,748],{},"0.3",[90,750,751],{},"m，目标系水平距离",[90,753,754],{},[49,755,458],{},[90,757,758],{},"删除虚拟中心0.3 m内的点",[90,760,761],{},"近处点删得更多，可能漏车旁障碍",[90,763,764],{},"保留更多近点，也可能带入自车回波",[90,766,767],{},"距离为sqrt(x²+y²)，以base_footprint为中心；不是雷达三维斜距或完整自车掩膜",[72,769,770,775,780,782,786,789,792,795],{},[90,771,772],{},[33,773,774],{},"range_max",[90,776,777],{},[33,778,779],{},"10.0",[90,781,751],{},[90,783,784],{},[49,785,576],{},[90,787,788],{},"删除虚拟中心10 m外的点",[90,790,791],{},"接纳更远的已有点，也增加远处稀疏／噪声影响",[90,793,794],{},"截掉更多远处轮廓",[90,796,797],{},"不提高硬件量程；还受地形输出覆盖和下游扫描范围限制",[72,799,800,805,810,812,817,820,822,824],{},[90,801,802],{},[33,803,804],{},"use_inf",[90,806,807],{},[33,808,809],{},"true",[90,811,453],{},[90,813,814],{},[49,815,816],{},"根据实际功能需求开启或设置",[90,818,819],{},"为没有合格点的角度格选择无回波表示",[90,821,464],{},[90,823,464],{},[90,825,826],{},"True写+∞；False写range_max+inf_epsilon；没有合格回波不等于确定空地",[72,828,829,834,840,843,847,850,853,856],{},[90,830,831],{},[33,832,833],{},"transform_tolerance",[90,835,836,839],{},[33,837,838],{},"0.01","，源码默认；YAML未配置",[90,841,842],{},"s，变换查询等待时间",[90,844,845],{},[49,846,607],{},[90,848,849],{},"点云转换时等待所需TF",[90,851,852],{},"可等待更久，也可能延后处理",[90,854,855],{},"更快放弃缺失变换",[90,857,858],{},"当前传给TF查询的timeout；不是时间戳偏移或点云同步误差容差；空target_frame时不用",[72,860,861,866,869,872,876,879,882,885],{},[90,862,863],{},[33,864,865],{},"queue_size",[90,867,868],{},"硬件并发线程数，源码默认；YAML未配置",[90,870,871],{},"消息数，计数",[90,873,874],{},[49,875,607],{},[90,877,878],{},"设置点云订阅及TF消息过滤队列深度",[90,880,881],{},"可暂存更多消息，可能增加积压",[90,883,884],{},"缓存更少，TF未就绪时更易丢消息",[90,886,887],{},"默认随机器而变；不是CPU工作线程数、发布频率或扫描点数",[72,889,890,895,900,903,908,911,914,917],{},[90,891,892],{},[33,893,894],{},"inf_epsilon",[90,896,897,839],{},[33,898,899],{},"1.0",[90,901,902],{},"m，超出量程的附加值",[90,904,905],{},[49,906,907],{},"当前运行不使用这个参数，暂不调整",[90,909,910],{},"use_inf=False时生成无回波哨兵值",[90,912,913],{},"启用该分支后：哨兵值离range_max更远",[90,915,916],{},"启用该分支后：哨兵值更接近range_max",[90,918,919],{},"当前use_inf=True，不参与结果；False时默认无回波为10+1=11 m；启用时宜保持正附加值，避免落入有效量程",[198,921,922],{"id":922},"参数详解",[924,925,927],"h6",{"id":926},"target_frame扫描的中心和方向是底盘不是云台或雷达","target_frame：扫描的中心和方向是底盘，不是云台或雷达",[21,929,930,931,933,934,937,938,941],{},"当前输入 ",[33,932,59],{}," 的点坐标在odom中；转换使用输入消息时间戳对应的 ",[33,935,936],{},"base_footprint←odom","，随后以转换后的x、y、z筛选。输出 ",[33,939,940],{},"obstacle_scan.header.frame_id"," 为base_footprint，时间戳沿用输入。",[21,943,944,945,948],{},"平面角度以该系+x为0，绕+z逆时针为正；距离以该系原点计算。它与 ",[33,946,947],{},"fake_vel_transform"," 最终按云台系表达的速度指令是两条不同接口：这里处理测距轮廓，没有给底盘或云台下运动指令。",[21,950,951,952,955],{},"因此这是",[49,953,954],{},"底盘原点上的虚拟二维扫描","，不是MID360原点上的真实激光束。MID360与底盘有安装偏移，不能把range_min理解成“离雷达外壳0.3 m”。输入是累积地形结果，含不同时间、不同高度的点；同一角度格只留最近的合格点，也不重新验证从底盘虚拟中心到该点是否存在真实光路或遮挡。",[21,957,958],{},"正确的上游配准和机械TF应让独立云台yaw转动后的静态环境仍转换到底盘方向；不能对这份点再手工重复加一个云台角。MID360挂在gimbal_yaw、随yaw不随pitch转动，两条odom关节固定的机械约定继续适用。",[21,960,961,963],{},[33,962,54],{}," 这个名字不会自动把TF中的z、roll、pitch清零。当前sensor_scan_generation保留完整三维位姿，所以投影是该系的x-y平面；上坡时它是否真正与地面投影／预期水平面对应，需要核对参考系定义及上游姿态，不能仅凭名称判断。",[21,965,966],{},"若target_frame设空，源码不转换点，直接在输入系中计算。当前输入为odom，这就变成以odom原点和方向作虚拟中心；机器人移动后，它不等价于仍以底盘为中心投影。",[924,968,970],{"id":969},"min_heightmax_height-与两项intensity两把不同的尺","min_height、max_height 与两项intensity：两把不同的尺",[21,972,973,974,977,978,980],{},"高度窗口看 ",[33,975,976],{},"z_base_footprint","，即点相对底盘原点、沿底盘z轴的坐标；高差窗口看 ",[33,979,63],{},"，即上游地形分析给出的“离估计地面多远”。它们单位都是m，但基准不同。",[21,982,983],{},"假设上游已保留这些点，其他条件也满足：",[66,985,986,1000],{},[69,987,988],{},[72,989,990,994,997],{},[75,991,993],{"align":992},"right","点在底盘系中的z",[75,995,996],{"align":992},"上游给出的地形高差",[75,998,999],{},"本节点结果",[85,1001,1002,1013,1023],{},[72,1003,1004,1007,1010],{},[90,1005,1006],{"align":992},"+0.2 m",[90,1008,1009],{"align":992},"0.15 m",[90,1011,1012],{},"两个窗口都通过，参与二维投影",[72,1014,1015,1017,1020],{},[90,1016,1006],{"align":992},[90,1018,1019],{"align":992},"0.06 m",[90,1021,1022],{},"高差不足0.1 m，被删",[72,1024,1025,1028,1031],{},[90,1026,1027],{"align":992},"-0.7 m",[90,1029,1030],{"align":992},"0.2 m",[90,1032,1033],{},"低于-0.5 m高度下界，被删，即使高差足够",[21,1035,1036,1037,1040],{},"所以远处下坡点即使通过扩展地形节点随距离放宽的窗口，仍可能在这里被固定下界删掉。上坡、下坡是否连续可见，要同时看target_frame的方向与高度窗口；",[33,1038,1039],{},"disRatioZ"," 不会替本节点放宽范围。",[21,1042,1043,1046],{},[33,1044,1045],{},"min_intensity=0.1"," 把10 cm作为进入二维障碍轮廓的高差下限，不是说车辆能跨10 cm台阶。降低它可能看见更低障碍，也可能把正常地面或坡面误差画进地图；提高它会减少小高差轮廓，却可能漏掉对实车危险的低障碍。远场地形高差取绝对值，坡面较低一侧也可能过门槛；近场目前忽略负高差，4 m交接处的差异仍会传入扫描。",[21,1048,1049,1052],{},[33,1050,1051],{},"max_height=6.0"," 的窗口很宽。若高处横梁等点通过上游和高差筛选，就会被压到二维地图中，即使车本来能从下面通过也可能形成障碍轮廓。应该根据底盘、云台活动包络与悬空结构核对要保留的高度，不能把它当模型尺寸；同时也不能只调小上限而漏掉障碍唯一可见的部位。",[21,1054,1055],{},"当前正常地形输出近场高差低于0.5 m、远场低于1 m，因此max_intensity=2 m通常不额外删点；这不表示参数没被读取。若换输入、调整上游或出现其他标记点，效果会改变。高度与高差门槛使用“小于下界／大于上界则删除”，边界值可通过。",[21,1057,1058],{},"本地实现要求float类型的XYZ与intensity字段；没有intensity字段的点云不能直接套用。若接原始雷达点，intensity可能恢复为反射强度，这时0.1／2.0不再代表10 cm／2 m；不应仅换话题继续沿用当前解释。",[924,1060,1062],{"id":1061},"angle_minangle_max-与-angle_increment整圈分成720格","angle_min、angle_max 与 angle_increment：整圈分成720格",[21,1064,1065,1066,1069],{},"当前角域约为-180°～+180°，增量约0.5°，源码生成720个距离项。角度是目标系中的 ",[33,1067,1068],{},"atan2(y,x)","，不是雷达垂直视场、安装倾角或云台机械yaw范围。",[21,1071,1072],{},"同一角度格内有多个合格点时，只保留水平距离最近的一个。例如，同方向2 m和5 m处各有点，扫描只留2 m；二维扫描不会同时表达它们的高度或多层结构。",[21,1074,1075],{},"0.5°在10 m处对应横向约8.7 cm，在1 m处约8.7 mm；这里只说明角度分格的几何尺度，不是定位精度，也不保证这么细的障碍都能看见。输入点云经过上游筛选与降采样，调小角增量不会增加实际回波。",[21,1077,1078,1079,1082],{},"源码先以 ",[33,1080,1081],{},"ceil((angle_max-angle_min)\u002Fangle_increment)"," 建数组，再计算下标。当前实现没有检查下标是否越界，而角度上界允许通过；当角域与增量恰好形成整数分格时，上界点存在越界路径。当前近似整圈设置得到720项，不能据此证明其他角度组合的边界安全；该缺口尚无运行触发记录。",[924,1084,1086],{"id":1085},"range_min-与-range_max底盘周围的水平圆环","range_min 与 range_max：底盘周围的水平圆环",[21,1088,1089,1090,1093],{},"当前保留0.3～10.0 m水平距离的点，按 ",[33,1091,1092],{},"sqrt(x²+y²)"," 计算，不含z。相同x、y而高度不同的点，只要过高度／高差窗口，测距数值就一样。",[21,1095,1096],{},"增大range_min可排掉更多近处回波，但也会漏掉车旁障碍；减小则可能带入车体、云台或其他自车点。0.3 m圆形门槛不是完整车辆轮廓，距底盘原点更远的自车回波仍可能留下，需要结合安装位置与真实车体观察。",[21,1098,1099],{},"增大range_max只允许更多已经存在的远点，不能让雷达看到更远，也不能恢复上游删点。当前slam_toolbox另配置min_laser_range=0.3、max_laser_range=10.0，两级范围应一起核对；下游参数用途另属建图参数块。",[924,1101,1103],{"id":1102},"scan_time时间字段不是发布频率开关","scan_time：时间字段，不是发布频率开关",[21,1105,1106],{},"LaserScan定义中scan_time表示扫描之间的时间间隔。这里没有测量实际间隔，只把参数0.05 s写入消息；输出由输入点云驱动，实际周期取决于地形点云、TF与计算过程。",[21,1108,1109,1112,1113,1116],{},[33,1110,1111],{},"time_increment"," 写死为0，表示没有逐束时间差；",[33,1114,1115],{},"header.stamp"," 沿用输入点云时间。地形输入含历史点，不能把这个结果当成所有射线确实在同一时刻由物理二维雷达采集，也不能用scan_time代替运动补偿或修复上游点时间单位。",[21,1118,1119],{},"实际发布周期应按对应启动模式测量后核对。修改scan_time只会改字段，不会使10 Hz输入变成20 Hz扫描，也不会给各个角度格补出真实采样时间。",[924,1121,1123],{"id":1122},"use_inf-与-inf_epsilon无回波不等于确定空地","use_inf 与 inf_epsilon：无回波不等于确定空地",[21,1125,1126],{},"True先把每格距离设为+∞，再用最近合格点覆盖；某格没有合格点就保留∞。False则先设为range_max+inf_epsilon，当前默认组合是11 m，仍超出10 m有效量程。",[21,1128,1129],{},"“没有合格点”可以来自真实无回波，也可以来自缺数据、遮挡、上游删除、高度／高差过滤或角度格里没有样本；不能仅凭∞就判断这条方向安全。下游怎样处理无效／超量程值，应按对应扫描使用者的实现核对。",[21,1131,1132],{},"输出只填ranges，不填LaserScan.intensities。这里的两项intensity参数用于挑选输入点，并不把地形高差继续作为扫描强度发布。",[924,1134,1136],{"id":1135},"默认tf参数与订阅条件","默认TF参数与订阅条件",[21,1138,1139,1142],{},[33,1140,1141],{},"transform_tolerance=0.01 s"," 在当前代码中作为转换查询的等待超时；它不是点云和TF可以错开0.01秒的补偿量，也没有把消息时间戳前移／后移。TF消息过滤器按输入时间等待目标变换，queue_size控制其队列以及点云订阅深度。TF转换失败的回调直接返回，不用单位变换继续生成扫描。",[21,1144,1145],{},"节点只有在scan输出存在订阅者时才订阅cloud_in；最后一个扫描订阅者消失后，会取消点云订阅。输入和输出均使用SensorDataQoS；兼容的订阅QoS与有效TF是收到扫描的前提。全是被过滤的点时，仍可发布一帧全为无回波值的扫描，不能把“有扫描消息”视为障碍轮廓正确。",[21,1147,1148],{},"默认queue_size取硬件并发线程数，适合先沿用；若消息排队或TF等待导致丢点，再按实际数据率和负载核对，不把队列长度当成工作线程数。",[924,1150,1151],{"id":1151},"启动来源与验证状态",[66,1153,1154,1164],{},[69,1155,1156],{},[72,1157,1158,1161],{},[75,1159,1160],{},"启动方式",[75,1162,1163],{},"配置与输入输出来源",[85,1165,1166,1174,1182,1190],{},[72,1167,1168,1171],{},[90,1169,1170],{},"整套reality，slam=True",[90,1172,1173],{},"实物nav2_params.yaml经slam_launch传入；cloud_in重映射为terrain_map_ext，scan为obstacle_scan；target_frame=base_footprint",[72,1175,1176,1179],{},[90,1177,1178],{},"整套simulation，slam=True",[90,1180,1181],{},"仿真nav2_params.yaml，13项中仅use_sim_time=True不同；同样的输入输出与目标系",[72,1183,1184,1187],{},[90,1185,1186],{},"整套slam=False",[90,1188,1189],{},"进入已有地图定位流程，不启动这个转换节点",[72,1191,1192,1195],{},[90,1193,1194],{},"包内sample_pointcloud_to_laserscan_launch.py",[90,1196,1197],{},"示例点云发布器与静态TF；目标系cloud、高度0～1 m、角域约±90°、scan_time=0.3333、距离0.45～4 m，未读取整套YAML",[21,1199,1200],{},"15项自定义参数在构造时读取，没有动态参数更新回调；同名参数运行时改变不自动更新这些成员或重建TF过滤器。ROS标准use_sim_time由节点时钟处理。当前use_inf=True使inf_epsilon不参与输出，其他门槛仍按各自条件执行。",[1202,1203,1204,1219,1225],"ul",{},[1205,1206,1207,1210,1211,1214,1215,1218],"li",{},[49,1208,1209],{},"源码依据："," ",[33,1212,1213],{},"pointcloud_to_laserscan\u002Fsrc\u002Fpointcloud_to_laserscan_node.cpp","；启动接线见 ",[33,1216,1217],{},"pb2025_nav_bringup\u002Flaunch\u002Fslam_launch.py","，LaserScan字段定义见ROS2 sensor_msgs。",[1205,1220,1221,1224],{},[49,1222,1223],{},"已有验证范围："," 独立Point-LIO静止与短距离往返已有输出记录；该转换节点的二维扫描、建图轮廓、云台连续yaw和坡道投影尚未验证。",[1205,1226,1227,1230],{},[49,1228,1229],{},"实物待核实："," 底盘原点与投影平面、IMU／雷达／底盘转换、上下坡点是否被固定高度窗口截掉、低障碍与悬空结构的保留范围、自车回波、角度覆盖、实际扫描周期及无回波区域的下游处理。",[1232,1233,1234],"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 pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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":31,"searchDepth":230,"depth":230,"links":1236},[1237],{"id":14,"depth":230,"text":5,"children":1238},[1239,1240],{"id":18,"depth":238,"text":19},{"id":191,"depth":238,"text":191},"0500-0800","2026-09-20","2026-09-20-dao-hang","\u002Fwiki\u002F2026-09-20-dao-hang","导航","md",true,false,{},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0800-pointcloud-to-laserscan",{"title":5,"description":31},"wiki\u002F2026-09-20-导航\u002F0500-0800-pointcloud_to_laserscan","hNIfjg3gSBxGl04Wx3IhKilmuT9Es-qGJ1aF9b-WqFw",[1255,1262,1268,1274,1280,1286,1292,1298,1304,1310,1316,1322,1328,1334,1340,1346,1352,1358,1364,1370,1376,1378,1384,1390,1396,1402,1408,1414,1420,1426,1432,1438,1444,1450,1456,1462,1468,1474],{"path":1256,"stem":1257,"title":1258,"authors":1259,"date":1242,"chapterOrder":1260,"chapterDepth":1261,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0100-jian-jie","wiki\u002F2026-09-20-导航\u002F0100-简介","简介",[7],"0100",0,{"path":1263,"stem":1264,"title":1265,"authors":1266,"date":1242,"chapterOrder":1267,"chapterDepth":1261,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0200-huan-jing-pei-zhi-yu-yun-xing","wiki\u002F2026-09-20-导航\u002F0200-环境配置与运行","环境配置与运行",[7],"0200",{"path":1269,"stem":1270,"title":1271,"authors":1272,"date":1242,"chapterOrder":1273,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0100-robot-description","wiki\u002F2026-09-20-导航\u002F0300-0100-robot_description","robot_description（机器人模型与关节定义）",[7],"0300-0100",{"path":1275,"stem":1276,"title":1277,"authors":1278,"date":1242,"chapterOrder":1279,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1281,"stem":1282,"title":1283,"authors":1284,"date":1242,"chapterOrder":1285,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1287,"stem":1288,"title":1289,"authors":1290,"date":1242,"chapterOrder":1291,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0400-fang-zhen-shi-jue-you-hua","wiki\u002F2026-09-20-导航\u002F0300-0400-仿真视觉优化","仿真视觉优化（可选）",[7],"0300-0400",{"path":1293,"stem":1294,"title":1295,"authors":1296,"date":1242,"chapterOrder":1297,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0500-tian-jia-di-tu","wiki\u002F2026-09-20-导航\u002F0300-0500-添加地图","添加地图",[7],"0300-0500",{"path":1299,"stem":1300,"title":1301,"authors":1302,"date":1242,"chapterOrder":1303,"chapterDepth":1261,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-ji-qi-ren-mo-xing-yu-fang-zhen","wiki\u002F2026-09-20-导航\u002F0300-机器人模型与仿真","机器人模型与仿真",[7],"0300",{"path":1305,"stem":1306,"title":1307,"authors":1308,"date":1242,"chapterOrder":1309,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1311,"stem":1312,"title":1313,"authors":1314,"date":1242,"chapterOrder":1315,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-0200-chuan-kou-tong-xin","wiki\u002F2026-09-20-导航\u002F0400-0200-串口通信","Serial_Comm（串口通信）",[7],"0400-0200",{"path":1317,"stem":1318,"title":1319,"authors":1320,"date":1242,"chapterOrder":1321,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-0300-shou-bing-kong-zhi","wiki\u002F2026-09-20-导航\u002F0400-0300-手柄控制","Joy（手柄控制）",[7],"0400-0300",{"path":1323,"stem":1324,"title":1325,"authors":1326,"date":1242,"chapterOrder":1327,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1329,"stem":1330,"title":1331,"authors":1332,"date":1242,"chapterOrder":1333,"chapterDepth":1261,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-ying-jian-dui-jie-yu-kong-zhi","wiki\u002F2026-09-20-导航\u002F0400-硬件对接与控制","硬件对接与控制",[7],"0400",{"path":1335,"stem":1336,"title":1337,"authors":1338,"date":1242,"chapterOrder":1339,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1341,"stem":1342,"title":1343,"authors":1344,"date":1242,"chapterOrder":1345,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1347,"stem":1348,"title":1349,"authors":1350,"date":1242,"chapterOrder":1351,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1353,"stem":1354,"title":1355,"authors":1356,"date":1242,"chapterOrder":1357,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0400-terrain-analysis","wiki\u002F2026-09-20-导航\u002F0500-0400-terrain_analysis","terrain_analysis（近场地面与障碍高差分析）",[7],"0500-0400",{"path":1359,"stem":1360,"title":1361,"authors":1362,"date":1242,"chapterOrder":1363,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1365,"stem":1366,"title":1367,"authors":1368,"date":1242,"chapterOrder":1369,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1371,"stem":1372,"title":1373,"authors":1374,"date":1242,"chapterOrder":1375,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1250,"stem":1252,"title":5,"authors":1377,"date":1242,"chapterOrder":1241,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},[7],{"path":1379,"stem":1380,"title":1381,"authors":1382,"date":1242,"chapterOrder":1383,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0900-slam-toolbox","wiki\u002F2026-09-20-导航\u002F0500-0900-slam_toolbox","slam_toolbox（二维地图生成与轨迹优化）",[7],"0500-0900",{"path":1385,"stem":1386,"title":1387,"authors":1388,"date":1242,"chapterOrder":1389,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1000-bt-navigator","wiki\u002F2026-09-20-导航\u002F0500-1000-bt_navigator","bt_navigator（行为树导航任务调度）",[7],"0500-1000",{"path":1391,"stem":1392,"title":1393,"authors":1394,"date":1242,"chapterOrder":1395,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1100-controller-server","wiki\u002F2026-09-20-导航\u002F0500-1100-controller_server","controller_server（路径跟踪、进度检查与到达判定）",[7],"0500-1100",{"path":1397,"stem":1398,"title":1399,"authors":1400,"date":1242,"chapterOrder":1401,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1200-local-costmap","wiki\u002F2026-09-20-导航\u002F0500-1200-local_costmap","local_costmap（局部障碍代价地图）",[7],"0500-1200",{"path":1403,"stem":1404,"title":1405,"authors":1406,"date":1242,"chapterOrder":1407,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1300-global-costmap","wiki\u002F2026-09-20-导航\u002F0500-1300-global_costmap","global_costmap（全局规划代价地图）",[7],"0500-1300",{"path":1409,"stem":1410,"title":1411,"authors":1412,"date":1242,"chapterOrder":1413,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1400-map-server","wiki\u002F2026-09-20-导航\u002F0500-1400-map_server","map_server（已有二维地图加载与发布）",[7],"0500-1400",{"path":1415,"stem":1416,"title":1417,"authors":1418,"date":1242,"chapterOrder":1419,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1500-map-saver","wiki\u002F2026-09-20-导航\u002F0500-1500-map_saver","map_saver（二维栅格地图保存）",[7],"0500-1500",{"path":1421,"stem":1422,"title":1423,"authors":1424,"date":1242,"chapterOrder":1425,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1427,"stem":1428,"title":1429,"authors":1430,"date":1242,"chapterOrder":1431,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1700-smoother-server","wiki\u002F2026-09-20-导航\u002F0500-1700-smoother_server","smoother_server（全局路径平滑）",[7],"0500-1700",{"path":1433,"stem":1434,"title":1435,"authors":1436,"date":1242,"chapterOrder":1437,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1800-behavior-server","wiki\u002F2026-09-20-导航\u002F0500-1800-behavior_server","behavior_server（恢复行为与空闲方向移动）",[7],"0500-1800",{"path":1439,"stem":1440,"title":1441,"authors":1442,"date":1242,"chapterOrder":1443,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1900-waypoint-follower","wiki\u002F2026-09-20-导航\u002F0500-1900-waypoint_follower","waypoint_follower（逐点导航与到点等待）",[7],"0500-1900",{"path":1445,"stem":1446,"title":1447,"authors":1448,"date":1242,"chapterOrder":1449,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-2000-velocity-smoother","wiki\u002F2026-09-20-导航\u002F0500-2000-velocity_smoother","velocity_smoother（速度限幅与加减速平滑）",[7],"0500-2000",{"path":1451,"stem":1452,"title":1453,"authors":1454,"date":1242,"chapterOrder":1455,"chapterDepth":219,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\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":1457,"stem":1458,"title":1459,"authors":1460,"date":1242,"chapterOrder":1461,"chapterDepth":1261,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-dao-hang-can-shu","wiki\u002F2026-09-20-导航\u002F0500-导航参数","导航参数",[7],"0500",{"path":1463,"stem":1464,"title":1465,"authors":1466,"date":1242,"chapterOrder":1467,"chapterDepth":1261,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0600-kai-fa-wen-ti-yu-pai-cha","wiki\u002F2026-09-20-导航\u002F0600-开发问题与排查","开发问题与排查",[7],"0600",{"path":1469,"stem":1470,"title":1471,"authors":1472,"date":1242,"chapterOrder":1473,"chapterDepth":1261,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1248},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0700-jue-ce","wiki\u002F2026-09-20-导航\u002F0700-决策","决策",[7],"0700",{"path":1244,"stem":1475,"title":1476,"authors":1477,"date":1242,"chapterOrder":1478,"chapterDepth":1261,"docKey":1243,"docRoot":1244,"docTitle":1245,"isWikiDoc":1247,"isWikiIndex":1247},"wiki\u002F2026-09-20-导航\u002Findex","北极熊导航复现日志",[7],null,[1480,1482,1485,1488],{"name":7,"image":1481},"\u002Fimages\u002Fmember_photo\u002F董佳辉.jpg",{"name":1483,"image":1484},"宫金良","\u002Fimages\u002Fmember_photo\u002F宫金良.jpg",{"name":1486,"image":1487},"巩丽","\u002Fimages\u002Fmember_photo\u002F巩丽.png",{"name":1489,"image":1490},"张彦斐","\u002Fimages\u002Fmember_photo\u002F张彦斐.jpg",1792431906233]