# 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 ((*x*_{0}, *y*_{0}), *θ*_{0}). A continuous curvature function *κ* of arc length *s* defines a Curvature-Defined Atomic Motion:

*κ* = *κ*(*s*), 0 ≤ *s* ≤ *S*,

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 ≤ *s* ≤ *S*.

*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 ≤ *s* ≤ *nS*.

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*.