搜索
bottom↓
楼主: kayatsl

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

  [复制链接]

出0入8汤圆

发表于 2015-1-18 15:23:53 | 显示全部楼层
大牛啊,哇哇哇

出0入0汤圆

发表于 2015-1-20 00:24:23 | 显示全部楼层
有想法,会动手,大牛啊,哇哇哇

出0入0汤圆

发表于 2015-1-20 11:21:36 | 显示全部楼层
不错  

出0入0汤圆

发表于 2015-1-20 12:27:06 | 显示全部楼层
我看见智能车的电池了,大神!

出0入0汤圆

 楼主| 发表于 2015-1-20 12:40:30 | 显示全部楼层
GodHunter 发表于 2015-1-20 12:27
我看见智能车的电池了,大神!

好眼力..

出0入0汤圆

发表于 2015-1-20 13:25:59 | 显示全部楼层

大神 本科就这么强啊

出0入0汤圆

发表于 2015-1-20 13:45:47 | 显示全部楼层
谢谢  分享。。

出0入0汤圆

发表于 2015-1-20 14:07:08 | 显示全部楼层
牛啊,不明觉厉啊,厉害

出0入0汤圆

发表于 2015-1-20 14:13:10 | 显示全部楼层
真厉害,看了视频觉得更赞了

出0入0汤圆

发表于 2015-1-22 19:40:33 | 显示全部楼层
不得不说,起初仅看视频时,我也以为楼主拧的是特定模态,当看到“CCD”时,不由得惊叹了些许。好贴!

出0入0汤圆

发表于 2015-2-15 14:01:57 | 显示全部楼层
很强大,谢谢分享

出0入0汤圆

发表于 2015-2-15 20:50:00 | 显示全部楼层
佩服,没事的时候琢磨琢磨···········

出0入0汤圆

发表于 2015-2-16 00:12:46 | 显示全部楼层
牛,看完真心服了,支持楼主出教程啊,呵呵

出0入0汤圆

发表于 2015-2-16 00:39:49 | 显示全部楼层
学习

出0入0汤圆

发表于 2015-2-17 02:34:19 | 显示全部楼层
反正我觉得,光看外观和板子就已经做挺出彩了

出0入0汤圆

发表于 2015-2-26 08:58:03 | 显示全部楼层
楼主,刚刚看了你的魔方机器人,好棒呀...想问下最后你进军机器人行业了么?

出0入0汤圆

 楼主| 发表于 2015-2-26 09:37:07 | 显示全部楼层
jjkkty 发表于 2015-2-26 08:58
楼主,刚刚看了你的魔方机器人,好棒呀...想问下最后你进军机器人行业了么?

木有,  哈哈...

出0入0汤圆

发表于 2015-2-26 10:44:33 | 显示全部楼层
学习了,谢谢         

出0入0汤圆

发表于 2015-2-26 16:03:01 | 显示全部楼层
参考学习下。。

出0入0汤圆

发表于 2015-2-26 16:10:35 | 显示全部楼层
好帖,学习了!

出0入0汤圆

发表于 2015-2-26 16:36:36 | 显示全部楼层
楼主真牛,佩服

出0入0汤圆

发表于 2015-2-26 16:44:24 | 显示全部楼层
mark一下

出0入37汤圆

发表于 2015-2-26 16:55:03 | 显示全部楼层
干货,收藏

出0入0汤圆

发表于 2015-4-14 23:12:54 | 显示全部楼层
写的很不错,

出0入0汤圆

发表于 2015-4-15 13:09:21 | 显示全部楼层
这绝对是人才,还是全能~

出0入0汤圆

发表于 2015-4-15 13:45:26 | 显示全部楼层
顶贴,重看老帖,有收获

出0入0汤圆

发表于 2015-4-15 19:51:28 | 显示全部楼层
楼主我也想做一个魔方机器人 有没有算法和状态采集的资料可以分享一点么  谢谢

出200入429汤圆

发表于 2015-4-27 10:56:37 | 显示全部楼层
楼主你好!能加一下QQ吗?783233967

出0入0汤圆

