Singularidades, manipulabilidad y estática de manipuladores seriales

MT3005 - Robótica 1

Ya con el jacobiano calculado,

¿De qué nos sirve?

el jacobiano representa cómo un cambio en la configuración se convierte en un cambio en la pose del efector final

Cinemática diferencial inversa

el jacobiano representa cómo un cambio en la configuración se convierte en un cambio en la pose del efector final

Cinemática diferencial inversa

{^B}\boldsymbol{\mathcal{V}}_E=\begin{bmatrix} {^B}\mathbf{v}_E \\ {^B}\boldsymbol{\omega}_{BE} \end{bmatrix} =\mathbf{J}(\mathbf{q}) \dot{\mathbf{q}}

sin embargo, lo que realmente buscamos es controlar manipuladores seriales

Cinemática diferencial inversa

sin embargo, lo que realmente buscamos es controlar manipuladores seriales

Cinemática diferencial inversa

\(\Rightarrow\) cinemática inversa

sin embargo, lo que realmente buscamos es controlar manipuladores seriales

Cinemática diferencial inversa

\(\Rightarrow\) cinemática inversa

¿Por qué entonces nuestro interés por el jacobiano?

porque a diferencia de la cinemática directa, el mapeo diferencial inverso es sencillo*

Cinemática diferencial inversa

\dot{\mathbf{q}}= \mathbf{J}^{-1}(\mathbf{q}){^B}\boldsymbol{\mathcal{V}}_E

porque a diferencia de la cinemática directa, el mapeo diferencial inverso es sencillo*

Cinemática diferencial inversa

\dot{\mathbf{q}}= \mathbf{J}^{-1}(\mathbf{q}){^B}\boldsymbol{\mathcal{V}}_E

* siempre y cuando el jacobiano sea cuadrado e invertible

\(\mathcal{T}: (x,y)\) \(\Rightarrow\) jacobiano de posición

Ejemplo: manipulador RR

\(\mathcal{T}: (x,y)\) \(\Rightarrow\) jacobiano de posición

\mathbf{J}_v\left(\mathbf{q}\right)= \begin{bmatrix} -a_1\sin(q_1) - a_2\sin(q_1+q_2) & - a_2\sin(q_1+q_2) \\ a_1\cos(q_1) + a_2\cos(q_1+q_2) & a_2\cos(q_1+q_2) \end{bmatrix}

Ejemplo: manipulador RR

\(\mathcal{T}: (x,y)\) \(\Rightarrow\) jacobiano de posición

\mathbf{J}_v\left(\mathbf{q}\right)= \begin{bmatrix} -a_1\sin(q_1) - a_2\sin(q_1+q_2) & - a_2\sin(q_1+q_2) \\ a_1\cos(q_1) + a_2\cos(q_1+q_2) & a_2\cos(q_1+q_2) \end{bmatrix}

como el jacobiano es cuadrado, puede emplearse la fórmula de inversión de matrices \(2 \times 2\) para obtener...

Ejemplo: manipulador RR

\mathbf{J}^{-1}_v\left(\mathbf{q}\right)= \dfrac{1}{a_1a_2\sin(q_2)} \begin{bmatrix} a_2\cos(q_1+q_2) & a_2\sin(q_1+q_2) \\ -a_1\cos(q_1)-a_2\cos(q_1+q_2) & -a_1\sin(q_1)-a_2\sin(q_1+q_2) \end{bmatrix}

Ejemplo: manipulador RR

existen configuraciones en donde, a pesar de ser cuadrado, el jacobiano NO es invertible

\mathbf{J}^{-1}_v\left(\mathbf{q}\right)= \dfrac{1}{a_1a_2\sin(q_2)} \begin{bmatrix} a_2\cos(q_1+q_2) & a_2\sin(q_1+q_2) \\ -a_1\cos(q_1)-a_2\cos(q_1+q_2) & -a_1\sin(q_1)-a_2\sin(q_1+q_2) \end{bmatrix}

\(\mathbf{J}_v^{-1} \to \infty\) cuando \(q_2\to 0\)

Ejemplo: manipulador RR

