Home > Computer science essays > Self driving cars literature review

Essay: Self driving cars literature review

Essay details and download:

  • Subject area(s): Computer science essays
  • Reading time: 11 minutes
  • Price: Free download
  • Published: 15 October 2019*
  • Last Modified: 22 July 2024
  • File format: Text
  • Words: 3,173 (approx)
  • Number of pages: 13 (approx)
  • Tags: Tesla essays

Text preview of this essay:

This page of the essay has 3,173 words.

In this chapter, relevant literature is explored and discussed. Self-driving cars will influence job markets, as for example for taxi drivers, chauffeurs or truck drivers. Self-driving vehicles are already running in the streets nowadays and are predicted to be in market for sale by 2020.

The perception of cars will change and cars might be seen as a service that is used for transportation.  The idea of having a vehicle that is specialized for the specific use, e.g. off road, city road, long travels might become at- tractive. This might impact the business model of car manufacturer and their market.

This in itself poses ethical problems: what strategy should be applied for people loosing jobs because of the transition to self- driving cars? It is expected that the accident frequency will decrease rapidly, so car insurances may become less important. This may affect insurance companies in terms of jobs and the business. There is a historical parallel with process of industrialization and changing it to automatic, and there are experiences that may help anticipate and better plan for the process of transition.

At the end of this chapter, the requirements will be identified based on market needs and the target specifications will be derived.

2.1 Relevant Literature Review

A self-driving car (SDC) is one that can drive itself from a starting point to a predetermined destination in “autopilot” mode using various in-vehicle technologies and sensors, including adaptive cruise control, active steering (steer by wire), anti-lock braking systems (brake by wire), GPS navigation technology, lasers and radar.

1. SAE Automation Levels

The Society of Automobile Engineers (SAE) defined five levels of autonomous driving, as summarized in Exhibit 1. Levels 1-3 require a licensed driver, but levels 4 and 5 allow driverless operation, which is necessary for many predicted benefits.

Figure 2.1. 1: Autonomous Driving Levels 0–5

Level 0 — No Automation: This is the fully human level. You accelerate, brake, steer, and negotiate traffic without assistance from any technological device, you alone must decide how to react safely.

Level 1 — Driver Assistance: You’re still be the driver, and you continue to be in charge of mostly every driving function. However, you may call upon technology like adaptive cruise control for support. Adaptive cruise control uses lasers or radar to assess how close your car is to the car in front of you. Then it adjusts the throttle to maintain an appropriate or pre-set distance. At Level 1, a computer can control either steering or acceleration/braking, but it is not programmed to do both at the same time. At Level 1, you still have full responsibility to monitor road situations and assume all driving functions if the assistance system cannot do so for any reason.

Level 2 — Partial Automation: Assistance system is automated at Level 2. Many luxury automakers are now producing and selling Level 2 cars that can control steering and speed simultaneously, without driver interaction for short periods of time. These cars are the ones that can stay in lanes and hit the brakes for you. The car is able to react to warning systems, can steer, and can change how fast it’s going, but the driver still has to be doing the driving and paying attention to the road.

Level 3 — Conditional Automation: In Level 3 cars, you’re still needed as a driver, but you are able to transfer safety-critical functions to the vehicle, depending on traffic and other conditions. The system manages most of the driving and assesses what’s going on in traffic around you. The system cues you to intervene when it encounters a scenario it can’t navigate, and that’s when you take over. The key point in moving from Level 2 to Level 3 autonomy is that Level 3 expects that the user only has to intervene whenever the car is not able to handle a situation and asks for the user to take over.

Level 4 — high Automation: Moving from Levels 3 to 4 is a significant leap. Level 4 vehicles do it all: they perform all safety-critical driving functions and monitor all roadway conditions for the duration of the trip. However, you still need to be aware while you’re traveling in the vehicle, as Level 4 does not fulfill every driving scenario. You may have to take over driving controls if certain road types or geographic areas require it.

Level 5 — Full Automation: At Level 5, the fully autonomous system is equal to you as the driver in all vehicle functions, traffic, environmental decision-making, and emergency situations. The car can operate on any road and in any conditions you as a human driver would negotiate.

2. Real self-driving cars

