Here is an overview/introduction to each of the provided .key files:

static_obstacle.key (with proof) and static_obstacle_2

This is a model of a singular arm with three joints in 2 dimensions (Cartesian x and y), one joint at E the other at W. The point S denotes the origin, the center of rotation for the joint E, and represents the shoulder arm. S does not move in any 2-dimensional model.

This problem deals with avoiding a singular obstacle (obx, oby) that can be located anywhere on the plane of interest. Note: if obx^2 + oby^2 > (re+rw)^2 than the problem is trivial, thus I focus on an obstacle that is on a collision path with the arms. Here the controller using linear approximations in both directions (x and y) to overestimate the distance traveled by the arm. 

To remain safe, the arm must to the left of the obstacle, or stay below the obstacle. With this argument it is easy to show that neither arm segment SE or EW with collide with the obstacle.

This problem is highly dependent on cases, thus one 1 of 4 cases was proved as the arguments for the other three are identical.  static_obstacle deals only with the x-direction, while static_obstacle_2 presents the more efficient controller that is x or y. 

barrier_avoidance.key (with proof) 

This model also deals with the same robotic arm configuration but this controller is developed to allow two arms to operate in the same space. This is done by the controller setting a line of the form ax+by+c=0 at every time step. A linear reduction of this distance is used as an argument for keeping the arm above the line at all times.

An identical arm would use the same argument to show that it remains below the barrier at all times, thus allowing for safe operation of multiple limbs.

dynamic_barrier.key (with proof)

Here, the idea is to provide functionality to the system by allowing the controller to move the barrier toward the arm, and have the arm autonomously set the velocity needed to remain above the arm. This is done by assuring the direction away from the barrier is at least equal to the velocity of the barrier.

parabola_approx.key (with proof)

In an examination of the conservative nature of the linear reduction, a parabolic estimation of the particles path was undergone. Here, it is shown that a parabola constructed at the point furthest away from the barrier can be used to estimate the distance traveled by the arm. This utilizes a linear approximation for x and then a parabolic for y. Differential cuts and differential invariants were crucial in this process.

advanced_barrier.key 

This model better represents the interactions of the joints. Here, a rotation matrix which remains invariant between the direction vectors for each arm and is used to provide relative motion for W as E rotates. This motion for W is then added with the motion that W undergoes under its own velocity. 

full_safety.key 

This model expresses in dL how the conclusions reached between two arms staying on either side of a barrier can be used to show that there will be no intersections between the arms. 