发表于 2015-5-4 19:40:11 | 显示全部楼层
楼主看了这个视频 有很多地方都不懂 有源码分享么

出0入0汤圆

发表于 2015-5-11 15:09:42 | 显示全部楼层
可不可以请教一个问题,从摄像头那得到一个像素点的数据(一个16位的二进制)怎么对它进行平滑滤波?

出0入0汤圆

 楼主| 发表于 2015-5-11 15:44:54 | 显示全部楼层
易轻语 发表于 2015-5-11 15:09
可不可以请教一个问题,从摄像头那得到一个像素点的数据(一个16位的二进制)怎么对它进行平滑滤 ...

不滤波, 平滑就丢失锐度了.

出0入0汤圆

发表于 2015-5-12 16:31:53 | 显示全部楼层
贴在这不知道对不对 ,还请大家多多指导
#define COLOR_X1        (120-70)
#define COLOR_X2        (120+70)
#define COLOR_Y1        (160-70)
#define COLOR_Y2        (160+70)

#define DIF_MAX 10


uint16_t Bx[5];
uint16_t By[5];

uint16_t Sq[9][5];  //0 x 1 y 2 h 3 w 4 c

unsigned int HSL_H,HSL_L;

unsigned int RGB2HL(unsigned int R, unsigned int G, unsigned int B);



