搜索
bottom↓
回复: 404

魔方机器人制作过程分享__先解封一部分机械和软件的..

  [复制链接]

出0入0汤圆

发表于 2012-7-6 01:27:20 | 显示全部楼层 |阅读模式
本帖最后由 kayatsl 于 2012-7-6 23:15 编辑

答辩后一直忙..又投入四轴的制作了..所以写资料的时间不多..

这个机器人做了半年... 刚开始别人看到都问,哪里买的??

后来好点.. 会问,东西怎么做的??

可是被一些觉得自己很懂行,但啥都不懂的师弟说. 这个网上制作教程很多,找找就一大堆..  听着特别心酸...

还有些人说,魔方是扭到特定的形态才放进去的... 更是吐血....

不过的确.. 没这个经历的,不会感觉到制作过程的酸甜苦辣...

被师弟批得那么惨..你们要是觉得资料好找,那你们还是自己找去吧....

好了.. 吐槽完了...还是得解封一些从别的网站上找不到的东西..

此贴只是经验分享...嵌入式的设计在于软硬件的结合...参数调整,
所以这里具体的程序和硬件设计就先不发了,因为硬件设计过程多少有些bug..免得再被P了..
如果是真想做,动手能力强的,根据这个帖,应该来说做一个出来是不成问题的..

//==============================蛋疼的分割线===========================//

先介绍一下机械部分..


原料选取是选择这种..要找很简单,淘宝 "塑料条" 就有
这种材料优点是出来已经有孔,而且孔径和孔距误差不是很大,可以减少后面制作打孔数和减少对孔误差带来的尴尬..

因为塑料材料,很好切,烧热的刀也行,金刚锯片也行.一条条切开后就可以做组装机械臂的材料了.

如果怕对孔对不上的话,就数着图中过孔数来切割,就包没错了..前后上2mm的螺丝可以固死.
后面必须用180度大力舵机做扭动,不然会出问题.. 前面尽量用3kgcm以上的小舵机, 扭矩不够的容易抖舵,夹不稳..
机械结构一目了然了,应该不用说太多,找到买塑料条的地方的话,都能找到所有材料..
噢,对了,舵机的拉杆用的1mm钢棒,一般要另外找淘宝店..


来个中轴对准图.. 做机械臂最重要的是保证扭动舵机的输出轴和机械臂最终输出轴的中心一致,不然魔方会被扭散..

机械臂做好后就是做架子了..  为了更稳固,我挑了3mm厚的铝合金条做外部支架.


这图中,舵机打孔的间距要计算好,就是根据你的魔方大小计算来打孔,因为魔方有很多尺寸,我这个尺寸只适合5.2cm的..


下来这一步不仅打孔要计算好魔方大小,而且要做好对轴中心对准..


再来个侧面图.. 这个当时拍的时侯只是装上去,没做仔细的对准


最后当然就是封顶了.. 也是一样,注意魔方尺寸和中轴对准.. 这个部分通常要多次校正.. 最繁琐的步骤.打孔不对又得重来.


来个最终的效果图..  看着还是挺舒心的..



//==================================悲摧的分割线==================================//

下面讲讲软件识别的算法..

这个制作难主要难在完全基于STM32..   不像电脑或者其他ARM9 CORTEX-A 等系列,有丰富的资源..
STM32做彩色视频的图像识别, 估计以前做的人也应该不会多..

先来一幅图..

这个是摄像头看到的图像...在液晶上显示..不小心刚好室友看着摄像头..(*^.^*)!...
稍微算一下.. 图片320x240,RGB565.  150多K.. 单片机RAM 48K...明显不可能存下来然后再转发上去...那如何保证刷新率和识别速度呢??  

这个得动动脑筋..

其实要做显示不难, STM32有FSMC..直接将GPIO的数据马上扔给FSMC让他扫上屏幕, cpu超一点频,设置好各个信号的建立时间后.
保证显示完全没问题... 这里可能有人想到用DMA+FSMC会更好..
我只是做个大概的分析,没实验过.. 因为DMA传输一样需要争抢总线资源,而且还要等待定时器触发,仲裁等..
而且摄像头信号对时序特别敏感,即使使用DMA传输,中途一样不能争抢总线... 那我还不如将CPU资源都拿来扫屏好了,反正啥都干不了..

