# Would this "self driving" car work?

The great venture capitalist Elian Minsk has decided to start an "autonomous" car driving service.

But who needs complicated AI based systems when he can hire tech support workers in India to drive cars for 2000 dollars a year (about 1 dollar per hour). And then turn around and charge U.S. subscribers 2~3 dollars per hour. The technical challenge then shifts from creating futuristic AI, into creating a reliable video link system, mostly using existing technology.

Some strategic campaign donations were made, and lobbyists were hired and successfully persuaded congress to pass a law allowing foreign persons to be certified to remotely drive cars on U.S. roads if they passed a qualified training program.

A training program was created in India where someone could pay $10 to take a class on American driving. At the conclusion of the course they are given an exam where they remotely drive a car located in a remote test facility. If they passed they were hired as a remote driver. A three part wireless communications system was created. To the maximum extent possible, existing cell towers are used to reduce satellite usage. Dedicated communications towers were also put up in major cities where there would be a lot of bandwidth requirements. A high bandwidth satellite network was launched to facilitate the transmission of audio, video, and commands between the cars and the remote drivers in places where towers can't reach (EDIT: https://www.starlink.com/). Of course each com links is authenticated and encrypted. Compression is used to the maximum extend possible in the video to conserve bandwidth. Safety is a priority, so two communications frequencies are always used for redundancy. All driving commands and a low resolution version of each video link is always transmitted on both frequencies. The remote operator can select a main channel(usually the front) to also transmit in high-res. The high-res channel will use only one link at a time based on availability but is not redundant. If the high-res link is lost the remote driver will still see the low-res version as a backup. Furthermore the transmission format for the video frames is broken into large blocks that can be received independently. So if noise disrupts the data in one video frame only a piece of the image is lost, not the whole frame. A hardware package was developed in conjunction with a major luxury auto maker. The hardware package allows certain models of their cars to be controlled remotely using a wireless link. Owners of those models of cars pay$100 per month for up to 2 hours of remote driving per day (EDIT: ten dollars per hour).

Equipment on the car:

• Six cameras. One on each corner of the car facing out diagonally. One front facing. One rear facing.
• Two microphones on the outside of the car so the driver can hear traffic.
• A video-phone system inside the car.
• A computer module inside the car that accepts throttle, breaking, steering, and signaling commands from the remote operator.
• A rear facing distance sensor.
• A forward facing distance sensor.

Here is how the typical use-case would work.

1. The driver presses a button to request a remote driver.
2. The car is assigned to one of the remote drivers. The remote drivers are ready and waiting in an office and should confirm in under 1 minute.
3. The remote driver sends confirmation to the car and an indicator is shown to the driver.
4. The driver presses a button to allow the remote drive to take over.
5. The remote driver can take over any time they choose.
6. The occupants of the car can press a button to immediately cancel remote driving at any time.

The remote operator can place a voice call directly to the vehicle to talk to the occupants. The occupants may do the same. To maintain privacy the call will not allow any voice/video to be sent/received on either side unless both sides accept. There is also a text messaging system that the occupants and remote driver may use. The main use of both of these systems is to tell the remote driver where to go. All parties also have access to a GPS navigation system.

If communication with the wireless network is lost the driver is alerted immediately. The car enters a driverless autonomous mode. This mode is much simpler than a full self-driving car and is just meant to bring the car to a safe stop.

• In this mode the car maintains its current speed and direction for 5 seconds and then begins to slow down to 0mph over the course of 15 seconds. The 5 second period is mainly to allow the local driver to take over before the car starts slowing down.
• The car may slow down faster or slower to avoid collision (automatic braking/acceleration) as indicated by the two distance sensors.
• In the driverless mode the driver in the car may take over at any time by pressing the gas or brake (similar to exiting cruise control on many cars).

Are there any major flaws in the system?

EDIT:

• So based on comments it looks like the price needs to be closer to 10 dollars per hour. Thats fine because Taxis and Uber both charge several dollars per mile, so the service would still be far less expensive than either of those. The price of driving Coast to Coast across the U.S. (about 3000 miles) would be around 600 dollars for the driver plus 200 dollars for gas, which is way cheaper than either plane or bus tickets if you are taking family of four.

• The pricing model needs to be more flexible and just let people pay by the hour or by the month rather than having a 2 hour per day limit. That makes use-cases like road trips a lot more practical.

• Its not practical to prosecute someone in a foreign country. The problem of legal liability is tricky with any self driving system (you can't prosecute an AI either). The simplest way to solve it is to make the occupants of the car bear all responsibility. They have access to the kill switch, and its their fault for not pressing it if they see that the remote driver is going to violate traffic laws or cause property damage.

• Many people cited latency as a big problem.

a) Using regular internet resources it looks like round trip latency is around 500ms.

