搜索
bottom↓
回复: 33

关于PX4FLOW的MAVLINK数据解析

[复制链接]

出0入0汤圆

发表于 2015-4-27 20:15:00 | 显示全部楼层 |阅读模式
由于要搞光流,在淘宝买了个PX4FLOW,虽然中间换了两次货(第一次没图像,第二次没超声波数据),不过最终通过QGC看到了数据,不过感觉在室内真的是不太灵敏,光照较强的地方会好点,先不管了,这么贵的模块,先把数据解析出来再说。
先了解了下MAVLINK协议:


打开官网,找到PX4FLOW的资料

需要通过USART3连接我的主控,而主要用到的信息就是OPTICAL_FLOW_MESSAGE,
看了这张图,我就错误的以为数据是按照这个顺序来发送的,所以我就按照这个顺序来解析,通过MDK仿真看到解析出来的ground_distance跟实际观测的完全不符,但是通过QGC(USB方式)真的可以观测到准确的数据,没办法,看PX4FLOW源码吧。
找来找去,在mavlink_msg_optical_flow.h中真相揭晓:

原来是以这样一个顺序发送的,低字节在前,高字节在后,改了程序之后果然好使,这里还要说的是CRC校验,按照上面的帧结构,最后两位是CRC校验位,
在mavlink_helpers.h中有这样一个函数

而crc_extra这个变量是跟一帧的第二个字节有关,也就是跟payload length有关,而#100中的是0x1A,也就是26,而在mavlink_msg_optical_flo.h中这样定义:


具体方法可以参照此贴http://www.amobbs.com/forum.php? ... page%3D1#pid8545603,感谢这位网友的无私奉献

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-4-30 17:01:06 | 显示全部楼层
即将入手这款光流!!先学习

出0入0汤圆

发表于 2015-4-30 17:51:54 | 显示全部楼层
某宝的PX4FLOW 很多都是仿的的吧

出0入0汤圆

发表于 2015-4-30 18:22:21 | 显示全部楼层
现在这么多人做光流啊

出0入0汤圆

 楼主| 发表于 2015-5-2 23:25:16 | 显示全部楼层
Puppey 发表于 2015-4-30 17:51
某宝的PX4FLOW 很多都是仿的的吧

是山寨的,你用过原厂的吗?我还正想看看这山寨的能跟原厂什么差别,我感觉信息还是不太准确

出0入0汤圆

发表于 2015-5-3 09:58:14 | 显示全部楼层
fengshao1370 发表于 2015-5-2 23:25
是山寨的,你用过原厂的吗?我还正想看看这山寨的能跟原厂什么差别,我感觉信息还是不太准确 ...

  准备买啊,没买呢

出0入0汤圆

发表于 2015-5-6 23:10:07 | 显示全部楼层
正想买……不过感觉打水漂的可能很大很大

出0入0汤圆

发表于 2015-5-10 10:48:00 | 显示全部楼层
已经入手了,但是驱动装不上,……是我打开方式不对?

出0入0汤圆

 楼主| 发表于 2015-5-11 08:50:30 | 显示全部楼层
Jaly314 发表于 2015-5-10 10:48
已经入手了,但是驱动装不上,……是我打开方式不对?

当时卖家还给了我一个MissonPlanner的文件,你是不是没装这个,我这个一开始没装驱动也装不上

出0入0汤圆

发表于 2015-6-7 20:31:14 | 显示全部楼层
楼主 不知道你用过PX4FLOW的I2C读数据没? 我用模拟的I2C读始终他的XY位移据始终没有返回

出0入0汤圆

发表于 2015-6-7 21:26:57 | 显示全部楼层
已经将px4flow移植到mdk下,并做了优化,比官方的快不少

出0入0汤圆

发表于 2015-6-8 00:16:53 | 显示全部楼层
nongxiaoming 发表于 2015-6-7 21:26
已经将px4flow移植到mdk下,并做了优化,比官方的快不少

请问你的是用MAVLINK协议读的还是 i2c 能看看代码吗

出0入0汤圆

发表于 2015-6-12 14:44:14 | 显示全部楼层
你好 请问你串口接收程序能发下吗   我的是  收不到正确的数  buffer0为数据段开始


        flow.time_sec=(flow_buf[7]<<64|flow_buf[6]<<56|flow_buf[5]<<48|flow_buf[4]<<40
                 |flow_buf[3]<<32|flow_buf[2]<<16|flow_buf[1]<<8|flow_buf[0]);
   flow.id=flow_buf[24];
         flow.flow_x=(int)(flow_buf[9]|flow_buf[10]<<8);
         flow.flow_y=(int)(flow_buf[11]|flow_buf[12]<<8);
         flow.flow_comp_x=0;//Flow in m in x-sensor direction, angular-speed compensated
         flow.flow_comp_y=0;
         flow.quality=flow_buf[25]; //Optical flow quality / confidence. 0: bad, 255: maximum quality
                 floattobyte[0]=flow_buf[22];
                 floattobyte[1]=flow_buf[23];
                 floattobyte[2]=flow_buf[24];
                 floattobyte[3]=flow_buf[25];
                 
         flow.hight=ByteToFloat(floattobyte);//gr