existen configuraciones en donde, a pesar de ser cuadrado, el jacobiano NO es invertible

\mathbf{J}^{-1}_v\left(\mathbf{q}\right)= \dfrac{1}{a_1a_2\sin(q_2)} \begin{bmatrix} a_2\cos(q_1+q_2) & a_2\sin(q_1+q_2) \\ -a_1\cos(q_1)-a_2\cos(q_1+q_2) & -a_1\sin(q_1)-a_2\sin(q_1+q_2) \end{bmatrix}

\(\mathbf{J}_v^{-1} \to \infty\) cuando \(q_2\to 0\)

en estas configuraciones el jacobiano presenta una singularidad cinemática

Ejemplo: manipulador RR

Singularidades

(matemáticamente) una singularidad ocurre cuando el jacobiano es singular

\mathbf{J}(\mathbf{q}) \in \mathbb{R}^{6 \times n}

Singularidades

(matemáticamente) una singularidad ocurre cuando el jacobiano es singular

\mathbf{J}(\mathbf{q}) \in \mathbb{R}^{6 \times n}

sin embargo, invertibilidad \(\Rightarrow\) jacobiano cuadrado

\(\Rightarrow\) depende de \(\mathcal{K}\) y el número de juntas

Singularidades

bajo la perspectiva de robótica, en las singularidades:

  1. La movilidad del robot se ve reducida
  2. Pueden existir infinitas soluciones para la cinemática inversa
  3. Pequeñas velocidades en \(\mathcal{T}\) pueden implicar velocidades grandes en \(\mathcal{C}\)

Singularidades de frontera

Ocurren cuando el robot se encuentra totalmente estirado o retraído. Pueden evitarse siempre que se garantice que el robot trabaje dentro de los límites de su espacio de trabajo.

Singularidades de frontera

Ocurren cuando el robot se encuentra totalmente estirado o retraído. Pueden evitarse siempre que se garantice que el robot trabaje dentro de los límites de su espacio de trabajo.

Ocurren cuando se pierden GDL al alinearse los ejes de movimiento. Constituyen un problema serio ya que ocurren dentro del espacio de trabajo.

Singularidades internas

Ocurren cuando se pierden GDL al alinearse los ejes de movimiento. Constituyen un problema serio ya que ocurren dentro del espacio de trabajo.

Singularidades internas

Ocurren cuando se pierden GDL al alinearse los ejes de movimiento. Constituyen un problema serio ya que ocurren dentro del espacio de trabajo.

Singularidades internas

Singularidades internas

Ocurren cuando se pierden GDL al alinearse los ejes de movimiento. Constituyen un problema serio ya que ocurren dentro del espacio de trabajo.

¿Forma fácil de obtener y visualizar las consecuencias de las singularidades?

\(\Rightarrow\) elipsoides de manipulabilidad

Elipsoides de velocidad

(hiper-esfera unitaria)

\|\dot{\mathbf{q}}\|_2^2=\dot{\mathbf{q}}^\top\dot{\mathbf{q}}=1

Elipsoides de velocidad

(hiper-esfera unitaria)

\|\dot{\mathbf{q}}\|_2^2=\dot{\mathbf{q}}^\top\dot{\mathbf{q}}=1
\dot{\mathbf{q}}=\mathbf{J}_v^{-1}(\mathbf{q}){^B}\mathbf{v}_E
\dot{\mathbf{q}}=\mathbf{J}_\omega^{-1}(\mathbf{q}){^B}\boldsymbol{\omega}_{BE}
{^B}\mathbf{v}^\top_E \left( \mathbf{J}_v(\mathbf{q}) \mathbf{J}^\top_v(\mathbf{q}) \right)^{-1} {^B}\mathbf{v}_E \\ \equiv {^B}\mathbf{v}^\top_E \mathbf{A}_v^{-1} {^B}\mathbf{v}_E =1
{^B}\boldsymbol{\omega}^\top_{BE} \left( \mathbf{J}_\omega(\mathbf{q}) \mathbf{J}^\top_\omega(\mathbf{q}) \right)^{-1} {^B}\boldsymbol{\omega}_{BE} \\ \equiv {^B}\boldsymbol{\omega}^\top_{BE} \mathbf{A}_\omega^{-1} {^B}\boldsymbol{\omega}_{BE} =1

