Self Driving Cars and the Need for Standard Roads

Like any child of the 80’s who’s into tech, I’m fascinated by the idea of self driving cars.  The only thing cooler would be flying cars, but it seems we’ll have to keep crawling before we can fly.

Thanks to Google and Tesla, self-driving automobiles are now a real possibility.  In fact, Tesla’s communication  and Musk’s relative record of success have made it more than a possibility.  It’s an expectation.  There is now a baked-in expectation that self-driving cars will revolutionize the world of transportation.

However, the reality is proving to be more difficult.  Delays and complications abound.  And predicting timelines has become foolhardy.

The obvious issue  is that driving is very, very complicated and unpredictable.  So much so that human minds get routinely confused.  It just makes sense that artificial minds will have the same issues.  It makes sense that this is a very difficult problem to solve and it will take awhile to do so.

But there may be ways to speed up the process.  And there may be tragic events that will suddenly slow down the process by many years or decades if we’re not smart about all this.  Let’s start with the latter.

Self driving sensorsLidar and Radar and Cameras, oh my! The complexity in feeding information to self-driving AI is very complicated. It should give us new appreciation for our own 5 senses. Source: Boston Consulting Group

Artificial Intelligence needs tons of data to learn.  This means that AI engines will have to spend huge amounts of time to get the tons of data needed to learn how to drive our roads.  I think we’re learning that our roads are more complicated and unpredictable than we thought.  Which means the AI behind autonomous driving will take more and more data.

Telsa uses “shadow mode testing”, in which the AI engine pretends to drive a car, and its decisions are tested against the actions of a real driver.  The large number of Telsa drivers helps in this regard.

But this illustrates the problem.  Artificial Intelligence and machine learning depend on mistakes.  The systems make mistakes and learn from them.  They makes an enormous amount of mistakes.   The more complex the environment, the more data you need.  And the more data you need, the more mistakes will be required to generate that data.

Yet driving is dangerous.  A mistake in driving can cost lives.  So the question quickly becomes “what is our tolerance for mistakes by self-driving cars?”  Are we willing to sacrifice lives so that cars can learn to drive themselves?

I think the answer is very likely to be “no”, and probably a more resounding “no” than we anticipate.  There have already been some episodes of loss-of-life related to autonomous cars.  And there have been odd attempts to cover up some close calls.  But the day we have a high profile event–a loss of a family of four, a school bus accident, an elderly veteran run over–public (and legislative) opinion will shift quickly against the current tech.

An episode like that will be tragic for the individuals involved, but it will also set the autonomous vehicle effort back for decades.  People are too important, and this tech has too much potential to let that happen.  So what can we do?

Tesla view of pedestrians
Tesla’s visualization of pedestrians. Super cool…but what if these simple icons represented someone you love? A spouse, grandparent, or child? Are we ready to trust tech to this? Src: DirtyTesla Youtube

When it comes to autonomous driving, all the attention is on the cars themselves.  That make sense given the ‘cool factor’ and the agency of the companies making the cars.  This is where the work is.

Hardly any attention is paid to the technology of roads themselves.  Even less attention is paid to the technology of planning, design, and construction of the roads.  It’s just accepted that the roads are what they are.

A huge part of advancing autonomous vehicles, I think, is to develop a set of standards and guidelines that will certify a road for autonomous cars.  Autonomous driving should require this certification.  It would include things such as:

  • Universal, standard lane markers, including curb and hash marks in turns
  • Assisting sensors in blind corners and unprotected turns
  • Redesign of crosswalks and bike lanes to protect pedestrians and bikers
  • Standardization of other vulnerable areas such as loading areas for passengers
  • Indicators of places where pedestrians and other vulnerable individuals are likely to be present.  “high caution” areas that will tell AI to enter a heightened state of precision and sensitivity.
  • Appending or tagging some of this information to the GPS standards

Federal and state highways would be pretty easy to outfit, as they already follow standard guidelines.  The obvious issue will be local and rural roads.

Google’s self-driving project addresses part of this situation by mapping every area’s detail ahead of time.  This approach has a similar effect, in that it ‘certifies’ every road by documenting its features ahead of time.  There are a couple problems with this, however.

Google NYC map
In essence Google’s Waymo ‘pre-certifies’ areas by training AI in the area and creating extensive maps.

First, it is a daunting task.  Even with the resources at Google’s disposal, it is nearly impossible to map every road.  Indeed, Google street view still misses huge chunks of coverage despite the significant effort to cover everything.   And you can’t underestimate the tendency in some places to consider mapping a privacy concern.

Second, streets change and those changes could have significant implications.  Using street view as a reference, it’s not uncommon to find places that haven’t been visited for many years…again despite a very comprehensive effort by Google.

Adding and adopting street standards and certification would help Google’s approach and speed up the process.

