@Li-YiFan 我使用的是1.1.0版本INS程序。
看到您的data ready下降沿触发采集之前考虑过只是我们在Linux上GPIO下降沿触发不太好写,于是直接用定时器10ms采集,以为采集到到即使不是最新的数据也可能是上一次的旧数据影响不大,原来是会产生如此多的坏数据的。
然后
1.如果使用下降沿触发中断采集那么我用它当作系统200Hz的基准时间是否可以?
2.如果我使用Linux定时器自行定时然后检测是否为低电平,在下降沿下降之后的低电平期间采集是否也可以?(或许传输期间又遇到上升沿)
3.如果使用串口的话使用最高460800直接接收到的数据也都是完好可用的吧?(你们在线数据手册好多和代码不吻合的地方比如数据手册的openimu300zi的gyro 500dps然而代码400dps;The default factory axis setting for the OpenIMU300ZI for SPI interface is (-Uy, -Ux, -Uz),我们spi读取似乎就是+ + +方向之类的)
Posts made by Wangguotong
@Li-YiFan 感谢回复,经过我们的测试似乎对于OPENIMU300ZA 100LSB/dps能和原始INS程序的gyro匹配,并且发现在INS程序中有相应参数(UserMessagingSPI.c中344行)
但是后续车载测试中,使用SPI采集到的Acc和Gyro数据会有许多并不超过你们INS程序handleOverRange的波动数据,出现融合点大大超前实际定位点
现在acc和gyro都已经是25Hz低通滤波100Hz采集频率
我用openimu300采集传感器六轴数据,使用spi按照在线手册发送0x3E得到六轴数据,其中陀螺仪数据手册给出的是64LSB/dps,于是把得到的原始陀螺仪数据除以64得到以deg/s为单位的角速率,但是我在把此数据和标准INS程序使用串口采集到的陀螺仪数据对比,他们似乎有一个1.5倍的差距,这是为什么呢?
感谢回复,目前确实使用的0x3E取得的6轴数据,如果想得到九轴数据还应该发送什么,在数据手册上没有找到获得磁力计和温度的发送指令?
您好,请问使用spi发送0x5600读出来的openimu300的六轴数据是源码taskDataAcquisition.c中调用GetSensorsData()后的数据吗,该函数直接调用的API,在API中做了滤波及校准,可以看到API中的具体实现吗?使用spi读取到的数据如何进行滤波校准呢?(如scaling, temperature compensation, bias removal, and misalignment.) @Dong-xiaoguang @cek @Li-YiFan
@Li-YiFan 这个结果看起来非常棒,如果我使用NMEA信息输入可以得到类似的结果吗,它(NMEA)比ublox-bin输入具体缺少哪些东西呢,我是否可以直接添加缺失的数据来做呢,因为我想使用rtk结果输入,它只能输出nmea或者经纬度高以及协方差信息
@Dong-xiaoguang 我重新导入了新版的imu300zi 的ins 和 imu代码但是在连接到开发平台只能看到并选择Z1 packets(如图),即使我在代码用户配置里写的是e2也只有z1的加速度角速度输出,我是要在什么地方还要配置什么东西才能再次得到e2输出吗?
@Dong-xiaoguang 原来如此,非常感谢,不过,我在哪里可以看到我的是最新版本?我之前一直是用VSCODE里面导入的那个,是要去github下载还是最近再次vscode导入就是新版本了?