uint8_t color_init(void)
{
        uint16_t x,y,s,e;
        uint16_t color;
        uint16_t  r, g, b;

        uint8_t  state = 0;
       
        Bx[0]=0;
        By[0]=0;
        state = 0;

       
        for(x = COLOR_X1, y = 160; x < COLOR_X2;x++)
        {

               
                color = LCD_GetPoint(x,y);
               
                b = ( color>>0 )  & 0x1f;
                g = ( color>>6 )  & 0x1f;
                r = ( color>>11 ) & 0x1f;
               
                if(b < 0x10 && g< 0x10 && r< 0x10)
                        color = Black;
               
               
               
                if(color == Black && state == 0)
                {
                        s=x;
                        state = 1;
                }
                else if(color != Black && state == 1)
                {
                        Bx[++Bx[0]]=(s+x)/2;
                        state = 0;
                }

        }
        if(Bx[0]!=2)
                return 1;
               

        for(y = COLOR_Y1, x = 120; y < COLOR_Y2; y++)
        {
               
                color = LCD_GetPoint(x,y);
               
                b = ( color>>0 )  & 0x1f;
                g = ( color>>6 )  & 0x1f;
                r = ( color>>11 ) & 0x1f;
               
                if(b < 0x10 && g< 0x10 && r< 0x10)
                        color = Black;
               
//                LCD_SetPoint(x,y,Black);
               
                if(color == Black && state == 0)
                {
                        s=y;
                        state = 1;
                }
                else if(color != Black && state == 1)
                {
                        By[++By[0]]=(s+y)/2;
                        state = 0;
                }

        }
        if(By[0]!=2)
                return 1;
        Sq[0][0] = (Bx[1]+Bx[2]) / 2;
        Sq[0][1] = (By[1]+By[2]) / 2;
        //set_arr(SqC[0][0] , SqC[0][1] );
        return 0;
       
}
uint16_t color_next(uint16_t xx,uint16_t yy,uint8_t n)
{
        uint16_t x,y,w,h;
        uint16_t color,color_t;
        uint16_t  r, g, b, r_t, g_t, b_t, r_s, g_s, b_s;
       
        uint16_t x_t,y_t;
        uint16_t dif;
        color = LCD_GetPoint(xx,yy);
       
        b = ( color>>0 )  & 0x1f;
        g = ( color>>6 )  & 0x1f;
        r = ( color>>11 ) & 0x1f;
       
       
        r_s = 0;
        g_s = 0;
        b_s = 0;
       
       

       
/****************************************
        ÏòÉϸ¯Ê´
****************************************/
       
        b_t+=b;
        g_t+=g;
        r_t+=r;
       
        x = xx;
        y = yy;

        do
        {
                r_s+=r_t;
                g_s+=g_t;
                b_s+=b_t;
               
                color_t = LCD_GetPoint(++x,y);
               
                b_t = ( color_t>>0 )  & 0x1f;
                g_t = ( color_t>>6 )  & 0x1f;
                r_t = ( color_t>>11 ) & 0x1f;
               
                LCD_SetPoint(x,y,Red);
               
                dif = fabs(b-b_t)+fabs(r-r_t)+fabs(g-g_t);
               

        }while(dif < DIF_MAX);
       
        h= x-xx;
        x_t= x-1;
/****************************************
        Ïòϸ¯Ê´
****************************************/
        b_t+=b;
        g_t+=g;
        r_t+=r;
       
        x = xx;
        y = yy;
       
        do
        {
                r_s+=r_t;
                g_s+=g_t;
                b_s+=b_t;
               
                color_t = LCD_GetPoint(--x,y);
               
                b_t = ( color_t>>0 )  & 0x1f;
                g_t = ( color_t>>6 )  & 0x1f;
                r_t = ( color_t>>11 ) & 0x1f;
               
                LCD_SetPoint(x,y,Red);
               
                dif = fabs(b-b_t)+fabs(r-r_t)+fabs(g-g_t);
               
        }while(dif < DIF_MAX);
        h+= xx-x;
        Sq[n][0] = (x_t+x+1)/2;
/****************************************
        ÏòÓÒ¸¯Ê´
****************************************/
       
        b_t+=b;
        g_t+=g;
        r_t+=r;
       

       
        x = xx;
        y = yy;
       
        do
        {
                r_s+=r_t;
                g_s+=g_t;
                b_s+=b_t;
               
                color_t = LCD_GetPoint(x,++y);
               
                b_t = ( color_t>>0 )  & 0x1f;
                g_t = ( color_t>>6 )  & 0x1f;
                r_t = ( color_t>>11 ) & 0x1f;
               
                LCD_SetPoint(x,y,Red);
               
                dif = fabs(b-b_t)+fabs(r-r_t)+fabs(g-g_t);

               
        }while(dif < DIF_MAX);
        w = y - yy;
        y_t = y-1;
/****************************************
        Ïò×ó¸¯Ê´
****************************************/
        b_t+=b;
        g_t+=g;
        r_t+=r;
       

       
        x = xx;
        y = yy;
       
        do
        {
                r_s+=r_t;
                g_s+=g_t;
                b_s+=b_t;
               
                color_t = LCD_GetPoint(x,--y);
               
                b_t = ( color_t>>0 )  & 0x1f;
                g_t = ( color_t>>6 )  & 0x1f;
                r_t = ( color_t>>11 ) & 0x1f;
               
               
                LCD_SetPoint(x,y,Red);
               
                dif = fabs(b-b_t)+fabs(r-r_t)+fabs(g-g_t);
               
               
        }while(dif < DIF_MAX);
        w += yy - y;
       
        Sq[n][1] = (y+1+y_t)/2;
       
        Sq[n][2] = h-1;
        Sq[n][3] = w-1;
       
       
        if(RGB2HL(r_s/(w+h), g_s/(w+h), b_s/(w+h)) != 1)
        {
                Sq[n][5] = HSL_H;
               
        }
       
       
}
uint16_t color(void)
{
        uint8_t i;
        if(color_init() !=0 )
        {

                return 1;
        }
        else
        {
                color_next(Sq[0][0],Sq[0][1],0);
               
                color_next(Sq[0][0]+Sq[0][2],Sq[0][1]+Sq[0][3]        ,1);
                color_next(Sq[0][0]+Sq[0][2],Sq[0][1]                        ,2);
                color_next(Sq[0][0]+Sq[0][2],Sq[0][1]-Sq[0][3]        ,3);
                color_next(Sq[0][0]                        ,Sq[0][1]+Sq[0][3]        ,4);
                color_next(Sq[0][0]                        ,Sq[0][1]-Sq[0][3]        ,5);
                color_next(Sq[0][0]-Sq[0][2],Sq[0][1]+Sq[0][3]        ,6);
                color_next(Sq[0][0]-Sq[0][2],Sq[0][1]                        ,7);
                color_next(Sq[0][0]-Sq[0][2],Sq[0][1]-Sq[0][3]        ,8);
        }
}


