智能车制作

标题: 离散点曲率计算那点事,曾经的辣鸡破车*策略 [打印本页]

作者: 神车名为GTR    时间: 2018-12-24 16:12
标题: 离散点曲率计算那点事,曾经的辣鸡破车*策略
本帖最后由 神车名为GTR 于 2018-12-24 16:19 编辑

写在前面:

  没发过技术贴,今天发一下,害怕一个小菜鸡版主无作为哪天被大佬踢出群了,by the way为初试攒人品……

  就我个人而言,与其看别人的代码,不如告诉我算法思想,让我自己写。所以下面只说算法的思想(虽然很简单),具体如何实现各位大佬自由发挥;另外,标题打码也是想着不能限制了大佬们的应用思路。

正文开始:
                          
曲率计算A方案:(三角形外接圆曲率法)
  此方法据说在智能车上的应用最早出自东北大学的技术报告(本人未验证),即在一组离散点中选取三点,计算以此三点所围成的三角形的外接圆曲率即可。示意图及公式如下:
  个人评价:显然,该方案实现起来较为简单,但三点选取位置可能会对计算结果造成较大影响。
           [attach]93889[/attach]  

曲率计算B方案:(公式法)  学过高数都知道曲率公式吧(贴下面了),另外,离散点的一阶导、二阶导公式想必也没什么难度吧?
     
  求解一阶导数的公式:y'(i) = (y(i+1)-y(i))/h;  (y(i)处y'(i) = △y(i)/△x(i))       求解二阶导数的公式:y''(i) = (y(i+1)+y(i-1)-2*y(i))/h^2;  (两处h为△x(i)
  个人评价:这种方法实现起来也较为简单,但在计算局部位置曲率时很容易受到毛刺的影响。

曲率计算C方案:(定义法)与B略有区别
  根据曲率定义,弧 的切线转角 与该弧长 之比的绝对值称作该弧的平均曲率(摘自百度百科),写成数学公式如下:
       
  其中,高中生应该都知道,某点切线转角 (或者说某直线与x轴夹角)与该点斜率有关,即
曲线在点M处的切线的斜率为(此处建议用最小二乘计算斜率,否则应是退化成了B中的效果);而弧长 在实际编程时可简化为某一直线段的长度。

  如此便可以计算出某点、或是整个曲线段的平均曲率。
  个人评价:采用最小二乘拟合较为精确、受干扰较小,但实现较为复杂。

结语:
个人建议,智能车应用时,矫正后再计算曲率,否则因畸变产生的误差会很大。
  希望能给各位大佬一丢丢帮助,if any,顶个贴可好?
  仓促写下,不足之处望各位大佬批评指正!
  







作者: 倚窗恋雪    时间: 2018-12-24 16:17
大佬还是这么强啊
作者: 神车名为GTR    时间: 2018-12-24 16:20
发出去排版乱了
作者: 神车名为GTR    时间: 2018-12-24 16:25
倚窗恋雪 发表于 2018-12-24 16:17
大佬还是这么强啊

不不不,我是个菜鸡

作者: xiao_fang    时间: 2018-12-24 18:44
离散点求了曲率是不是就可以用K1999做迭代优化了
作者: 来一杯烈酒    时间: 2018-12-25 12:05
GTR还是强啊
作者: 小学生做车来了    时间: 2018-12-25 13:44
很强啊
作者: 可惜花海已不再    时间: 2018-12-26 23:32
GTR考研了?
作者: Quixote    时间: 2018-12-27 13:35
补充下:A方案出自K1999论文
作者: 乐生    时间: 2018-12-27 20:51
大佬能指条畸变矫正的明路吗,,看的矫正文献都是世界坐标系与图像坐标系的标定对应,全是矩阵运算,,C不会写矩阵呐,,纠结畸变矫正一个星期了,学长用的都是直接压缩图像,,,感觉效果不是很好。。
作者: 神车名为GTR    时间: 2018-12-30 17:37
乐生 发表于 2018-12-27 20:51
大佬能指条畸变矫正的明路吗,,看的矫正文献都是世界坐标系与图像坐标系的标定对应,全是矩阵运算,,C不 ...

楼上大佬有篇帖子可以找出来看一下

作者: 青黛    时间: 2019-3-24 13:54
大佬还是十分厉害的呀!
作者: one_vyhGt    时间: 2019-6-2 17:59
请问曲率无穷大的问题怎么解决呢
作者: one_vyhGt    时间: 2019-6-2 18:08
请问无穷大的问题怎么解决呢
作者: 神车名为GTR    时间: 2019-6-3 14:55
one_vyhGt 发表于 2019-6-2 17:59
请问曲率无穷大的问题怎么解决呢

怎么能算出来无穷大的……分母又不可能为0啊……0.0

作者: one_vyhGt    时间: 2019-6-4 13:40
神车名为GTR 发表于 2019-6-3 14:55
怎么能算出来无穷大的……分母又不可能为0啊……0.0

嗯嗯,想出来了,谢谢





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2