User:Narcissushtl/sandbox

$$K=\frac{1}{f}$$

$$\mathcal{F}$$

Joint space
An uncontrolled robot can be expressed in Lagrangian formulation as

where $$\boldsymbol{q}$$ denotes joint angular position, $$\boldsymbol{M}$$ is the symmetric and positive-definite inertia matrix, $$\boldsymbol{c}$$ the Coriolis and centrifugal torque, $$\boldsymbol{g}$$ the gravitational torque, $$\boldsymbol{h}$$ includes further forces, e.g. inherent stiffness, friction, etc, and $$\boldsymbol{\tau}_{\mathrm{ext}}$$ summarizes all the external forces from the environment. The actuation torque $$\boldsymbol{\tau}$$ on the left side is the input variable to the robot.

One may propose a control law of the following form:

where $$\boldsymbol{q}_\mathrm{d}$$ denotes the desired joint angular position, $$\boldsymbol{K}$$ and $$\boldsymbol{D}$$ are the control parameters, and $$\hat{\boldsymbol{M}}$$, $$\hat{\boldsymbol{c}}$$, $$\hat{\boldsymbol{g}}$$, and $$\hat{\boldsymbol{h}}$$ are the internal model of the corresponding mechanical terms.

Inserting ($$) into ($$) gives an equation of the closed-loop system (controlled robot):

$$\boldsymbol{K}(\boldsymbol{q}_\mathrm{d}-\boldsymbol{q}) + \boldsymbol{D}(\dot{\boldsymbol{q}}_\mathrm{d}-\dot{\boldsymbol{q}}) + \boldsymbol{M}(\boldsymbol{q})(\ddot{\boldsymbol{q}}_\mathrm{d}-\ddot{\boldsymbol{q}}) = \boldsymbol{\tau}_{\mathrm{ext}}. $$

Let $$\boldsymbol{e} = \boldsymbol{q}_\mathrm{d}-\boldsymbol{q}$$, one obtains

$$\boldsymbol{K}\boldsymbol{e} + \boldsymbol{D}\dot{\boldsymbol{e}} + \boldsymbol{M}\ddot{\boldsymbol{e}} = \boldsymbol{\tau}_{\mathrm{ext}} $$

Since the matrices $$\boldsymbol{K}$$ and $$\boldsymbol{D}$$ have the dimension of stiffness and damping, they are commonly referred to as stiffness and damping matrix, respectively. Clearly, the controlled robot is essentially a multi-dimensional mechanical impedance (mass-spring-damper) to the environment, which is addressed by $$\boldsymbol{\tau}_{\mathrm{ext}}$$.

Task space
The same principle also applies to task space. An uncontrolled robot has the following task-space representation in Lagrangian formulation:

$$\boldsymbol{\mathcal{F}} = \boldsymbol{\Lambda}(\boldsymbol{q})\ddot{\boldsymbol{x}} + \boldsymbol{\mu}(\boldsymbol{x},\dot{\boldsymbol{x}}) + \boldsymbol{\gamma}(\boldsymbol{q}) + \boldsymbol{\eta}(\boldsymbol{q},\dot{\boldsymbol{q}}) + \boldsymbol{\mathcal{F}}_{\mathrm{ext}}$$,

where $$\boldsymbol{q}$$ denotes joint angular position, $$\boldsymbol{x}$$ task-space position, $$\boldsymbol{\Lambda}$$ the symmetric and positive-definite task-space inertia matrix. The terms $$\boldsymbol{\mu}$$, $$\boldsymbol{\gamma}$$, $$\boldsymbol{\eta}$$, and $$\boldsymbol{\mathcal{F}}_{\mathrm{ext}}$$ are the generalized force of the Coriolis and centrifugal term, the gravitation, further nonlinear terms, and environmental contacts. Note that this representation only applies to robots with redundant kinematics. The generalized force $$\boldsymbol{\mathcal{F}}$$ on the left side corresponds to the input torque ot the robot.

Analogously, one may propose the following control law:

$$\boldsymbol{\mathcal{F}} = \boldsymbol{K}_\mathrm{x}(\boldsymbol{x}_\mathrm{d}-\boldsymbol{x}) + \boldsymbol{D}_\mathrm{x}(\dot{\boldsymbol{x}}_\mathrm{d}-\dot{\boldsymbol{x}}) + \hat{\boldsymbol{\Lambda}}(\boldsymbol{q})\ddot{\boldsymbol{x}}_\mathrm{d} + \hat{\boldsymbol{\mu}}(\boldsymbol{q},\dot{\boldsymbol{q}}) + \hat{\boldsymbol{\gamma}}(\boldsymbol{q}) + \hat{\boldsymbol{\eta}}(\boldsymbol{q},\dot{\boldsymbol{q}}), $$

where $$\boldsymbol{x}_\mathrm{d}$$ denotes the desired task-space position, $$\boldsymbol{K}_\mathrm{x}$$ and $$\boldsymbol{D}_\mathrm{x}$$ are the task-space stiffness and damping matrices, and $$\hat{\boldsymbol{\Lambda}}$$, $$\hat{\boldsymbol{\mu}}$$, $$\hat{\boldsymbol{\gamma}}$$, and $$\hat{\boldsymbol{\eta}}$$ are the internal model of the corresponding mechanical terms.

Similarily, one has

$$\boldsymbol{e}_\mathrm{x} = \boldsymbol{x}_\mathrm{d}-\boldsymbol{x}$$,

as the closed-loop system, which is essentially a multi-dimensional mechanical impedance to the environment ($$\boldsymbol{\mathcal{F}}_{\mathrm{ext}}$$) as well. Thus, one can choose desired impedance (mainly stiffness) in the task space. For example, one may want to make the controlled robot act very stiff along one direction while relatively compliant along others by setting

$$\boldsymbol{K}_\mathrm{x} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\                                                0 & 0 & 1000 \end{pmatrix} \mathrm{N/m},$$

assuming the task space is a three-dimensional Euclidean space. The damping matrix $$\boldsymbol{D}_\mathrm{x}$$ is usually chosen such that the closed-loop system ($$) is stable.