unsigned int RGB2HL(unsigned int R, unsigned int G, unsigned int B)
{
        float RGB[3];
        unsigned int max,min,H;
        unsigned char i,j;
        RGB[0] =R;
        RGB[1] =G;
        RGB[2] =B;

        max = 0;
        min = 0;

        for(i=1;i<3;i++)
        {   
                if(RGB[i]>RGB[max])
                        max=i;
                if(RGB[i]<RGB[min])
                        min=i;
        }
       
        HSL_L = (RGB[max]+RGB[min])/62.0;

        if(max==min)
                return 0;
        else if(max==0&&RGB[1]>=RGB[2])
        {
                HSL_H = 60.0*(RGB[1]-RGB[2])/(max-min);
                return 0;
        }
        else if(max==0&&RGB[1]<RGB[2])
        {
                HSL_H = 60.0*(RGB[1]-RGB[2])/(RGB[max]-RGB[min])+360.0;
                return 0;
        }
        else if(max==1)
        {
                HSL_H = 60.0*(RGB[2]-RGB[0])/(RGB[max]-RGB[min])+120.0;
                return 0;
        }
        else if(max==2)
        {
                HSL_H = 60.0*(RGB[0]-RGB[1])/(RGB[max]-RGB[min])+240.0;
                return 0;
        }
       
        return 1;
       

}

出0入0汤圆

发表于 2015-5-12 17:29:52 | 显示全部楼层
酷..................

出0入0汤圆

发表于 2015-5-13 17:06:06 | 显示全部楼层
老大 现在做LCD显示 就感觉LCD上明显的水波纹  可以不要LCD显示  直接用上位机来采集

出0入0汤圆

发表于 2015-5-29 13:19:19 | 显示全部楼层
认真看了一下楼主的帖子,只是觉得少了点什么,楼主只是讲了如何采集到魔方的数据,没有讲是如何根据这些数据得到舵机的执行步骤,我觉得这一点才是最重要的。就跟我们人一样,我们转魔方的难度就不知道还原的方法,当然有很多公式,这些公式是从第一层,到第二层,再到最顶层,一层一层的转,虽然方法有些笨,但确实可以还原魔方,即使我们不知道原理。看楼主的视频,好像不是一层一层还原的,不知道有是什么方法。现在我们做机器人,基本上都是用电脑来模拟人的思维过程,来完成某项任务。除了计算比人快,其他都比不上人。不知道楼主愿不愿意分享一下你是如何根据这些数据得到舵机的执行步骤的,谢谢!

出0入0汤圆

发表于 2015-5-29 14:33:46 | 显示全部楼层
楼主第一阶段和第二阶段的查找表是怎么得到的?直接用的原作者的吗?我是自己写软件生成的,只跑了一个星期左右,生成的不完整,平均只能做到25步左右。

出0入0汤圆

发表于 2015-8-26 09:17:02 | 显示全部楼层
楼主能不能讲解一下,8路舵机的电路怎么设计?坐等,拜托了

出0入0汤圆

发表于 2015-8-26 13:10:14 | 显示全部楼层
楼主,厉害!

出0入0汤圆

发表于 2015-8-26 13:27:31 | 显示全部楼层
我只能马克了

出0入0汤圆

发表于 2015-8-26 16:25:16 | 显示全部楼层
流弊。。。膜拜~

出0入0汤圆

发表于 2015-8-26 16:43:38 | 显示全部楼层
学习了,绝对值得深入学习

出0入0汤圆

发表于 2015-8-26 17:13:51 | 显示全部楼层
经久不衰的老帖,膜拜下

出0入0汤圆

发表于 2015-8-26 23:13:25 | 显示全部楼层
赞一个,非常牛
做个记号,也许哪天有时间了,也来学习一下这方面的,谢谢!

出0入0汤圆

发表于 2015-8-27 15:42:38 | 显示全部楼层
真的很敬佩楼主!
很佩服!

出0入0汤圆

发表于 2015-8-28 11:31:28 | 显示全部楼层
必须顶一个,自己根据你这个做了一个一样的。

