People have been modifying their cars since there have been cars. Sometimes the modifications are problematic. Sometimes problems result in accidents. Those cases are rare. Moreover, since the modifications are all bespoke, the odd erroneous one affects only that single vehicle.
On the other hand, the modifications let people learn. It's how we get new ideas. That improve safety. For more than just one car.
This is new technology; laws and regulations need to reach a stage where they're able to protect against the worst from happening.
People have to take driving tests. Is there an equivalent safeguard for an autonomous vehicle?
Literally everything has the potential to kill members of the public. A bug in your mobile device app could interact with a bug in the hardware and cause the battery to catch fire in the middle of the night and burn down an apartment building. If you install casters on the office copy machine, it may slide down an incline, through a 10th story window and kill someone in the street.
> This is new technology; laws and regulations need to reach a stage where they're able to protect against the worst from happening.
There are two classic methods of discouraging harm. The original, which works fine for low volume modifications, is that if you do something reckless you get held liable after the fact.
The method you're proposing is to do safety testing ahead of time. But that is only reasonable for products that are mass produced. If you're going to make a million of something, it makes sense to analyze it ahead of time because the high fixed cost of doing that can be amortized over a million units whereas the amount of harm prevented is multiplied by a million units. That method is highly inefficient for one off modifications where the opposite is true.
This rings hollow as a novelty. If you replace the transmission with one that has higher gear ratios, it may raise the top speed past the maximum rating of other components. Any modification that makes the vehicle heavier may cause the brakes to be insufficient. Any modification that changes the weight distribution may have a number of difficult to predict consequences for steering and stopping. Tires that are better on a track may be worse in the rain. Tires with a different diameter may cause the speedometer to mislead the driver. Tuning the engine to reach higher RPMs may cause excessive hydraulic pressure and damages the brakes or steering. Anyone making any modification or repair may use non-OEM parts with arbitrarily different specifications.
These are all complicated engineering decisions that depend on the assumptions made by the OEM. Maybe the brakes are sufficient with an extra 700 pounds, maybe not.
Hardware isn't simpler than software, the assumptions are just less explicit. And encoding the complexity in software rather than hardware can make them less error-prone because software is more adaptable. It can read sensors and make realtime calculations. The assumptions encoded in hardware are static.
Do you remember the hardware that existed before it was replaced by software? Thick bundles of wires everywhere, mechanical switches operating relays and solenoids, intricate clockwork mechanical parts rotating in synchrony. There were early vehicles with mechanical anti-lock braking systems, cruise control, airbags, etc.
Most of that complexity has been moved into software but the software wasn't what created it.
And before it was software you had the full complexity that comes with the systems not only being designed by humans but also made out of atoms and molecules subject to all the intricacies of physics and chemistry, with no checksums or error correction to detect or correct a failure when something is operating out of spec.
> For over a year, Waymo has been offering trips to the 400-plus members of its Early Rider program who use Waymo’s ride-hailing app to summon the minivans for free trips to school, the mall, the gym, or elsewhere within its suburban Phoenix service area. Soon, Waymo will make that service available to the general public and it will start charging money for it, too.
By doing so you are putting out toxic chemicals because you removed the muffler, this is not legal in states where an emissions test is done.
I think there's some misunderstanding here - even in the super-strict-and-bad EU you can build a car in your shed and get it registered and drive it. But you can't build/modify your car to be against regulations, be it emissions/noise/pollution or whatever else. As long as it's within the allowed parameters, then knock yourself out - there's a thriving modding scene even in countries with insane regulations like Germany.
I write embedded firmware for robots for a living. I've got a fairly good grasp of the complexities of a system like this. These modifications terrify me.
How does he know that one system isn't talking the n-1 protocol which is incompatible in subtle and weird ways from the current one? How does he know that there isn't calibration data hiding inside one of the systems he installed which assumes a different dynamic response?
Systems engineering for a system of this complexity is really really complicated. Bugs develop in the interactions between systems even when every part is working fine. If you start glueing stuff together which isn't designed to work together and is relying on unpublished unversioned APIs for communication, you're going to get all sorts of problems.