然后问题来了,扫上屏幕容易,因为写一个数据,内存指针会自动+1.. 但读就不是这么好读了..读取每个像素点,都要重新写地址,并且需要dummy read..
而且读出来还是BGR格式...相对于写一个像素点的时间来说,读取一次几乎需要耗费多7  8倍的时间..

写一幅图需要20ms的话.. 读取整幅图片估计100多ms才能读完,还没算处理的时间..如果全部加起来,很可能3fps的识别率都做不到.
要做到20ms写一场图像进去GRAM,然后在下20ms以内处理完,就需要读尽量少的点来完成任务...

其实在这里,对象很明显, 就是为了识别魔方.. 针对魔方的特性,对算法进行简化...
http://v.youku.com/v_show/id_XMzkyMjU1NjIw.html
先看一下这个算法的识别效果.. 每秒25次的识别速度.. 其实要做到这样不难..

这里引用一下答辩PPT的部分内容..


首先是这个... 一开始,正幅图像,我只读取画面中间的十字架, 然后对RGB先做一下平滑滤波,这个是必须的..
然后判断RGB的跳变, 如果发现RGB全黑,就认为有一个凹槽.. 当X 和 Y 有且仅有2个凹槽,而且间距相等,基本可以认为有疑似魔方物体了.


这个算法比较好的是只要是中心块进去了,都能够识别,而不一定完完全全在中间才能识别...
计算到4个凹槽的坐标以后, 确定中心位置,为下一步做准备..


从上面计算的中心点开始,不断向外腐蚀,  腐蚀的疑似就是遇到相近RGB就吃掉..一直到边沿一个明显的跳变,就退出循环..
上下左右腐蚀完就能得到色块大概的长宽和中心位置了..


利用上面中心色块的大小和坐标关系,可以估计其余8个色块大概位置,如白色框所示...
将这8个估计中心位置递归到中心追踪的那个函数, 可以重新跟踪8个色块全部的位置,得到大小和坐标..


最后一步.. 因为如上面所说,一开始只是认为是疑似魔方物体,但不确定,在这步中,就是要计算9个色块的相对位置
这个计算方法很多,计算X相对,Y相对,或者以中心为圆心,其余4个棱和4个角在不在同一圆上等.. 随便你..
这一步是为了确认到底摄像头看到的是不是魔方..如果确认了,就将9个中心点递归到下次开始腐蚀的中心..

通过这样不停递归,就可以计算出魔方各个色块每时每刻的位置了..


其实腐蚀中, 吃掉的过程,其实是将RGB值累加起来, 然后十字腐蚀完以后,将累加值除以累加数求平均,可以得到比较好的滤波效果
得到RGB以后,是无法直接靠RGB来判断色块颜色的, 需要转换颜色系..  

这里给大家点资料

http://cdc.tencent.com/?p=3760
http://zh.wikipedia.org/zh/HSL%E5%92%8CHSV%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4

这两个是介绍 HSL颜色系的..   看完就懂了,很简单..
这里要做的处理就是将 RGB数据转换到 HSL 颜色系, 通过色相角和亮度对魔方颜色进行判断.
下面是程序运行的截图.

图中,左下角有个小魔方色块,就是腐蚀后取平均的结果, 右上角是每个色块的色相角,右下角是色块的亮度值
右边中间是识别结果 1-黄 2-蓝 3-白 4-绿 5-红 6-橙.    仔细会发现红色和橙色色相角是差不多,这个可以结合亮度数据排序分辨..


得到各个色块的颜色后,建模,写还原算法就不难了...  这个大家想省时间的话,可以上网找算法去, 自己写也不难.
按着CFOP手法来写, 一个星期左右就能写好了... 因为魔方是固定的东西,什么模式,多少种解法是定的..
图像处理才是难点...

最后上一个视频吧..

http://v.youku.com/v_show/id_XNDAxMzgxMjg4.html

先就写到这里了...整个设计其实难度不高, 只是想算法的时侯,得换个角度想,怎么样来得简单,但同时保证稳定性..
嵌入式的设计在于软硬件的结合...参数调整,所以这里程序和硬件就先不发了,因为硬件设计过程多少有些bug..免得再被P了..
整体思路了解就好..

最近在研究姿态算法...来段小视频...
http://v.youku.com/v_show/id_XNDI0MDg2NjQ0.html
等后面四轴新作出来后再见了...

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2012-7-6 07:12:46 | 显示全部楼层
牛。。。。。。。

出0入0汤圆

