作者atron (BigGG)
看板car
标题[分享] 以嵌入式系统自制ACC自动跟车系统
时间Tue Sep 27 21:30:37 2016
小弟最近硕班刚毕业,在整理之前一些作品丢104,
找到去年修资工所的课(本身是电机)期末作业、自己兜了个ACC自动跟车系统,
拿来跟大家交流一下。
Live Demo 实际上路运作情形
https://www.youtube.com/watch?v=pkG9l9XPGDw&t=20s
Offline Demo 不同情况(雨天/上下坡/进出隧道等等)前车侦测情形
https://www.youtube.com/watch?v=pkG9l9XPGDw&t=2m10s
车子是接家里的2000年CRV,上网去查原厂英文手册电路图,
找到原车定速系统加减速讯号怎麽送,
再利用Macbook Air透过Arduino和Relay把讯号打进去来控制速度
车距则是利用单摄影机进行车距估测(有参考近几年国内外相关paper),
而且对摄影机仰角与高度不是很要求(透过一些方法校正)
摄影机VGA规格(640x426)可做到real time, 最远瞄到50m
所以算是跟满紧的(Taiwan style?)
踩煞车会自动切断回路控制,总开关也可以关掉,驾驶是能随时全权控制车辆的
原本想连电脑都省掉,弄个树莓派啥的全用嵌入式系统,
可是效能太差(也没甚麽时间优化,期末也有别科作业期末考...)
就变成现在这个样子了...
不然原本想加入行人侦测和车牌辨识(有用机器学习实作过,但效能鸟鸟der)
大家就台风天随意看看,有兴趣可以一起讨讨论啦!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.70.109.92
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/car/M.1474983041.A.9E9.html
1F:→ WANGCHIEN: 赞 09/27 21:34
2F:推 imwithus: 超屌的 09/27 21:35
3F:推 willy9773: 好屌,我只能把arduino拿来马达正反转… 09/27 21:37
4F:→ dslite: 呃 你车号多少 在哪出没 09/27 21:38
大哥别抓我@@ 後来就拆掉啦,少一台笔电很不方便的
5F:推 p033520: 强 09/27 21:40
6F:推 waterdisney: 距离校正演算法看起来不错耶 感觉误差值蛮小的! 09/27 21:41
7F:推 waterdisney: 我是对你怎麽拉定速系统讯号线比较有兴趣.!! 09/27 21:46
放一下之前期末报告的投影片
http://i.imgur.com/xMLIulv.jpg
就是去翻原厂维修手册看他脚位怎麽定义的罗!
8F:推 fxf811: 强 09/27 21:46
9F:推 angrd: 厉害... 09/27 21:48
10F:推 mark0708: 有神快拜.. 09/27 22:02
谢谢大家啦!真的神的话工作就不会这麽难找啦XD
※ 编辑: atron (61.70.109.92), 09/27/2016 22:04:53
11F:推 refgdata: 严董快来招募啊 09/27 22:05
12F:推 waterdisney: 对了 台湾没啥公司做这个 你可去投对岸百度无人车 09/27 22:06
13F:→ waterdisney: 2个月前大陆的hunter找人找很凶 09/27 22:06
有投台湾几间一线猪屎屋,不过几乎都没下文哈(可能大学时期是私立被hr筛了)
14F:推 c9840306: 想问一下为什麽不要直接用雷达来取代影像?传统acc都是 09/27 22:07
15F:→ c9840306: 使用雷达。 09/27 22:07
16F:推 qqwweerrqq: 怎麽用只用摄影机判断距离呢? 09/27 22:07
楼上两位所说的当初真的有考虑过,後来上淘宝看那些设备(还有LIDAR)的价钱...
对学生负担太大啦XD
还有就是知道要做期末专题只剩一两个月吧,没把握兜得完整套系统
不过影像也有好处, 就是可以识别内容(例如车道线/限速标志)这很好用的,
也是雷达等测距系统干不到的事情,所以相关厂商都会fusion多种sensor作为判断
其中许多厂商做为主力的是毫米波雷达MMW(基本的有24mhz/77mhz,再到进阶的79mhz等等)
而SUBARU跟别人比较不一样的是,他还加入了双镜头提供立体视觉辅助,
个人觉得颇猛的(当初也找了不少专利)
而ADAS系统在视觉方面的佼佼者则一定要提到mobileye这家以色列厂商,
许多大厂(包含曾经的Tesla..)都用他的solution
一颗小小的镜头跟晶片就能即时侦测路上各种车辆与障碍物
好像不小心越打越多离题了XD
好啦单纯用影像的缺点就是容易受气候影响, 像我的演算法在夜间环境就没用了QQ
17F:推 ryu057: 好强啊 09/27 22:09
18F:推 zivking: 太厉害了 09/27 22:09
19F:推 Tosca: 这下大雨或夜间能用吗 09/27 22:11
下大雨我没试过...不敢试XD应该是不太行,
天太黑就没办法了,这颗罗技的镜头前车一煞车马上画面爆掉啦
20F:推 eric19850629: 太神惹 09/27 22:15
※ 编辑: atron (61.70.109.92), 09/27/2016 22:40:55
21F:→ mayasky: 用可见光,晚上怎办? 09/27 22:23
傍晚勉强可,晚上会直接GG
22F:推 s0991192568: 屌 09/27 22:27
23F:推 er230059: 推 09/27 22:28
24F:推 markcupcup: 厉害喔,找间好公司加入,青出於蓝 09/27 22:28
25F:→ a9564208: 抓标线宽度算距离? 09/27 22:34
好像看过paper(还是专利?)有提过这种方法,不过台湾的标线宽度没有很一致,
再加上有时标线重划、道路缩减等状况,
或许可以作为辅助,但不能做为主要的测距方法
至少小弟不是这样做啦XD
26F:推 Oreck: 原PO是做期未报告,用手边最易取得的东西来做 09/27 22:36
27F:→ Oreck: 行车记录器比雷达容易取得多,甚至不用买罗! 09/27 22:36
阿阿忘记提到,摄影机是罗技的C310,
当初想说买来做完可以拿来桌机视讯,不过後来被我拆到太小块了懒得组回去了哈
28F:推 insingW: 神 09/27 22:38
29F:推 Sunal: 英文练好,出国应该有搞头..... 09/27 22:45
多益不高QQ 要再好好加强
30F:推 billyij: 威猛 09/27 22:47
※ 编辑: atron (61.70.109.92), 09/27/2016 22:53:52
31F:推 thigefe: 不错 09/27 22:51
32F:推 a202052003: 拿颗带CAN bus的ARM 组个分散式运算架构应该够用了 09/27 22:53
33F:推 MTBSsales: 超强! 09/27 22:55
34F:推 Pharmarette: 好厉害!! 09/27 22:59
看到回响这麽热烈,再提一下关於雷达跟摄影机
单纯用毫米波雷达的话,通常会限制在一定的速度以上才能开启,
当道路弯曲且无前车时,雷达是直接打到前方围墙等障碍物,
万一识别为前车静止、而紧急煞车会发生危险,
所以通常雷达侦测到静止物,有可能会视为杂讯把它滤掉
然後前阵子看到这则新闻:
http://technews.tw/2016/09/15/first-tesla-crash-in-china/
这起案例中被撞物是静止的,虽Tesla同时使用摄影机和雷达,
但或许这方面也影响了相关系统的判别而造成悲剧发生
(不过也有可能根本没开启ACC功能,还是以官方调查结果为准)
而太依赖影像的结果也不好。
Subaru的Eyesight系统提供自动煞车功能,
去年在日本就发生过前车排气的白雾,造成车辆判断为障碍物而自动煞车
毕竟ACC、进而到ADAS系统都是攸关人命(不管事驾驶人还是其他用路人)
何况车规本来就是非常严格的市场
结合多种感测器、车联网、V2V等应用其实各厂都在卯足全力在开发
小鲁兜这些东西其实只是很基本的应用而已啦!
※ 编辑: atron (61.70.109.92), 09/27/2016 23:22:01
35F:推 hb0922: 很猛,应该会很多公司要你 09/27 23:13
36F:推 ntunick: 建议出国找工作,台湾会埋没你的专长……那种pay是台湾 09/27 23:18
37F:→ ntunick: 给不起的 09/27 23:18
其实只是几个简单的东西和演算法兜起来而已啦,
一般电机资工的学生应该都有学过相关的技术,国外不敢想太多XD
38F:推 orange7986: 不错 严董需要你 09/27 23:22
39F:推 setunarx: 现实是台湾公司作不到这产品的生意,另外这东西在国外 09/27 23:24
40F:→ setunarx: 几乎快变成标配,代表剩下的只有杀价竞争空间 09/27 23:24
41F:→ setunarx: 念书时家里的车可以让你这样玩,毕业好久车都还买不起 09/27 23:26
42F:→ setunarx: 的大叔表示羡慕。 09/27 23:26
毕竟也是台16岁的老爷车,陪我从小到大也不忍心报废QQ就接下来了
43F:推 Quasars: 丢到网路上宣传,试看看LinkedIn 09/27 23:29
有用了XD只是鲁蛇在那里没什麽朋友
44F:推 idioyao: 厉害给推 09/27 23:34
45F:推 profiles: 现在蛮多学生用opencv 弄些影像处理搭配一些马达控制的 09/27 23:39
46F:→ profiles: 专题,像鲁叔我最近就录取了一个搞自走robot的,建议你 09/27 23:39
47F:→ profiles: 朝robot玩看看 09/27 23:39
48F:→ profiles: 要进一线猪屎屋,看看是不是履历有什麽地方可以加强一下 09/27 23:42
49F:→ profiles: ,让人印象深刻 09/27 23:42
谢谢前辈指教,小弟硕班做讯号处理的,
openCV call function很方便,在赶影像相关计画时满好用的XD
我这个作业在影像处理部分也有用到一些
履历会再去参考其他学长姐和网路上高手的范例做修正的
50F:推 yrt3168: 自走车很多人玩阿 09/27 23:49
※ 编辑: atron (61.70.109.92), 09/28/2016 00:06:42
51F:推 xanter: 强者 09/28 00:09
52F:推 polypress: 欸 车道有弯度好像会跟错车道的车耶 09/28 00:14
是的,如果弧度大加上前车很远的话有可能,因为目前车道线是以直线为主,
如果有时间的话可能会用找车道线特徵配合least square之类的方法去解弧线
达到更准确的车道辨识能力。
这个问题也是纯使用毫米波雷达做ACC系统会遇到的状况罗
※ 编辑: atron (61.70.109.92), 09/28/2016 00:27:11
53F:推 MaiDanGao: 加油啊!! 09/28 00:34
54F:推 dezjordan: 推 09/28 00:40
55F:推 closeryu: 超强 09/28 00:40
56F:→ ASKA: mobileye那个应该有硬体加速。我想可以用FPGA来做演算法部分 09/28 01:20
57F:→ ASKA: 就可以用嵌入式来做了。 09/28 01:20
59F:推 kaoyoshuai: 厉害厉害 XD 09/28 01:26
60F:推 spencer222: Raspberry做动态影像处理简直悲剧 09/28 01:33
61F:推 spencer222: 这个我也写过 不过演算法不同 我是用双镜头去抓车距 09/28 01:36
62F:→ spencer222: 但我只有拍影片offline跑 没实装到车上 做车用电子 09/28 01:36
63F:→ spencer222: 很有趣 但就是车厂的薪水太少惹XD 09/28 01:36
双镜头做stereo matching吗? 我们lab也有做过这方面的XD
车用真的满有趣的,实作自己的成果出来满开心的哈
64F:→ suntex01: 能不能推荐一下openCV的工具书? 09/28 01:36
65F:→ suntex01: 你这个影像也是用openCV下去做的吗? 09/28 01:37
一些前处理有透过openCV减少开发时间罗!
我觉得是不用买书,想要用什麽功能网路查查就好
反倒是C/C++我觉得还是要有本好用的书比较实用(C&CPP版上有书单)
66F:推 spencer222: 嵌入式实作有一款TI C6XXX的DSP板子有机会实作 09/28 01:37
当初修课只有用块多年前的Panda Board,用新版子还要再好好加强相关技能XD
67F:推 Morphee: 没有用deep learning的话 都离state of the art 很远 09/28 01:45
68F:→ Morphee: 单纯就纯影像方法来说 09/28 01:45
是的没错! 其实单纯影像处理来做已经有满多文献了,
我自己在做行人侦测上有用过机器学习来做(不过这也算旧东西了)
硕班有在碰deep learning,现在实验室也有在接深度学习相关的计画,
但要应用在ADAS这块还要real time会需要满长的开发时间就是了
如果失业闲闲在家再来继续精进XD但还有很多要再学习的!
69F:推 umyiwen: 推 09/28 01:51
70F:推 spencer222: Deep learning的话...先搞定硬体吧...不然光MNIST就 09/28 02:03
71F:→ spencer222: 不知道要train多久... 09/28 02:03
72F:推 spencer222: 公司的电脑插了2块CUDA卡 大概跑2万次最佳化也要花个5 09/28 02:06
73F:→ spencer222: 分钟@@ 09/28 02:06
https://www.youtube.com/watch?v=KTrgRYa2wbI
这个是去年神级骇客Geohot自己DIY以deep learning弄出来的自驾系统,只能膜拜了XD
虽然後来也被Tesla提出不少问题就是了
※ 编辑: atron (61.70.109.92), 09/28/2016 02:21:10
74F:推 v19791119: 专业文 09/28 02:59
75F:推 Morphee: Geohot已经准备开始卖半自驾套件了 一千镁 09/28 03:57
感谢补充!
76F:推 owenx: 来朝圣XD。话说iPhone7 CPU都比我的nas快了,不知道有没有 09/28 05:21
77F:→ owenx: 有没有厂商考虑把手机当成行车电脑用XD 09/28 05:21
行车电脑牵涉到安全颇难,当成行车纪录器倒是不少XD
不过现在出不少OBDII的蓝芽套件可以用手机接收看车况,也是满有趣的应用就是
78F:推 kathyfour: 推 台湾专门在埋没人才 囧 09/28 06:03
79F:推 sysop5566: 出国拼有机会 09/28 07:09
80F:推 wa88: 赞!推! 09/28 08:18
81F:推 gingiby: 推 好猛 09/28 08:28
82F:推 alexendrawu: TOYOTA的ACC是用微波系统,在雨天也是会失效的 09/28 08:32
83F:推 utahjazz: 这能不推吗? 09/28 08:33
84F:推 FRX: 台湾不是没人才,是没环境!大老板们看到了吗? 09/28 08:58
85F:推 DSB520: 赞 超强 你怎麽判断行驶中的障碍物? 09/28 09:01
主要是找出物体的边缘与影子来判断!
86F:推 bowenchen: 强者我学长,推推 09/28 09:16
怎麽好多版都看得到你XD
87F:推 sazabik: 这才是真材实料,其他学生废 09/28 09:20
88F:推 rex00125: 好猛 09/28 09:31
89F:推 kobe7610: 原po推! 09/28 09:52
90F:→ kobe7610: 比有人说塞车ACC没用的强太多了 09/28 09:52
91F:推 iifz32: 赞赞 09/28 09:53
92F:推 chandler0227: Deep learning用在real time对电脑负担很大 09/28 10:17
93F:→ chandler0227: 雷达跟Lidar还是有差异(後者成本高出不少) 09/28 10:18
94F:→ chandler0227: 影像辨识还有反光(路面积水、大热天柏油反射)的难题 09/28 10:18
95F:→ chandler0227: 现在主流是三者至少取两项用,一项主要另一项做补偿 09/28 10:19
是的!主流还是以毫米波雷达搭配影像辅助,小弟在前面有提到一部分
EDN:
http://www.edn.com/Home/PrintView?contentItemId=4011081
这里可看到所提出之不同感测器可侦测范围与距离,
77/79ghz毫米波雷达能提供较远之侦测距离,在高速行驶的高速公路上是较主力的方法,
也能克服一般常见的天候状况,但在大雨/大雪的情况下也容易失效
(不过那种情境,人大概也不敢交给机器开了XD)
IHS:
https://goo.gl/K41ZVo
这边也有提到将两种不同的77ghz雷达结合影像做sensor fusion的应用
再补充一些前几页提到的毫米波雷达的缺点,放个图大家就能一目了然了:
http://i.imgur.com/TStWeCJ.jpg (ref.:
http://www.weixinkd.com/n/8533867)
纵使结合各种感测器之优缺点,但路况百百种还是有可能出现错误判断的情况,
所以一般车厂在推这些东西时才会经过非非非非非非非非常多次的路试,
像福特的自驾车(有搭配LIDAR)甚至还拉到雪地测试顺便宣传XD
96F:推 volkov: 好强喔! 09/28 10:29
97F:推 inleuyen: 你该不会是修我们老师的课吧XD 车用电子? 09/28 11:34
YAP! PS Chen XD
还记得老师那时找来某科大与LUXGEN合作的教授演讲,给了小鲁不少刺激呀!
98F:推 bearland: 推,感谢分享。 09/28 12:25
99F:推 er230059: 要不要明年去投COSCUP介绍一下XD 09/28 12:28
小鲁孤陋寡闻刚刚goo一下才知道这活动XD
100F:推 bio5chris: 强,不要埋没在台湾了 09/28 12:51
101F:推 leyincat: 真强者 09/28 14:19
※ 编辑: atron (61.70.109.92), 09/28/2016 15:07:15
102F:推 mein: 太厉害了 09/28 15:39
103F:推 apple222286: 请问影像处理都是由电脑处理,arduino只负责传讯号? 09/28 15:48
是的! 工作都是在Macbook做,Arduino跟继电器用来送讯号
※ 编辑: atron (61.70.109.92), 09/28/2016 15:54:34
104F:推 spencer222: 我背景跟你很像 影像+嵌入式系统 我也是今年应届硕毕 09/28 17:11
105F:→ spencer222: 我是4月开始找 7月底上工,那时候比现在更难找 09/28 17:12
106F:→ spencer222: 一样血统不纯正XD 09/28 17:12
107F:→ spencer222: 这阵子主要式卡都在面研替的 第一份工作很重要 09/28 17:13
108F:→ spencer222: 千万别为了快点找到就屈就 应该10月开始会正职比较多 09/28 17:14
109F:→ spencer222: 加油吧 共勉之 09/28 17:14
我们实验室也是以讯号处理/影像处理为主,
血统不纯正真的就少掉很多机会了XD只能全力加强专业的部分来弥补,
感谢前辈指教!
110F:推 yuinghoooo: 牛人阿 09/28 18:45
111F:推 sazabik: 不推不行 09/28 21:07
112F:推 deo2000: 不知道这几位用哪种辨识模型?Deep Learning应该很好找 09/28 22:49
我只懂皮毛而已,因为硕论不是做这块A_A 所以目前没有往这方向找工作,
不过还是会持续加强这部分的
113F:推 wade2528: 这太强不推不行 09/29 01:43
114F:推 kokunmai: 09/29 02:18
115F:推 jason3168383: 厉害 09/29 03:00
116F:推 dkna: 这个一定要鼓励一下 09/29 07:36
117F:→ ststLiang: 一线猪塞屋也许在人事就因为血统被刷掉了 09/29 11:06
实验室还是有不少学长姊进到一线的,不过他们能力都是很强的
学历不如人就要认命点,尽力拚好专业部分把握能把握的XD
※ 编辑: atron (61.70.109.92), 09/29/2016 16:37:14
118F:→ suntex01: c/c++手上有reference.只是openCV要怎麽用不是很熟... 10/01 22:23
119F:推 kevin8038: 强者 10/27 01:26
120F:推 CCben: 推 10/27 08:23
121F:推 Edaw: 推 10/27 22:12