[{"data":1,"prerenderedAt":1113},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0200-loam-interface":3,"wiki-doc-items-2026-09-20-dao-hang":880,"wiki:author-members":1101},{"id":4,"title":5,"authors":6,"body":8,"chapterDepth":68,"chapterOrder":867,"date":868,"description":61,"docKey":869,"docRoot":870,"docTitle":871,"extension":872,"isWikiDoc":873,"isWikiIndex":874,"meta":875,"navigation":873,"path":876,"seo":877,"stem":878,"wikiDepth":68,"__hash__":879},"wiki\u002Fwiki\u002F2026-09-20-导航\u002F0500-0200-loam_interface.md","loam_interface（Point-LIO输出的坐标与话题适配）",[7],"董佳辉",{"type":9,"value":10,"toc":862},"minimark",[11,15,39,42,46,51,55,154,400,406,409,414,420,423,427,518,521,536,539,543,561,567,571,582,588,603,607,629,632,651,669,672,758,769,776,801,804,829,858],[12,13,5],"h2",{"id":14},"loam_interfacepoint-lio输出的坐标与话题适配",[16,17,18,19,23,24,27,28,23,31,34,35,38],"p",{},"这个节点把 Point-LIO 的位姿与配准扫描接到后续导航接口：订阅 ",[20,21,22],"code",{},"aft_mapped_to_init"," 和 ",[20,25,26],{},"cloud_registered","，发布 ",[20,29,30],{},"lidar_odometry",[20,32,33],{},"registered_scan","。它执行坐标变换，不负责 SLAM 估计，也不直接发布 ",[20,36,37],{},"odom → base_footprint"," 的 TF。",[16,40,41],{},"以下按 2026-10-10 当前源码与实物 YAML 核对。参数名与当前值可以确认，但 IMU、雷达和底盘的完整位姿转换存在源码疑点，不能把话题有输出等同于坐标关系正确。",[43,44,45],"h3",{"id":45},"参数",[47,48,50],"h4",{"id":49},"ros__parametersros节点参数","ros__parameters（ROS节点参数）",[52,53,54],"h5",{"id":54},"参数表",[56,57,62],"pre",{"className":58,"code":59,"language":60,"meta":61,"style":61},"language-yaml shiki shiki-themes github-light github-dark","loam_interface:\n  ros__parameters:\n    use_sim_time: False\n    state_estimation_topic: \"aft_mapped_to_init\"\n    registered_scan_topic: \"cloud_registered\"\n    odom_frame: \"odom\"\n    base_frame: \"base_footprint\"\n    lidar_frame: \"front_mid360\"\n","yaml","",[20,63,64,77,85,98,110,121,132,143],{"__ignoreMap":61},[65,66,69,73],"span",{"class":67,"line":68},"line",1,[65,70,72],{"class":71},"s9eBZ","loam_interface",[65,74,76],{"class":75},"sVt8B",":\n",[65,78,80,83],{"class":67,"line":79},2,[65,81,82],{"class":71},"  ros__parameters",[65,84,76],{"class":75},[65,86,88,91,94],{"class":67,"line":87},3,[65,89,90],{"class":71},"    use_sim_time",[65,92,93],{"class":75},": ",[65,95,97],{"class":96},"sj4cs","False\n",[65,99,101,104,106],{"class":67,"line":100},4,[65,102,103],{"class":71},"    state_estimation_topic",[65,105,93],{"class":75},[65,107,109],{"class":108},"sZZnC","\"aft_mapped_to_init\"\n",[65,111,113,116,118],{"class":67,"line":112},5,[65,114,115],{"class":71},"    registered_scan_topic",[65,117,93],{"class":75},[65,119,120],{"class":108},"\"cloud_registered\"\n",[65,122,124,127,129],{"class":67,"line":123},6,[65,125,126],{"class":71},"    odom_frame",[65,128,93],{"class":75},[65,130,131],{"class":108},"\"odom\"\n",[65,133,135,138,140],{"class":67,"line":134},7,[65,136,137],{"class":71},"    base_frame",[65,139,93],{"class":75},[65,141,142],{"class":108},"\"base_footprint\"\n",[65,144,146,149,151],{"class":67,"line":145},8,[65,147,148],{"class":71},"    lidar_frame",[65,150,93],{"class":75},[65,152,153],{"class":108},"\"front_mid360\"\n",[155,156,157,188],"table",{},[158,159,160],"thead",{},[161,162,163,167,170,173,176,179,182,185],"tr",{},[164,165,166],"th",{},"参数名",[164,168,169],{},"当前值",[164,171,172],{},"单位",[164,174,175],{},"实车处理建议",[164,177,178],{},"作用",[164,180,181],{},"调大效果",[164,183,184],{},"调小效果",[164,186,187],{},"生效条件／备注",[189,190,191,228,268,306,336,372],"tbody",{},[161,192,193,199,204,207,213,216,219,221],{},[194,195,196],"td",{},[20,197,198],{},"use_sim_time",[194,200,201],{},[20,202,203],{},"False",[194,205,206],{},"不适用，布尔",[194,208,209],{},[210,211,212],"strong",{},"上实物前必须核对并正确配置",[194,214,215],{},"选择节点及 TF 缓存使用的时间源",[194,217,218],{},"不适用",[194,220,218],{},[194,222,223,224,227],{},"ROS2 标准参数；实物通常 False，仿真 True 并依赖 ",[20,225,226],{},"\u002Fclock","；整套 launch 会覆盖 YAML 中的值；不转换输入时间戳",[161,229,230,235,240,243,247,253,255,257],{},[194,231,232],{},[20,233,234],{},"state_estimation_topic",[194,236,237],{},[20,238,239],{},"\"aft_mapped_to_init\"",[194,241,242],{},"不适用，话题名",[194,244,245],{},[210,246,212],{},[194,248,249,250],{},"指定输入位姿话题，类型为 ",[20,251,252],{},"nav_msgs\u002Fmsg\u002FOdometry",[194,254,218],{},[194,256,218],{},[194,258,259,260,263,264,267],{},"当前对应 Point-LIO 的 ",[20,261,262],{},"camera_init → body"," 位姿消息，",[20,265,266],{},"body"," 是内部 IMU；源码却按雷达位姿使用，见下文",[161,269,270,275,280,282,286,292,294,296],{},[194,271,272],{},[20,273,274],{},"registered_scan_topic",[194,276,277],{},[20,278,279],{},"\"cloud_registered\"",[194,281,242],{},[194,283,284],{},[210,285,212],{},[194,287,288,289],{},"指定输入配准扫描，类型为 ",[20,290,291],{},"sensor_msgs\u002Fmsg\u002FPointCloud2",[194,293,218],{},[194,295,218],{},[194,297,298,299,302,303],{},"当前点坐标在 ",[20,300,301],{},"camera_init"," 中，已由 Point-LIO 使用雷达→IMU 外参变换；不能替换成原始扫描或 ",[20,304,305],{},"cloud_registered_body",[161,307,308,313,318,321,326,329,331,333],{},[194,309,310],{},[20,311,312],{},"odom_frame",[194,314,315],{},[20,316,317],{},"\"odom\"",[194,319,320],{},"不适用，坐标系名称",[194,322,323],{},[210,324,325],{},"通常保持当前值，不作为优先调试项",[194,327,328],{},"指定输出点云及里程计的参考系名称",[194,330,218],{},[194,332,218],{},[194,334,335],{},"实际用缓存矩阵转换数据，再设置输出名称；不是通过 TF 查询任意目标系，也不发布对应 TF；名称本身不能保证水平或重力方向正确",[161,337,338,343,348,350,354,357,359,361],{},[194,339,340],{},[20,341,342],{},"base_frame",[194,344,345],{},[20,346,347],{},"\"base_footprint\"",[194,349,320],{},[194,351,352],{},[210,353,212],{},[194,355,356],{},"指定首次 TF 查询的目标机体系，用于构造初始对齐缓存",[194,358,218],{},[194,360,218],{},[194,362,363,364,367,368,371],{},"查询 ",[20,365,366],{},"lookupTransform(base_frame, lidar_frame, 输入位姿时间戳, 0.5秒)","；首次成功后不再查询；独立 launch 写的是 ",[20,369,370],{},"gimbal_yaw","，与整套配置不同",[161,373,374,379,384,386,390,393,395,397],{},[194,375,376],{},[20,377,378],{},"lidar_frame",[194,380,381],{},[20,382,383],{},"\"front_mid360\"",[194,385,320],{},[194,387,388],{},[210,389,212],{},[194,391,392],{},"指定首次 TF 查询的源系，并设置输出里程计子坐标系名称",[194,394,218],{},[194,396,218],{},[194,398,399],{},"指向雷达坐标系；设置这个名字不会把内部 IMU 位姿自动转换为雷达位姿；当前遗漏的外参转换需要单独处理",[16,401,402,403,405],{},"六项都有作用，本块没有当前完全不参与运行的参数。五项业务参数只在构造时读取，源码没有运行时更新处理；运行中写入同名参数不会重建订阅或更新缓存，需在另行授权的重启中应用。",[20,404,198],{}," 由 ROS2 管理，不属于这五项。",[52,407,408],{"id":408},"参数详解",[410,411,413],"h6",{"id":412},"use_sim_time系统时间与仿真时间选择","use_sim_time（系统时间与仿真时间选择）",[16,415,416,417,419],{},"False 使用系统时间；True 使用 ",[20,418,226],{}," 提供的 ROS 时间。TF 缓存用的是节点时钟，Point-LIO、关节 TF 和本节点必须处于一致的时间域。",[16,421,422],{},"本节点不会用当前时间重新标记输入位姿。切换时间源也不会修正雷达点时间单位、传感器时钟同步或旧时间戳；此前仿真转换器的秒／微秒不一致仍未解决。",[410,424,426],{"id":425},"state_estimation_topic-与-registered_scan_topic输入里程计与配准点云","state_estimation_topic 与 registered_scan_topic（输入里程计与配准点云）",[155,428,429,442],{},[158,430,431],{},[161,432,433,436,439],{},[164,434,435],{},"方向",[164,437,438],{},"话题",[164,440,441],{},"消息与坐标含义",[189,443,444,465,481,503],{},[161,445,446,449,453],{},[194,447,448],{},"订阅",[194,450,451],{},[20,452,22],{},[194,454,455,458,459,461,462,464],{},[20,456,457],{},"Odometry","；参考系 ",[20,460,301],{},"，子系 ",[20,463,266],{},"，数值是内部 IMU 位姿",[161,466,467,469,473],{},[194,468,448],{},[194,470,471],{},[20,472,26],{},[194,474,475,478,479],{},[20,476,477],{},"PointCloud2","；当前扫描的配准点坐标，参考系 ",[20,480,301],{},[161,482,483,486,490],{},[194,484,485],{},"发布",[194,487,488],{},[20,489,30],{},[194,491,492,494,495,498,499,502],{},[20,493,457],{},"；参考系名设为 ",[20,496,497],{},"odom","，子系名设为 ",[20,500,501],{},"front_mid360","；数值语义仍需核对",[161,504,505,507,511],{},[194,506,485],{},[194,508,509],{},[20,510,33],{},[194,512,513,515,516],{},[20,514,477],{},"；用缓存矩阵转换点坐标，参考系名设为 ",[20,517,497],{},[16,519,520],{},"两订阅和两发布的队列深度均为5。输入话题名是相对名，随节点命名空间和重映射解析；坐标系字符串不自动添加节点命名空间。两个输出话题名在源码中固定，不能通过修改输入参数改名。",[16,522,523,524,527,528,535],{},"位置与点坐标沿用上游的 m，姿态使用无量纲四元数，时间戳由秒和纳秒字段表达；本节点不缩放单位、不再次降采样，也不做两种输入的时间同步。里程计沿用输入位姿时间戳，正常点云转换沿用输入点云时间戳；后者已对照容器安装的 ",[20,525,526],{},"pcl_ros 2.4.5"," ",[529,530,534],"a",{"href":531,"rel":532},"https:\u002F\u002Fgithub.com\u002Fros-perception\u002Fperception_pcl\u002Fblob\u002F2.4.5\u002Fpcl_ros\u002Fsrc\u002Ftransforms.cpp#L91",[533],"nofollow","对应实现","核对。",[16,537,538],{},"本节点只写输出里程计的位姿，不转传输入速度和协方差，这些字段保持默认零值，不能据此判断车辆静止或估计没有不确定性。",[410,540,542],{"id":541},"odom_frame输出里程计与点云参考系","odom_frame（输出里程计与点云参考系）",[16,544,545,546,548,549,552,553,556,557,560],{},"当前保持 ",[20,547,497],{},"。节点对点云执行刚体变换，对位姿左乘同一缓存矩阵，然后填写输出参考系名称。它没有验证输入位姿的 ",[20,550,551],{},"header.frame_id"," 与 ",[20,554,555],{},"child_frame_id"," 是否符合预期，也没有按输入名称查询 ",[20,558,559],{},"camera_init → odom","。",[16,562,563,564,566],{},"因此改为其他名字不会自动获得该参考系的变换。",[20,565,497],{}," 是输出命名，实际轴向、原点和重力关系取决于缓存与 Point-LIO 初始化，不能靠名称判定正确。",[410,568,570],{"id":569},"base_frame初始化基准的底盘坐标系","base_frame（初始化基准的底盘坐标系）",[16,572,573,574,577,578,581],{},"首次收到位姿时，节点按该消息时间戳查询 ",[20,575,576],{},"base_footprint ← front_mid360","，最大等待0.5秒；失败则告警并放弃本次位姿，后续位姿回调重试。首次成功后，把当时的雷达安装与关节变换存为固定矩阵 ",[20,579,580],{},"C","，后续位姿和点云都使用它。",[16,583,584,585,587],{},"这项指定初始对齐所依赖的机体系，不表示本节点输出底盘位姿。当前 MID360 挂在 ",[20,586,370],{},"，所以该 TF 包含底盘到云台、机械 yaw 和雷达安装关系；它随 yaw 变化，不随 pitch 变化。缓存时刻也不一定等于 Point-LIO 初始化时刻，需要核对启动时的位姿与关节状态。",[16,589,590,591,594,595,597,598,552,600,602],{},"固定缓存本身不等于错误：两个固定参考系之间的对齐通常应保持固定，运动中的雷达→底盘变换由下游 ",[20,592,593],{},"sensor_scan_generation"," 按点云时间查询。需要确认的是 ",[20,596,580],{}," 是否正确代表 ",[20,599,497],{},[20,601,301],{}," 的关系，不能简单改成每帧跟随云台更新。Point-LIO 的初始旋转还受重力对齐影响，不能默认输入初始姿态一定是单位旋转。",[410,604,606],{"id":605},"lidar_frame雷达坐标系与输出里程计子系","lidar_frame（雷达坐标系与输出里程计子系）",[16,608,609,610,612,613,615,616,619,620,622,623,625,626,628],{},"当前 ",[20,611,501],{}," 与模型中的雷达名称一致，但上游 ",[20,614,266],{}," 是内部 IMU。设 ",[20,617,618],{},"T_AB"," 表示把 B 系坐标转换到 A 系，W=",[20,621,301],{},"、I=内部 IMU、L=",[20,624,501],{},"、O=",[20,627,497],{},"，完整雷达位姿一般应满足：",[16,630,631],{},"[\nT_(t)=T_,T_(t),T_\n]",[16,633,634,635,638,639,642,643,646,647,650],{},"当前源码实际计算 ",[20,636,637],{},"C × 输入位姿","，即 ",[20,640,641],{},"C × T_WI(t)","，随后将子系名设为 L；没有右乘 ",[20,644,645],{},"T_IL","，也没有用初始输入位姿核对 ",[20,648,649],{},"C=T_OW"," 的条件。",[16,652,653,654,657,658,661,662,665,666,668],{},"Point-LIO 配准点云已经使用 ",[20,655,656],{},"mapping.extrinsic_R\u002FT","，而位姿发布直接取滤波器的 IMU 位置和姿态。当前实物 ",[20,659,660],{},"extrinsic_R"," 为单位矩阵，",[20,663,664],{},"extrinsic_T=[-0.011,-0.02329,+0.04412] m"," 非零；轴向一致不代表两个原点相同。缺少这一步时，雷达绕 IMU 转动的杆臂效应可能表现为位置误差。单纯改 ",[20,667,378],{}," 或话题名无法补齐外参；先记录这一接口缺口，工程修改另行授权。",[410,670,671],{"id":671},"启动配置与源码缺口",[155,673,674,687],{},[158,675,676],{},[161,677,678,681,684],{},[164,679,680],{},"启动方式",[164,682,683],{},"这块参数从哪里来",[164,685,686],{},"需要区分的值",[189,688,689,717,738],{},[161,690,691,694,708],{},[194,692,693],{},"整套 reality launch",[194,695,696,697,700,701,704,705],{},"默认 ",[20,698,699],{},"pb2025_nav_bringup\u002Fconfig\u002Freality\u002Fnav2_params.yaml","，可由 ",[20,702,703],{},"params_file"," 指定其他文件；经 bringup 传给 ",[20,706,707],{},"navigation_launch.py",[194,709,710,713,714,716],{},[20,711,712],{},"base_frame=base_footprint","；",[20,715,198],{}," 最终由 launch 参数重写，默认 False",[161,718,719,722,731],{},[194,720,721],{},"整套 simulation launch",[194,723,696,724,727,728,730],{},[20,725,726],{},"pb2025_nav_bringup\u002Fconfig\u002Fsimulation\u002Fnav2_params.yaml","；同样经 ",[20,729,707],{}," 加载",[194,732,733,713,735,737],{},[20,734,712],{},[20,736,198],{}," 最终由 launch 参数重写，默认 True",[161,739,740,746,749],{},[194,741,742,743],{},"独立 ",[20,744,745],{},"loam_interface_launch.py",[194,747,748],{},"launch 内的参数字典，不读取上述 YAML",[194,750,751,754,755,757],{},[20,752,753],{},"base_frame=gimbal_yaw","；未设置或声明 ",[20,756,198],{}," 启动参数，按 ROS2 默认 False",[16,759,760,761,764,765,768],{},"整套启动的独立进程和组件模式都加载同一份处理后的参数文件；",[20,762,763],{},"slam"," 选择建图或定位，不会跳过这段导航接口。本次在 ",[20,766,767],{},"ysu_ros_humble"," 中仅加载环境并查询包路径，确认相关安装后的 launch 和 YAML 指向当前源码；没有启动节点，也没有读取运行节点的有效参数。",[16,770,771,772,775],{},"另一个已确认的源码缺口是初始化保护：点云回调没有检查初始 TF 是否成功，直接使用缓存。容器的 ",[20,773,774],{},"tf2::Transform"," 默认构造不初始化数值，而节点也没有先将缓存设为单位变换。如果点云先到、或首次 TF 查询一直失败，可能使用未初始化矩阵；触发后的运行表现本轮未测试。",[16,777,778,779,782,783,786,787,790,791,786,794,797,798,560],{},"源码位置：",[20,780,781],{},"loam_interface\u002Fsrc\u002Floam_interface.cpp"," 的参数读取、点云回调和位姿回调；",[20,784,785],{},"point_lio\u002Fsrc\u002FlaserMapping.cpp"," 的 ",[20,788,789],{},"set_posestamp\u002Fpublish_odometry","，以及 ",[20,792,793],{},"point_lio\u002Fsrc\u002FEstimator.cpp",[20,795,796],{},"pointBodyToWorld","。上述包均位于 ",[20,799,800],{},"src\u002Fpb2025_sentry_nav\u002F",[410,802,803],{"id":803},"已观察与待核实事项",[805,806,807,814,820],"ul",{},[808,809,810,813],"li",{},[210,811,812],{},"源码能确认："," 六项参数的使用、输入输出话题、首次 TF 缓存、IMU 位姿未补雷达外参、初始化保护缺失，以及 launch 配置来源。",[808,815,816,819],{},[210,817,818],{},"仿真已观察："," 2026-10-08 的独立 Point-LIO 检查在静止和约20 cm低速往返时有正常位姿与配准点云；该检查没有覆盖本节点和下游的完整转换，也没有独立云台 yaw 验证，不能据此认定这里的接口正确。",[808,821,822,825,826,828],{},[210,823,824],{},"必须实物核实："," MID360 实际安装位置与轴向、内部雷达／IMU 外参、机械 yaw\u002Fpitch 零位与方向、串口角度单位和含义、各消息的时钟一致性，以及 Point-LIO 重力目标参考系与导航 ",[20,827,497],{}," 的关系。当前约定要求 JointState 使用机械相对角，世界 IMU 姿态不能代替关节角；本轮不修改重力方向。",[16,830,831,832,836,837,841,842,845,846,849,850,853,854,857],{},"机械关系与",[529,833,835],{"href":834},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-0100-linux-yu-mcu-shu-ju-dui-jie","Linux与MCU数据对接","、",[529,838,840],{"href":839},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0200-mid360-an-zhuang-wei-zhi","MID360安装位置","一致：两个odom关节固定，实际yaw在",[20,843,844],{},"gimbal_yaw_joint","、实际pitch在",[20,847,848],{},"gimbal_pitch_joint","，串口position为",[20,851,852],{},"{relative_pitch, relative_yaw, 0, 0}","。MID360挂在实际yaw关节之后，随yaw、不随pitch；不能用关节之前的",[20,855,856],{},"gimbal_yaw_odom","替代其挂载层。",[859,860,861],"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 .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":61,"searchDepth":79,"depth":79,"links":863},[864],{"id":14,"depth":79,"text":5,"children":865},[866],{"id":45,"depth":87,"text":45},"0500-0200","2026-09-20","2026-09-20-dao-hang","\u002Fwiki\u002F2026-09-20-dao-hang","导航","md",true,false,{},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0200-loam-interface",{"title":5,"description":61},"wiki\u002F2026-09-20-导航\u002F0500-0200-loam_interface","doQuo26skZ74Htzsrarh1T1CDwG06rw5rYKt7ESTG_A",[881,888,894,900,904,910,916,922,928,932,938,944,950,956,962,964,970,976,982,988,994,1000,1006,1012,1018,1024,1030,1036,1042,1048,1054,1060,1066,1072,1078,1084,1090,1096],{"path":882,"stem":883,"title":884,"authors":885,"date":868,"chapterOrder":886,"chapterDepth":887,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0100-jian-jie","wiki\u002F2026-09-20-导航\u002F0100-简介","简介",[7],"0100",0,{"path":889,"stem":890,"title":891,"authors":892,"date":868,"chapterOrder":893,"chapterDepth":887,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0200-huan-jing-pei-zhi-yu-yun-xing","wiki\u002F2026-09-20-导航\u002F0200-环境配置与运行","环境配置与运行",[7],"0200",{"path":895,"stem":896,"title":897,"authors":898,"date":868,"chapterOrder":899,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0100-robot-description","wiki\u002F2026-09-20-导航\u002F0300-0100-robot_description","robot_description（机器人模型与关节定义）",[7],"0300-0100",{"path":839,"stem":901,"title":840,"authors":902,"date":868,"chapterOrder":903,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"wiki\u002F2026-09-20-导航\u002F0300-0200-MID360安装位置",[7],"0300-0200",{"path":905,"stem":906,"title":907,"authors":908,"date":868,"chapterOrder":909,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\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":911,"stem":912,"title":913,"authors":914,"date":868,"chapterOrder":915,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0400-fang-zhen-shi-jue-you-hua","wiki\u002F2026-09-20-导航\u002F0300-0400-仿真视觉优化","仿真视觉优化（可选）",[7],"0300-0400",{"path":917,"stem":918,"title":919,"authors":920,"date":868,"chapterOrder":921,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-0500-tian-jia-di-tu","wiki\u002F2026-09-20-导航\u002F0300-0500-添加地图","添加地图",[7],"0300-0500",{"path":923,"stem":924,"title":925,"authors":926,"date":868,"chapterOrder":927,"chapterDepth":887,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0300-ji-qi-ren-mo-xing-yu-fang-zhen","wiki\u002F2026-09-20-导航\u002F0300-机器人模型与仿真","机器人模型与仿真",[7],"0300",{"path":834,"stem":929,"title":835,"authors":930,"date":868,"chapterOrder":931,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"wiki\u002F2026-09-20-导航\u002F0400-0100-Linux与MCU数据对接",[7],"0400-0100",{"path":933,"stem":934,"title":935,"authors":936,"date":868,"chapterOrder":937,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-0200-chuan-kou-tong-xin","wiki\u002F2026-09-20-导航\u002F0400-0200-串口通信","Serial_Comm（串口通信）",[7],"0400-0200",{"path":939,"stem":940,"title":941,"authors":942,"date":868,"chapterOrder":943,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-0300-shou-bing-kong-zhi","wiki\u002F2026-09-20-导航\u002F0400-0300-手柄控制","Joy（手柄控制）",[7],"0400-0300",{"path":945,"stem":946,"title":947,"authors":948,"date":868,"chapterOrder":949,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\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":951,"stem":952,"title":953,"authors":954,"date":868,"chapterOrder":955,"chapterDepth":887,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0400-ying-jian-dui-jie-yu-kong-zhi","wiki\u002F2026-09-20-导航\u002F0400-硬件对接与控制","硬件对接与控制",[7],"0400",{"path":957,"stem":958,"title":959,"authors":960,"date":868,"chapterOrder":961,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\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":876,"stem":878,"title":5,"authors":963,"date":868,"chapterOrder":867,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},[7],{"path":965,"stem":966,"title":967,"authors":968,"date":868,"chapterOrder":969,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\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":971,"stem":972,"title":973,"authors":974,"date":868,"chapterOrder":975,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0400-terrain-analysis","wiki\u002F2026-09-20-导航\u002F0500-0400-terrain_analysis","terrain_analysis（近场地面与障碍高差分析）",[7],"0500-0400",{"path":977,"stem":978,"title":979,"authors":980,"date":868,"chapterOrder":981,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\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":983,"stem":984,"title":985,"authors":986,"date":868,"chapterOrder":987,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\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":989,"stem":990,"title":991,"authors":992,"date":868,"chapterOrder":993,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\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":995,"stem":996,"title":997,"authors":998,"date":868,"chapterOrder":999,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\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":1001,"stem":1002,"title":1003,"authors":1004,"date":868,"chapterOrder":1005,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-0900-slam-toolbox","wiki\u002F2026-09-20-导航\u002F0500-0900-slam_toolbox","slam_toolbox（二维地图生成与轨迹优化）",[7],"0500-0900",{"path":1007,"stem":1008,"title":1009,"authors":1010,"date":868,"chapterOrder":1011,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1000-bt-navigator","wiki\u002F2026-09-20-导航\u002F0500-1000-bt_navigator","bt_navigator（行为树导航任务调度）",[7],"0500-1000",{"path":1013,"stem":1014,"title":1015,"authors":1016,"date":868,"chapterOrder":1017,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1100-controller-server","wiki\u002F2026-09-20-导航\u002F0500-1100-controller_server","controller_server（路径跟踪、进度检查与到达判定）",[7],"0500-1100",{"path":1019,"stem":1020,"title":1021,"authors":1022,"date":868,"chapterOrder":1023,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1200-local-costmap","wiki\u002F2026-09-20-导航\u002F0500-1200-local_costmap","local_costmap（局部障碍代价地图）",[7],"0500-1200",{"path":1025,"stem":1026,"title":1027,"authors":1028,"date":868,"chapterOrder":1029,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1300-global-costmap","wiki\u002F2026-09-20-导航\u002F0500-1300-global_costmap","global_costmap（全局规划代价地图）",[7],"0500-1300",{"path":1031,"stem":1032,"title":1033,"authors":1034,"date":868,"chapterOrder":1035,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1400-map-server","wiki\u002F2026-09-20-导航\u002F0500-1400-map_server","map_server（已有二维地图加载与发布）",[7],"0500-1400",{"path":1037,"stem":1038,"title":1039,"authors":1040,"date":868,"chapterOrder":1041,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1500-map-saver","wiki\u002F2026-09-20-导航\u002F0500-1500-map_saver","map_saver（二维栅格地图保存）",[7],"0500-1500",{"path":1043,"stem":1044,"title":1045,"authors":1046,"date":868,"chapterOrder":1047,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\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":1049,"stem":1050,"title":1051,"authors":1052,"date":868,"chapterOrder":1053,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1700-smoother-server","wiki\u002F2026-09-20-导航\u002F0500-1700-smoother_server","smoother_server（全局路径平滑）",[7],"0500-1700",{"path":1055,"stem":1056,"title":1057,"authors":1058,"date":868,"chapterOrder":1059,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1800-behavior-server","wiki\u002F2026-09-20-导航\u002F0500-1800-behavior_server","behavior_server（恢复行为与空闲方向移动）",[7],"0500-1800",{"path":1061,"stem":1062,"title":1063,"authors":1064,"date":868,"chapterOrder":1065,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-1900-waypoint-follower","wiki\u002F2026-09-20-导航\u002F0500-1900-waypoint_follower","waypoint_follower（逐点导航与到点等待）",[7],"0500-1900",{"path":1067,"stem":1068,"title":1069,"authors":1070,"date":868,"chapterOrder":1071,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-2000-velocity-smoother","wiki\u002F2026-09-20-导航\u002F0500-2000-velocity_smoother","velocity_smoother（速度限幅与加减速平滑）",[7],"0500-2000",{"path":1073,"stem":1074,"title":1075,"authors":1076,"date":868,"chapterOrder":1077,"chapterDepth":68,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\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":1079,"stem":1080,"title":1081,"authors":1082,"date":868,"chapterOrder":1083,"chapterDepth":887,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0500-dao-hang-can-shu","wiki\u002F2026-09-20-导航\u002F0500-导航参数","导航参数",[7],"0500",{"path":1085,"stem":1086,"title":1087,"authors":1088,"date":868,"chapterOrder":1089,"chapterDepth":887,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0600-kai-fa-wen-ti-yu-pai-cha","wiki\u002F2026-09-20-导航\u002F0600-开发问题与排查","开发问题与排查",[7],"0600",{"path":1091,"stem":1092,"title":1093,"authors":1094,"date":868,"chapterOrder":1095,"chapterDepth":887,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":874},"\u002Fwiki\u002F2026-09-20-dao-hang\u002F0700-jue-ce","wiki\u002F2026-09-20-导航\u002F0700-决策","决策",[7],"0700",{"path":870,"stem":1097,"title":1098,"authors":1099,"date":868,"chapterOrder":1100,"chapterDepth":887,"docKey":869,"docRoot":870,"docTitle":871,"isWikiDoc":873,"isWikiIndex":873},"wiki\u002F2026-09-20-导航\u002Findex","北极熊导航复现日志",[7],null,[1102,1104,1107,1110],{"name":7,"image":1103},"\u002Fimages\u002Fmember_photo\u002F董佳辉.jpg",{"name":1105,"image":1106},"宫金良","\u002Fimages\u002Fmember_photo\u002F宫金良.jpg",{"name":1108,"image":1109},"巩丽","\u002Fimages\u002Fmember_photo\u002F巩丽.png",{"name":1111,"image":1112},"张彦斐","\u002Fimages\u002Fmember_photo\u002F张彦斐.jpg",1792431906078]