发表于 2012-7-6 08:15:39 | 显示全部楼层
这个比我的毕业设计牛多了!

出0入0汤圆

发表于 2012-7-6 08:29:16 | 显示全部楼层
学习了,正想研究图像处理呢!!

出0入4汤圆

发表于 2012-7-6 08:32:31 | 显示全部楼层
强人,搬凳子来学习~

出0入8汤圆

发表于 2012-7-6 08:54:58 | 显示全部楼层
一直很佩服会做算法的同学。
强啊

出0入0汤圆

发表于 2012-7-6 09:19:14 | 显示全部楼层
有点意思哦,呵呵,最后的动态算法用的传感器是加速度传感器吗?三轴的吗?

出0入0汤圆

发表于 2012-7-6 09:33:50 | 显示全部楼层
我不懂也顶一下……

出0入0汤圆

 楼主| 发表于 2012-7-6 11:51:43 | 显示全部楼层
bbsview 发表于 2012-7-6 09:19
有点意思哦,呵呵,最后的动态算法用的传感器是加速度传感器吗?三轴的吗? ...

现在比较多人叫9轴

出0入0汤圆

发表于 2012-7-6 12:08:26 | 显示全部楼层
顶 一个
LZ , 能否把硬件的数量清单 列一次, 一直想做一个

出0入0汤圆

发表于 2012-7-6 13:03:18 | 显示全部楼层
赞一个。为什么要用加速度传感器啊

出0入0汤圆

 楼主| 发表于 2012-7-6 13:16:31 | 显示全部楼层
sf49ers 发表于 2012-7-6 13:03
赞一个。为什么要用加速度传感器啊

魔方没有加速度啊

出0入0汤圆

 楼主| 发表于 2012-7-6 13:18:06 | 显示全部楼层
zajia 发表于 2012-7-6 12:08
顶 一个
LZ , 能否把硬件的数量清单 列一次, 一直想做一个


其实主要引起还是几个而已 电源稳压,单片机,舵机接口,液晶,摄像头,没了。。

其他外围根据自己需要增设

出0入0汤圆

发表于 2012-7-6 13:21:29 | 显示全部楼层
         
          强帖!虽然不太懂但也要顶!好好学习一下先!

出0入0汤圆

发表于 2012-7-6 13:24:13 | 显示全部楼层
kayatsl 发表于 2012-7-6 13:16
魔方没有加速度啊

那7楼这句话什么意思?“最后的动态算法用的传感器是加速度传感器吗?三轴的吗?”

出0入0汤圆

 楼主| 发表于 2012-7-6 14:02:24 | 显示全部楼层
sf49ers 发表于 2012-7-6 13:24
那7楼这句话什么意思?“最后的动态算法用的传感器是加速度传感器吗?三轴的吗?”
...

那个视频是另外的,跟魔方没啥关系...

出0入0汤圆

发表于 2012-7-6 15:44:12 | 显示全部楼层
把之前楼主发的帖看完了,最后几条留言来到了楼主分享的制作过程中。真心的强大,不仅仅指技术,看的有点感动。

出0入0汤圆

发表于 2012-7-6 15:56:38 | 显示全部楼层
强帖 必须留名。。。本科如果毕业设计做了这个 虽然可能会花很多时间 哎。。。

出0入0汤圆

发表于 2012-7-6 16:00:17 | 显示全部楼层
佩服佩服!

出0入0汤圆

 楼主| 发表于 2012-7-6 23:11:31 | 显示全部楼层
sdsy1212 发表于 2012-7-6 15:56
强帖 必须留名。。。本科如果毕业设计做了这个 虽然可能会花很多时间 哎。。。 ...

的确花费不少时间和金钱...

         做这个其实就当玩吧.. 我比较喜欢玩...

                      主要是这个玩的过程中,能锻炼到不少的能力和积累到不少经验... 还是玩得挺有好处的..

出0入112汤圆

发表于 2012-7-6 23:44:45 | 显示全部楼层
牛人!
显示屏多少钱?在那买的?

出0入0汤圆

 楼主| 发表于 2012-7-6 23:56:23 | 显示全部楼层
xunke 发表于 2012-7-6 23:44
牛人!
显示屏多少钱?在那买的?

淘宝个 二三十块就有了.

出0入0汤圆

发表于 2012-7-7 11:47:44 | 显示全部楼层
楼主QQ多少啊,求交流和指导

出0入0汤圆

