A Story of Developing Level 4 Autonomous Driving Technology to Jump into the World of SelfDriving CarsBlog Mar 9th, 2023
Cars that drive themselves, which only previously existed in movies, are expected to become a reality in the near future. So, we talked to a Hyundai Motor Group researcher who works hard to deliver the value of self-driving cars to customers.
Hello. My name is Suyoung Choi and I am a researcher in the Autonomous Driving SW Development Team 3 at Hyundai Motor Group. We develop path planning algorithms for Level 4 autonomous driving systems. Our team is currently developing Decision & Planning Algorithms for Level 3 and Level 4 autonomous driving systems, which have been applied to the Level 4 autonomous driving pilot services of RoboRide and RoboShuttle run by Hyundai Motor Group.
Hyundai Motor Group launched a pilot Level 4 autonomous driving service in Sejong City and the Namyang R&D center in 2021. In 2022, we expanded the pilot service to Gangnam and Pangyo. We are currently continuing our research and development to expand the Level 4 autonomous driving pilot service.
Level 4 autonomous driving means that a vehicle is driven by an autonomous driving system from a specific area in a city center, to a passenger’s intended destination. With the current autonomous driving pilot service, the customer calls an autonomous vehicle via a mobile device, and then the vehicle follows the optimal travel path to the desired destination.
As of now, the Level 4 autonomous driving pilot service is in operation in Gangnam, Pangyo, and Namyang R&D Center, with IONIQ5 in Gangnam and Solati autonomous vehicles in Pangyo and Namyang R&D Center, based on the road conditions and customer demographics of each area.
It has been a highly rewarding experience for me personally to expand this pilot service and provide autonomous driving technology to more customers. However, as the number of service areas and vehicle types increased, the complexity of the software grew accordingly. In particular, the complexity of the path-planning algorithm, which is highly affected by road geometry and conditions, increased significantly. When development and maintenance require more inputs, a lack of available engineer resources creates problems with expanding the pilot service. I would like to share how we are trying to solve these problems with you, through our Developer Story.
[Developer Story 1] Generalization of various road conditions and driving scenarios – Drivable Space
As the service area expands, the road conditions that the autonomous driving system needs to respond to become more diverse. In particular, urban centers, where most Level 4 pilot services are in operation, offer many road geometries such as intersections, left turns, right turns, and U-turns, along with a wide range of driving scenarios such as cutting in by other vehicles or avoiding parked vehicles and objects. We also have to consider elements such as vehicles, pedestrians, bicycles, and scooters. These diverse road conditions increase the number of scenarios to which the path-planning algorithm needs to respond.
If we develop algorithms on a scenario-by-scenario basis, the complexity of the software will increase in proportion to the size of the service area. This means a drastic increase in the effort required to develop and maintain the software, and since engineers have limited time and resources, it puts a brake on service expansion.
To address this issue, we developed a path-planning algorithm that can be generalized and applied to road conditions instead of developing a scenario-specific path planning algorithm. First, we designed a single abstract signal that can represent all road conditions. We also developed a single algorithm to plan a path using the signal as an input.
A concept that represents a wide range of road conditions is a drivable space. A drivable space is a space in which a vehicle can drive to a destination without a collision and has a path starting point, destination point, left/right boundary, and driveable path signals within the boundary. The concept is an abstract signal that represents road conditions as one common signal instead of classifying them into different scenario levels such as changing lanes, turning left/right at intersections, and avoiding objects ahead.
[Developer Story 2] Generalization of various autonomous vehicle types
Level 4 autonomous driving pilot services should be able to use many different types of vehicles to offer customized services to each area, because the demographics of potential service customers vary by area. For example, passenger cars suit areas where a small number of people want to ride and there is a high level of freedom of destination and pickup locations. By contrast, vans are likely a better fit in an area where a greater number of people use a vehicle per ride while there is a high demand for fixed paths.
As the type of vehicle that suits each area varies, autonomous driving software must be able to adapt to a wide range of vehicle types. However, this ushers in another problem, because different vehicle types have different specifications and kinetic characteristics. Planning a driving path requires consideration of the vehicle’s specifications when making a decision on a possible collision and the incorporation of kinetic characteristics such as the minimum turning radius when turning.
Therefore, developing vehicle-specific algorithms to answer the question, “Will the path planning algorithm developed for vehicle A work for vehicle B as intended?” will increase the complexity of the software inefficiently. The same problem described in [Story 1] that occurred as a result of expanding the service area also occurs when the number of vehicle types increases.
To solve the problem above, we designed an abstract common signal to represent different vehicle types and designed the path-planning algorithm to receive the signal as an input. As a common signal to represent all vehicle types, we used physical quantities such as length, width, and wheelbase from the specifications and considered the minimum turning radius, the number of bodies of the vehicle (e.g., two or more bodies for tractor-trailers), etc.
[Developer Story 3] Developing a path planning algorithm based on quadratic programming optimization
For Level 4 autonomous driving technology to provide a driving experience beyond that of a human driver, paths must be generated that take comfort and safety into account. Qualitative considerations related to comfort and safety can be organized into constraints and optimal conditions that the driving path must satisfy.
First, constraints are safety-related conditions that must be met:
1. The driving path must not collide with miscellaneous objects and road structures.
2. The radius of curvature of a driving path must be greater than the minimum turning radius of the vehicle.
3. The driving path must be followable, reflecting the “nonholonomic” nature of the vehicle.
The following optimal conditions are not required to be met, but should be pursued for the best results:
1. The driving path should be smooth.
2. The driving path must have a clearance distance from the boundaries of the drivable space.
The above constraints and optimal conditions can be interpreted as optimization issues. We introduced the ‘quadratic programming (QP)’ optimization technique to generate driving paths that satisfy the above conditions. QP optimization is a technique for finding the minimal state input value for the objective function in a defined domain that satisfies a constraint function. This method improves the computational time and addresses the convergence problem inherent in the optimization method as it can be configured as a ‘convex’ optimization issue.
As input signals, we used the drivable space signal and physical quantities of the vehicle, as previously discussed in [Story 1] and [Story 2]. As a result, we were able to complete an area path-planning algorithm that can be applied across service areas and vehicle types. Currently, the QP optimization-based path-planning algorithm for curvature sections is applied to IONIQ5 and Solati autonomous vehicles operating in Gangnam, Pangyo, and Namyang R&D Center.
So far, we’ve covered the process of developing path-planning algorithms in Level 4 autonomous driving technologies. We are constantly considering a variety of aspects to work on what is needed to deliver the value of autonomous driving technology to customers (expanding Level 4 autonomous driving technologies), the challenges (increasing software complexity and work hours required to expand the service area and vehicle types), and the solutions (abstract signal for service areas and vehicle types, and single path planning algorithm).
What are your plans for future autonomous driving technology development?
We are continuously improving our path-planning algorithm to bring the value of Level 4 autonomous driving technology to more customers. We’ve solved numerous problems, but many interesting ones still remain. For example, topics such as path-planning algorithms that can be applied to particular vehicle structures such as wing bodies and trailers used in the logistics industry, stable path planning with uncertainties in sensor perception and positioning, and path planning in limited signal environments where some of sensors on the autonomous vehicle fail are currently under extensive research.
Autonomous driving technology will bring safety and convenience to humans and innovation to industries. Just as ADAS technology has already provided tremendous value to society, autonomous driving technology is expected to provide enormous value to society in the near future. We look forward to the changes in society that autonomous driving technology will bring, and we ask for your interest and support.