tuzhuke 发表于 2018-11-11 19:30:30

DWM1000 跟随小车 IIC OLED 以及 ant delay caliration

首先曝光一个照片,夜间拍的,不清楚,但是很有feel


总结一下今天进展:
1 跟随小车户外试车
   模块如果在同一平面测距比较准确,但是如果不在同一个平面,由于天线不是完全的全向天线,所以这个没法避免。
   需要改进的地方:提高刷新频率,使用10-20的平均值然后计算角度。

2 移植IIC OLED
   手边有两组模块,一组是STM32F103RC的板子,使用的是SPI OLED,自己打样的是STM32F103C8T6的板子,使用的是IIC OLED
   现在完美兼容,可以通过判断宏STM32F10X_MD自动识别不同OLED。
   存在的问题:由于IIC底层用到while 判断flag,如果没有链接OLED导致程序死循环,需要修改程序--》通过判断slave 器件是否存在

3 天线延时校准(ant delay calibration)
   由于每个DWM1000 之间必然有微小的差异,会导致如果使用同样的ant delay,不同的模块测距会出现几厘米到十几厘米的差异,如果在跟踪小车中,这个差异对角度计算影响非常大。
   目前实现方法: 新建分支,通过改变ant delay,多次测距求平均。--》可以手动hardcode 到代码中,重新烧录模块hex
   【tag ant delay无需校准,单独对每个anchor 校准即可】
后期实现,将校准值写入到EEPROM中,每次开机读取这个值。



tuzhuke 发表于 2018-11-11 20:42:12

本帖最后由 tuzhuke 于 2018-11-11 22:36 编辑

针对 1 跟随小车户外试车 中提及的多次平均
代码实现较为简单,将tag while中的delay 去掉,目前使用15次结果的平均值,显示在OLED,角度计算还没有使用多个节点测试。
OLED刷屏频率大概在1s 左右,也就是15HZ,IIC OLED刷新太慢了。

测试结果比较稳定,但是遇到一个奇诡的问题: 当距离在1.70m 左右,有几个点,突然导致测得距离不变,即便我将两个模块放到很近的地方。 如果将两个模块放到很近的的地方,很长时间也不会出现这个问题。

重新复位Anchor 后恢复正常,检查code,将code 中kalman 滤波拿掉就好了,可能函数中出现异常了。
kalman 滤波本身google 到的一份源码,自己也没有看拿过来果然出现问题了。

拿掉kalman 滤波代码后,稳定性基本也不变,毕竟取了15次均值。目前状况良好

tuzhuke 发表于 2018-11-14 09:49:11

本帖最后由 tuzhuke 于 2018-11-14 14:30 编辑

针对 2 移植IIC OLED
目前在IIC 底层代码中的while 循环中增加了timeout
由于之前IIC 代码中while 等待IIC 相关flag,若flag没有置起来就一直等,增加timeout后等待一段时间就退出。

这个方法可以patch 没有接IIC液晶的模块正常工作不至于死循环。
缺点: 没有接硬件的模块每次都会等待延时,浪费资源。
后期改进: 增加flag,若有一次发现timeout,后期就不进人OLED显示代码

weimingming 发表于 2019-1-5 15:16:48

我也按照你的意思编程了,但是感觉刷新太慢,跟随小车经常方向错位,我觉得还是距离测量的误差有点大。

tuzhuke 发表于 2019-1-9 18:05:48

weimingming 发表于 2019-1-5 15:16
我也按照你的意思编程了,但是感觉刷新太慢,跟随小车经常方向错位,我觉得还是距离测量的误差有点大。

定点测试,看看误差多大?
必须将模块放置在正确的位置上
我定点测试,误差小于30cm
有时自己感觉误差很大,但是实际通过定点测试,发现其实误差还行。
肉眼很容易感觉出歪了很多

tuzhuke 发表于 2019-1-9 18:05:53

weimingming 发表于 2019-1-5 15:16
我也按照你的意思编程了,但是感觉刷新太慢,跟随小车经常方向错位,我觉得还是距离测量的误差有点大。

定点测试,看看误差多大?
必须将模块放置在正确的位置上
我定点测试,误差小于30cm
有时自己感觉误差很大,但是实际通过定点测试,发现其实误差还行。
肉眼很容易感觉出歪了很多

h543837743 发表于 2020-6-12 23:18:38

这个的代码可以分享一下吗

海底沉心 发表于 2020-8-27 18:35:17

h543837743 发表于 2020-6-12 23:18
这个的代码可以分享一下吗

+1,这个的代码可以分享一下吗

REDBRESS 发表于 2020-9-22 11:33:37

这个就很六了

Eminent01 发表于 2022-3-9 17:27:02

代码开源吗:D
页: [1] 2
查看完整版本: DWM1000 跟随小车 IIC OLED 以及 ant delay caliration