发表于 2012-7-7 12:09:33 | 显示全部楼层
楼主做的姿态算法是用AHRS解算还是IMU解算呢?我也在研究这个,我用的是AHRS解算~

出0入0汤圆

 楼主| 发表于 2012-7-7 14:01:42 | 显示全部楼层
nongxiaoming 发表于 2012-7-7 12:09
楼主做的姿态算法是用AHRS解算还是IMU解算呢?我也在研究这个,我用的是AHRS解算~ ...

这个....

AHRS 和 IMU 区别在于一个是输出姿态角,一个只是传感器数据输出,应该可以说有数据融合就不是IMU了吧

出0入0汤圆

 楼主| 发表于 2012-7-7 14:05:55 | 显示全部楼层
xz16112 发表于 2012-7-7 11:47
楼主QQ多少啊,求交流和指导

先帖子上交流吧,莫老大不喜欢留qq,我的q也快满了

而且论坛交流有助于后来者,而同样东西我也不用跟多个人重复N遍

出0入0汤圆

发表于 2012-7-7 14:13:07 | 显示全部楼层
这样交流,太好了!
后来者可以在这个基础上增加功能和核查算法。
只要增添一个记录步数的功能,后人就能分析比较算法的先进与否。

出0入0汤圆

发表于 2012-7-7 14:16:12 | 显示全部楼层
kayatsl 发表于 2012-7-7 14:01
这个....

AHRS 和 IMU 区别在于一个是输出姿态角,一个只是传感器数据输出,应该可以说有数据融合就不是 ...

不是这样子的哦~一个不用磁阻传感器,一个需要~都是四元数解算~

出0入0汤圆

发表于 2012-7-7 14:19:00 | 显示全部楼层
那能否上传些资料上来啊,对了楼主的摄像头的型号是什么的啊,cmos(不怎么清晰)的也也可以吧,还有对那个
然后对RGB先做一下平滑滤波,这个是必须的..
然后判断RGB的跳变, 如果发现RGB全黑,就认为有一个凹槽.. 当X 和 Y 有且仅有2个凹槽,而且间距相等,基本可以认为有疑似魔方物体了.

不太理解啊,假如我得到的是RGB565的视频信号,怎么来平滑滤波
将这8个估计中心位置递归到中心追踪的那个函数, 可以重新跟踪8个色块全部的位置,得到大小和坐标..
这个也不理解

楼主可否上传些图像处理这方面的资料啊

出0入0汤圆

 楼主| 发表于 2012-7-7 14:27:45 | 显示全部楼层
nongxiaoming 发表于 2012-7-7 14:16
不是这样子的哦~一个不用磁阻传感器,一个需要~都是四元数解算~

可能是我对IMU,我要锁定机头,所以要磁阻

昨晚才将四轴修好,晚点做震动测试

出0入0汤圆

发表于 2012-7-7 14:31:43 | 显示全部楼层
牛人一个啊

出0入0汤圆

发表于 2012-7-7 14:32:19 | 显示全部楼层
好厉害。过来学习

出0入0汤圆

 楼主| 发表于 2012-7-7 14:50:27 | 显示全部楼层
xz16112 发表于 2012-7-7 14:19
那能否上传些资料上来啊,对了楼主的摄像头的型号是什么的啊,cmos(不怎么清晰)的也也可以吧,还有对那个 ...

//那能否上传些资料上来啊,对了楼主的摄像头的型号是什么的啊,cmos(不怎么清晰)的也也可以吧,

我的摄像头用CCD的.. COMS也可以,只是我手头只有那么一两个,而且图像效果不合我意没有用而已,在低照度的时侯,CCD有优势,除非你用IP级别的背照CMOS

//还有对那个
//然后对RGB先做一下平滑滤波,这个是必须的..
//然后判断RGB的跳变, 如果发现RGB全黑,就认为有一个凹槽.. 当X 和 Y 有且仅有2个凹槽,而且间距相等,基本可以认为有疑似魔方物体了.
//不太理解啊,假如我得到的是RGB565的视频信号,怎么来平滑滤波

void RGBfilter(u16* RGB,u16 len,u8 adj){  //数组基地址,数组大小,信任系数
        u16 i;
        s16 mid;
        for(i=0;i<len-2;i++){
          mid=*RGB+*(RGB+2);  
          mid>>=1;                 //计算前后2点平均值
          mid-=*(RGB+1);        //算出平均值与中间值的差距
          mid*=adj;                //          
                  mid>>=7;               //将差距乘一个信任权值
          *(RGB+1)+=mid;      //将中间的点加上偏差
          RGB++;
        }
}