Elipsoides de velocidad

(hiper-esfera unitaria)

\|\dot{\mathbf{q}}\|_2^2=\dot{\mathbf{q}}^\top\dot{\mathbf{q}}=1
\dot{\mathbf{q}}=\mathbf{J}_v^{-1}(\mathbf{q}){^B}\mathbf{v}_E
\dot{\mathbf{q}}=\mathbf{J}_\omega^{-1}(\mathbf{q}){^B}\boldsymbol{\omega}_{BE}
{^B}\mathbf{v}^\top_E \left( \mathbf{J}_v(\mathbf{q}) \mathbf{J}^\top_v(\mathbf{q}) \right)^{-1} {^B}\mathbf{v}_E \\ \equiv {^B}\mathbf{v}^\top_E \mathbf{A}_v^{-1} {^B}\mathbf{v}_E =1
{^B}\boldsymbol{\omega}^\top_{BE} \left( \mathbf{J}_\omega(\mathbf{q}) \mathbf{J}^\top_\omega(\mathbf{q}) \right)^{-1} {^B}\boldsymbol{\omega}_{BE} \\ \equiv {^B}\boldsymbol{\omega}^\top_{BE} \mathbf{A}_\omega^{-1} {^B}\boldsymbol{\omega}_{BE} =1

elipsoides en el espacio de tarea

Análisis estático de manipuladores

Análisis estático de manipuladores

\boldsymbol{\tau}=\mathbf{J}^\top(\mathbf{q}){^B}\boldsymbol{\mathcal{F}}_E

Análisis estático de manipuladores

\boldsymbol{\tau}=\begin{bmatrix} \tau_1 & \cdots & \tau_n \end{bmatrix}^\top
\boldsymbol{\tau}=\mathbf{J}^\top(\mathbf{q}){^B}\boldsymbol{\mathcal{F}}_E

torques suministrados por los actuadores en las juntas

Análisis estático de manipuladores

\boldsymbol{\tau}=\begin{bmatrix} \tau_1 & \cdots & \tau_n \end{bmatrix}^\top
{^B}\boldsymbol{\mathcal{F}}_E=\begin{bmatrix} {^B}\mathbf{f}_E \\ {^B}\boldsymbol{\mu}_E \end{bmatrix}
\boldsymbol{\tau}=\mathbf{J}^\top(\mathbf{q}){^B}\boldsymbol{\mathcal{F}}_E

torques suministrados por los actuadores en las juntas

fuerza espacial (wrench) en

(o generada por) el efector final

Elipsoides de fuerza

(hiper-esfera unitaria)

\|\boldsymbol{\tau}\|_2^2=\boldsymbol{\tau}^\top\boldsymbol{\tau}=1
\boldsymbol{\tau}=\mathbf{J}_v^\top(\mathbf{q}){^B}\mathbf{f}_E
\boldsymbol{\tau}=\mathbf{J}_\omega^\top(\mathbf{q}){^B}\boldsymbol{\mu}_E
{^B}\mathbf{f}_E^\top \left( \mathbf{J}_v(\mathbf{q}) \mathbf{J}^\top_v(\mathbf{q}) \right) {^B}\mathbf{f}_E \\ \equiv {^B}\mathbf{f}_E^\top \mathbf{A}_v {^B}\mathbf{f}_E =1
{^B}\boldsymbol{\mu}_E^\top \left( \mathbf{J}_\omega(\mathbf{q}) \mathbf{J}^\top_\omega(\mathbf{q}) \right) {^B}\boldsymbol{\mu}_E \\ \equiv {^B}\boldsymbol{\mu}_E^\top \mathbf{A}_\omega {^B}\boldsymbol{\mu}_E =1

inversas de los elipsoides de velocidad

Elipsoides de manipulabilidad

los cuatro elipsoides presentan la forma

nos dicen cómo puede moverse y qué fuerzas (y momentos) puede ejercer el manipulador para cierta configuración \(\mathbf{q}\)

