16 KiB
16 KiB
FDILink指令配置示例
进入配置模式
#fconfig\r\n
滤波器开关配置示例——将3D磁力计的融合开关打开
#fconfig\r\n // 1. 进入配置模式
#fparam get AID_MAG_V_MAGNETIC\r\n // 2. 获取当前滤波器状态
#fparam set AID_MAG_V_MAGNETIC 1\r\n // 3. 设置3D磁辅助为打开状态
#fsave\r\n // 4. 保存设置
#freboot\r\n // 5. 重启设备
将COM2 改成NMEA(OUT) 协议
#fparam get AID_GNSS_VEL_UPDATE\r\n
#fparam get MAG_GEOMAGFIELD_B\r\n
#fconfig\r\n
#fdeconfig\r\n
#fsave\r\n
#freboot\r\n
y\r\n
#fconfig\r\n
设置端口1的类型为MAIN
#fparam set COMM_STREAM_TYP1 1\r\n
设置端口4的类型为NONE
#fparam set COMM_STREAM_TYP4 0\r\n
波特率修改配置
#fimucal_gyro\r\n
#fmagcal3d\r\n
#faxis\r\n
#fmsg 40 100\r\n
#fmsg\r\n
#fante\r\n
Stream_TxBlock(stream, "UNLOG\r\n", strlen("UNLOG\r\n"));
// Stream_TxBlock(stream, "GPGGA 1\r\n", strlen("GPGGA 1\r\n")); //增加NMEA解析数据会有2-3s延迟 字符形式解析慢
Stream_TxBlock(stream, "AGRICB 0.1\r\n", strlen("AGRICB 0.1\r\n"));
Stream_TxBlock(stream, "LOG PSRDOPB ONCHANGED\r\n", strlen("LOG PSRDOPB ONCHANGED\r\n"));
Stream_TxBlock(stream, "LOG PSRVELB ONTIME 0.1\r\n", strlen("LOG PSRVELB ONTIME 0.1\r\n"));
// Stream_TxBlock(stream, "LOG PSRPOSB ONTIME 0.1\r\n", strlen("LOG PSRPOSB ONTIME 0.1\r\n"));
Stream_TxBlock(stream, "LOG HEADINGB ONTIME 0.1\r\n", strlen("LOG HEADINGB ONTIME 0.1\r\n"));
// Stream_TxBlock(stream, "LOG BESTXYZB ONTIME 0.1\r\n", strlen("LOG BESTXYZB ONTIME 0.1\r\n"));
fconfig指令
| 属性 | 内容 |
|---|---|
| 命令 | #fconfig |
| 说明 | 使导航设备由导航模式进入配置模式,配置模式下设备不再进行导航也不输出数据。所有配置命令仅在配置模式下有效。配置完成后请保存,否则已配置项不会保存和生效 |
| 格式 | #fconfig<CR><LF> |
| 需要确认 | 否 |
| 重启生效 | 否 |
| 示例 | 输入:#fconfig — 导航设备停止输出导航结果,并输出: #OK |
fdeconfig指令
| 属性 | 内容 |
|---|---|
| 命令 | #fdeconfig |
| 说明 | 使导航设备由配置模式恢复导航模式 |
| 格式1 | #fdeconfig<CR><LF> |
| 需要确认 | 否 |
| 重启生效 | 否 |
| 示例 | 输入:#fdeconfig — 导航设备重新输出导航数据 |
| 回复 | *#OK — 成功进入导航模式 |
freboot
| 属性 | 内容 |
|---|---|
| 命令 | #freboot |
| 说明 | 重新热启动设备 |
| 格式 | #freboot |
| 需要确认 | 是 |
| 重启生效 | 否 |
| 示例 | 输入#freboot,设备重新热启动 |
| 备注 | 重新启动时所有未保存的设置将不会保存,也不会生效。重新启动命令不会重启 gnss 模组 |
freset
| 属性 | 内容 |
|---|---|
| 命令 | #freset |
| 说明 | 将配置恢复到出厂初始值,恢复出厂配置后用户配置将全部清除,固件版本保持不变 |
| 格式 | #freset |
| 需要确认 | 是 |
| 重启生效 | 否 |
| 示例 | #freset |
| 备注 | 通过上位机的参数导出按钮可以将重置之前的用户配置保存下来 |
fsave
| 属性 | 内容 |
|---|---|
| 命令 | #fsave |
| 说明 | 配置保存 |
| 格式 | #fsave |
| 需要确认 | 否 |
| 重启生效 | 否 |
| 示例 | #fsave |
| 备注 | 几乎所有的配置更改后都需要执行配置保存操作,这样重启后才能保证配置生效 |
fante
| 属性 | 内容 |
|---|---|
| 命令 | #fante |
| 说明 | 配置双天线航向与载体前向夹角 |
| 格式1 | #fante<CR><LF> — 查询GNSS天线配置信息:双天线航向偏角、双天线基线长度、天线杆臂 |
| 格式2 | #fanteheadbias angle<CR><LF> — 其中 angle 为角度值,值域在 0 至 360°间 |
| 格式3 | #fantebaseline length<CR><LF> — 配置双天线之间基线的长度,length单位为米m |
| 格式4 | #fantearm x y z<CR><LF> — 配置GNSS主天线到IMU的杆臂命令 |
| 示例 | 将双天线航向与载体前向夹角设置为 270 度: 输入: #fanteheadbias 270.0输出: *#OK |
| 备注 | 定义:主天线到从天线为基线矢量正方向,从IMU正上方看去,顺时针为天线航向偏角的正方向 |
fimucal
| 属性 | 内容 |
|---|---|
| 命令 | #fimucal |
| 说明 | 校准陀螺仪、加表的常值零偏以及调平 |
| 格式1 | #fimucal_level<CR><LF> — 将IMU坐标系调平至水平面,不改变陀螺和加表零偏 |
| 格式2 | #fimucal_acce<CR><LF> — 执行加速度计零偏校准 |
| 格式3 | #fimucal_gyro<CR><LF> — 执行陀螺仪零偏校准 |
| 需要确认 | 否 |
| 重启生效 | 是 |
| 示例 | 输入#fimucal_level,IMU调平校准 |
| 备注 | 注意! 格式1和格式2需要在水平静止状态下执行该命令;格式3只需要模块保持静止 |
fmsg
| 属性 | 内容 |
|---|---|
| 命令 | #fmsg |
| 说明 | 配置发送的数据内容 |
| 格式1 | #fmsg — 查询当前数据包信息。显示内容包括所有支持的数据包以及数据包ID以及其发送频率 |
| 格式2 | #fmsg msg freq — msg为2位十六进制数字,表示数据包ID;freq为设置指定数据包的发送频率 |
| 需要确认 | 否 |
| 重启生效 | 是 |
| 示例 | 输入:#fmsg 40 100,表示IMU数据以100Hz的频率发送输出: IMU [40] 100.0Hz,表示IMU数据已经设置为100Hz的发送频率 |
fparam
| 属性 | 内容 |
|---|---|
| 命令 | #fparam |
| 说明 | 读取或配置参数 |
| 格式1 | #fparam get paramName — paramName 需要获取的参数名称 |
| 格式2 | #fparam set paramName paramValue — paramName需要设置的参数名称;paramValue参数的数值,十进制 |
| 需要确认 | 否 |
| 重启生效 | 是 |
| 配置说明1:串口波特率配置 | paramName的值和paramValue的值见表1 (DETA系列) 和表2 (EPSILON系列),默认配置中COMM_BAUD1 (端口1) 的波特率被设置为921600bps |
| 示例1 | 输入:#fparam get COMM_BAUD2\r\n输出: COMM_BAUD2=5,表示现在端口2为 115200bps输入: #fparam set COMM_BAUD2 8\r\n输出: *#OK,表示成功将端口2改为921600bps |
| 备注1 | 默认端口1配置为Main协议,若端口1配置为其它波特率,则保存重启后波特率也需要重新选择,同时强烈不建议将Main协议端口的波特率设置在115200bps以下 |
| 配置说明2:滤波开关配置 | 除了在上位机配置滤波器开关外,用户同样可以使用串口指令进行配置:paramName的值可见表3,相应的paramValue为0或者1;0表示关闭,1表示打开 |
| 示例2 | 输入:#fparam get AID_MAG_2D_MAGNETIC\r\n输出: AID_MAG_2D_MAGNETIC=1,表示磁力计2D辅助开关是打开的输入: #fparam set AID_MAG_2D_MAGNETIC 0\r\n输出: *#OK,表示不使用磁力计进行融合 |
| 备注2 | 滤波开关的配置最好在测试前进行,测试中对滤波开关进行配置可能会破坏滤波器的稳定,容易导致位姿的突变与发散 |
| 配置说明3:传感器参数修改 | 用户可以使用串口指令查看或者修改位于上位机 Onboard Parameters里的所有传感器参数,包含imu参数、GNSS参数、DEBUG参数等等 |
| 示例3 | 输入:#fparam get IMU_ACC_AVG\r\n输出: IMU_ACC_AVG=9.794700,表示当地重力加速度计为9.794700m/s²输入: #fparam get GNSS_MIN_VACC\r\n输出: GNSS_MIN_VACC=2.500000,表示当GNSS垂直方向的精度小于2.5m这个阈值时,才会使用GNSS进行组合导航输入: #fparam set GNSS_MIN_VACC 0.1\r\n输出: *#OK,表示成功将GNSS垂直方向的阈值设置为0.1m,这在客户使用RTK高精度组合导航时是有用的,可以防止在GNSS信号变差时对系统造成一定的负面影响 |
| 备注3 | 传感器参数的修改一般只用于FDISYSTEMS研发人员的调试阶段,除非用户对该领域很熟悉,否则不建议自行修改 |
| 配置说明4:端口协议配置 | 端口协议除了在上位机配置外,还能使用串口指令进行配置,端口协议见表4,常用的端口协议为Main、NAV、RTCM、NMEA和Ublox |
| 示例4 | 输入:#fparam get COMM_STREAM_TYP1\r\n输出: COMM_STREAM_TYP1=1,表示端口1配置为Main协议输入: #fparam set COMM_STREAM_TYP2 2\r\n输出: *#OK,表示将端口2配置为NAV协议,即可以通过端口2获取FDILink协议的数据;此时用户通过端口1或端口2均能获取数据,此外端口1还能连接上位机,便于实时调试输入: #fparam set COMM_STREAM_TYP3 6\r\n输出: *#OK,表示将端口3配置为Ublox模式,如果端口3有接收到Ublox类型的数据,保存重启后即可实现GPS/INS组合导航 |
| 备注4 | 上述所有配置内容都需要#fsave保存,否则重新上电后失效;此外所有端口中必须有一个配置为Main协议,只有该端口可以连接上位机 |
fmagcal2d
| 属性 | 内容 |
|---|---|
| 命令 | #fmagcal2d |
| 说明 | 磁力计2d校准指令,输入完成后用户在平面上沿模块中心缓慢旋转一周后完成校准,完成后自动保存校准数据并退出当前的配置模式 |
| 格式1 | #fmagcal2d |
| 需要确认 | 否 |
| 重启生效 | 是 |
| 示例 | 输入:#fmagcal2d\r\n输出: *#OK,表示可以开始进行2d校准输出: This is a magnetometer 2D calibration. Please wait until the magnetometer progress bar reaches 100 percent Now: 0 percent表示2D校准的实时进度,刷新频率为1HZ。当进度到达100 percent表示校准成功系统将立即退出当前配置模式,重新发送FDILink数据 |
fmagcal3d — 3D磁校准指令
| 属性 | 内容 |
|---|---|
| 命令 | #fmagcal3d |
| 说明 | 磁力计3d校准指令,输入完成后用户在空中缓慢画8字进行校准,完成后自动保存校准数据退出当前的配置模式 |
| 格式1 | #fmagcal3d |
| 需要确认 | 否 |
| 重启生效 | 是 |
| 示例 | 输入:#fmagcal3d\r\n输出: *#OK,表示可以开始进行3d校准输出: This is a magnetometer 3D calibration.The fitting error of the current calculation: xxxCalibration Algorithm: xxx表示3D校准的实时状态,刷新频率为1HZ。"The fitting error of the current calculation : xxx"表示当前计算的拟合误差,参数类型为单精度浮点数类型。"Calibration Algorithm: xxx"表示的是校准算法等级,参数等级分为Low, Mid, High三种。当计算的拟合误差小于3.000f,并算法等级等于High时表示校准成功系统将立即退出当前配置模式,即重新发送FDILink数据 |
fdgnss
| 属性 | 内容 |
|---|---|
| 命令 | #fdgnss |
| 说明 | 读取或配置上位机DGNSS栏参数 |
| 格式1 | #fdgnss get gnssNamegnssName 需要获取的参数名称,包含: • RTCM_TYPE — 发送或接收RTCM的方式• NET_INFO_IMEI — SIM卡的IMEI信息(无法配置)• NET_INFO_CCID — SIM卡的CCID信息(无法配置)• NTRIP_SVR_DOMAIN — Ntrip的IP地址• NTRIP_SVR_PORT — Ntrip的IP端口• NTRIP_MOUNT — Ntrip的挂载点• NTRIP_ACCOUNT — Ntrip账号• NTRIP_PASSWORD — Ntrip密码• FDI_AUTH — FDI云鉴权码 |
| 格式2 | #fdgnss set gnssName gnssValuegnssName 需要设置的参数名称 gnssValue 参数的数值,十进制 RTCM_TYPE参数特殊定义: • 0 — Radio • 1 — 千寻位置SDK • 2 — Ntrip配置 • 3 — FDI云 其余gnssValue无特殊定义 |
| 需要确认 | 否 |
| 重启生效 | 是 |
| 示例1 | 输入:#fdgnss get NTRIP_SVR_PORT\r\n输出: NTRIP_SVR_PORT:8002,表示Ntrip的IP端口为8002 |
| 示例2 | 完整配置NTRIP账号过程: 1. 输入: #fdgnss set RTCM_TYPE 3\r\n → 输出:*#OK(切换为NTRIP配置)2. 输入: #fdgnss set NTRIP_SVR_DOMAIN xxx.xxx.xx.xxx\r\n → 输出:*#OK(IP配置成功)3. 输入: #fdgnss set NTRIP_SVR_PORT 8002\r\n → 输出:*#OK(端口配置为8002)4. 输入: #fdgnss set NTRIP_MOUNT RTCM32_GGB\r\n → 输出:*#OK(挂载点配置为RTCM32_GGB)5. 输入: #fdgnss set NTRIP_ACCOUNT qxx1234\r\n → 输出:*#OK(账号配置为qxx1234)6. 输入: #fdgnss set NTRIP_PASSWORD 12345678\r\n → 输出:*#OK(密码配置为12345678) |
| 备注 | 上述所有配置内容都需要#fsave保存,否则重新上电后失效 |
附录表格
表1:DETA 系列v2端口波特率配置说明
| paramName | 端口说明 | paramValue | 对应波特率 |
|---|---|---|---|
| COMM_BAUD1 | UART, TTL电平, 设置范围9600bps-921600bps | 1 | 9600bps |
| 2 | 19200bps | ||
| 3 | 38400bps | ||
| COMM_BAUD2 | UART, TTL电平, 设置范围9600bps-921600bps | 4 | 76800bps |
| 5 | 115200bps | ||
| 6 | 230400bps | ||
| COMM_BAUD3 | UART, TTL电平, 设置范围9600bps-921600bps | 7 | 460800bps |
| 8 | 921600bps | ||
| 9 | 2625000bps | ||
| COMM_BAUD4 | UART, TTL电平, 设置范围9600bps-921600bps | 10 | 5250000bps |
| 11 | 10500000bps | ||
| 12 | 100000bps | ||
| COMM_BAUD5 | CAN, 可设置波特率为250000bps、500000bps、1000000bps | 13 | 250000bps |
| 14 | 500000bps | ||
| 15 | 1000000bps |
表2:EPSILON系列端口波特率配置说明
| paramName | 端口说明 | paramValue | 对应波特率 |
|---|---|---|---|
| COMM_BAUD1 | RS232,设置范围9600bps-921600bps | 1 | 9600bps |
| 2 | 19200bps | ||
| 3 | 38400bps | ||
| COMM_BAUD2 | RS232,设置范围9600bps-921600bps | 4 | 76800bps |
| 5 | 115200bps | ||
| 6 | 230400bps | ||
| COMM_BAUD3 | RS422,设置范围9600bps-921600bps | 7 | 460800bps |
| 8 | 921600bps | ||
| 9 | 2625000bps | ||
| COMM_BAUD4 | GPIO TTL,设置范围9600bps-921600bps | 10 | 5250000bps |
| 11 | 10500000bps | ||
| 12 | 100000bps | ||
| COMM_BAUD5 | CAN,可设置波特率为250000bps、500000bps、1000000bps | 13 | 250000bps |
| 14 | 500000bps | ||
| 15 | 1000000bps |
表3:SPKF融合开关说明
| paramName | 说明 |
|---|---|
| AID_ACCEL_GRAVITY | 加速度计融合开关 |
| AID_BRO_ALT_UPDATE | 气压计融合开关 |
| AID_CAR_CENT_ACCEL_NHC_ENABLED | 汽车向心加速度补偿开关 |
| AID_CAR_YZ_ZERO_VEL_NHC_ENABLED | 汽车零速更新开关 |
| AID_EXT_HEADING_UPDATE | 外部航向输入开关 |
| AID_GNSS_POS_UPDATE | GNSS 位置融合开关 |
| AID_GNSS_TRACK_HEADING_UPDATE | GNSS 航迹角融合开关 |
| AID_GNSS_VEL_UPDATE | GNSS 速度融合开关 |
| AID_GYO_TURN_ON_TARE_ENABLED | 开机时静态陀螺零偏估计开关 |
| AID_INIT_YAW_USE_MAG | 磁力计初始化航向角开关 |
| AID_MAG_2D_MAGNETIC | 磁航向融合开关 |
| AID_MAG_3D_MAGNETIC | 磁矢量融合开关 |
| AID_ODOMETER_VEL_UPDATE | 里程计融合开关 |
| AID_OPTICFLOW_UPDATE | 光流计融合开关 |
| AID_ZERO_POS_UPDATE | 零位置更新开关 |
| AID_ZERO_RATE_UPDATE | 零角速度更新开关 |
| AID_ZERO_VEL_UPDATE | 零速度更新 |
表4:端口协议类型与说明
| paramName | 端口协议 | 说明 | paramValue |
|---|---|---|---|
| COMM_STREAM_TYP(1-5) | None | 空 | 0 |
| Main | 主协议,导航数据收发和连接上位机,通过0xF0切换模式 | 1 | |
| NAV | 导航模式,收发 | 2 | |
| RTCM | 接收差分修正数据v3版,D3 00开头 | 3 | |
| NMEA | 接收NMEA格式数据 | 4 | |
| NMEA(OUT) | 导航输出NMEA格式数据 | 5 | |
| Ublox | 接收UBX格式数据 | 6 | |
| External Position | 接收外部位置数据 | 7 | |
| External Velocity | 接收外部速度数据 | 8 | |
| External Position&Velocity | 接收外部位置和速度数据 | 9 | |
| External Attitude angle | 接收外部姿态数据 | 10 | |
| External Time | 接收外部时间数据 | 11 | |
| External Heading | 接收外部航向数据 | 12 | |
| External Depth | 接收外部深度数据 | 13 | |
| External SLAM1 | 接收外部slam1数据 | 14 | |
| External SLAM2 | 接收外部slam2数据 | 15 | |
| External Pitot Pressure | 接收外部气压计数据 | 16 | |
| External Air speed | 接收外部空速数据 | 17 | |
| External Odom | 接收外部里程计数据 | 18 | |
| External LIDAR | 接收外部雷达数据 | 19 |