调用的时侯这么来  
u16 RGB_R[150],RGB_G[150],RGB_B[150];
RGBfilter(RGB_R,h_len,90);
信任系数90,  就是 90/128=70%左右.. 这个作用主要是滤掉一些噪点.


//将这8个估计中心位置递归到中心追踪的那个函数, 可以重新跟踪8个色块全部的位置,得到大小和坐标..
//这个也不理解

因为魔方位置会变,不可能第一次跟到中心位置后,就永远从这个中心位置开始搜索,只要色块超出范围就搜不到了
递归很简单,就是将新的中心坐标取代上次的坐标

出0入0汤圆

发表于 2012-7-7 14:50:50 | 显示全部楼层
国内也有牛逼哄哄的大神

出0入0汤圆

 楼主| 发表于 2012-7-7 14:54:26 | 显示全部楼层
surf_131 发表于 2012-7-7 14:13
这样交流,太好了!
后来者可以在这个基础上增加功能和核查算法。
只要增添一个记录步数的功能,后人就能分 ...

哈哈...你的想法很好啊...

我没有直接开源,主要是因为 每个人编程习惯不同..

别人还要重新读懂我的程序才能写上去..而且我原来程序注释够我看而已..

我觉得把思路说清楚,不同的人有不同的写法,还能写出高效率算法...

出0入0汤圆

发表于 2012-7-7 15:01:04 | 显示全部楼层
这个东西比平衡小车更加适合DIY,而且会有不错的软件功能升级以及算法优劣对比的发展空间。记步数和记动作顺序,难度不大,却开拓了算法比较的基础。

不直接开源,而是做好软硬套件卖,等于普及视觉机器人技术。功莫大焉。

出0入0汤圆

发表于 2012-7-7 15:08:13 | 显示全部楼层
哦,不开源的软件,在许多平台上可以搞成开放二次API的形式。这部分适合基础的驱动,包括视频流和动作控制,以及物体识别部分。
可以开源的是高层,如何判断动作方向,如何分阶段递归到目标状态等。

出0入0汤圆

 楼主| 发表于 2012-7-7 15:19:35 | 显示全部楼层
surf_131 发表于 2012-7-7 15:01
这个东西比平衡小车更加适合DIY,而且会有不错的软件功能升级以及算法优劣对比的发展空间。记步数和记动作 ...

如果要做开源视觉处理,还是继续用stm32的话...

感觉还是加入CPLD,让CPLD扫屏,顺便将数据压入SRAM,然后再读SRAM会来得快点..

但成本不低,板子也会弄得不小..

当初为了压缩到2.4屏大小,所以没加那么多东西..

之前看到MAX V系列挺不错,有64pin的,而且还是9x9,非常小.但买不到... 现在用的MAXII 最小都100pin..哎..

视频的板子手上还有点..

出0入0汤圆

发表于 2012-7-7 15:31:05 | 显示全部楼层
kayatsl 发表于 2012-7-7 15:19
如果要做开源视觉处理,还是继续用stm32的话...

感觉还是加入CPLD,让CPLD扫屏,顺便将数据压入SRAM,然后再 ...

如有实际搞产品的打算,建议把视觉部分换用blackfin。不管用什么,都简化其与上位MCU的通信,用一个3X3二维数组来描述摆正了的魔方的一个面,所有报告都限于这个数组。这样一来,最复杂的部分就分离出去了,容易让例如有钱的高富帅们发生兴趣并建造成功。

经济上的成功才是真正的成功。

出0入0汤圆

 楼主| 发表于 2012-7-7 15:32:47 | 显示全部楼层
surf_131 发表于 2012-7-7 15:31
如有实际搞产品的打算,建议把视觉部分换用blackfin。不管用什么,都简化其与上位MCU的通信,用一个3X3二 ...

总感觉这个做实际产品意义不是特别大..

出0入0汤圆

发表于 2012-7-7 15:38:30 | 显示全部楼层
kayatsl 发表于 2012-7-7 14:50
//那能否上传些资料上来啊,对了楼主的摄像头的型号是什么的啊,cmos(不怎么清晰)的也也可以吧,

我的 ...

哦,谢谢,你那个CCD是什么型号的啊,哪买的啊,是不是也有卖模块什么的,直接引脚和单片机接,不需要自己搭电路的 吧

