注册 登录
查看: 960|回复: 32

[摄像头组] 鹰眼与平衡代码问题

[复制链接]
发表于 2014-5-1 21:29:11 | 显示全部楼层 |阅读模式
鹰眼摄像头采集加解压、巡线处理要好长时间,10ms还多,那么,我怎样才能在5ms中断中来实现采集与控制呢?
这确实是个问题,求赐教!!
回复

使用道具 举报

 楼主| 发表于 2014-5-1 21:30:04 | 显示全部楼层
这确实是个不能回避的问题。
回复 支持 反对

使用道具 举报

发表于 2014-5-1 22:16:28 | 显示全部楼层

回帖奖励 +5

不可能事件

参考这个吧:
关于摄像头采集和解压的疑问 - 智能车讨论区 - 山外-vcan123论坛 http://www.vcan123.com/forum.php ... tid=1939&ctid=6

直立控制保存在5ms周期就好,图像采集还是按照原先的周期来控制。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-2 16:23:09 | 显示全部楼层
栾端静 发表于 2014-5-1 22:16
不可能事件

参考这个吧:

5MS来了,图像不采集貌似采集不完吧,,
回复 支持 反对

使用道具 举报

发表于 2014-5-2 16:30:42 | 显示全部楼层
111xian 发表于 2014-5-2 16:23
5MS来了,图像不采集貌似采集不完吧,,

DMA 采集的,中断来了,对采集没什么影响。
(当然,有可能抢总线导致的采集异常出现)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-2 16:34:15 | 显示全部楼层
危隽洁 发表于 2014-5-2 16:30
DMA 采集的,中断来了,对采集没什么影响。
(当然,有可能抢总线导致的采集异常出现)

采集过程中会改变,我的图像数组吧
那我怎么处理???
回复 支持 反对

使用道具 举报

发表于 2014-5-2 16:36:02 | 显示全部楼层
111xian 发表于 2014-5-2 16:34
采集过程中会改变,我的图像数组吧
那我怎么处理???

不要在中断里处理图像啊,而是等采集完成后,直接在主函数里处理图像。

明明不可能5ms采集完成,你非要5ms后就处理,那只能死机。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-2 16:50:02 | 显示全部楼层
危隽洁 发表于 2014-5-2 16:36
不要在中断里处理图像啊,而是等采集完成后,直接在主函数里处理图像。

明明不可能5ms采集完成,你非要 ...

是不是在中断里采集呢?
5MS中断,采集不完图像的
求指教
回复 支持 反对

使用道具 举报

发表于 2014-5-2 16:52:21 | 显示全部楼层
111xian 发表于 2014-5-2 16:50
是不是在中断里采集呢?
5MS中断,采集不完图像的
求指教

你首先放弃一个想法是:5ms内采集一副图像,那是不可能的,所以不要这样的想法。

5ms 仅仅是直立控制的周期
摄像头采集放在 主函数里,中断触发场中断和dma中断,采集完成后处理,然后把处理结果存放在全局变量里。

5ms的直立控制的周期中断里就根据这些全局变量来调整速度。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-2 17:00:09 | 显示全部楼层
危隽洁 发表于 2014-5-2 16:52
你首先放弃一个想法是:5ms内采集一副图像,那是不可能的,所以不要这样的想法。

5ms 仅仅是直立控制的 ...

会不会有这样的情况,5MS直立控制周期执行了1次,或两次,而摄像头才采集来数据,
会不会在前期出错?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-2 20:35:06 | 显示全部楼层
危隽洁 发表于 2014-5-2 16:52
你首先放弃一个想法是:5ms内采集一副图像,那是不可能的,所以不要这样的想法。

5ms 仅仅是直立控制的 ...

5MS中断与主函数中场中断、DMA中断怎样协调呢?
求指教
回复 支持 反对

使用道具 举报

发表于 2014-5-2 21:03:33 | 显示全部楼层
111xian 发表于 2014-5-2 17:00
会不会有这样的情况,5MS直立控制周期执行了1次,或两次,而摄像头才采集来数据,
会不会在前期出错?

5MS直立控制周期执行了1次,或两次,而摄像头才采集来数据

肯定会有这种情况出现。其实也没太大影响,主要是保证直立能够正常跑,跑的方向是根据图像采集来决定的。
回复 支持 反对

使用道具 举报

发表于 2014-5-4 15:09:54 | 显示全部楼层
图像处理中断,dma中断,直立中断,速度控制,这些怎样控制时序?
回复 支持 反对

使用道具 举报

发表于 2014-5-4 15:34:04 | 显示全部楼层
北方小榕树 发表于 2014-5-4 15:09
图像处理中断,dma中断,直立中断,速度控制,这些怎样控制时序?

图像处理绝对不能放在中断里进行,否则实时性就大受影响。
回复 支持 反对

使用道具 举报

发表于 2014-5-6 19:32:14 | 显示全部楼层
荆怀卉 发表于 2014-5-4 15:34
图像处理绝对不能放在中断里进行,否则实时性就大受影响。

那咋放呀》??求赐教!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 18:16:35 | 显示全部楼层

摄像头采集与平衡控制

    摄像头采集后的图像进行数据处理,如果直接叠加到直立控制,那绝对会站不住的,是不是?
          那我怎么怎样叠加,才能实现站立行走呢?
            求指教。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2014-5-7 18:27:18 | 显示全部楼层
111xian 发表于 2014-5-7 18:16
摄像头采集后的图像进行数据处理,如果直接叠加到直立控制,那绝对会站不住的,是不是?
          那 ...

