51uwb.cn

 找回密码
 立即注册
查看: 10750|回复: 11
打印 上一主题 下一主题

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

[复制链接]

73

主题

249

帖子

7065

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7065
跳转到指定楼层
楼主
发表于 2018-11-11 19:30:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
首先曝光一个照片,夜间拍的,不清楚,但是很有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中,每次开机读取这个值。



回复

使用道具 举报

73

主题

249

帖子

7065

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7065
沙发
 楼主| 发表于 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次均值。目前状况良好
回复

使用道具 举报

73

主题

249

帖子

7065

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7065
板凳
 楼主| 发表于 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显示代码
回复

使用道具 举报

1

主题

7

帖子

37

积分

新手上路

Rank: 1

积分
37
地板
发表于 2019-1-5 15:16:48 | 只看该作者
我也按照你的意思编程了,但是感觉刷新太慢,跟随小车经常方向错位,我觉得还是距离测量的误差有点大。
回复

使用道具 举报

73

主题

249

帖子

7065

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7065
5#
 楼主| 发表于 2019-1-9 18:05:48 | 只看该作者
weimingming 发表于 2019-1-5 15:16
我也按照你的意思编程了,但是感觉刷新太慢,跟随小车经常方向错位,我觉得还是距离测量的误差有点大。

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

使用道具 举报

73

主题

249

帖子

7065

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7065
6#
 楼主| 发表于 2019-1-9 18:05:53 | 只看该作者
weimingming 发表于 2019-1-5 15:16
我也按照你的意思编程了,但是感觉刷新太慢,跟随小车经常方向错位,我觉得还是距离测量的误差有点大。

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

使用道具 举报

3

主题

7

帖子

28

积分

新手上路

Rank: 1

积分
28
7#
发表于 2020-6-12 23:18:38 | 只看该作者
这个的代码可以分享一下吗
回复

使用道具 举报

3

主题

7

帖子

25

积分

新手上路

Rank: 1

积分
25
8#
发表于 2020-8-27 18:35:17 | 只看该作者
h543837743 发表于 2020-6-12 23:18
这个的代码可以分享一下吗

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

使用道具 举报

0

主题

3

帖子

3

积分

新手上路

Rank: 1

积分
3
9#
发表于 2020-9-22 11:33:37 | 只看该作者
这个就很六了
回复

使用道具 举报

0

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
10#
发表于 2022-3-9 17:27:02 | 只看该作者
代码开源吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

bphero Inc.  

GMT+8, 2024-11-22 15:25 , Processed in 0.031284 second(s), 6 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表