出0入0汤圆

发表于 2015-8-28 11:41:53 | 显示全部楼层
这贴必须收藏,等有时间和精力了自己仿个出来玩

出0入0汤圆

发表于 2015-8-28 23:00:04 | 显示全部楼层
牛人贴,必留名!!!

出0入0汤圆

发表于 2015-8-29 14:35:31 | 显示全部楼层
楼主功力很深,我这老油条很佩服。希望以后还能多说点出来。

出0入0汤圆

发表于 2015-8-29 20:57:50 | 显示全部楼层

出0入0汤圆

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

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


lz主要都搞图像处理去了, 显示其实可以很快的,RGB格式也可以改,我的驱动全屏读写30fps以上, 读因为dummy read确实需要两倍时间,但是也可以是连续的

出0入0汤圆

发表于 2015-9-8 09:57:29 | 显示全部楼层
不明觉厉

出0入0汤圆

发表于 2015-9-8 14:06:13 | 显示全部楼层
牛!!!!!!!!!!!!!!!!!!!!!

出0入4汤圆

发表于 2015-9-8 17:14:50 | 显示全部楼层
非常牛啊

出0入0汤圆

发表于 2015-9-9 12:52:52 | 显示全部楼层
羡慕这样的毕业设计

出0入0汤圆

发表于 2016-1-21 15:06:22 | 显示全部楼层
这么久了这帖子还有人关注,楼主可以搞KIT玩玩啊

出0入0汤圆

 楼主| 发表于 2016-1-22 09:41:09 | 显示全部楼层
snowland 发表于 2016-1-22 07:29
楼主用了4个步进电机和4个电磁铁?

全是舵机

出0入0汤圆

发表于 2016-1-22 10:35:36 | 显示全部楼层
谢谢楼主的分享!!!

出0入0汤圆

发表于 2016-1-22 11:39:51 | 显示全部楼层
这个不错

出0入0汤圆

 楼主| 发表于 2016-1-22 17:47:11 | 显示全部楼层
snowland 发表于 2016-1-22 10:55
机械手的回抽动作也是舵机?

对的.................

出0入0汤圆

发表于 2016-1-23 00:02:04 | 显示全部楼层
这个东西做的很有创意

出0入0汤圆

发表于 2016-1-23 00:31:31 | 显示全部楼层
好东西,标注

出0入0汤圆

发表于 2016-1-23 22:27:31 | 显示全部楼层
问下楼主用什么软件平台开发的,现在有个比赛要用视觉有关的算法不太清楚怎么入门找不到一个合适的软件平台切入

出0入0汤圆

 楼主| 发表于 2016-1-23 23:30:29 | 显示全部楼层
759648442@qq.co 发表于 2016-1-23 22:27
问下楼主用什么软件平台开发的,现在有个比赛要用视觉有关的算法不太清楚怎么入门找不到一个合适的软件平台 ...

当时写其实没啥平台.. 直接在单片机上写..

出0入0汤圆

发表于 2016-2-14 19:22:36 | 显示全部楼层
学长。。。真的很想做一个出来。。。不知道能不能开源啊,一直想做一个可是一直不成功。很多地方基本无从下手

出0入0汤圆

 楼主| 发表于 2016-2-15 10:07:02 | 显示全部楼层
我做我的王 发表于 2016-2-14 19:22
学长。。。真的很想做一个出来。。。不知道能不能开源啊,一直想做一个可是一直不成功。很多地方基本无从下 ...

有哪些地方无从下手.?

出0入0汤圆

发表于 2016-2-15 12:13:25 | 显示全部楼层
厉害

出0入0汤圆

发表于 2016-2-15 13:37:20 | 显示全部楼层
本帖最后由 我做我的王 于 2016-2-16 11:53 编辑
kayatsl 发表于 2016-2-15 10:07
有哪些地方无从下手.?


比如魔方的识别,颜色的识别,图像的识别搞得我头都炸了。。。。还有后面怎么把识别到的转化成具体动作,感觉基本都是核心的东西 不知道大神能不能教我下

出0入0汤圆

发表于 2016-2-15 14:23:19 | 显示全部楼层
牛逼,顶一下

