智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: 小萌小萌
打印 上一主题 下一主题

这种情况中心线咋找?

[复制链接]

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
11#
发表于 2016-4-4 16:12:46 | 只看该作者
按照一边当作中心线,加固定线性偏移
回复 支持 反对

使用道具 举报

12

主题

241

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2665
威望
1275
贡献
750
兑换币
838
注册时间
2016-1-29
在线时间
320 小时
毕业学校
谢谢
12#
发表于 2016-4-4 20:37:42 | 只看该作者
Quixote 发表于 2016-4-4 16:12
按照一边当作中心线,加固定线性偏移

大神,没看懂。详细讲一下。谢谢!
回复 支持 反对

使用道具 举报

6

主题

49

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1816
威望
917
贡献
555
兑换币
546
注册时间
2016-3-4
在线时间
172 小时
13#
发表于 2016-4-4 22:54:20 | 只看该作者
我也想知道第一行全白怎么补的,还有弯道赛道中点已经不在数组里的话 还用处理吗
回复 支持 反对

使用道具 举报

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
14#
发表于 2016-4-5 12:54:19 | 只看该作者
梦大 发表于 2016-4-4 20:37
大神,没看懂。详细讲一下。谢谢!

简而来说用一边进行转向。
因为你一边的引导线是可以知道的,所以你可以算出这个线的信息用于转向。
如果你的转向方法很依赖于中线的位置的话,你可以认定此时的中心位置减去单侧线的距离等于上一次中心位置减去单侧线。


回复 支持 反对

使用道具 举报

12

主题

241

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2665
威望
1275
贡献
750
兑换币
838
注册时间
2016-1-29
在线时间
320 小时
毕业学校
谢谢
15#
发表于 2016-4-5 17:12:12 | 只看该作者
Quixote 发表于 2016-4-5 12:54
简而来说用一边进行转向。
因为你一边的引导线是可以知道的,所以你可以算出这个线的信息用于转向。
如 ...

如果你的转向方法很依赖于中线的位置的话,你可以认定此时的中心位置减去单侧线的距离等于上一次中心位置减去单侧线。
我是按这个方案来进行的。
弯入直的时候线补的很斜,导致偏差很大。速度快了就跑出去了。怎么解决啊?
谢谢大神指导!


回复 支持 反对

使用道具 举报

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
16#
发表于 2016-4-5 21:26:42 | 只看该作者
梦大 发表于 2016-4-5 17:12
如果你的转向方法很依赖于中线的位置的话,你可以认定此时的中心位置减去单侧线的距离等于上一次中心位置 ...

发下这个时间段、你的中点对应时间组成的曲线和你每个时刻采集到的赛道图
回复 支持 反对

使用道具 举报

12

主题

241

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2665
威望
1275
贡献
750
兑换币
838
注册时间
2016-1-29
在线时间
320 小时
毕业学校
谢谢
17#
发表于 2016-4-5 21:34:37 | 只看该作者
Quixote 发表于 2016-4-5 21:26
发下这个时间段、你的中点对应时间组成的曲线和你每个时刻采集到的赛道图

就是上面那三幅图像。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
18#
发表于 2016-4-5 21:51:25 | 只看该作者
梦大 发表于 2016-4-5 21:34
就是上面那三幅图像。

至少也得来30张……
这种我代码里有解决思路,大致是这样的。
if ((1 == LogicCondition.leftSide_isDown) || (1 == LogicCondition.rightSide_isDown))
            {
                lostDouble_TimerCounter = 0;//丢线寄存器清空
        if (1 == LogicCondition.leftSide_isDown)//左边界有效
        {
                    TrkSide[y_ctr] = Sid_Left;
                    x_startPos_n_add_one = (sint16)(number_Trk.n_left_end + perLine_vaild_width*0.45f);//相当于补边
                    if((x_startPos_n_add_one < x_startPos)&&(process_find_timer > 2))//本次数值在上次数值的左边
                    {
                        x_startPos_n_add_one = m_ImageAbstract.Central[y_ctr-1]//路径的PD作用
                                            + (m_ImageAbstract.Central[y_ctr-2]-m_ImageAbstract.Central[y_ctr-3]);
                    }
                    if((process_find_timer < constn_DeadLine_BeWith)&&(process_find_timer > 0))
                    {
                        if(x_startPos_n_add_one < m_ImageAbstract.Central[y_ctr-1]){x_startPos_n_add_one = m_ImageAbstract.Central[y_ctr-1];}
                    }
                }
                else//右边界有效
        {
                    TrkSide[y_ctr] = Sid_Right;
                    x_startPos_n_add_one = (sint16)(number_Trk.n_right_end - perLine_vaild_width*0.45f);//相当于补边
                    if((x_startPos_n_add_one > x_startPos)&&(process_find_timer > 2))//本次数值在上次数值的右边
                    {// 0 1 2 (3)
                        x_startPos_n_add_one = m_ImageAbstract.Central[y_ctr-1]
                                            + (m_ImageAbstract.Central[y_ctr-2]-m_ImageAbstract.Central[y_ctr-3]);
                    }
                    if((process_find_timer < constn_DeadLine_BeWith)&&(process_find_timer > 0))
                    {
                        if(x_startPos_n_add_one > m_ImageAbstract.Central[y_ctr-1]){x_startPos_n_add_one = m_ImageAbstract.Central[y_ctr-1];}
                    }
                }//寻线结束
                if(2 == lr_n_cut_1_isExist)
                {
                    if(process_find_timer > 2)//为了拐弯
                    {
                        m_ImageAbstract.Central[y_ctr - 1] = x_startPos_n_add_one;//赋值给上次
                        m_ImageAbstract.Central[y_ctr - 2] = x_startPos_n_add_one;//赋值给上上次
                    }
                }
                lr_n_cut_1_isExist = 1;//存在一条边               
            }

回复 支持 反对

使用道具 举报

12

主题

241

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2665
威望
1275
贡献
750
兑换币
838
注册时间
2016-1-29
在线时间
320 小时
毕业学校
谢谢
19#
发表于 2016-4-5 22:03:44 | 只看该作者
Quixote 发表于 2016-4-5 21:51
至少也得来30张……
这种我代码里有解决思路,大致是这样的。
if ((1 == LogicCondition.leftSide_isDo ...

我只在有问题的地方采集了图像。目前研究的SD卡只能保存没有中心线的图像:'(。还需努力。
谢谢大神指导!!

但我不知道那些字母具体代表什么意思,可否给我发一份完整的资料。397444743@qq.com 非常感谢!!!
回复 支持 反对

使用道具 举报

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
20#
发表于 2016-4-6 13:22:03 | 只看该作者
梦大 发表于 2016-4-5 22:03
我只在有问题的地方采集了图像。目前研究的SD卡只能保存没有中心线的图像。还需努力。
谢谢大神指 ...

我在论坛有开源、http://www.znczz.com/thread-236861-1-1.html
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 21:53 , Processed in 0.047950 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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