Elipsoides de manipulabilidad

los cuatro elipsoides presentan la forma

\(v_1, v_2, v_3, ..., v_n\) son los eigenvectores y \(\lambda_1, \lambda_2, \lambda_3, ..., \lambda_n\) los eigenvalores de la matriz \(\mathbf{A}\) o \(\mathbf{A}^{-1}\) que dependen de cada uno de los jacobianos

Elipsoides de manipulabilidad

los cuatro elipsoides presentan la forma

\(v_1, v_2, v_3, ..., v_n\) son los eigenvectores y \(\lambda_1, \lambda_2, \lambda_3, ..., \lambda_n\) los eigenvalores de la matriz \(\mathbf{A}\) o \(\mathbf{A}^{-1}\) que dependen de cada uno de los jacobianos

>> mt3005_clase7_elipsoides.mlx

Medida de manipulabilidad

volumen del elipsoide

\(\approx\) medida global de la habilidad de manipulación

\(\propto\) manipulabilidad de Yoshikawa

Medida de manipulabilidad

volumen del elipsoide

\(\approx\) medida global de la habilidad de manipulación

\(\propto\) manipulabilidad de Yoshikawa

m_v(\mathbf{q})=\sqrt{\mathrm{det}\left(\mathbf{J}_v(\mathbf{q})\mathbf{J}^\top_v(\mathbf{q})\right)}
m_\omega(\mathbf{q})=\sqrt{\mathrm{det}\left(\mathbf{J}_\omega(\mathbf{q})\mathbf{J}^\top_\omega(\mathbf{q})\right)}

Medida de manipulabilidad

volumen del elipsoide

\(\approx\) medida global de la habilidad de manipulación

\(\propto\) manipulabilidad de Yoshikawa

m_v(\mathbf{q})=\sqrt{\mathrm{det}\left(\mathbf{J}_v(\mathbf{q})\mathbf{J}^\top_v(\mathbf{q})\right)}
m_\omega(\mathbf{q})=\sqrt{\mathrm{det}\left(\mathbf{J}_\omega(\mathbf{q})\mathbf{J}^\top_\omega(\mathbf{q})\right)}
m(\mathbf{q})=\sqrt{\mathrm{det}\left(\mathbf{J}(\mathbf{q})\mathbf{J}^\top(\mathbf{q})\right)}
\}

existen análogos para los elipsoides de fuerza

\dot{\mathbf{q}} \in \mathbb{R}^n
{^B}\boldsymbol{{\mathcal{V}}}_E \in \mathbb{R}^r

Imagen y espacio nulo del jacobiano

\dot{\mathbf{q}} \in \mathbb{R}^n
\mathcal{R}\left(\mathbf{J}\right)
{^B}\boldsymbol{{\mathcal{V}}}_E \in \mathbb{R}^r
\mathbf{J}\left(\mathbf{q}\right)

Imagen y espacio nulo del jacobiano

\dot{\mathbf{q}} \in \mathbb{R}^n
\mathcal{R}\left(\mathbf{J}\right)
{^B}\boldsymbol{{\mathcal{V}}}_E \in \mathbb{R}^r
\mathbf{0}
\mathbf{J}\left(\mathbf{q}\right)

Imagen y espacio nulo del jacobiano

\dot{\mathbf{q}} \in \mathbb{R}^n
\mathcal{N}\left(\mathbf{J}\right)
\mathcal{R}\left(\mathbf{J}\right)
{^B}\boldsymbol{{\mathcal{V}}}_E \in \mathbb{R}^r
\mathbf{0}
\mathbf{J}\left(\mathbf{q}\right)

\(\dim\left(\mathcal{R}\left(\mathbf{J}\right)\right)+\dim\left(\mathcal{N}\left(\mathbf{J}\right)\right)=n\)

\boldsymbol{\tau} \in \mathbb{R}^n
{^B}\boldsymbol{{\mathcal{F}}}_E \in \mathbb{R}^r

Imagen y espacio nulo del jacobiano

