智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 9022|回复: 25
打印 上一主题 下一主题

最小二乘法在弯道外侧计算出错。。。

  [复制链接]

39

主题

363

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3395
威望
2261
贡献
24
兑换币
1453
注册时间
2012-11-24
在线时间
556 小时
毕业学校
江苏科技大学
跳转到指定楼层
1#
发表于 2013-7-4 13:59:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
20贡献
当在弯道外侧时,二值化图和提取出的黑线中线图。
这个时候明明是左转,可最小二乘法算出来的斜率却是相反的方向。结果,你懂的。。。
而且也只在这种情况下是这样,在其他位置计算出的斜率都是正确的。。。
计算方式如下,,求查错,求科普。。。
for(count_row=0;count_row<ROW;count_row++){
      x=count_row+1;
      y=midline[count_row]-mid_colum;
      S_xy+=x*y;
      S_xx+=x*x;
      S_y+=y;
      S_x+=x;
   }
   slope=(S_xy-S_y*S_x/ROW)*1.0/(S_xx-S_x*S_x/ROW);

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

最佳答案

查看完整内容

想了想其实和你的差不多。。。还有就是如果定义的都是整形变量,应该适当扩大。。。

2

主题

126

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1441
威望
703
贡献
386
兑换币
386
注册时间
2012-7-29
在线时间
176 小时
2#
发表于 2013-7-4 13:59:40 | 只看该作者
Shadows 发表于 2013-7-4 14:45
我试试

想了想其实和你的差不多。。。还有就是如果定义的都是整形变量,应该适当扩大。。。
回复

使用道具 举报

2

主题

126

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1441
威望
703
贡献
386
兑换币
386
注册时间
2012-7-29
在线时间
176 小时
3#
发表于 2013-7-4 14:28:02 | 只看该作者
y=midline[count_row]-mid_colum;
这句不该这么写吧
应该是y=midline[count_row];
另外应该做一下该行有效判断吧,有效的才累加,无效的就该舍去了。。。
个人见解。。。

回复

使用道具 举报

39

主题

363

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3395
威望
2261
贡献
24
兑换币
1453
注册时间
2012-11-24
在线时间
556 小时
毕业学校
江苏科技大学
4#
 楼主| 发表于 2013-7-4 14:45:25 | 只看该作者
huiqiang1115 发表于 2013-7-4 14:28
y=midline[count_row]-mid_colum;
这句不该这么写吧
应该是y=midline[count_row];

我试试
回复

使用道具 举报

39

主题

363

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3395
威望
2261
贡献
24
兑换币
1453
注册时间
2012-11-24
在线时间
556 小时
毕业学校
江苏科技大学
5#
 楼主| 发表于 2013-7-4 15:51:26 | 只看该作者
huiqiang1115 发表于 2013-7-4 15:19
想了想其实和你的差不多。。。还有就是如果定义的都是整形变量,应该适当扩大。。。

还是觉得应该是      y=midline[count_row]-mid_colum;

是将y作为横坐标的,以(0,mid_colum)作为原点,需要减的吧、、、

回复

使用道具 举报

39

主题

363

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3395
威望
2261
贡献
24
兑换币
1453
注册时间
2012-11-24
在线时间
556 小时
毕业学校
江苏科技大学
6#
 楼主| 发表于 2013-7-4 16:01:30 | 只看该作者
huiqiang1115 发表于 2013-7-4 15:19
想了想其实和你的差不多。。。还有就是如果定义的都是整形变量,应该适当扩大。。。

果真是数据长度的问题,当在弯道外侧时,累加超过了int的范围了。。。。谢谢啦
回复

使用道具 举报

10

主题

38

帖子

0

精华

高级会员

Rank: 4

积分
790
威望
420
贡献
220
兑换币
250
注册时间
2013-3-2
在线时间
75 小时
7#
发表于 2013-7-4 23:39:30 | 只看该作者
楼主Y和X值的选取是不是弄反了 我感觉X应该是midline[count_row] Y应该是count_row 但我们这么做却得不到正确的结果 求指教!!!
回复

使用道具 举报

48

主题

493

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2947
威望
1774
贡献
469
兑换币
705
注册时间
2012-4-22
在线时间
352 小时
毕业学校
hgd
8#
发表于 2013-7-5 10:09:40 | 只看该作者
本帖最后由 m__dd 于 2013-7-5 10:12 编辑
huiqiang1115 发表于 2013-7-4 13:59
想了想其实和你的差不多。。。还有就是如果定义的都是整形变量,应该适当扩大。。。


我也用的最小二乘法拟合直线,除了连续大弯容易冲出去外,其它都可以。速度2.5提不上去了,那个连续大弯是瓶颈!能加qq吗? 我的704711253
回复

使用道具 举报

11

主题

75

帖子

0

精华

高级会员

Rank: 4

积分
681

活跃会员奖章优秀会员奖章

威望
348
贡献
195
兑换币
205
注册时间
2013-1-21
在线时间
69 小时
毕业学校
孝感学院新技术学院
9#
发表于 2013-7-5 11:48:30 | 只看该作者
我们的中线也是和你们的差不多  不知道你们舵机是怎么控制的呢?
回复

使用道具 举报

39

主题

363

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3395
威望
2261
贡献
24
兑换币
1453
注册时间
2012-11-24
在线时间
556 小时
毕业学校
江苏科技大学
10#
 楼主| 发表于 2013-7-5 12:47:23 | 只看该作者
深情、一回头 发表于 2013-7-5 11:48
我们的中线也是和你们的差不多  不知道你们舵机是怎么控制的呢?

目前直接PD(D=1)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-5 16:23 , Processed in 0.589158 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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