Article Preview
Top1. Introduction
The fast development of sensor and communication technologies together with available open source software supporting vehicle autonomy as implementations of recent results in AI research has given rise to a wave of new autonomous vehicles (AV) being developed around the world (Burnett et al., 2019). The current paper presents an account of developing an autonomous last mile shuttle within 1 year starting in the Summer of 2017 and the follow up developments during year 2. The general expectations to autonomous vehicles are the ability to cover long distances in a safer way, i.e. decreasing the rate of accidents and traffic jams while providing convenient transport to ever increasing number of passengers. In the foreseeable future the autonomous vehicles are expected to share public roads with vehicles driven by human drivers, so the software for autonomy needs to have a good representation of both the traffic regulations and best practices of traffic. There are more than 10 trillion automobile kilometers driven each year worldwide, with complex and novel conditions generating millions of situations in which AV could fail (Daily et al., 2017). The control software of an autonomous vehicle needs to take into account road markings, traffic signs and lights, other vehicles, pedestrians, cyclists and other forms of transport on the road, while being able to cope with missing information, i.e. damaged road markings and being able to cope in congestions. Autonomous driving technology has already prominently reduced the accidents caused by human error or choice such as impaired driving, distraction, and speeding or illegal maneuvers which caused 94 percent of crashes in the US in 2017 (Automated Vehicles 3.0 Preparing for the Future of Transportation US Department of Transportation, 2018). There are still many challenges in solving autonomous driving in general because of the large number of edge cases and small permissible error margins in the real world, but there are active efforts to collect relevant data and use that towards solving the remaining problems (Fridman et al., 2019). In addition, the autonomous vehicles should be able to handle adverse driving conditions, such as rain, wet and icy roads (depending on the geographic location), the control algorithm must be able to recognize roads within a tolerable margin of error, using measuring instruments, such as cameras, lidars assisted by inertial measurements and GNSS. The autonomous vehicle software is expected to make quick decisions based on incomplete information in situations not necessarily foreseen at the time of development (Goodall, 2016).
In order to be able to develop software that is able to support autonomy it is important to be able to test it in a wide variety of situations. An important step in that direction was taken in Germany in 2017 (Daily et al., 2017), when German legislators defined the legal framework for allowing self-driving vehicles on public roads, as long as a human driver is at the controls to take over in critical situations. Similar laws are applied in the US (California and Nevada) (Greenblatt, 2016) and many other countries. Estonia has allowed the testing of self-driving cars on public roads also in 2017 by allowing an AV into the traffic for a limited testing period after completing a simple permit application procedure (Estonian Road Administration, 2017). China laid out national guidelines for testing self-driving cars in April 2018 when Beijing, Chongqing, Shenzhen, and Guangzhou, in addition to Shanghai opened their city roads to AV testing. Traffic can be as unpredictable as the weather and being able to respond to both means navigating countless scenarios. To fully test all possible scenarios in the real world by simply driving around is impossible and achieving a significant coverage of different situations may well take millions of kilometers. Therefore, computer simulations and mathematical modeling need to be incorporated into the development loop (Coelingh et al., 2018).