This section shows different self-driving cars that have been provided in the market. Some of the cars are listed below:

1- Tesla Model S P90D:

Tesla’s Model S cars (both the P90D and P85D) can automatically steer down the highway, change lanes, and adjust speed to traffic conditions and Parallel Park at the push of a button. These all-electric fastbacks use a combination of cameras, radars and sensors, as well as data collected from the road, to maintain their autopilot mode.

2- Volvo XC90 T8 Hybrid

The 2016 Volvo XC90 models (T6 and T8 Hybrid) are equipped with an Intellisafe Autopilot mode similar to technology found in the Tesla Model S. Staying true to Volvo’s reputation as one of the safest car manufacturers on the market, the XC90 will automatically brake in intersections when it senses oncoming traffic.

3- Waymo

Waymo is an autonomous car development company and subsidiary of Google’s parent company, Alphabet Inc. The fully self-driving vehicle began test-driving on public roads without anyone in the driver’s seat and soon, members of the public will get to use these vehicles in their daily lives. The vehicle has sensors and software that are designed to detect pedestrians, cyclists, vehicles, road work and more from up to three football fields away in all 360 degrees. It detects and predicts the behavior of all the road users around us. In case of cyclist up ahead, Waymo’s sensors detecting the cyclist’s hand signal, hence the software predicts that the cyclist will move to the left side of the lane, so the car will slow down and make room for the cyclist to pass safely and comfortably ahead of us. Waymo relies on 4 million miles of real world experience to teach the car to navigate safely and comfortably through everyday traffic.

4- Cadillac CT6

Cadillac has introduced their Super Cruise semi-autonomous driving technology on the 2018 Cadillac CT6. A constellation of radar and optical sensors on the big Cadillac sedan uses data from a precisely mapped Lidar database to give the system hyper-accurate location data. Cadillac is taking a measured approach with the semi-autonomous technology. Unlike some manufacturers, use of their system is limited to controlled-access highways with on- and off-ramps. Super Cruise also employs a small camera located at the top of the steering wheel to monitor the driver’s attention level and ensure that they can take over if needed.

Super Cruise manages steering and speed during highway driving by using lane centering technology and an advanced adaptive cruise control to take the workload off of the driver.

5- Mercedes Benz S-Class

The car has autonomous driving with its available range of driving assistance and safety systems features. With the improved Intelligent Drive systems, the camera and radar duo can look further up ahead and can assist the driver at a wider range of speeds if necessary. The Active Emergency Stop Assist function can also bring the S-Class to a stop if it detects that the driver isn’t actively driving. The autonomous technologies found in the S-Class are considered a Level 2, just like the Tesla Model S.

2.2 Self-driving robot cars

SDRC’s are combination of many sensors and actuators which work in specific processing systems. In this section, hardware and software components will be discussed.

1. Sensors:

1- Camera (Image Sensor):

An image sensor or imaging sensor is a sensor that detects and conveys the information that constitutes an image. It does so by converting the variable attenuation of light waves into signals, small bursts of current that convey the information. The waves can be light or other electromagnetic radiation.

2- LIDAR (Light Detection and Ranging):

Lidar is a surveying method that measures distance to a target by illuminating the target with pulsed laser light and measuring the reflected pulses with a sensor. Differences in laser return times and wavelengths can then be used to make digital 3-D representations of the target.

3- Ultrasonic Sensor

An Ultrasonic sensor is a device that can measure the distance to an object by using sound waves. It measures distance by sending out a sound wave at a specific frequency and listening for that sound wave to bounce back. By recording the elapsed time between the sound wave being generated and the sound wave bouncing back, it is possible to calculate the distance between the sonar sensor and the object.

2. Processing systems

1- Raspberry pi

The Raspberry Pi is open hardware, with the exception of the primary chip on the Raspberry Pi, which runs many of the main components of the board–CPU, graphics, memory, the USB controller, etc. Many of the projects made with a Raspberry Pi are open and well-documented as well and are things you can build and modify yourself. It promotes Python and Scratch as the main programming language, with support for many other languages.

2- Arduino