出0入0汤圆

发表于 2012-7-7 15:39:18 | 显示全部楼层

出0入0汤圆

发表于 2012-7-7 16:10:53 | 显示全部楼层
kayatsl 发表于 2012-7-7 15:32
总感觉这个做实际产品意义不是特别大..

市场前景一定好。

如果感觉耗时间多,也可以卖方案。国内二流学校的本科生,有这样的毕设,就太拉风了。你的方案拿给一个5人小组都够他们一齐毕业了(猜测)。

出0入0汤圆

 楼主| 发表于 2012-7-7 16:18:15 | 显示全部楼层
xz16112 发表于 2012-7-7 15:38
哦,谢谢,你那个CCD是什么型号的啊,哪买的啊,是不是也有卖模块什么的,直接引脚和单片机接,不需要自 ...

sony 的 CCD..  没有直连单片机的,.. 要自己搭先拍解码电路...

出0入0汤圆

发表于 2012-7-7 16:34:02 | 显示全部楼层
我也一直羡慕会算法的同学,顶一个,强烈学习中

出0入0汤圆

发表于 2012-7-7 17:29:42 | 显示全部楼层
真的不错!觉得很震惊的。

出0入0汤圆

发表于 2012-7-7 19:10:29 | 显示全部楼层
kayatsl 发表于 2012-7-7 16:18
sony 的 CCD..  没有直连单片机的,.. 要自己搭先拍解码电路...

可否共享一下这部分的资料啊

出0入0汤圆

发表于 2012-7-8 20:59:52 | 显示全部楼层
极品好帖!!!!MARK

出0入0汤圆

 楼主| 发表于 2012-7-8 21:15:09 | 显示全部楼层
xz16112 发表于 2012-7-7 19:10
可否共享一下这部分的资料啊

可以参考这个..

出0入0汤圆

发表于 2012-7-8 21:17:50 | 显示全部楼层
楼主是本科生吗 好牛啊 真心的佩服

出0入0汤圆

 楼主| 发表于 2012-7-8 22:47:08 | 显示全部楼层
danielyuan 发表于 2012-7-8 21:17
楼主是本科生吗 好牛啊 真心的佩服

普通本科...

出0入0汤圆

发表于 2012-7-9 22:34:09 | 显示全部楼层
kayatsl 发表于 2012-7-8 21:15
可以参考这个..

谢谢了啊

出0入0汤圆

发表于 2012-7-10 00:44:48 | 显示全部楼层
楼主很强大啊!膜拜 啊

出0入0汤圆

发表于 2012-7-13 12:00:43 | 显示全部楼层
请问下楼主如何估算其他8个色块的位置

出0入0汤圆

发表于 2012-7-13 13:02:45 | 显示全部楼层
拿凳子学习

出0入0汤圆

 楼主| 发表于 2012-7-13 13:17:43 | 显示全部楼层
LZQ1998 发表于 2012-7-13 12:00
请问下楼主如何估算其他8个色块的位置

利用中间色块的长宽,以及中心坐标.

比如 中心色块坐标 x,y 宽高 width, height

第一个色块就是 x1=x-width, y1=y-height

出0入0汤圆

发表于 2012-7-13 13:33:42 | 显示全部楼层
请教下,从摄像头得到的数据应该很大吧,存储在哪里呢,新手求指教

出0入0汤圆

发表于 2012-7-13 16:23:47 | 显示全部楼层
kayatsl 发表于 2012-7-13 13:17
利用中间色块的长宽,以及中心坐标.

比如 中心色块坐标 x,y 宽高 width, height

多谢,坐标如何取得?当做一个数组吗?

出0入0汤圆

 楼主| 发表于 2012-7-13 18:02:15 | 显示全部楼层
LZQ1998 发表于 2012-7-13 16:23
多谢,坐标如何取得?当做一个数组吗?

中心坐标在前面已经计算到了..

后面8个点的坐标,对,存到数组.

出0入0汤圆

 楼主| 发表于 2012-7-13 18:02:48 | 显示全部楼层
wuyongwang2345 发表于 2012-7-13 13:33
请教下,从摄像头得到的数据应该很大吧,存储在哪里呢,新手求指教

上文有提到 ,存到液晶的GRAM

出0入0汤圆

发表于 2012-7-13 18:16:05 | 显示全部楼层
设计挺巧的。支持一下

