Curvature-Defined Atomic Motions

So far we have examined three tracking-type Atomic-Motions:

  • Direction-Tracking Atomic Motions
  • Line-Tracking Atomic Motions
  • Circle-Tracking Atomic Motions

In each of these Atomic Motions, a geometrical element (direction, line, or circle) is its input, and the vehicle converges into the geometrical element controlled by a feedback rule. Therefore, the geometrical element does not solely determine an exact motion trajectory, but as well the initial frame (a position and a direction), initial curvature, and the smoothness σ do.

Here we discuss Curvature-Defined Atomic Motions that completely determine motion except for the motion’s initial frame ((x0, y0), θ0). A continuous curvature function κ of arc length s defines a Curvature-Defined Atomic Motion:

κ = κ(s), 0 ≤ sS,

where S is a positive constant, a total arc length. Because we can use any curvature function, Curvature-Defined Atomic Motions allow enormous variety in motion creation.

[4.1] Clothoid Spiral Medley by Science Robot

Math Mind creates a series of
clothoid spirals.

Its curvature is a linear function of s,
κ(s) = As + B,
where, κ is curvature, s arc length,
A a non-zero constant, B a constant,
and s satisfies, 0 ≤ sS.
S is a positive constant or total arc length.

When appropriate, the Swan robot uses a clothoid spiral as transitional motion between two other Atomic Motions, as a “connector.” Civil engineering has a long history of using clothoid spirals in the design of railway tracks and highways because of the preferred property of the curvature continuity.

[4.2] Clothoid Spiral by the Swan robot

The Swan robot creates a clothoid spiral:
κ(s) = 0.00005s–0.05,
where, 0 ≤ s ≤ 2000 (cm).

The curvature is initially -0.05; its radius is -20 cm clockwise. The curvature linearly increases over arc length s to get to +0.05 with a radius of +20 cm counterclockwise at the end, s = 2000 cm.
There is an inflection point
(with a null curvature) at s = 1000 cm.

The same motion is included in
[4.1] Clothoid Spiral Medley.

[4.3] Open-Snake Medley by Science Robot

Science Robot creates a series of Open-Snake motions in this Medley. These motions are created by a curvature function
κ(s) = K cos(s/S),
where κ is curvature, s arc length,
K maximum curvature, and S unit size.
The motion repeats itself
at an arc-length cycle of S.

In this specific Medley, the maximum curvature K at each execution is a variable, which is displayed
at the middle right of the screen.

As K increases, the Open-Snake trajectories become exotic beyond our wildest imagination. We realize that we know very little about how curvature-control works in vehicles.

[4.4] Open Snake by the Swan robot

Swan creates an Open-Snake motion
using a cosine function used
in [4.3] Open Snake Medley
by Science Robot.

Daniel Harding tentatively blocks the movement, but Swan eventually resumes and finishes the motion.

[4.5] Closed-Snake Medley by Science Robot

Science Robot creates a series of Closed-Snake motions in this Medley. These motions are created by a curvature
κ(s) = K cos(s/S) + 1/(nS),
where κ is curvature, s arc length, K maximum curvature, unit size S = 50, and n = 6 is the number of cycles. In this specific Medley, the maximum curvature K at each execution is a variable, which is displayed
at the middle right of the screen.

In this equation, a constant term 1/(nS) is added to the previous Open-Snake equation so that Math Mind comes back to the origin ((0, 0), 2π) at the end.
Arc length s satisfies 0 ≤ snS.

As K increases, the Closed-Snake trajectories become exotic beyond our wildest imagination. We realize that we know very little about how the curvature-control works in vehicle motions.

[4.6] Closed Snake by the Swan robot

Swan creates a Closed-Snake motion
using the cosine function,
a similar one presented in [4.5] with n = 6,
κ(s) = K cos(s/S) + 1/(nS)
by Science Robot.