出0入0汤圆

 楼主| 发表于 2016-2-17 13:43:56 | 显示全部楼层
我做我的王 发表于 2016-2-15 13:37
比如魔方的识别,颜色的识别,图像的识别搞得我头都炸了。。。。还有后面怎么把识别到的转化成具体动作, ...

这东西不核心...  建议你还是先找点相对简单点的东西练练手再上这个

出0入0汤圆

发表于 2016-2-17 23:16:12 | 显示全部楼层
本帖最后由 我做我的王 于 2016-2-17 23:24 编辑
kayatsl 发表于 2016-2-17 13:43
这东西不核心...  建议你还是先找点相对简单点的东西练练手再上这个


比如你的魔方进入摄像头视野的时候,你说先从中心十字架开始拓展后识别是魔方的物体,那么问题来了,首先中心是如何确定的呢?看你视频只要魔方出现马上就有中心十字,然后才拓展出来识别


我开始做了,先攻克视频处理这个大问题!之前都没接触过图像处理,如何识别魔方,如何确定色块和颜色,如何区分相近颜色,得先把这些解决清楚

出0入0汤圆

 楼主| 发表于 2016-2-18 09:19:29 | 显示全部楼层
通过魔方一个面上每个色块之间分割的黑边来计算中心点

出0入0汤圆

发表于 2016-2-18 22:51:34 来自手机 | 显示全部楼层
kayatsl 发表于 2016-2-18 09:19
通过魔方一个面上每个色块之间分割的黑边来计算中心点

我的意思是还没确定这是个魔方时候,最中心就有个十字,不是每个色块的十字,是第一个的那个十字。

出0入0汤圆

 楼主| 发表于 2016-2-19 09:41:25 | 显示全部楼层
我做我的王 发表于 2016-2-18 22:51
我的意思是还没确定这是个魔方时候,最中心就有个十字,不是每个色块的十字,是第一个的那个十字。 ...

留意屏幕左方和下方的 RGB折线图.

看不清的话,先下载视频 , 再用播放器一帧一帧播放

出0入0汤圆

发表于 2016-2-19 11:06:59 | 显示全部楼层
不要太牛逼哦

出85入85汤圆

发表于 2016-2-19 11:16:01 | 显示全部楼层
楼主太厉害了。

出0入0汤圆

发表于 2016-2-21 23:00:40 | 显示全部楼层
“180度大力舵机做扭动,不然会出问题.. 前面尽量用3kgcm以上的小舵机”
按照楼主的指点找到了某宝螃蟹王国,可是只搜到90度和360度的大力舵机,小舵机扭力都在1Kg/cm以下,能提供下舵机的详细型号吗?

出0入0汤圆

 楼主| 发表于 2016-2-22 09:26:05 | 显示全部楼层
我做我的王 发表于 2016-2-21 23:00
“180度大力舵机做扭动,不然会出问题.. 前面尽量用3kgcm以上的小舵机”
按照楼主的指点找到了某宝螃蟹王国 ...

论坛上不大好推荐直接型号..

你直接搜机器人舵机, 一般都能找到 180度的..  例如 **995

出0入0汤圆

发表于 2016-2-22 16:55:37 | 显示全部楼层
kayatsl 发表于 2016-2-22 09:26
论坛上不大好推荐直接型号..

你直接搜机器人舵机, 一般都能找到 180度的..  例如 **995 ...

谢谢楼主,大舵机按你指点在某宝上找到了,那请问3kg/cm以上的小舵机呢?

楼主我问题可能有点多,请海涵。我看了你的视频很有兴趣,真想做一个出来。
哈哈,图像处理有点进展了,过几天应该可以传些成果图上来

出0入0汤圆

 楼主| 发表于 2016-2-22 18:21:56 | 显示全部楼层
我做我的王 发表于 2016-2-22 16:55
谢谢楼主,大舵机按你指点在某宝上找到了,那请问3kg/cm以上的小舵机呢?

楼主我问题可能有点多,请海涵 ...

小舵机这年头很多, 你找 斜盘舵机

出0入0汤圆