出0入0汤圆

发表于 2012-8-3 22:10:06 | 显示全部楼层
哥们,我顶你,看了你优酷视频里一些人的回帖,感觉现在有太多除了会吹什么都不会的人

出0入0汤圆

发表于 2012-8-4 00:30:29 | 显示全部楼层
牛人  看不懂也顶个

出0入0汤圆

发表于 2012-8-4 08:15:57 | 显示全部楼层
楼主你真牛, 佩服!

出0入0汤圆

发表于 2012-8-4 12:08:51 | 显示全部楼层
就喜欢听舵机那声音,我感觉是世界上最动听的音乐了

出0入0汤圆

发表于 2012-8-4 12:13:30 | 显示全部楼层
强,高手啊!

出0入0汤圆

发表于 2012-8-12 01:35:03 | 显示全部楼层
顶~~~

出0入0汤圆

发表于 2012-8-12 10:06:20 | 显示全部楼层
楼主相当强啊

出0入0汤圆

发表于 2012-8-12 14:55:18 | 显示全部楼层
ding....  

出0入0汤圆

发表于 2012-8-13 00:06:46 | 显示全部楼层
lz强大,必须顶

出0入0汤圆

发表于 2012-8-13 01:27:05 | 显示全部楼层
谢谢牛人

出0入0汤圆

发表于 2012-8-15 00:52:18 | 显示全部楼层
想请教下LZ演示姿态的那个软件是什么,可以分享下么??最近也研究过姿态方面的。

出0入0汤圆

 楼主| 发表于 2012-8-15 09:54:42 | 显示全部楼层
chu 发表于 2012-8-15 00:52
想请教下LZ演示姿态的那个软件是什么,可以分享下么??最近也研究过姿态方面的。 ...

mini AHRS.. 坛子里的人写的

出0入0汤圆

发表于 2012-8-15 21:59:19 | 显示全部楼层
顶楼主,楼主好棒!
摄像头放的距离近的话,定位精度还是很高的。。。
早前就看到楼主传的那个靓到不行的视频,呵呵
楼主工作没?

出0入0汤圆

发表于 2012-8-15 23:18:40 | 显示全部楼层
羡慕嫉妒 最后 你懂的!

出0入0汤圆

 楼主| 发表于 2012-8-16 10:04:23 | 显示全部楼层
1259899030 发表于 2012-8-15 21:59
顶楼主,楼主好棒!
摄像头放的距离近的话,定位精度还是很高的。。。
早前就看到楼主传的那个靓到不行的视 ...

工作了.

摄像头太近不行, 远了也不行...大概15cm为宜..

出0入0汤圆

 楼主| 发表于 2012-8-16 10:05:26 | 显示全部楼层
hengta 发表于 2012-8-15 23:18
羡慕嫉妒 最后 你懂的!

不要 恨 啊.. 大哥.....

出0入0汤圆

发表于 2012-8-16 11:13:52 | 显示全部楼层
牛              

出0入0汤圆

发表于 2012-8-16 16:35:32 | 显示全部楼层
这个帖子太牛了。要狂顶!!!

出0入0汤圆

发表于 2012-8-24 22:26:57 | 显示全部楼层
强人啊,怒顶

出0入0汤圆

发表于 2012-9-4 13:59:07 | 显示全部楼层
本帖最后由 月光疾風 于 2012-9-4 14:29 编辑

楼主很强大,也想做个,看过上面的讲解的方法经验之后,菜鸟理解如下
单片机首先进行一系列初始化设置,然后开始图像采集,判断有无类似魔方的物体,
从初始给定的采样点开始读取的RGB值,然后在循环中从采样点向上下左右四个方向
延伸,判断到RGB值发生跳变就是发现一个凹槽,继续在循环中判断有无跳变,当出
现两个跳变,且开始给采样点距离两个跳变位置相等的时候,说明找到了魔方,继续
延伸,剩下两个跳变找到循环退出,此时根据四个凹槽的坐标,计算得出中心块中心
点的坐标以及方块的边长,根据中心点坐标和方块边长得出剩下8个方块的中心坐标,
然后9个方块都开始从中心向外延伸,延伸的过程中相近的RGB求和,最后均值得到9
个色块的RGB值,再转换到HSL色系,再把剩下的5个面的颜色采集到,完成魔方每个
色块颜色的识别
不知道理解对不对,很想做一个,太帅了!