Arduino is an open-source platform used for building electronics projects. Arduino consists of both a physical programmable circuit board and a piece of software that runs on your computer, used to write and upload computer code to the physical board. Arduino does not need a separate piece of hardware in order to load new code onto the board – you can simply use a USB cable. Additionally, the Arduino IDE uses a simplified version of C++, making it easier to learn and to program.

3- Udoo x86 Ultra

The Ultra is comparable in power to that of a typical budget PC. It can run most applications you would usually run on a PC on a daily basis, even some 3D games. It supports Linux, Android, and Windows 10. And it has an embedded Arduino 101 board with built-in gyroscope and six-axis accelerometer. The high power and customizability offered by the Arduino board make this SBC an extremely versatile tool for casual and power users alike.

4- Galileo Gen 2

Galileo is designed to support shields that operate at either 3.3V or 5V. The core operating voltage of Galileo is 3.3V. However, a jumper on the board enables voltage translation to 5V at the I/O pins. This provides support for 5V Uno shields and is the default behavior. By switching the jumper position, the voltage translation can be disabled to provide 3.3V operation at the I/O pins. The Galileo board is also software compatible with the Arduino Software Development Environment (IDE), which makes usability and introduction a snap. In addition to Arduino hardware and software compatibility, the Galileo board has several PC industry standard I/O ports and features to expand native usage and capabilities beyond the Arduino shield ecosystem. A full sized mini-PCI Express slot, 100Mb Ethernet port, Micro-SD slot, RS-232 serial port, USB Host port, USB Client port, and 8MByte NOR flash come standard on the board.

3. Actuators and steering mechanism

1- Motors

Electric motors are used to actuate wheels, sensor turrets or camera. These are most common types of motors used in amateur robotics: Brushed DC motor, Brushless DC motor, Geared DC motor, Servo motor, Stepper motor and DC Linear Actuator. AC motors are rarely used because most of the robots are powered with direct current (DC) coming from batteries.

2- Motor Controller

A motor controller is an electronic device that helps microcontroller to control the motor. Motor controller acts as an intermediate device between a microcontroller, a power supply or batteries, and the motors. Since there are several types of motors, there are several types of motor controllers:

• Brushed DC motor controllers: used with brushed DC, DC gear motors, and many linear actuators.

• Brushless DC motor controllers: used with brushless DC motors.

• Servo Motor Controllers: used for hobby servo motors.

• Stepper Motor Controllers: used with unipolar or bipolar stepper motors depending on their kind.

3- Steering mechanisms

One of the most common configurations found in cars is Ackerman steering which mechanically coordinates the angle of two front wheels which are fixed on a common axle used for steering and two rear wheels fixed on another axle for driving. The advantage in this design is increased control, better stability and maneuverability on road, less slippage and less power consumption.

4. Programming Languages

Figure 2.2. 8: Programming Language Comparison

1- Python

Python is a dynamic and general-purpose language that emphasizes code readability and enables developers to use fewer lines of code (in comparison with Java or C++). It supports multiple programming paradigms and has a large standard library.

2- C

C is a general-purpose imperative language that supports structured programming, recursion, and lexical variable scope. It is designed to encourage cross-platform programming and is available on many platforms. This language is valued for being clear, providing access to hardware and making it possible to create tiny binaries.

3- Java

Java is one the leading choices among developers all over the world. This language is object-oriented and class-based and follows the “WORA” principle: write once, run anywhere.

4- С++

This language is compiled, imperative, and program-oriented and allows low-level memory manipulation. C++ influenced a number of other languages, such as C# or Java and is used for a variety of purposes. Its key features that make it stand out are a strong, static type system (making it possible to catch more errors within a compile time), ability to use it in a few programming styles, good performance, and expressiveness.

5- C#

C# has seen an increase in popularity over the last year. It is an object-oriented and multi-paradigm language that encompasses many disciplines. C# was developed by Microsoft and is designated for the Common Language Infrastructure.

2.3 Problems with self-driving cars

Currently the car is able to do the following

• Navigate through a grid world where all streets have walls the car can sense with just lidar/radar

• Navigate a wall-free road that has continuous solid lane markings, including somewhat handling curves

• Detect a standard stop sign

• Detect obstacles in its path, both stationary and moving, and take basic action such as stopping or swerving