b) Satellites placed in geosynchronous orbit would have a latency close to 500ms as well.

c) Using satellites located at an altitude of <1000 miles could do substantially better (about 150ms round trip).

• The distance between India and the U.S. is around 8000-9000 miles. This is an arc spanning an angle of about 130 degrees. The radius of the earth is about 4000 miles. If satellites were placed at 1000 miles altitude then the signal would travel 1000 miles up to the satellites. It would then travel between the satellites in an arc of length 2 * pi * 5000 miles * 130 degrees / 360 degrees. And then it would travel 1000 miles down. So 13,300 miles total one way, or 26600 miles round trip. At the speed of light the signal would take 143ms to propagate round trip. If we add a few ms of latency in the satellites then we might round up to 150ms.

• Coincidently, Elon Musk just launched the first 60 Star Link satellites https://www.starlink.com/ . The total plan is to have over 12,000 satellites. The satellites are positioned in low earth orbit at 340 to 823 miles, which is exactly the right spot to achieve low-latency communications between India and the U.S. Additionally the satellite network has massive bandwidth. 20Gbps per satellite means that they could give a connection of a few Mbps to several million users at once. The bandwidth appears to be adequate to support millions of real-time video feeds. https://www.theverge.com/2019/5/15/18624630/spacex-elon-musk-starlink-internet-satellites-falcon-9-rocket-launch-live

• Satellite communications could be blocked by bad weather or obstacles. That obviously makes the system unusable in certain cases. But its still useable most of the time so that's not a deal-breaker for me.

• As for plausability, the company Phantom Auto is already doing remote driving with domestic drivers, on a limited basis as a backup for AI systems. https://techcrunch.com/2019/04/18/phantom-auto-raises-13-5m-to-expand-remote-driving-business-to-delivery-bots-and-forklifts/

• Terrorists would love this idea, remote controlled bombs in the country of your choice for the price of a $10 driving course !! May 25 '19 at 1:09 • I have some experience with working with India-based IT support teams. 1 U.S. dollar per hour total burdened labor cost is completely unrealistic; 5 USD per hour is much more credible. Add a modest 20% margin for the U.S.-based company, add the depreciation cost of the infrastructure and add the cost of insurance, and then notice the price charged to the customer is already close to the salary of a local driver... May 25 '19 at 13:21 • Aha, finally found the entertaining "what if" on the subject of (semi)autonomous car accidents and litigation from Charles Stross that I'd been trying to remember since this got posted. antipope.org/charlie/blog-static/2018/03/test-case.html May 25 '19 at 19:06 • @user4574 you assume they're waiting for such an event... even without terrorists....reality is more likely.... lightning strike took out the virtualisator and hub or something similar, servers couldn't communicate and safety feature put 2 million cars immediately on manual. Unfortunately 17000+ were asleep, 3200+ were engaged in a sexual act, 200,000+ were on drugs or drunk, 10,000+ didn't know how to drive to begin with, 1 million and 500 thousand were on their cell phones doing social media or games. Of the rest only 5 had gotten around to reading the safety manual and knew what to do. May 28 '19 at 21:32 • @user4574 - but how can you read a book if it's considered your responsibility to take over if they are driving dangerously? An accident usually happens in less than a second, and in this time you have to react to the alert (assuming the car successfully detects the danger and sounds the alert), put down your book, assess the situation and take the appropriate action - I get that it's the same with automated cars and it's a problem I also have with them (Hence my first sentence in the previous comment), assuming the occupant also bears responsibility in that case. May 30 '19 at 10:20 ## 5 Answers ## I'm going to address the pricing model. The hourly rate workers get in India is much lower than minimum wage in the United States. But it varies a lot depending on skillset. Here you need workers who speak excellent English, have strong driving skills, and who are good in a high pressure environment. There are many costs to labor beyond the salary you pay. There are benefits for the workers, training (what you charge trainees might cover the costs of printing their manuals), and the costs of maintaining an office. You also have to pay supervisors, training staff, and support staff. Not to mention, taxes. Foreign companies that establish branch offices and employ workers in India must pay a corporate tax on profits generated inside the country. The rate is a flat 40% on corporate income, with 2-3% surcharges at higher income levels. (ref) Also include high insurance costs in your overhead. Plus all the regular costs of running a business, wherever your headquarters are based. In your model, car owners can call any time and expect a driver to respond in under a minute. Since it's impossible to drive more than one car at a time (even accounting for stops to run errands or sit at traffic lights), this means you must staff your driving center with more drivers than you will use. If you require reservations (with last minute calls allowed if someone is free), your staffing requirements drop. You also have to allow for drivers to take breaks. Not just bathroom and meal breaks (both of which mean they can not respond to a customer in under a minute) but also breaks to make sure they can perform their tasks safely (this is essential!!). I also find your "up to 2 hours a day" model unrealistic. There are 3 basic categories of how people might use this service: 1. For drives when they need to get work done or otherwise be distracted. Their daily commute is the most common here (it's also most of the driving from a lot of people). But also, driving home after having a drink (or 3), or taking over when the on-site driver is too tired, etc. 2. Driving when there is not a licensed driver available. For example, taking the kids to and from school or activities. Or picking up things from businesses or individuals. 3. Long drives. The boring part of taking your car on vacation. (Drivers can switch out when the car stops for gas or passenger bathroom breaks.) 60 hours a month makes more sense for more people than 2 hours a day. With surcharges for going over. Consider rollover for unused minutes. And discounts for making a reservation. You might do well with a marketing plan for large companies who already have carpool vans available for employees. Or corporate travel. Wealthy people who don't want to employ human drivers (or upper middle-class people who want to splurge) might get your service for their personal cars. But it will cost a lot more than$100 for 60 hours.

