Openpilot 是一款开源的无人驾驶平台,而这款开源项目最终目的是希望透过开源的力量,让大家来共同维护开发,让市面上所有车款都支援此系统。
但首要条件需要具备两种系统 : (1)ACC主动式定速巡航系统 (2)辅助转向或相似系统。
为什麽局限于这两款系统的车款呢? 原里十分简单。
首先需要控制汽车要确认可以控制汽车油门、刹车及方向盘,而这两个系统刚好可以证实一辆汽车是可控制的。
当然如果你的汽车有自动停车功能也是相当有机会成为Openpilot的候选人!!!
到这里聪明的你如果读过Openpilot github的介绍就会发现,他门官方认证的车款都是具有Honda Sensing 或 Toyota Safety Sense-P(简称TSS-P)。因为当他们已经破解了一台具备TSS-P标准的汽车,那要移植到另一辆车种但同样具备TSS-P标准上时轻松许多、code也只需要变动少部份。最后再次强调Honda Sensing 与 TSS-P的标准都是拥有ACC与转向辅助系统、如下图所示。
所以当你要破解一辆汽车控制方式,最好去找拥有一套标准的车种。
现在绝大多数的汽车内部都拥有超过50个以上的ECU原件,而ECU之间的通讯绝大多数都是使用CAN buses的标准协定,而CAN bus又可以分为高数与低速 [more],如图。所以这也代表我们有机会透过CANbus协定来读取或传值给ECU。
现在几乎所有汽车都拥有OBDII,如下图。经由OBDII 接口可以连接至汽车内部CANbus网路,见下图。到这步你可以读取一些汽车讯息,例如 : 车速、车门状态等车辆资讯,但还没办法控制油门刹车等等哦!!!
下图为Comma ai 的OBDII连接器 Panda,虽然市面上有许多OBDII产品了,但我还是推存这款,拥有32位元晶片和Wi-Fi !!!
前面有稍为提及到汽车网路是由CAN bus所组成,但只答对了一半,实际上汽车内部网路大概会像图六这样,可能由多组CAN bus或其他协定所组成,所以光凭OBDII 接口是无法接管整辆汽车的,为此我们需要找出更多的通讯接口。
很幸运的许多高智能汽车,都会有一个Forward Recognition Camera于照后镜盖中,如图七。FRC的其一功能就是侦测车到并控制方向盘防止道路偏移,所以经由这个部位能够个深入汽车内部并接管汽车方向盘、油门、煞车等等。
下图为Comma ai 提供的Panda转接板Giraffe 。
项目地址:https://github.com/commaai/openpilot