• Follow another vehicle at a safe distance, matching its speed and stopping if it does

• Park both in a parallel spot on the side of a street or in a horizontal spot in a parking lot.

SDR may not be able to react in every situation. In inclement weather conditions, such as heavy snow, rain and foggy weather LIDAR sensors and also cameras tend to get confused. This can cause many accidents. On roads without clear lane markings, when driverless cars can’t distinguish the lanes, it makes it nearly impossible for them to drive or change lanes safely. Moreover, driving in cities is much harder than cruising on the highway. Cities are a mess of pedestrians, cars, potholes and traffic cones. All such obstacles mean driverless cars have a lot to keep track of, and it can be easy to miss something. For upcoming solutions it should:

• Handle more varied lane markers than just a solid line, such as a dashed line, or short stretches with no line

• Perform more sophisticated obstacle detection and action, such as choosing to continue and run over a small obstacle, or determine the safest direction to swerve for a large obstacle

• Add the ability to navigate in and through other cars assuming well-behaved traffic

• Use external data from a network of cars to improve the performance of your self-driving car

• Navigate through more realistic traffic where you have to react to unexpected events, such as another car running a red light, or braking suddenly, or not using their turn signal (the worst!)

• Handle more realistic noisy sensor data instead of using the perfect data from the simulated world

SDRs have many problems to solve; this is why till now there is no fully autonomous car in the world.

Technical Challenges:

The challenge for driverless car designers is to produce control systems capable of analyzing sensory data in order to provide accurate detection of other vehicles and the road ahead. Modern self-driving cars generally use Bayesian simultaneous localization and mapping (SLAM) algorithms, which fuse data from multiple sensors and an off-line map into current location estimates and map updates. Waymo has developed a variant of SLAM with detection and tracking of other moving objects (DATMO), which also handles obstacles such as cars and pedestrians. Simpler systems may use roadside real-time locating system (RTLS) technologies to aid localization. Typical sensors include Lidar, stereovision, GPS and IMU. Udacity is developing an open-source software stack. Control systems on automated cars may use Sensor Fusion, which is an approach that integrates information from a variety of sensors on the car to produce a more consistent, accurate, and useful view of the environment.

Driverless vehicles require some form of machine vision for the purpose of visual object recognition. Automated cars are being developed with deep neural networks, a type of deep learning architecture with many computational stages, or levels, in which neurons are simulated from the environment that activate the network. The neural network depends on an extensive amount of data extracted from real-life driving scenarios, enabling the neural network to “learn” how to execute the best course of action.

In May 2018, researchers from MIT announced that they had built an automated car that can navigate unmapped roads. Researchers at their Computer Science and Artificial Intelligence Laboratory (CSAIL) have developed a new system, called MapLite, which allows self-driving cars to drive on roads that they have never been on before, without using 3D maps. The system combines the GPS position of the vehicle, a “sparse topological map” such as OpenStreetMap that have 2D features of the roads only, and a series of sensors that observe the road conditions.

Alongside the many technical challenges that autonomous cars face, there exist many human and social factors that may impede upon the wider uptake of the technology. As things become more automated, the human users need to have trust in the automation, which can be a challenge in itself. Weather may also affect the car sensors, which may affect the auto-driving mode. When heavy rainfall, heavy storms, heavy snowfall affect or damage the car sensors. Because of this, the performance of the car decreases gradually and the chance of accidents increases.

2.4 Summary

To summarize all of what we discussed in the above sections, we defined the self-driving car as one that can drive itself from a starting point to a predetermined destination in “autopilot” mode using various in-vehicle technologies and sensors. The robot car to be designed in this project differs from other similar designs on the market in that we will focus on a self-driving that drives in foggy weather.

Discover more:

About this essay:

If you use part of this page in your own work, you need to provide a citation, as follows:

Essay Sauce, Self driving cars literature review. Available from:<https://www.essaysauce.com/computer-science-essays/2018-11-6-1541509668/> [Accessed 19-11-24].

These Computer science essays have been submitted to us by students in order to help you with your studies.

* This essay may have been previously published on EssaySauce.com and/or Essay.uk.com at an earlier date than indicated.