Atomic Motions

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 (or Minimal Motions), which we categorize into five types:

  1. Direction-Tracking Atomic Motions: the vehicle tracks a direction ‘α‘ with a negative-feedback rule.
  2. Line-Tracking Atomic Motions: the vehicle tracks an oriented line ‘L’ with a negative-feedback rule.
  3. Circle-Tracking Atomic Motions: the vehicle tracks an oriented circle ‘C’ with a negative-feedback rule.
  4. Curvature-Defined Atomic Motions: the vehicle creates a motion using a curvature κ = κ(s), where s is arc length, 0 ≤ sS, and S a positive total arc length.
  5. Park Atomic Motions: the vehicle moves forward or backward from the start frame ((0, 0), 0) to a target frame ((x, y), θ) minimizing the path complexity.

The table below lists 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 (AM) Types 

1. Direction-Tracking AMDirection α, smoothness σ
2. Line-Tracking AM
Frame ((x, y), θ); smoothness σ
3. Circle-Tracking AMCenter (x, y), radius r, smoothness σ
4. Curvature-Defined AM
Curvature function κ = κ(s), 0 ≤ sS, 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
κ:                         L-1

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 for the Motion-Creation Subsystem.