出0入0汤圆

发表于 2012-9-4 17:47:22 | 显示全部楼层
牛呀。。。

出0入0汤圆

 楼主| 发表于 2012-9-4 18:00:38 | 显示全部楼层
月光疾風 发表于 2012-9-4 13:59
楼主很强大,也想做个,看过上面的讲解的方法经验之后,菜鸟理解如下
单片机首先进行一系列初始化设置,然 ...

嗯.. 这思路对...

出0入0汤圆

发表于 2012-9-4 21:56:39 | 显示全部楼层
kayatsl 发表于 2012-9-4 18:00
嗯.. 这思路对...

还有2个疑惑
1、刚开始扫完六个面的颜色后,开始解魔方运算的过程中还需要一直扫各个面变化的色块颜色进行判断吗?
2、不知道数字摄像头OV6620(带缓存芯片)能完成颜色识别任务不

出0入0汤圆

发表于 2012-9-4 21:57:50 | 显示全部楼层
牛人,顶一个 ,差距太大了

出0入0汤圆

 楼主| 发表于 2012-9-4 22:15:32 | 显示全部楼层
月光疾風 发表于 2012-9-4 21:56
还有2个疑惑
1、刚开始扫完六个面的颜色后,开始解魔方运算的过程中还需要一直扫各个面变化的色块颜色进 ...

1. 不需要

2. 6620没玩过  不大确定颜色敏感度

出0入0汤圆

发表于 2012-9-4 22:28:08 | 显示全部楼层
kayatsl 发表于 2012-9-4 22:15
1. 不需要

2. 6620没玩过  不大确定颜色敏感度

只要开始采集到6个面的色块,然后剩下的就是运行解魔方算法,直到魔方复原任务完成?

出0入0汤圆

发表于 2012-9-4 22:33:02 | 显示全部楼层
楼主威武,文哥加油~

出0入0汤圆

 楼主| 发表于 2012-9-5 10:26:16 | 显示全部楼层
月光疾風 发表于 2012-9-4 22:28
只要开始采集到6个面的色块,然后剩下的就是运行解魔方算法,直到魔方复原任务完成? ...

后面分析+旋转是程序里面虚拟完成的.. 程序里面搞定再控制舵机转

出0入0汤圆

发表于 2012-9-5 12:51:27 | 显示全部楼层
kayatsl 发表于 2012-9-5 10:26
后面分析+旋转是程序里面虚拟完成的.. 程序里面搞定再控制舵机转

明白了,其实就跟有人用上位机做的一个道理,那个是先利用PC算好账给单片机减负了,然后舵机按算好的步骤执行就行了,只不过楼主这个是所有任务都由是STM32完成的,强大~~

出0入0汤圆

发表于 2012-9-5 12:58:17 | 显示全部楼层
马克思~

出0入0汤圆

发表于 2012-9-14 12:54:41 | 显示全部楼层
kayatsl 发表于 2012-9-5 10:26
后面分析+旋转是程序里面虚拟完成的.. 程序里面搞定再控制舵机转


又看了一次楼主的颜色识别的视频,有一处不解:左右来回挪动魔方,是如何实现跟踪那个白色中心色块的,也就是那个十字中心的坐标在左右挪动的时候是怎么确定的

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2012-9-14 14:11:16 | 显示全部楼层
强大                                                  

出0入0汤圆

 楼主| 发表于 2012-9-14 14:27:08 | 显示全部楼层
月光疾風 发表于 2012-9-14 12:54
又看了一次楼主的颜色识别的视频,有一处不解:左右来回挪动魔方,是如何实现跟踪那个白色中心色块的, ...

不停把新的中心坐标递归

出0入0汤圆

发表于 2012-9-14 18:01:01 | 显示全部楼层
牛人啊,顶

出0入0汤圆

发表于 2012-10-10 20:04:53 | 显示全部楼层
mark                           

出0入0汤圆

发表于 2012-10-10 21:10:47 | 显示全部楼层
留名备用

出0入0汤圆

发表于 2012-10-11 15:08:32 | 显示全部楼层
赞一个!!!!

出0入0汤圆

发表于 2012-10-12 09:07:51 | 显示全部楼层
本帖最后由 xts 于 2012-10-12 09:10 编辑

楼主绝对是人才啊,希望你能进好的企业,将你的作品发扬光大(多出几代),还有要多教教我们新人哦,谢谢!

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-20 09:16

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

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