出0入0汤圆

 楼主| 发表于 2015-6-13 22:38:23 | 显示全部楼层
golaced 发表于 2015-6-12 14:44
你好 请问你串口接收程序能发下吗   我的是  收不到正确的数  buffer0为数据段开始

开头还有0xFE,0x1A等字节,这些帧头,功能位等不要忽略

出0入0汤圆

 楼主| 发表于 2015-6-13 22:41:12 | 显示全部楼层
木桥 发表于 2015-6-7 20:31
楼主 不知道你用过PX4FLOW的I2C读数据没? 我用模拟的I2C读始终他的XY位移据始终没有返回 ...

用的是串口,也试过I2C通信,但是读不出来数据,就放弃了,你可以读出数据吗

出0入0汤圆

发表于 2015-6-14 08:43:02 | 显示全部楼层
fengshao1370 发表于 2015-6-13 22:41
用的是串口,也试过I2C通信,但是读不出来数据,就放弃了,你可以读出数据吗 ...

可以 你可以去参考我的帖子

出0入0汤圆

发表于 2015-7-27 09:56:29 | 显示全部楼层
对于刚准备入手的菜鸟,我比较关心哪里可以买到性价比好一点的模块

出0入0汤圆

发表于 2015-8-6 19:54:43 | 显示全部楼层
我刚刚入手了光流传感器,但完全不会用呢还

出0入0汤圆

发表于 2015-8-7 10:11:35 | 显示全部楼层
这个光流传感器接电脑的时候是不是只能用W7的系统呀,

出0入0汤圆

发表于 2015-8-8 09:50:23 | 显示全部楼层
nongxiaoming 发表于 2015-6-7 21:26
已经将px4flow移植到mdk下,并做了优化,比官方的快不少

能把你的工程分享一下么?做电设想用光流

出0入0汤圆

发表于 2015-9-6 15:21:16 | 显示全部楼层
mark!!!!!!!

出0入0汤圆

发表于 2015-11-12 16:25:49 | 显示全部楼层
nongxiaoming 发表于 2015-6-7 21:26
已经将px4flow移植到mdk下,并做了优化,比官方的快不少

我也在MDK下将代码移植了!但是在QGROUND下打开后QgrounD会死机 !能分享一下你的工程么?我QQ1126539423  !

出0入0汤圆

发表于 2015-12-1 15:06:20 | 显示全部楼层
nongxiaoming 发表于 2015-6-7 21:26
已经将px4flow移植到mdk下,并做了优化,比官方的快不少

同求,一直到mdk下的px4flow工程

出0入0汤圆

发表于 2015-12-1 15:07:00 | 显示全部楼层
梁小七 发表于 2015-8-7 10:11
这个光流传感器接电脑的时候是不是只能用W7的系统呀,

好像是的,我在xp下面根本都没法使用呀

出0入0汤圆

发表于 2015-12-1 15:14:24 | 显示全部楼层
梁小七 发表于 2015-8-6 19:54
我刚刚入手了光流传感器,但完全不会用呢还

你的这个模块用得咋样了呢

出0入0汤圆

发表于 2015-12-3 15:10:14 | 显示全部楼层
Dragontan 发表于 2015-12-1 15:14
你的这个模块用得咋样了呢

基础的距离能测

出0入0汤圆

发表于 2015-12-3 16:06:27 | 显示全部楼层

是使用官方的固件?

出0入0汤圆

发表于 2015-12-3 16:07:18 | 显示全部楼层

你是用使用QGroundControl吗,还有使用其他的上位机软件不呢

出0入0汤圆

发表于 2016-1-20 15:55:09 | 显示全部楼层
yl494706588 发表于 2015-11-12 16:25
我也在MDK下将代码移植了!但是在QGROUND下打开后QgrounD会死机 !能分享一下你的工程么?我QQ1126539423 ...

QQ2403429739,请多指教!

出0入0汤圆

发表于 2016-1-20 15:56:11 | 显示全部楼层
nongxiaoming 发表于 2015-6-7 21:26
已经将px4flow移植到mdk下,并做了优化,比官方的快不少

2403429739QQ 希望得到帮助 的

出0入0汤圆

发表于 2016-2-18 20:19:53 | 显示全部楼层
flow代码分析

出0入0汤圆

发表于 2016-4-6 10:19:12 | 显示全部楼层
nongxiaoming 发表于 2015-6-7 21:26
已经将px4flow移植到mdk下,并做了优化,比官方的快不少

您好,您是否把px4flow的源码移植到MDK了,能否分享一下呢,我在移值上遇到了一些报错,烦请高手指点, 感谢。ghdnui@foxmail.com

出0入0汤圆

发表于 2016-4-6 16:09:13 | 显示全部楼层
ghdnui 发表于 2016-4-6 10:19
您好,您是否把px4flow的源码移植到MDK了,能否分享一下呢,我在移值上遇到了一些报错,烦请高手指点, 感 ...

只要重写那段汇编就好了

出0入0汤圆

发表于 2016-4-6 17:00:24 | 显示全部楼层
nongxiaoming 发表于 2016-4-6 16:09
只要重写那段汇编就好了

好高深啊,能否给您的工程我参考下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-11 06:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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