• I agree. Just having the users pay by the hour, or having a certain number of hours per month is better than having 2 hours per day. May 27 '19 at 1:20
• Shift changes and brakes don't have to be a problem for the remote drivers. You can either set the system up so that another person can switch in live without even stoping. Or if that's not safe enough then the driver could just message the occupants of the car that they need to switch, and then find a safe place to pull over. May 27 '19 at 1:23
• You might be right about the price of 3 dollars per hour not being high enough. But I could raise the price quite a bit and still beat local taxi or Uber rates. Taxis or Uber charge few dollars a mile, so that could easily add up to be 60 to 100 dollars per hour on the highway. May 27 '19 at 1:29
• @user4574 Yes, though it can be done completely seamlessly if the occupants of the car need bathroom or stretching breaks or the car needs fuel or charging. May 27 '19 at 1:29
• Your answer was the most useful because it addressed my over-optimistic assumptions on the pricing. Other answers said the technical challenges were too great, but its just a failure of imagination... network latency is too big (but round trip is 150ms with LEO satellites). Needs too much bandwidth (solved with lots of satellites, which Elon Musk is already launching for me with Multi-Tbps total bandwith). AI could do xyz better (yes but level-5 AI doesn't exist yet so its a moot point). Weather and tunnels (good point, but one can still use the system most of the time). May 29 '19 at 23:18

A few, all to do with the communication network.

1. Latency - Even assuming you have 100% uptime (not a great assumption with cars, see below), India-to-US latency averages about a quarter of a second. If you want TCP (and you do, 'cause you don't want driving instructions garbled) and encryption, that means multiple round-trips, bringing total latency to more than a second per instruction. That's not acceptable for anything beyond a walking pace.
2. Cover - Tunnels, parking garages - even high buildings can cause interruptions in connectivity. You've got a "recovery mode", but users aren't going to be terribly happy if anything that causes an interruption in their driver's connection makes the car glide to a halt.
3. Weather - same as cover, weather can cause satellite data bandwidth reduction, cell signal interruption, etc.

Camera occlusion (by dirt or obstacle) is also potentially a problem, but probably the easiest to solve from an engineering perspective.

The first problem is the insoluable one - India is a long way away. Long enough that even lightspeed isn't fast enough to provide the kind of reaction time you'd require from a driver at anything above golf cart speeds.

The reason this isn't a problem for drone operators in Langley is that a drone does not have to make reflex-speed decisions to avoid collisions. If a drone operator has three-second latency, it doesn't matter, because the plane is just flying in a straight line. (Because it is a drone and is airborne, the cover/weather problems are substantially less dramatic as well.) It just doesn't work for a ground-based passenger vehicle when half a second counts.

• To avoid having to confirm each control message you can just set up the system to continuously sync the control state of the driver and car every 50ms. There is no need to resend a lost packet since you just want the latest state anyways. You are right that we don't want driving commands to come out of order, but UDP would be fine for driving as long as you stick a timestamp in the message and just reject commands older than the latest one received. The driver will correct for any lost data since they will see on the video where the car is. May 25 '19 at 13:55
• Weather and tunnels are a problem. Probably one that can't be generally solved. I guess the users would just have to choose not to use the atuo-drive feature during bad weather. Luckily human behavior is such that most people just stay inside during bad weather anyways. May 25 '19 at 13:59
• If you've got 200+ms latency, how can you sync driver and car every 50 ms? How can you determine that the sync has happened successfully? May 25 '19 at 18:07
• One can send packets at whatever rate they want no matter what the latency is. There will just be multiple packets traversing the network at once. There is no need to confirm each command (and incur the associated timing penalty) since the driver will see where the car is on the screen. The most recently sent command is the one the driver actually wants to be doing now based on the video screen. The driver doesn't care about where they were steering before. So just timestamp each message and always use the latest one. Forget any missed packets and move on. May 26 '19 at 0:38
• The actual delay depends on which network is used. This site seems to indicate that the latency between Bangalore and Los Angeles is 240ms. wondernetwork.com/pings. Satellites at geosynchronous orbit would have higher latency around 500~600ms. But satellites in lower orbit could have substantially lower latency. For example satellites located at 1000 miles up could have a latency closer to 100ms round trip. In any case round trip latency below about 500ms is probably useable for driving. May 26 '19 at 0:44

Bandwidth and latency seems to be the biggest flaw. It needs six simultaneous high quality video links that need to be transmitted around the globe without any appreciable delay. And what about the interference from different causes? Bridges, tunnels, power lines?

The second problem, connected to the first, is that your system doesn't scale easily. It would, perhaps, work fine for 10 testing cars, decently for the first 100. Now imagine at least 10 000 cars, all needing high-speed satellite link to India. The costs of mantain the decent connection would rise so rapidly that at the first 100 000 cars you would find it will be easier to develop the driving AI after all.

In other words, it works as a scam, but not as a proper business venture.

UPD: the attractiveness of all the kinds of neural networks in computing is that they work better the more data you have. If your driving AI is a neutral network, it will work better, the more cars you have.

Your model, on the other hand, will work worse, put more strain and be more expensive, the more clients you have - that's not a good way to plan a growing business.

One additional moment I left out at first. Outsourcing IT work works also because the people you outsource it to use comparatively generic off-the shelf computers, provided by outsourcing contractor. Here you would need to outfit every Indian driver with a powerful six-screen workstation that is, in essence, a high end car simulator. It could be easier just to import the said Indian driver to USA and pay him salary there.

Another factor is legal responsibility. Who would bear it in the case of a crash? You have no direct control over your drivers, they may come to work drunk or stoned, sleep on the job or just forget to pay attention. And they won't bear any responsibility - they are outsorced IT specialist in another country. What are you going to do? Ask for extradition?

• Comments are not for extended discussion; this conversation has been moved to chat. May 26 '19 at 19:28

International Market forces: it would work for a little while but then not work

Although the other answers concentrate on the practical aspects - I'll focus on the market aspects. Being in the export/import business I have a little knowledge here.

As time progresses, more cars would be online, more work is created in India, and slowly prices would go up as demand becomes higher and/or there is limited competition in the supply market (ie. the Indian company would start to feel like it could charge whatever it likes). Other car companies will enter the same space, demanding more remote drivers, and competition for cheap drivers would ensue. You would need to ensure there are many companies in India providing the same service at the same rate as the expansion of remote cars.

Professional drivers are prevalent in most developing and SE Asian countries, in first world countries you don't see much of them anymore as the labour costs have risen too far to make it work. You're still paying a wage to someone to do the work, you are at the moment just taking care of exchange rate and lower living conditions of that country.

Even now you would be surprised at the hourly rate of those in developing countries - for skilled labour combined with study and responsibility, they are higher than you think. Training, Quality Assurance, insurance and other costs need to be factored in too.

If you look at China, already labour costs are getting higher as they become more affluent, educated and asked for more responsibility, even on manufacturing projects not just professional services, and now Vietnam, Indonesia and Malaysia are seen as more competitive in these cases. It is safe to say educated labour in general world-wide is becoming more expensive.

The biggest problem I see with this is that it is still relying on human labor and therefore will not scale as well as a literally automated vehicle. Let’s look at the hardware package. Each car that is part of the fleet must have the sensors and hardware package installed. 6 cameras, some lasers, a couple antennas, motors and feedback sensors for the brakes, throttle and steering, and a computer module. Right there you have just as much hardware invested in each car as a self-driving car has but on top of that you have a fleet of high bandwidth satellites and an army of 3rd party contractors to pay.

A self driving car by comparison only has the car’s hardware package and no satellite network and only 1 driver to maintain - the software one. There are 263 million cars in the US alone. The satellite network’s bandwidth will max out and fast trying to scale up.