@
ilotuo 务必远离汽车行业,别被自动驾驶这种高达上的 title 给迷惑了。
事实上,自动驾驶分两个入口:一是传统嵌入式汽车电子转自动驾驶;二是 CS 视觉 or 人工智能方向转自动驾驶。这两个方向在汽车电子行业里面是完全不同的待遇。
一、传统嵌入式是按照制造业的薪水给定位的,做的东西也是底层,偏重于 C,现在的趋势是往 AutoSAR 方向发展(欧洲已经进入了,国内刚刚开始。)这个要么偏基础架构,在 ECU 硬件平台上搞 AutoSAR,类似于 QNX,uCLinux 这种定制的嵌入式;要么偏应用,主要是做 Simulink 代码自动生成,这个再往 MBD 方向发展(航空航天已经用 MBD 很久了),做的不好就做成了调参狗了,跟着标定工程师混,标定工程师才是这个行业的主人。首先要说的是 AutoSAR 是个半残废的平台,比老旧的 ECU 纯代码实现嵌入式的功能要高级,因为有类似操作系统的分层,有类似操作系统的抽象接口增加了各个子系统供应商的设备通用性。但他不是一个完整的系统,比 Linux 差远了,更比不上高大上的航空航天里用的 VxWorks。AutoSAR 的残废还进一步体现在无法适配未来自动驾驶普及之后所需的巨大的视觉信息处理、实时决策以及快速网络通信等对资源要求很高的 feature。其次,你在这个里面的身份是 coder,不是 programmer,负责将 system engineer 提出的 idea 用代码实现,实际上现在随着 simulink 自动代码生成功能日益强大,都不用你去写 coder 了,最终沦落为平台维护者。再次,整个传统汽车行业都是夕阳产业,可见的未来会被电动汽车所替代,传统汽车结构更简单,除了 PowerTrain 之外就是 Battery Management System,再往上就是视觉和人工智能相关的系统了,根本不需要 ECU 这种东西。最后,你一入此坑,以后就只能要么在 Ford,GM,BMW 这种主机厂商里面跳来跳去,要么去 Bosch,Elektrobit 这种系统大厂里面跳来跳去,这些都是德国企业,德国的工资了解一下。而且能跳过去就是你这个行业的最高形态了,天花板在那里。
二、CS 视觉 or 人工智能方向转自动驾驶,这个是神仙下凡,背后带着安全绳。整个技术栈都不一样,不关心底层,只关心自动驾驶相关部分。上可以搞图形图像视觉处理人工智能,下可以降级到操作系统或者 AutoSAR (如果你自甘堕落),跳槽除了能去主机厂,系统厂;还能往 Google,Baidu 这种互联网造车的企业里面跳,如果日后不想做自动驾驶这一块了,还能往其他需要视觉或者人工智能方向转(比如 Youtube 或者图片搜索之类),可能就是折腾一点,但没有天花板的限制。
这一块基本上都是在 nVIDIA 的 Tegra 平台上做的,如果想往顶层去,搞好数学,特别是线性代数;如果不想往顶层,可以往底层做 CUDA 相关的开发,顶层在 Matlab 里面实现了的算法你用 c/c++重新撸一遍,对实时性或者性能有要求就看 CUDA 能不能加速,不行的话再上 FPGA 或者 DSP。
怎么说呢,就好比搞数学的转 CS 很好转,搞 CS 的转汽车电子也很好转,但是反之则非常痛苦,要补足很多东西。
最后,我不是汽车行业、汽车电子相关行业,我只是深入调查过这个行业,还好没进这个大坑,但也在另外一个更大的坑里面。。。 以上仅供参考。