Pfaffian constraint

From HandWiki

In dynamics, a Pfaffian constraint is a way to describe a dynamical system in the form:

[math]\displaystyle{ \sum_{s=1}^nA_{rs}du_s + A_rdt = 0;\; r = 1,\ldots, L }[/math][1]

where [math]\displaystyle{ L }[/math] is the number of equations in a system of constraints.

Holonomic systems can always be written in Pfaffian constraint form.

Derivation

Given a holonomic system described by a set of holonomic constraint equations

[math]\displaystyle{ f_r(u_1, u_2, u_3,\ldots, u_n, t) = 0;\; r = 1,\ldots, L }[/math]

where [math]\displaystyle{ \{ u_1, u_2, u_3, \ldots, u_n \} }[/math] are the n generalized coordinates that describe the system, and where [math]\displaystyle{ L }[/math] is the number of equations in a system of constraints, we can differentiate by the chain rule for each equation:

[math]\displaystyle{ \sum_{s=1}^n\frac{\partial f_r}{\partial u_s}du_s + \frac{\partial f_r}{\partial t}dt = 0;\; r = 1,\ldots, L }[/math]

By a simple substitution of nomenclature we arrive at:

[math]\displaystyle{ \sum_{s=1}^nA_{rs}du_s + A_rdt = 0;\; r = 1,\ldots, L }[/math]

Examples

Pendulum

A pendulum

Consider a pendulum. Because of how the motion of the weight is constrained by the arm, the velocity vector [math]\displaystyle{ \overrightarrow{V} }[/math] of the weight must be perpendicular at all times to the position vector [math]\displaystyle{ \overrightarrow{L} }[/math]. Because these vectors are always orthogonal, their dot product must be zero. Both position and velocity of the mass can be defined in terms of an [math]\displaystyle{ x }[/math]-[math]\displaystyle{ y }[/math] coordinate system:

[math]\displaystyle{ \overrightarrow{L}\cdot\overrightarrow{V}=\begin{bmatrix}x \\y \end{bmatrix}\cdot\begin{bmatrix}\dot{x} \\\dot{y} \end{bmatrix} = 0 }[/math]

Simplifying the dot product yields:

[math]\displaystyle{ x\dot{x} + y\dot{y} = x\frac{\text{d}x}{\text{d}t} + y\frac{\text{d}y}{\text{d}t} = 0 }[/math]

We multiply both sides by [math]\displaystyle{ \text{d}t }[/math]. This results in the Pfaffian form of the constraint equation:

[math]\displaystyle{ x \text{d}x + y \text{d}y = 0 }[/math]

This Pfaffian form is useful, as we may integrate it to solve for the holonomic constraint equation of the system, if one exists. In this case, the integration is rather trivial:

[math]\displaystyle{ \int x \text{d}x + \int y \text{d}y = 0 = x^2+y^2+C }[/math]

Where C is the constant of integration.

And conventionally, we may write:

[math]\displaystyle{ x^2+y^2=L^2 }[/math]

The term [math]\displaystyle{ L^2 }[/math] is squared simply because it must be a positive number; being a physical system, dimensions must all be real numbers. Indeed, [math]\displaystyle{ L }[/math] is the length of the pendulum arm.

Robotics

In robot motion planning, a Pfaffian constraint is a set of k linearly independent constraints linear in velocity, i.e., of the form [math]\displaystyle{ A(q) \, \dot q = 0 }[/math]

One source of Pfaffian constraints is rolling without slipping in wheeled robots.[2]

References

  1. Ardema, Mark D. (2005). Analytical Dynamics: Theory and Applications. Kluwer Academic / Plenum Publishers. p. 57. ISBN 0-306-48681-4. 
  2. Choset, H.M. (2005). Principles of Robot Motion: Theory, Algorithms, and Implementation. The MIT Press. ISBN 0-262-03327-5.