\boldsymbol{\tau} \in \mathbb{R}^n
\mathcal{R}\left(\mathbf{J}^\top\right)
{^B}\boldsymbol{{\mathcal{F}}}_E \in \mathbb{R}^r
\mathbf{J}^\top\left(\mathbf{q}\right)

Imagen y espacio nulo del jacobiano

\boldsymbol{\tau} \in \mathbb{R}^n
\mathcal{R}\left(\mathbf{J}^\top\right)
{^B}\boldsymbol{{\mathcal{F}}}_E \in \mathbb{R}^r
\mathbf{0}
\mathbf{J}^\top\left(\mathbf{q}\right)

Imagen y espacio nulo del jacobiano

\boldsymbol{\tau} \in \mathbb{R}^n
\mathcal{N}\left(\mathbf{J}^\top\right)
\mathcal{R}\left(\mathbf{J}^\top\right)
{^B}\boldsymbol{{\mathcal{F}}}_E \in \mathbb{R}^r
\mathbf{0}
\mathbf{J}^\top\left(\mathbf{q}\right)

Imagen y espacio nulo del jacobiano

recordemos que un manipulador sea redundante para una tarea implica que posee más grados de libertad que los que requiere la tarea

Redundancia y el espacio nulo

recordemos que un manipulador sea redundante para una tarea implica que posee más grados de libertad que los que requiere la tarea

Redundancia y el espacio nulo

\(\Rightarrow\) puede alcanzar una pose dada de efector final con más de una configuración

recordemos que un manipulador sea redundante para una tarea implica que posee más grados de libertad que los que requiere la tarea

Redundancia y el espacio nulo

\(\Rightarrow\) puede alcanzar una pose dada de efector final con más de una configuración

\Rightarrow \mathcal{N}\left(\mathbf{J}\right) \neq \{\varnothing\}

Redundancia y el espacio nulo

recordemos que un manipulador sea redundante para una tarea implica que posee más grados de libertad que los que requiere la tarea

\(\Rightarrow\) puede alcanzar una pose dada de efector final con más de una configuración

\Rightarrow \mathcal{N}\left(\mathbf{J}\right) \neq \{\varnothing\}

¿Por qué?

si podemos encontrar una matriz de proyección \(\mathbf{N}\) tal que \(\mathcal{N}(\mathbf{J})\equiv \mathcal{R}(\mathbf{N})\), es posible emplear como velocidad de configuración el vector:

\dot{\mathbf{q}}^*=\dot{\mathbf{q}}+\mathbf{N}\dot{\mathbf{q}}_0

si podemos encontrar una matriz de proyección \(\mathbf{N}\) tal que \(\mathcal{N}(\mathbf{J})\equiv \mathcal{R}(\mathbf{N})\), es posible emplear como velocidad de configuración el vector:

\dot{\mathbf{q}}^*=\dot{\mathbf{q}}+\mathbf{N}\dot{\mathbf{q}}_0
\Rightarrow \mathbf{J}(\mathbf{q})\dot{\mathbf{q}}^*=\mathbf{J}(\mathbf{q})\dot{\mathbf{q}}+\mathbf{J}(\mathbf{q})\mathbf{N}\dot{\mathbf{q}}_0 \\ ={^B}\boldsymbol{\mathcal{V}}_E+\mathbf{0}={^B}\boldsymbol{\mathcal{V}}_E

es decir, puede emplearse el vector \(\dot{\mathbf{q}}_0\) para reconfigurar internamente al manipulador sin cambiar la pose del efector final

\dot{\mathbf{q}}^*=\dot{\mathbf{q}}+\mathbf{N}\dot{\mathbf{q}}_0
\Rightarrow \mathbf{J}(\mathbf{q})\dot{\mathbf{q}}^*=\mathbf{J}(\mathbf{q})\dot{\mathbf{q}}+\mathbf{J}(\mathbf{q})\mathbf{N}\dot{\mathbf{q}}_0 \\ ={^B}\boldsymbol{\mathcal{V}}_E+\mathbf{0}={^B}\boldsymbol{\mathcal{V}}_E

MT3005 - Lecture 7 (2025)

By Miguel Enrique Zea Arenales

MT3005 - Lecture 7 (2025)

  • 116