A driverless car’s entire software system outputs two degrees-of-freedom (2-DOF) motion, (v, κ) = (translation velocity, path curvature) to control the car. MotionLab has succeeded in dividing the entire system into the following two subsystems:
- The Decision-Making Subsystem
- The Motion-Creation Subsystem
Further, MotionLab has invented well-structured motion-creation algorithms that make up the Motion-Creation Subsystems. We call the algorithms Atomic Motions. The following five types form the set of Atomic Motions (AMs):
- Direction-Tracking AMs: the vehicle tracks a direction ‘α‘ with a negative-feedback rule.
- Line-Tracking AMs: the vehicle tracks an oriented line ‘L’ with a negative-feedback rule.
- Circle-Tracking AMs: the vehicle tracks an oriented circle ‘C’ with a negative-feedback rule.
- Curvature-Defined AMs: the vehicle creates a motion using a curvature function κ = κ(s), where s is arc length, 0 ≤ s ≤ S, and S a positive total arc length.
- Park AMs: the vehicle moves forward or backward from the start ((0, 0), 0) to a target frame ((x, y), θ) minimizing the path complexity.
The table below shows the geometric object that is input for each type. These inputs are the narrow-bandwidth interface from the Decision-Making Subsystem to the Motion-Creation Subsystem:
Input for Atomic Motion Types
|1. Direction-Tracking AM||Direction α, smoothness σ|
| 2. Line-Tracking AM||Frame ((x, y), θ); smoothness σ|
|3. Circle-Tracking AM||Center (x, y), radius r, smoothness σ|
|4. Curvature-Defined AM||Curvature function κ = κ(s), 0 ≤ s ≤ S, S > 0|
|5. Park AM||Frame ((x, y), θ)|
The dimension of each variable, where L means the length (its unit is 1 cm, 1 m, 1 foot, …):
α, θ: 1 (radian)
x, y, r, σ, s, S: L
Thus, the units of all interface items are geometrical entities; 1, L or L-1.
The Decision-Making Subsystem may be dealing with a formidable amount of sensor data, big data, and AI methods, but it needs to output only a couple of geometric elements.