Most traditional OEMs in the automotive industry are integrators. They write a specification, and a Tier 1 supplier provides a black box matching that spec. (Tier 1 in turn provides a spec to its suppliers and integrates their parts)
This has several consequences
- Tier 1 suppliers are waiting on input/approval from OEM before proceeding with projects
- Tier 1 suppliers don't necessarily have the capital to do work "at risk", even if they could build the part without approval/specifications. (TBH - some do)
- Each layer of the supply chain lacks context on the whole project and product line and cannot achieve efficiencies outside of the scope of its contract.
These haven't really been a problem for mechanical parts and E/E parts that have well-defined functions and interfaces and have a lot of re-use from previous generations. It works really well with Kaizen (incremental innovation).
To outsource it, a traditional OEM would need to completely specify the behaviour of said self-driving system, baseline the specification, put out the requests for quotation, etc. Tier 1 then needs to analyse the spec, estimate it, break it down in to sub work packages, work with its suppliers, etc. From an optimisation point of view, this is really inefficient partitioning of the problem space. For greenfields development, an emergent specification via experimentation may be better - but that won't fit in traditional V-model sub-contract OEMs/Tier 1s use.
That flow doesn't need to be followed; the suppliers could raise/allocate capital and build the self-driving stack "at risk" - and this seems to be done (Tier IV, Waymo, etc). But as it's new technology, I assume Rivian think they can do better by themselves and can get the capital for the development as part of an integrated solution while they are smaller it might seem they should not waste limited capitial that way - but integration will save a lot of inefficiency in sharing specifications across boundaries, full system integration and deriving emergent specification via experimentation rather than some MBSE folly.
Not only is Rivian betting on an integrated platform being important for their own cars long term, they’ve also essentially sold that portion of their business to VW. They are investing in the software platform for a lot more cars than just the rivian branded ones.
Level 2 is simpler and more mature, so it should be easier to specify, package and integrate.
It can follow the traditional OEM outsourcing route, where OEM has high-level models and gets suppliers to implement the details.
e.g. I can find public information that Subaru use Veoneer cameras, Xilinx chipsets, but defines their own algorithms. I would speculate they have an outsourced company convert algorithms to FPGA netlists/embedded code.
(On the other hand, I know other OEMs have a more complex mesh of joint ventures)
Aside from Mercedes-Benz, level 2 is the best we have, though?
Edit: Re-reading your post, you were talking about the future. You make good points; I will be interested to see how it plays out. Probably as long as the technology remains radar and cameras, it will continue to be easily outsourced.
I have personally ported a usb c usbpd stack from 8051 to cortex m0 to rv32ec. I can’t talk for gate count, it for code size the biggest factor was the compiler, with ARMCC giving the smallest code. As the rom was larger than the core, that was a bigger factor in gate count.
Can I build my embedded firmware with nix using a Windows only toolchain?
(Fyi I just used something like the solution from the article, with the hash embedded in the binary image to be burned to ROM masks. The gaps in toolchain versioning and not building with dirty checkouts can be managed with self discipline /internal checks)
Generally development tools run fine under wine, so I'd guess it would be fine. Running a windows binary within wine within WSL on windows does seem a little insane tho!
Now I think of it, WSL can generally call out to Windows tools - you would need to run in a Windows file system mounted into WSL. It just won't port to a Linux-based CI job without Wine. The ideal is a build and test run that is reproducible in CI and locally.
The change from proprietary scripting like dc-shell script to TCL a quarter century ago was a rough one, let’s not be too rushed with the next big change..
On the other hand, users of software compilers are starting to talk about link time optimisation and guided optimisation, techniques that I had much more control with dc-shell than any modern software tool chain.
I got to the end of Turing’s cathedral, but it wasn’t an easy ride. I didn’t pick up the Princeton Ad vibe, but it was definitely all over the place and not focussed on the core story that I was interested in, which was von Neumann’s machine.
I did learn a lot from the book, so in that regard I’d recommend it. But as a ok it’s nowhere near “Soul of a new machine”.
Having lived in Tokyo long enough to have witnessed crime (with blood on the pavement), reported crime to the police, have people admit their minor criminal behaviour to me, and also hear second hand reports of serous criminal behaviour of people I know, I would limit the time I leave a high end laptop unattended in a busy Starbucks to the time it takes to order a refill/snack or go to the toilet :-) in fact I’ve done it probably hundreds of times.
Which is to say I have no real concerns about crime there, but am no idealist.
I would not leave a laptop unattended in my own country for any amount of time, the culture of westerners is far more opportunistic for even minor individual gain, and much less conscious of one’s place in society.
Australia’s public universities (that is most of them) basically operate on a subsidised ISA built into the tax system called HECS. It’s been going for almost 30 years and was started to double the rate of higher education participation, which was happened.
There are huge problems with the Australian university system, but I’d say HECS is one of the lesser problems.
If you read the tweet thread this HECS model solves a couple of the big issues.
There is no adverse selection if the scheme is open to all at any institution, and there is no legal and regulatory risk since, I believe, the repayment of the loan is legally mandated through payroll rather than being subject to a private school chasing students around in courts.
This has several consequences - Tier 1 suppliers are waiting on input/approval from OEM before proceeding with projects - Tier 1 suppliers don't necessarily have the capital to do work "at risk", even if they could build the part without approval/specifications. (TBH - some do) - Each layer of the supply chain lacks context on the whole project and product line and cannot achieve efficiencies outside of the scope of its contract.
These haven't really been a problem for mechanical parts and E/E parts that have well-defined functions and interfaces and have a lot of re-use from previous generations. It works really well with Kaizen (incremental innovation).
To outsource it, a traditional OEM would need to completely specify the behaviour of said self-driving system, baseline the specification, put out the requests for quotation, etc. Tier 1 then needs to analyse the spec, estimate it, break it down in to sub work packages, work with its suppliers, etc. From an optimisation point of view, this is really inefficient partitioning of the problem space. For greenfields development, an emergent specification via experimentation may be better - but that won't fit in traditional V-model sub-contract OEMs/Tier 1s use.
That flow doesn't need to be followed; the suppliers could raise/allocate capital and build the self-driving stack "at risk" - and this seems to be done (Tier IV, Waymo, etc). But as it's new technology, I assume Rivian think they can do better by themselves and can get the capital for the development as part of an integrated solution while they are smaller it might seem they should not waste limited capitial that way - but integration will save a lot of inefficiency in sharing specifications across boundaries, full system integration and deriving emergent specification via experimentation rather than some MBSE folly.