# Park Atomic Motions

A *Park* Atomic Motion* *moves a vehicle from a start frame *q*_{0} = (*p*_{0}, *θ*_{0}) = ((*x*_{0}, *y*_{0}), *θ*_{0}) to a destination frame *q*_{1} = (*p*_{1}, *θ*_{1}) = ((*x*_{1}, *y*_{1}), *θ*_{1}) with *p*_{0} ≠ *p*_{1}, forward or backward, and stops the vehicle at *q*_{1}. The curvature must be continuous and must be 0 at the start and destination. We denote this Park Problem < *q*_{0}, *q*_{1}>. In real life, we have to solve Park Problems in this general problem setting. All of the sample park motions shown in [5.3] to [5.6] belong to this general problem format. We call this general Park-Problem definition [A]:

Park-Problem Definition [A]: < *q*_{0}, *q*_{1 }>

On the other hand, there exists another useful Park-Problem definition. Let us define *Q*_{0} = ((0, 0), 0) an *identity frame*. We deal with a Park Problem, in which the vehicle moves the vehicle from *Q*_{0} to *q*_{1}. *Park medleys* [5.1] and [5.2] deal with Park motions in this format. We call this Park-Problem definition [B]:

Park-Problem Definition [B]: < *Q*_{0}, *q*_{1} >

We can easily prove that Problem definitions [A] and [B] are equivalent. MotionLab has worked on Park problems in [B] format. The Park-Atomic-Motion algorithm adopts a more sophisticated one than the ones for the other four Atomic-Motion types; the algorithm computes the solution in real time. This algorithm, in a way, minimizes *the cost of the entire curve* (on Path Complexity or Driving Skills page).

A *Park* Atomic Motion is an algorithm for an exact motion, *not* an exponentially converging one.

### [5.1] *Park-Forward Medley* by *Science Robot*

This medley presents eleven distinct

Park-Forward Atomic Motions.

Each of these motions corresponds to each of the eleven

Park-Backward Motions in [5.2].

### [5.2] *Park-Backward Medley* by *Science Robot*

This medley presents eleven distinct

Park-Backward Atomic Motions.

Each of these motions corresponds to

each of the eleven

Park-Forward motions in [5.1]

### [5.3] *Parallel-Parking* Motion by the* Swan* Robot

This super-tight *Parallel-Parking motion*

is an application of backward/forward

Park Atomic Motions for *Swan*.

The robot’s sonars sense the positions of the two “parking vehicles” and the “curb”

to plan the entire motion.

This motion is reproducible.

### [5.4] *Back-In Parking* Motion by the *Swan* Robot

This motion is another application of

Park Atomic Motions.

The *Swan* robot creates a super-tight

*Back-In Parking*.

The robot’s sonars sense the positions of

the two “parking vehicles” and the “curb”

to plan the entire motion.

When the *Swan* parks, there are only

1-cm gaps on both sides of the body.

This motion is reproducible.

### [5.5] *Sea Urchin* by *Science Robot*

This *Sea Urchin* motion creates 16

forward/backward park-motion pairs.

Each pair of park motions radially rotates by 360/16 = 22.5º around the origin (0, 0).

A user inputs an integer *n* between 1 and 32. In this particular motion, *n* = 16.

### [5.6] *Random Park* by *Science Robot*

This motion executes a series of

forward/backward park-motion pairs. In each park motion, two random numbers determine the destination position and direction.

All destination positions are on a given circle.

The sophisticated Park algorithm

efficiently finds

each solution in real time.