Retro Self Driving
Interestingly, many retro-fantastic illustrations imply standard highway markings for self driving cars. It’s fun to see just how close these visions are in other ways. (Gunther Radtke)

There are no guarantees in life.  Walking out the door has its own level of risk.  But when it comes to life-and death safety, we should mitigate these risks as much as practically possible.  When it comes to AI, autonomous driving, and self-driving cars, I think it’s obvious that a set of standards and a requirement for certification is required.  Moving in this direction now will allow us to leapfrog both delays in adoption, and tragedy in achieving adoption.


OSI Model Layer 3 and 4, Freedom and Democracy

Layers 3 and 4 are then “network” and “transport” layer, respectively.

While layer 1 and 2 had to do with local traffic, the next two layers create the standards and protocols by which all these local networks can talk to each other (“internetworking”).  They scale to a global scale.

OSI Layer 3 – Network Layer

The network layer that currently dominates the world is the IP protocol.  Nearly everyone has heard of an IP address by now, probably in frustration as they tried to configure a home device or internet connection.

The power of the IP protocol is in its superior route-ability.  There have been other protocols that work well in certain circumstances, but IP proved to be the brilliant solution that literally created the internet.

IPs superior routability stems from it’s super simple addressing scheme, in which you take a bunch of numbers (an address), apply another set of numbers (called a mask) and end up with a neatly sliced network-host dileneation.

Old School Computing
I’m pretty sure that’s a subnet cheat-sheet.
Photography: Yves Tessier 1972

You can think of the network as the street you live on, and the host as the house in which you live.  In the following examples, the blue is the network/street, and the red is the host/house.

3472 Oak Street

But IP addressing is far more powerful than a street address, in that the networks can then further be sliced up using masks.  A mask is another set of numbers that defines which part of the address is being addressed.  So you could further say:

Cleveland, Ohio

Where orange is the locality and green is the larger area.  This slicing can get even more granular and complex as needed.

I won’t risk complicating a simple and elegant system in trying to address it in one blog post.  But the upshot is that millions of devices called routers can reliably and effectively transport huge amounts of data through multiple other routers and back.  It’s not uncommon for traffic to go through 10-20 routers on its way to a destination.

OSI Layer 4 – Transport Layer

Layer 4 is the layer that defines a conversation.  Take this human example of TCP (Transmission Control Protocol):

Sally: Hello is this joe?

Joe: Yes!  This is joe.

Sally: Great!  Here’s some info…..*garbled*

Joe: I’m sorry, can you repeat that?  Also can you speak a little slower?

Sally: Sure…here…is….some…information…for you.  Did you get that?

Joe:  Yes I got it. I will deliver it to the appropriate party.

While this pictures not a perfect analogy, TCP is responsible for making connections between IPs, making them appropriately, and ensuring that no information is garbled or lost.
Src: Seattle Municipal Archives

This conversation is a representation of a TCP conversation that happens trillions of times a day.   In contrast, here’s an example of UDP (User Datagram Protocol:

Sally:  Hey, I’m shouting this to Joe!  Joe, if you can hear me here some information for you!

In contrast, UDP is a way to send a message to another machine without a connection or any guarantee that they will hear it, or hear it clearly.

Both of these conversations do essentially the same thing, but with a different set of requirements.  These requirements are defined by a layer 4 protocol.

Across layer 3 and 4, there are several protocols and combinations of protocols that assist communication.  They help control speed of transmission, choosing the best route between hosts, and several other critical functions that help ensure data gets from point A to point B.

Implications for Freedom and Democracy

The creation of a redundant, reliable packet-switched (vs. circuit-switched) network of communications was created for two reasons.  First, the number of computers in the world was very small, and people needed access to them without being physically present.  Second, the military needed a way to maintain control of nuclear resources and communications in the even of a nuclear war.

These two goals are somewhat in dispute.  And that makes complete sense given the supply of movie plots where scientific discovery was unwittingly being used for the military.   It’s pretty obvious that everyone involved had their own goals in mind.

Outbreak Monkey
Like the internet, both man and monkey in the movie Outbreak were either a military asset or a way to save the world. But in reality they were both.
Src: Warner Bros

But, the implications for today are clear.  Using these technologies, you can send data reliably from a very localized device to another very localized device anywhere around the world.  We are seeing this play out now in Ukraine.  This is a unique enough situation that I will post about it separately.

Because these systems were designed to create access via large scale, they ensure that anyone in the world can communicate with another.  They can do this directly and without reliance on a mediator or central 3rd party.

Because these systems were designed, at some level, to survive nuclear hostilities, they are inherently robust and redundant.  Getting in the way of these connections is very hard.

Freedom loves communication and the free flow of information.  Indeed, it depends on it.  Layers 1-4 are great enablers of freedom.