来源:comma.ai
作者:George Hotz
编译:熊笑
【新智元导读】著名黑客乔治·霍兹开始通过其初创公司 comma.ai 售卖自己的 panda 和 cabana 无人驾驶系统。它能够使普通汽车实现部分辅助驾驶功能,并允许汽车极客通过逆向工程修改车的参数设置。而这一切,只要 88 美元。
著名黑客乔治·霍兹(George Hotz) 因破解了 iPhone 和 PlayStation 3 在全世界声名大噪。他最近又推出了一款能够使普通汽车实现部分辅助驾驶功能的产品,名为 panda。售价只要 88 美元,可以通过接入汽车的自诊系统(OBDII)获取数据。同时发布的还有一款名为 Cabana 的软件工具,它能够允许汽车极客使用 Panda 编辑的数据通过逆向工程修改车的参数设置。
17岁就成为了世界上第一个破解 iPhone 的人后,乔治·霍兹曾在谷歌实习、在特斯拉工作过一段时间,还到Facebook工作过8个月,但他认为这些公司都不适合他。他最终选择创立了自己的公司 COMMA.AI ,Panda 和 Cabana 就是这家公司售卖的产品。
乔治·霍兹自己宣称,panda 的可靠性没有问题。对此,我们的观点很明确:对于无人驾驶系统来说,可靠性和安全性至关重要。在这点上,99% 的可靠性和 99.99% 有天壤之别。当然,我们仍不妨看看,乔治·霍兹是如何解析自己这套只要 88 美元的系统的。
一切都始于2 年前,我试着黑进我的讴歌ILX,让它实现自动驾驶。我当时只是模糊地知道汽车有个CAN总线,还知道有个OBDII 端口。所以我从亚马逊买了一个能插到OBDII接口上的USB。
当我把它插到我的MacBook 上,显示出一个串行接口,使用AT命令。我发现了一些描述这个协议的Python代码。我以为我现在可以跟车聊聊了。
但这些代码给我的信息非常有限,主要是关于引擎。肯定不止这些……
所以我更深入了解 OBDII 端口的实际情况。果然有一个CAN总线!Can 的许多USB收发器都要几千美元,但我还是找到了一个,既能给我充分访问权限,价格也适中。我现在可以读取总线上的所有CAN信息了。
起初,只有随机的噪音。但经过几周的逆向工程,噪音开始有意义了。我先发现了关于速度的信息,然后又发现了转向角度的信息。然后,我意识到,这个信息实际上可以让我通过软件来转动方向盘!
几个星期后,我就把我的车改造成了一辆很基础的自动驾驶汽车。别的我已经都不在乎了。
“我认为 panda 是有史以来最好的通用汽车交互界面。”
为了满足汽车自动驾驶所需的可靠性和信息吞吐量,我们开始构建自己的接口硬件。
我们放弃了最初的自动驾驶硬件方案,搞了一个定制的汽车接口主板,能通过 USB 连接两个 CAN。但对有些车来说这还不够,于是我们开发了 panda。
panda 是有史以来最好的通用汽车交互界面。它支持3 个CAN,2 个LIN和1 个GMLAN,可以和手机互联,也有USB 和Wi-Fi,可以和计算机连接。
panda 百分百开放,可以插到1996年或以后制造的每辆汽车的OBDII端口上。
chffr:chffr 是我们的云dashcam app,可以让你记录并 review 自动驾驶的训练过程。现在,用 panda 搭配chffr,你可以对车上所有传感器进行记录。只要你的车有传感器,那么在驾驶过程中的任何时间点上,你都可以查看发动机转速、剩余油量、每公里耗油量、刹车力度等等等等。
pandacan:Pandacan 是一个用户空间库,用于使用 Python 通过USB 或Wi-Fi与你的车进行交互。它允许对所有CAN和LIN总线进行完全读/写访问。
SocketCAN:SocketCAN 是CAN 接口的Linux标准。包含的驱动程序允许 panda 使用所有SocketCAN 工具,包括can-utils和Wireshark。
openpilot:openpilot,我们的开源驱动智能体,可以使用 panda 与你的车进行通信,并控制油门、刹车和转向。
支持J2534,即将支持ELM327。这将使其能够与大多数车厂的诊断工具和应用程序(如Torque)配合使用。
cabana:comma.ai 的CAN 分析工具
CAN 总线分析工具能让你了解汽车里的所有传感器和信号。之前除了CANalyzer——价格要10000 美元,还只支持Windows,没有什么好用的CAN分析工具。
现在,cabana来了。我们全力开发了这款最好的CAN 分析工具,这样才配得上 panda。
左边显示的是你车上所有的信号。中间是你正在编辑的信号。右边,是你驾驶的视频和图形信号。
Cabana 已经面向全部 panda 和 NEO 的用户激活,用户可以通过点击driving explorer 上的紫色勾号来访问。其他用户则可通过讴歌 ILX 上的演示路线来尝试。
跟大家分享一个我用 panda 和cabana 在我的普锐斯上做逆向工程的视频(https://www.pscp.tv/w/1jMKgokgOOMKL)。以前要花几周时间的事情,现在花几个小时就搞定了。
opendbc:即使你有了CAN 接口和很好的CAN分析软件,要搞清你那辆汽车里的信号是什么意思,还是要花些功夫的。不过,这种功夫,在世界上的每辆车里,只需要做一次。
cabana 和我们的DBC存储库——opendbc——集成。 DBC 是你爱车的行业标准“decoderring”,而cabana 可以让你方便地创建、保存和共享DBC文件。利用cabana,你可以分配opendbc repo 到你的github 帐户,随时根据你从车上发现的新信息对它进行编辑,最后再提出 a pull request to the main repo。
我们的目标是建立一个DBC 文件的存储库,为每辆车都能对这个“decoder ring”进行访问。
原文地址:https://medium.com/@comma_ai/a-panda-and-a-cabana-how-to-get-started-car-hacking-with-comma-ai-b5e46fae8646