(window.webpackJsonp=window.webpackJsonp||[]).push([[299],{621:function(t,_,a){"use strict";a.r(_);var e=a(10),v=Object(e.a)({},(function(){var t=this,_=t._self._c;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h1",{attrs:{id:"里程计校准"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#里程计校准"}},[t._v("#")]),t._v(" 里程计校准")]),t._v(" "),_("p",[t._v("FDISYSTEMS 产品支持外接里程计参与组合导航,并提供里程计刻度因子校准,以及惯导相对载体的安装误差角校准。")]),t._v(" "),_("fdi-img",{attrs:{width:"100%",alt:"IMU",src:"/fdigroundstation/里程计/ODOM.png",caption:""}}),t._v(" "),_("h2",{attrs:{id:"里程计输入格式说明"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#里程计输入格式说明"}},[t._v("#")]),t._v(" 里程计输入格式说明")]),t._v(" "),_("fdi-img",{attrs:{width:"100%",alt:"IMU",src:"/fdigroundstation/里程计/05231743_00.gif",caption:""}}),t._v(" "),_("p",[t._v("可通过串口或 CAN 总线输入里程计数据。在上位机中将对应 COMM 口配置为 "),_("strong",[t._v("External Odom")]),t._v(" 即可。配置界面如下图所示(CAN 总线输入方式);配置后须保存并重启生效:")]),t._v(" "),_("fdi-img",{attrs:{width:"100%",alt:"IMU",src:"/fdigroundstation/里程计/图片37.png",caption:""}}),t._v(" "),_("p",[t._v("输入格式须符合 FDILink 协议,帧结构见 "),_("RouterLink",{attrs:{to:"/developers/02-fdilink/02-data-types.html#数据帧组成"}},[t._v("数据帧组成")]),t._v(";完整字段定义见 "),_("RouterLink",{attrs:{to:"/developers/02-fdilink/03-data-packets/MSG_EXT_ODOM.html"}},[t._v("MSG_EXT_ODOM")]),t._v("。载荷定义如下:")],1),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"left"}},[t._v("Offset")]),t._v(" "),_("th",{staticStyle:{"text-align":"left"}},[t._v("Size")]),t._v(" "),_("th",{staticStyle:{"text-align":"left"}},[t._v("Format")]),t._v(" "),_("th",{staticStyle:{"text-align":"left"}},[t._v("Field")]),t._v(" "),_("th",{staticStyle:{"text-align":"left"}},[t._v("Unit")]),t._v(" "),_("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"left"}},[t._v("0")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("1")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("uint8_t")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("TYPE")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}}),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("里程计输入类型:"),_("code",[t._v("4")]),t._v(" 为单轮速度,"),_("code",[t._v("2")]),t._v(" 为双轮速度")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"left"}},[t._v("1")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("4")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("uint32_t")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("Microseconds")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("us")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("输入数据时间戳")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"left"}},[t._v("5")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("16")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("float32_t")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("Wheel_rate[4]")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[t._v("m/s")]),t._v(" "),_("td",{staticStyle:{"text-align":"left"}},[_("code",[t._v("TYPE=4")]),t._v(" 时只需给 "),_("code",[t._v("Wheel_rate[0]")]),t._v(" 赋值;"),_("code",[t._v("TYPE=2")]),t._v(" 时需给 "),_("code",[t._v("Wheel_rate[0]")]),t._v("、"),_("code",[t._v("Wheel_rate[1]")]),t._v(" 赋值")])])])]),t._v(" "),_("p",{staticClass:"table-caption"},[t._v("表:External Odom(0x90)载荷")]),t._v(" "),_("h3",{attrs:{id:"一帧示例"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#一帧示例"}},[t._v("#")]),t._v(" 一帧示例")]),t._v(" "),_("p",[t._v("下面给出一帧里程计输入数据示例:")]),t._v(" "),_("p",[t._v("FC 90 15 C6 4F 78 5F "),_("a",{staticStyle:{color:"#c60c30","font-weight":"600"}},[t._v("02")]),t._v(" "),_("a",{staticStyle:{color:"#24C60C","font-weight":"600"}},[t._v("92 02 31 03")]),t._v(" "),_("a",{staticStyle:{color:"#BA0CC6","font-weight":"600"}},[t._v("5D C2 17 41")]),t._v(" "),_("a",{staticStyle:{color:"#0C18C6","font-weight":"600"}},[t._v("5A C0 19 41")]),t._v(" 00 00 00 00 00 00 00 00 FD")]),t._v(" "),_("p",[t._v("其中:")]),t._v(" "),_("ul",[_("li",[t._v("红色 "),_("a",{staticStyle:{color:"#c60c30","font-weight":"600"}},[t._v("02")]),t._v(":"),_("code",[t._v("TYPE")]),t._v(",十进制为 2,表示需输入两个轮速。")]),t._v(" "),_("li",[t._v("绿色 "),_("a",{staticStyle:{color:"#24C60C","font-weight":"600"}},[t._v("92 02 31 03")]),t._v(":时间戳,十进制约为 53543570 us。")]),t._v(" "),_("li",[t._v("紫色 "),_("a",{staticStyle:{color:"#BA0CC6","font-weight":"600"}},[t._v("5D C2 17 41")]),t._v(":"),_("code",[t._v("Wheel_rate[0]")]),t._v(",约 9.48 m/s。")]),t._v(" "),_("li",[t._v("蓝色 "),_("a",{staticStyle:{color:"#0C18C6","font-weight":"600"}},[t._v("5A C0 19 41")]),t._v(":"),_("code",[t._v("Wheel_rate[1]")]),t._v(",约 9.61 m/s。")])]),t._v(" "),_("h2",{attrs:{id:"刻度因子校准"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#刻度因子校准"}},[t._v("#")]),t._v(" 刻度因子校准")]),t._v(" "),_("p",[t._v("FDISYSTEMS 提供两种里程计刻度因子校准方法,位于 Config 主界面的 "),_("strong",[t._v("Odom")]),t._v(" 页,如下图所示:")]),t._v(" "),_("fdi-img",{attrs:{width:"100%",alt:"IMU",src:"/fdigroundstation/里程计/图片38.png",caption:""}}),t._v(" "),_("h3",{attrs:{id:"select-odommeter-type"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#select-odommeter-type"}},[t._v("#")]),t._v(" Select Odommeter type")]),t._v(" "),_("p",[t._v("表示接入的里程计数据类型,分为脉冲式输入与转速(速度)输入。脉冲信号经 GPIO 输入,转速(速度)经 CAN 输入。")]),t._v(" "),_("h3",{attrs:{id:"里程计刻度因子"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#里程计刻度因子"}},[t._v("#")]),t._v(" 里程计刻度因子")]),t._v(" "),_("p",[t._v("指载体实际运动速度(距离)与里程计输出速度(距离)的比值。理想情况下为 1;受轮胎充气、磨损、路面打滑等因素影响,实际往往不为 1。校准刻度因子可提高定位精度,通常需借助其他测速(测距)传感器。下文方法一、方法二均以 GPS 数据辅助计算。")]),t._v(" "),_("h2",{attrs:{id:"方法一-简易校准工具"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#方法一-简易校准工具"}},[t._v("#")]),t._v(" 方法一:简易校准工具")]),t._v(" "),_("p",[t._v("以 GPS 辅助校准里程计刻度因子;GPS 定位精度越高,结果通常越准。原理是将一段路程上里程计累计距离与 GPS 累计距离相比,得到刻度因子,因此校准过程中载体须"),_("strong",[t._v("直线行驶")]),t._v("。")]),t._v(" "),_("h3",{attrs:{id:"a-开始"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#a-开始"}},[t._v("#")]),t._v(" A. 开始")]),t._v(" "),_("p",[t._v("在 GPS 定位有效、里程计输入正常的前提下,点击 "),_("strong",[t._v("Calibration")]),t._v("。下方 state 状态栏将实时显示:")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("Odometer Distance Left")]),t._v(":左轮里程计累计位移")]),t._v(" "),_("li",[_("strong",[t._v("Odometer Distance Right")]),t._v(":右轮里程计累计位移")]),t._v(" "),_("li",[_("strong",[t._v("Speed")]),t._v(":GPS 获得的载体实时速度")]),t._v(" "),_("li",[_("strong",[t._v("Distance")]),t._v(":由 GPS 计算的累计位移")])]),t._v(" "),_("h3",{attrs:{id:"b-刻度因子估计"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#b-刻度因子估计"}},[t._v("#")]),t._v(" B. 刻度因子估计")]),t._v(" "),_("p",[t._v("当 "),_("strong",[t._v("Distance")]),t._v(" 显示的位移足够(建议 20 m 以上)时,点击 "),_("strong",[t._v("Stop and Calculate")]),t._v("。此时 "),_("strong",[t._v("Scale Factor Left")]),t._v("、"),_("strong",[t._v("Scale Factor Right")]),t._v(" 右侧框中将显示计算得到的刻度因子,如下图所示:")]),t._v(" "),_("fdi-img",{attrs:{width:"100%",alt:"IMU",src:"/fdigroundstation/里程计/图片39.png",caption:""}}),t._v(" "),_("p",[t._v("两个参数会自动写入模组 Flash。若不满意,可重复 A → B 重新校准。")]),t._v(" "),_("h2",{attrs:{id:"方法二-精准校准工具"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#方法二-精准校准工具"}},[t._v("#")]),t._v(" 方法二:精准校准工具")]),t._v(" "),_("p",[t._v("同样以 GPS 辅助校准;精度越高,估计结果通常越好。该方法在模组内单独运行滤波,对包含里程计刻度因子在内的若干状态做实时估计。待估状态说明如下:")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("Body2Vehicle Pitch offset")]),t._v(":惯导模组坐标系到载体坐标系的安装俯仰角")]),t._v(" "),_("li",[_("strong",[t._v("Body2Vehicle YAW offset")]),t._v(":惯导模组坐标系到载体坐标系的安装偏航角")]),t._v(" "),_("li",[_("strong",[t._v("Odom Scale Factor")]),t._v(":里程计刻度因子")]),t._v(" "),_("li",[_("strong",[t._v("Odometer Arm X / Y / Z")]),t._v(":惯导模组坐标系中到里程计中心的 X / Y / Z 位置,即 IMU 到 ODOM 的杆臂")])]),t._v(" "),_("p",[t._v("共 6 组状态,同时估计时不可观,因此滤波将估计分为两段,步骤如下。")]),t._v(" "),_("h3",{attrs:{id:"a-校准开始"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#a-校准开始"}},[t._v("#")]),t._v(" A. 校准开始")]),t._v(" "),_("p",[t._v("校准前关闭滤波开关 "),_("strong",[t._v("AID_ODOMETER_VEL_UPDATE")]),t._v("。在 GPS 定位有效的环境下,使载体充分运动,先完成 GNSS/INS 组合导航,即完成惯导初始对准。开关说明见 "),_("RouterLink",{attrs:{to:"/developers/fdigroundstation/2/spkf.html#aid-odometer-vel-update"}},[t._v("AID 开关说明")]),t._v("。")],1),t._v(" "),_("h3",{attrs:{id:"b-刻度因子估计-走直线"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#b-刻度因子估计-走直线"}},[t._v("#")]),t._v(" B. 刻度因子估计(走直线)")]),t._v(" "),_("p",[t._v("点击 "),_("strong",[t._v("STEP1")]),t._v(",对安装角与里程计刻度因子做实时估计。要求载体直线运动;观察三个状态的实时数据,待数值稳定后点击 "),_("strong",[t._v("STEP2")]),t._v(",结束该段估计并进入下一步。相关参数会自动写入 Flash。")]),t._v(" "),_("h3",{attrs:{id:"c-杆臂估计-充分运动"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#c-杆臂估计-充分运动"}},[t._v("#")]),t._v(" C. 杆臂估计(充分运动)")]),t._v(" "),_("p",[t._v("点击 "),_("strong",[t._v("STEP2")]),t._v(" 后进入杆臂估计。此时 B 中得到的安装角与刻度因子不再变化。要求载体充分运动(如频繁加减速与转弯);观察三个杆臂状态,待数值稳定后点击 "),_("strong",[t._v("STOP")]),t._v(" 结束估计,参数自动写入 Flash。")]),t._v(" "),_("h3",{attrs:{id:"d-完成保存并开启"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#d-完成保存并开启"}},[t._v("#")]),t._v(" D. 完成保存并开启")]),t._v(" "),_("p",[t._v("校准完成后,在 Config 面板打开 "),_("strong",[t._v("AID_ODOMETER_VEL_UPDATE")]),t._v(",保存并重新上电,里程计 / 惯导组合导航即生效。保存步骤见 "),_("RouterLink",{attrs:{to:"/developers/fdigroundstation/2/参数配置与保存.html"}},[t._v("参数配置与保存")]),t._v("。")],1),t._v(" "),_("h2",{attrs:{id:"注意事项"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#注意事项"}},[t._v("#")]),t._v(" 注意事项")]),t._v(" "),_("cite-panel",{attrs:{title:"NOTE 1"}},[_("p",[t._v("安装角与里程计刻度因子是里程计 / 惯导组合导航的关键标定项。这三个状态在 B 步骤中可观性较强、收敛较快;杆臂可观性较差,可能无法收敛,但对组合导航影响相对较小。若 C 步骤中杆臂无法收敛,可将杆臂手动设为 0。")])]),t._v(" "),_("cite-panel",{attrs:{title:"NOTE 2"}},[_("p",[t._v("若惯导模组水平安装于载体上,且 X 轴与车头方向基本平行,方法一或方法二均可;否则必须估计惯导与载体间的安装角,此时应使用方法二。")])]),t._v(" "),_("cite-panel",{attrs:{title:"NOTE 3"}},[_("p",[t._v("若模组在载体上的安装位置固定,一般校准一次即可。使用一段时间后,因轮胎磨损、换胎或充气等,建议重新做一次里程计校准。")])])],1)}),[],!1,null,null,null);_.default=v.exports}}]);