Skip to content

Chapter1. Intro and Preliminaries

Given by: Dr. Hamid Sadeghian

To express

  • end-effector linear velocity p˙e=JP(q)q˙\dot{p}_e = J_P(q)\dot{q}
  • angular velocity ωe=JO(q)q˙\omega_e = J_O(q)\dot{q}
  • velocity
[p˙eωe]=J(q)q˙\begin{bmatrix} \dot{p}_e \\ \omega_e \end{bmatrix} = J(q)\dot{q}
  • Jacobian
J=[JPJO]J = \begin{bmatrix} J_P \\ J_O \end{bmatrix}

as a function of joint velocities q˙\dot{q}

The column of Jacobian JiJ_i represents:

The effect on the end-effector velocity when the i th joint moves independently at a unit velocity if a robot has n dof

JR6×nJ \in \mathbb{R}^{6 \times n}

Jacobian acts as a mapping from the space of joint velocities to the space of task velocities. The optimal solution is given by

q˙=W1JT(JW1JT)1vc\dot{q} = W^{-1}J^T(JW^{-1}J^T)^{-1}v_c

where

JW=W1JT(JW1JT)1J_W^\dagger = W^{-1}J^T (JW^{-1}J^T)^{-1}

Jacobian 的 weighted pseudoinverse(加权伪逆). W is the weight matrix, usually symmetric and positive definite.

example:

W=[10010]W= \begin{bmatrix} 1 & 0 \\ 0 & 10 \end{bmatrix}

The second joint movement is more expensive.

for redundant robot n>6n>6, joints are more than task domain, we have infinate q˙\dot{q} to represent a vev_e, so we need to have the optimal from infinate solutins.

minq˙12q˙TWq˙\min_{\dot{q}} \quad \frac12 \dot{q}^T W \dot{q}

If W = I, then it is the normal Moore-Penrose pseudoinverse:

J=JT(JJT)1J^\dagger = J^T(JJ^T)^{-1}

Weighted pseudoinverse can be understand as

Which should move less

  • joint close to limit
  • joint energy cost is high
  • joint has poor precision
  • joint is not needed Then the weight is higher, the system will use low cost joints for higher priority and dont use expensive joints.
minq˙12q˙TWq˙\min_{\dot{q}} \frac12 \dot{q}^T W \dot{q}

s.t. optimal solution minimize the norm of joint velocities

Jq˙=veJ\dot{q}=v_e q˙=veJ\dot{q} = v_eJ^{\dagger}

it is from constrained optimization, it is weighted least norm solution。

q˙=W1JT(JW1JT)1ve\dot{q} = W^{-1}J^T (JW^{-1}J^T)^{-1} v_e

if q˙\dot{q}^* is a solution, q˙+Pq0˙\dot{q}^*+ P\dot{q_0} is also a solution, thus the general solution will be

q˙=Jve+Pq˙0\dot{q} = J^{\dagger}v_e + P\dot{q}_0

where P is the projection matrix to given by P=(IJJ)P = (I-J^{\dagger}J) The inverse kinematic solution to follow a given task space trajectory is generalized to q˙=J(x˙d+Ke)+(InJJ)q˙0\dot{q} = J^{\dagger}(\dot{x}_d + Ke)+(I_n-J^{\dagger}J)\dot{q}_0, where e=xdxe = x_d - x. The null-space velocity vector q˙0\dot{q}_0 can be used to minimize some objective function w(q) by choosing

q˙0=k0(w(q)q)T\dot{q}_0 = k_0 \left( \frac{\partial w(q)}{\partial q} \right)^T

where w(q)w(q) is objective function and gradient pointing to the fastest growing direction.

Main task is q˙=J(x˙d+Ke)\dot{q} = J^{\dagger}(\dot{x}_d + Ke) which helps the end-effector follows the desired trajectory. e is the desired pose. Ke is the feedback corrrection, pulls the robot back to the desired trajectory.

Null-space motion (InJJ)q˙0(I_n-J^{\dagger}J)\dot{q}_0 is satisfied and is not influenving the end-effector. Which keeps the joint motions that not influcing the main task. Why? Because

J(InJJ)=0J(I_n-J^\dagger J)=0

objective functions

  • The manipulability measure, w(q)=det(J(q)JT(q)w(q) = \sqrt{\det(J(q)J^T(q)}
  • The distance from mechanical joint limits, qiq_i is current joint angle,qˉi\bar{q}_i is joint range
w(q)=12ni=1n(qiqˉiqiMqim)2w(q) = - \frac{1}{2n} \sum_{i=1}^{n} \left( \frac{q_i-\bar q_i} {q_{iM}-q_{im}} \right)^2

let joint stay in rhe middle, not close to joint limits. System is maximize w(q)

  • The distance from an obstacle, defined as,
w(q)=minp,op(q)ow(q) = \min_{p,o} |p(q)-o|

system will increase the distance from obstacle.