采集图像周期和直立控制周期本来就不一样,如果两者和在一起,会由于采集周期过长而影响到直立周期,导致小车没法自立得好。
回复 支持 反对

使用道具 举报

发表于 2014-5-7 18:34:44 | 显示全部楼层
北方小榕树 发表于 2014-5-6 19:32
那咋放呀》??求赐教!!

关于鹰眼采集时间和直立时间协调的问题 - 智能车讨论区 - 山外-vcan123论坛 http://www.vcan123.com/forum.php ... amp;extra=#pid15627
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 19:02:01 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-7 18:27
采集图像周期和直立控制周期本来就不一样,如果两者和在一起,会由于采集周期过长而影响到直立周期,导致 ...

明白了,
图像采集与直立应该并行处理,中间用全局变量通信,对不对?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 19:02:27 | 显示全部楼层
危隽洁 发表于 2014-5-2 16:52
你首先放弃一个想法是:5ms内采集一副图像,那是不可能的,所以不要这样的想法。

5ms 仅仅是直立控制的 ...

明白了,
图像采集与直立应该并行处理,中间用全局变量通信,对不对?
回复 支持 反对

使用道具 举报

发表于 2014-5-7 19:02:58 | 显示全部楼层
111xian 发表于 2014-5-7 19:02
明白了,
图像采集与直立应该并行处理,中间用全局变量通信,对不对?

是的,类似于多线程,多任务那样。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 19:06:14 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-7 19:02
是的,类似于多线程,多任务那样。

  把
camera_get_img();
img_extract((uint8 *)img_buf,(uint8 *)imgbuff, CAMERA_SIZE);  放在main中,
直立控制用5MS中断实现,对吧?
回复 支持 反对

使用道具 举报

发表于 2014-5-7 19:07:54 | 显示全部楼层
111xian 发表于 2014-5-7 19:06

camera_get_img();
img_extract((uint8 *)img_buf,(uint8 *)imgbuff, CAMERA_SIZE);  放在main中 ...

是的,DMA采集是并行与CPU的,直立控制优先级高于图像处理。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 19:09:44 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-7 19:07
是的,DMA采集是并行与CPU的,直立控制优先级高于图像处理。

不用配置中断优先级吧?
貌似本身DMA优先级就高,对吧?
回复 支持 反对

使用道具 举报

发表于 2014-5-7 19:11:07 | 显示全部楼层
111xian 发表于 2014-5-7 19:09
不用配置中断优先级吧?
貌似本身DMA优先级就高,对吧?

参考刚才给的帖子
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 19:16:54 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-7 19:11
参考刚才给的帖子

强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 19:39:41 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-7 18:27
采集图像周期和直立控制周期本来就不一样,如果两者和在一起,会由于采集周期过长而影响到直立周期,导致 ...

    还有个问题,我想问,我已经在主函数中中采集图像处理到全局变量了,下面就是进行电机控制,方向控制。直接叠加到Speed_Calculatel里去,会不会破坏直立控制,到最后连站都站不住了?
回复 支持 反对

使用道具 举报

发表于 2014-5-7 19:45:19 | 显示全部楼层
111xian 发表于 2014-5-7 19:39
还有个问题,我想问,我已经在主函数中中采集图像处理到全局变量了,下面就是进行电机控制,方向控制 ...

电机控制,方向控制,这里本来都是直立控制的一个部分,而且处理时间很短的,所以不用怕。
这部分内容,参考卓晴老师的视频吧,我们也没研究。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 20:31:35 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-7 19:45
电机控制,方向控制,这里本来都是直立控制的一个部分,而且处理时间很短的,所以不用怕。
这部分内容, ...

好的,我再研究研究
强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2014-5-8 07:49:30 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-7 19:07
是的,DMA采集是并行与CPU的,直立控制优先级高于图像处理。

这样配置优先级,是不是意味着PII0的优先级是最低的?
  1. /************************ 配置 K60 的优先级  ***********************/
  2.     //K60 的默认优先级 都为 0
  3.     //参考帖子:急求中断嵌套的例程 - 智能车讨论区 - 山外-vcan123论坛
  4.     //          http://www.vcan123.com/forum.php?mod=viewthread&tid=499&page=1#pid3270
  5.     NVIC_SetPriorityGrouping(4);            //设置优先级分组,4bit 抢占优先级,没有亚优先级

  6.     NVIC_SetPriority(PORTA_IRQn,0);         //配置优先级
  7.     NVIC_SetPriority(PORTE_IRQn,1);         //配置优先级
  8.     NVIC_SetPriority(DMA0_IRQn,2);          //配置优先级
  9.     NVIC_SetPriority(PIT0_IRQn,3);          //配置优先级
回复 支持 反对

使用道具 举报

发表于 2014-5-12 10:38:33 | 显示全部楼层
貌似应该是DMA采集完成的中断优先级最低
回复 支持 反对

使用道具 举报

发表于 2014-5-12 10:40:07 | 显示全部楼层
草原上的星星 发表于 2014-5-8 07:49
这样配置优先级,是不是意味着PII0的优先级是最低的?

是呀抢沙发~给哥们顶一个
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-13 13:16:35 | 显示全部楼层
草原上的星星 发表于 2014-5-8 07:49
这样配置优先级,是不是意味着PII0的优先级是最低的?

是的,的确
回复 支持 反对

使用道具 举报

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

本版积分规则

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