发表于 2016-2-24 11:42:22 | 显示全部楼层
本帖最后由 我做我的王 于 2016-2-24 11:45 编辑

前几天说要上的图,各位大神指点下。楼主,我现在要去搭硬件了~请教下还原魔方的算法,怎么把识别到的魔方色块转换到具体动作上?stm32要怎么解魔方?

第一次发图,不知道尺寸怎么改。。。莫怪,如有不妥我会整改。。。
第一张图是上位机的截图
后面都是stm32处理过后的

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2016-2-24 12:27:23 | 显示全部楼层
太漂亮了。。。。

出0入0汤圆

 楼主| 发表于 2016-2-24 13:44:33 | 显示全部楼层
我做我的王 发表于 2016-2-24 11:42
前几天说要上的图,各位大神指点下。楼主,我现在要去搭硬件了~请教下还原魔方的算法,怎么把识别到的魔方 ...

先学习一下, 舵机控制信号原理

然后学习如何让 stm32 generate multi-channel pwm 来控制

下来就是先让 stm32 学会转一个面, 和把魔方翻转

接着就是写求解的算法

最后才是将求解的算法运用到舵机控制上.

出0入0汤圆

发表于 2016-2-24 18:59:29 | 显示全部楼层
kayatsl 发表于 2016-2-24 13:44
先学习一下, 舵机控制信号原理

然后学习如何让 stm32 generate multi-channel pwm 来控制

好复杂。。。。我先学,不懂的再问你

出0入91汤圆

发表于 2016-3-11 13:35:26 | 显示全部楼层
昨天找了一晚上  发现斜盘舵机 最大扭矩也只有 2.2-2.4kg/cm   找不到3kg/cm的

出0入0汤圆

 楼主| 发表于 2016-3-11 15:04:03 | 显示全部楼层
ackyee 发表于 2016-3-11 13:35
昨天找了一晚上  发现斜盘舵机 最大扭矩也只有 2.2-2.4kg/cm   找不到3kg/cm的

方向没对..

出0入0汤圆

发表于 2016-3-11 16:52:42 | 显示全部楼层
牛逼啊,厉害厉害

出0入0汤圆

发表于 2016-3-12 12:56:08 | 显示全部楼层
好溜的设计,留个记号

出0入0汤圆

发表于 2016-3-14 21:43:28 | 显示全部楼层
楼主动手能力超赞

出0入0汤圆

发表于 2016-3-15 08:52:50 | 显示全部楼层
楼主真牛!

出0入0汤圆

发表于 2016-4-13 22:57:58 | 显示全部楼层
厉害啊,原来我在网上看到的那个视频就是你做的!太牛了!

出0入0汤圆

发表于 2016-4-14 10:53:58 | 显示全部楼层
本帖最后由 shange144k8 于 2016-4-14 10:59 编辑

非常的牛啊.....楼主有没有考虑出个套件.....开源软硬件...大家也跟着玩玩呀

出0入0汤圆

发表于 2016-4-14 13:23:11 | 显示全部楼层
很高大上

出0入0汤圆

发表于 2016-4-14 13:52:31 | 显示全部楼层
很不错,支持

出0入0汤圆

发表于 2016-4-14 17:29:57 | 显示全部楼层
牛人。。。。。。

出0入0汤圆

发表于 2016-4-14 17:54:41 | 显示全部楼层
牛人 总是那么牛

让我们怎么才能赶上你们呀

出0入0汤圆

发表于 2016-4-15 20:58:56 | 显示全部楼层
进来欣赏一下

出0入0汤圆

发表于 2016-4-22 20:57:13 | 显示全部楼层
楼主很强大啊,赞一个

出0入0汤圆

发表于 2016-10-23 15:25:38 | 显示全部楼层
学长你好  资料和源码 可以发我一份吗?  我想做个试试   我做过基于AVR的两轮平衡车  基于32的MP3   还玩过摄像头   我想看下你程序的架构  (邮箱:1606954330@qq.com

出0入0汤圆

发表于 2016-10-23 20:24:48 | 显示全部楼层
对视觉算法一窍不通,最近想开始学习下

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-15 01:39

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

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