Cinemática directa de manipuladores seriales

BE3027 - Robótica Médica

¿Por qué?

Para el manipulador serial más simple, tratemos de combinar las herramientas de cinemática de cuerpos rígidos con las nociones de mecanismos, configuración y espacio de tarea

¿Cuál es la posición del efector final?

¿Cuál es la posición del efector final?

x=a\cos(\theta)
y=a\sin(\theta)

posición en función del ángulo

¿Cuál es la posición del efector final?

x=a\cos(\theta)
y=a\sin(\theta)

posición en función del ángulo

¿Qué es lo que pasa realmente?

base

efector final

base

espacio de configuración

\mathbf{q}=q=\theta \in\mathbb{R} \subset \mathcal{S}^1
(x,y)\in\mathbb{R}^2

espacio de tarea

efector final

\text{¿}{^B}\mathbf{T}_E\left(\mathbf{q}\right)\text{?}
\text{¿}{^B}\mathbf{T}_E\left(\mathbf{q}\right)\text{?}
=
\text{¿}{^B}\mathbf{T}_E\left(\mathbf{q}\right)\text{?}
=\mathbf{T}_{r_z}(q)
\text{¿}{^B}\mathbf{T}_E\left(\mathbf{q}\right)\text{?}
=\mathbf{T}_{r_z}(q)\mathbf{T}_x(a)

pose del efector final como función de la configuración

{^B}\mathbf{T}_E(q)=\begin{bmatrix} \cos(q) & -\sin(q) & 0 & 0 \\ \sin(q) & \cos(q) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & a \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
{^B}\mathbf{T}_E(q)=\begin{bmatrix} \cos(q) & -\sin(q) & 0 & a\cos(q) \\ \sin(q) & \cos(q) & 0 & a\sin(q) \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
{^B}\mathbf{T}_E(q)=\begin{bmatrix} \cos(q) & -\sin(q) & 0 & a\cos(q) \\ \sin(q) & \cos(q) & 0 & a\sin(q) \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

posición del efector final con respecto de la base, como función de la configuración

{^B}\mathbf{T}_E(q)=\begin{bmatrix} \cos(q) & -\sin(q) & 0 & a\cos(q) \\ \sin(q) & \cos(q) & 0 & a\sin(q) \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

posición del efector final con respecto de la base, como función de la configuración

mapeo entre \(\mathcal{C}\) y \(\mathcal{T}\)

\mathcal{K}:\mathcal{C} \to \mathcal{T}

es la cinemática directa del manipulador serial

\mathcal{K}(\mathbf{q})\subseteq {^B}\mathbf{T}_E(\mathbf{q})= \begin{bmatrix} {^B}\mathbf{R}_E(\mathbf{q}) & {^B}\mathbf{o}_E(\mathbf{q}) \\ \mathbf{0}_{1 \times 3} & 1 \end{bmatrix}\in SE(3)

el mapeo

\mathcal{K}:\mathcal{C} \to \mathcal{T}

es la cinemática directa del manipulador serial

\mathcal{K}(\mathbf{q})\subseteq {^B}\mathbf{T}_E(\mathbf{q})= \begin{bmatrix} {^B}\mathbf{R}_E(\mathbf{q}) & {^B}\mathbf{o}_E(\mathbf{q}) \\ \mathbf{0}_{1 \times 3} & 1 \end{bmatrix}\in SE(3)

orientación del efector final

posición del efector final

\mathbf{q}=\begin{bmatrix} q_1 \\ q_2 \end{bmatrix} \in \mathbb{R}^2
\mathcal{T} \sim (x,y) \subset SE(2)

espacio de configuración

espacio de tarea

Ejemplo: manipulador planar

Ejemplo: manipulador planar

\text{¿}{^B}\mathbf{T}_E\left(\mathbf{q}\right)\text{?}
=

Ejemplo: manipulador planar

\text{¿}{^B}\mathbf{T}_E\left(\mathbf{q}\right)\text{?}
=\mathbf{T}_{r_z}(q_1)

Ejemplo: manipulador planar

\text{¿}{^B}\mathbf{T}_E\left(\mathbf{q}\right)\text{?}
=\mathbf{T}_{r_z}(q_1)\mathbf{T}_x(a_1)

Ejemplo: manipulador planar

\text{¿}{^B}\mathbf{T}_E\left(\mathbf{q}\right)\text{?}
=\mathbf{T}_{r_z}(q_1)\mathbf{T}_x(a_1)\mathbf{T}_{r_z}(q_2)

Ejemplo: manipulador planar

\text{¿}{^B}\mathbf{T}_E\left(\mathbf{q}\right)\text{?}
=\mathbf{T}_{r_z}(q_1)\mathbf{T}_x(a_1)\mathbf{T}_{r_z}(q_2)\mathbf{T}_x(a_2)
{^B}\mathbf{T}_E(\mathbf{q})= \mathbf{T}_{r_z}(q_1)\mathbf{T}_x(a_1)\mathbf{T}_{r_z}(q_2)\mathbf{T}_x(a_2)
=\begin{bmatrix} \cos(q_1) & -\sin(q_1) & 0 & 0 \\ \sin(q_1) & \cos(q_1) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & a_1 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \cdots \\ \begin{bmatrix} \cos(q_2) & -\sin(q_2) & 0 & 0 \\ \sin(q_2) & \cos(q_2) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & a_2 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
{^B}\mathbf{T}_E(\mathbf{q})= \mathbf{T}_{r_z}(q_1)\mathbf{T}_x(a_1)\mathbf{T}_{r_z}(q_2)\mathbf{T}_x(a_2)
=\begin{bmatrix} \cos(q_1+q_2) & -\sin(q_1+q_2) & 0 & a_2\cos(q_1+q_2)+a_1\cos(q_1) \\ \sin(q_1+q_2) & \cos(q_1+q_2) & 0 & a_2\sin(q_1+q_2)+a_1\sin(q_1) \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
{^B}\mathbf{T}_E(\mathbf{q})= \mathbf{T}_{r_z}(q_1)\mathbf{T}_x(a_1)\mathbf{T}_{r_z}(q_2)\mathbf{T}_x(a_2)
\mathcal{K}(\mathbf{q})=\begin{bmatrix} x \\ y \end{bmatrix}= \begin{bmatrix} a_2\cos(q_1+q_2)+a_1\cos(q_1) \\ a_2\sin(q_1+q_2)+a_1\sin(q_1) \end{bmatrix}
=\begin{bmatrix} \cos(q_1+q_2) & -\sin(q_1+q_2) & 0 & a_2\cos(q_1+q_2)+a_1\cos(q_1) \\ \sin(q_1+q_2) & \cos(q_1+q_2) & 0 & a_2\sin(q_1+q_2)+a_1\sin(q_1) \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
{^B}\mathbf{T}_E(\mathbf{q})= \mathbf{T}_{r_z}(q_1)\mathbf{T}_x(a_1)\mathbf{T}_{r_z}(q_2)\mathbf{T}_x(a_2)

\({^B}\mathbf{R}_E\) acoplado a \((x,y) \Rightarrow\) 2 DOF insuficientes para obtener cualquier orientación

=\begin{bmatrix} \cos(q_1+q_2) & -\sin(q_1+q_2) & 0 & a_2\cos(q_1+q_2)+a_1\cos(q_1) \\ \sin(q_1+q_2) & \cos(q_1+q_2) & 0 & a_2\sin(q_1+q_2)+a_1\sin(q_1) \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
\dim\left(\mathcal{C}\right)=\dim\left(\mathcal{T}\right)

Habilidad del robot vs el espacio de tarea

\dim\left(\mathcal{C}\right)<\dim\left(\mathcal{T}\right)

Habilidad del robot vs el espacio de tarea

\dim\left(\mathcal{C}\right)>\dim\left(\mathcal{T}\right)

robot redundante

Habilidad del robot vs el espacio de tarea

\mathbf{q}=\begin{bmatrix} q_1 & q_2 & q_3 & q_4 \end{bmatrix}^\top \in \mathbb{R}^4
\mathcal{T} \sim (x,y,z) \subset SE(3)

espacio de configuración

espacio de tarea

Ejemplo: robot SCARA

Ejemplo: robot SCARA

{^B}\mathbf{T}_E(\mathbf{q})=\\ \mathbf{T}_z(a_0)\mathbf{T}_{r_z}(q_1)\mathbf{T}_y(a_1)\\ \mathbf{T}_{r_z}(q_2)\mathbf{T}_y(a_2)\mathbf{T}_{r_z}(q_3) \mathbf{T}_z(-q_4)

Ejemplo: robot SCARA

{^B}\mathbf{T}_E(\mathbf{q})=\\ \mathbf{T}_z(a_0)\mathbf{T}_{r_z}(q_1)\mathbf{T}_y(a_1)\\ \mathbf{T}_{r_z}(q_2)\mathbf{T}_y(a_2)\mathbf{T}_{r_z}(q_3) \mathbf{T}_z(-q_4)

Ejemplo: robot SCARA

{^B}\mathbf{T}_E(\mathbf{q})=\\ \mathbf{T}_z(a_0)\mathbf{T}_{r_z}(q_1)\mathbf{T}_y(a_1)\\ \mathbf{T}_{r_z}(q_2)\mathbf{T}_y(a_2)\mathbf{T}_{r_z}(q_3) \mathbf{T}_z(-q_4)

Ejemplo: robot SCARA

{^B}\mathbf{T}_E(\mathbf{q})=\\ \mathbf{T}_z(a_0)\mathbf{T}_{r_z}(q_1)\mathbf{T}_y(a_1)\\ \mathbf{T}_{r_z}(q_2)\mathbf{T}_y(a_2)\mathbf{T}_{r_z}(q_3) \mathbf{T}_z(-q_4)

Ejemplo: robot SCARA

{^B}\mathbf{T}_E(\mathbf{q})=\\ \mathbf{T}_z(a_0)\mathbf{T}_{r_z}(q_1)\mathbf{T}_y(a_1)\\ \mathbf{T}_{r_z}(q_2)\mathbf{T}_y(a_2)\mathbf{T}_{r_z}(q_3) \mathbf{T}_z(-q_4)

Ejemplo: robot SCARA

{^B}\mathbf{T}_E(\mathbf{q})=\\ \mathbf{T}_z(a_0)\mathbf{T}_{r_z}(q_1)\mathbf{T}_y(a_1)\\ \mathbf{T}_{r_z}(q_2)\mathbf{T}_y(a_2)\mathbf{T}_{r_z}(q_3) \mathbf{T}_z(-q_4)

Ejemplo: robot SCARA

{^B}\mathbf{T}_E(\mathbf{q})=\\ \mathbf{T}_z(a_0)\mathbf{T}_{r_z}(q_1)\mathbf{T}_y(a_1)\\ \mathbf{T}_{r_z}(q_2)\mathbf{T}_y(a_2)\mathbf{T}_{r_z}(q_3) \mathbf{T}_z(-q_4)

Ejemplo: robot SCARA

{^B}\mathbf{T}_E(\mathbf{q})=\\ \mathbf{T}_z(a_0)\mathbf{T}_{r_z}(q_1)\mathbf{T}_y(a_1)\\ \mathbf{T}_{r_z}(q_2)\mathbf{T}_y(a_2)\mathbf{T}_{r_z}(q_3) \mathbf{T}_z(-q_4)

etcétera

Ejemplo: robot SCARA

{^B}\mathbf{T}_E(\mathbf{q})=\\ \mathbf{T}_z(a_0)\mathbf{T}_{r_z}(q_1)\mathbf{T}_y(a_1)\\ \mathbf{T}_{r_z}(q_2)\mathbf{T}_y(a_2)\mathbf{T}_{r_z}(q_3) \mathbf{T}_z(-q_4)

etcétera

cálculos tediosos y complicados \(\Rightarrow\) MATLAB

>> be3027_clase5_manipuladores.mlx

de las infinitas formas para llegar a \(\{E\}\) desde \(\{B\}\), ¿Cuál tomamos? ¿Cuál es la mejor?

la convención de Denavit-Hartenberg propone un estándar de transformaciones junta a junta, cada una formada por cuatro transformaciones elementales

La convención de Denavit-Hartenberg

manipulador con

\(n\) juntas

\(n+1\) eslabones

\mathbf{A}_j\equiv^{j-1}\mathbf{T}_j \\ =\mathbf{T}_{r_z}(\theta_j)\mathbf{T}_z(d_j)\mathbf{T}_x(a_j)\mathbf{T}_{r_x}(\alpha_j)

manipulador con

\(n\) juntas

\(n+1\) eslabones

\mathbf{A}_j\equiv^{j-1}\mathbf{T}_j \\ =\mathbf{T}_{r_z}(\theta_j)\mathbf{T}_z(d_j)\mathbf{T}_x(a_j)\mathbf{T}_{r_x}(\alpha_j)

manipulador con

\(n\) juntas

\(n+1\) eslabones

se presentan en forma de tabla

Para llegar de una junta a otra entonces:

  1. Roto en \(z\) hasta hacer coincidir \(x_{j-1}\) con \(x_j\) en orientación.
  2. Me traslado en \(z\) hasta que \(x_{j-1}\) y \(x_j\) sean co-lineales.
  3. Me traslado en \(x\) hasta que coincidan los orígenes de los dos marcos de referencia.
  4. Roto en \(x\) hasta hacer coincidir \(z_{j-1}\) con \(z_j\).

considera y parametriza sólo dos tipos de junta

Revoluta (R)

\mathbf{A}_j(q_j)=\mathbf{T}_{r_z}(q_j)\mathbf{T}_z(d_j)\mathbf{T}_x(a_j)\mathbf{T}_{r_x}(\alpha_j)

Prismática (P)

\mathbf{A}_j(q_j)=\mathbf{T}_{r_z}(\theta_j)\mathbf{T}_z(q_j)\mathbf{T}_x(a_j)\mathbf{T}_{r_x}(\alpha_j)

considera y parametriza sólo dos tipos de junta

Revoluta (R)

\mathbf{A}_j(q_j)=\mathbf{T}_{r_z}(q_j)\mathbf{T}_z(d_j)\mathbf{T}_x(a_j)\mathbf{T}_{r_x}(\alpha_j)

Prismática (P)

\mathbf{A}_j(q_j)=\mathbf{T}_{r_z}(\theta_j)\mathbf{T}_z(q_j)\mathbf{T}_x(a_j)\mathbf{T}_{r_x}(\alpha_j)

rota alrededor de \(z\)

se traslada sobre \(z\)

¿Cinemática directa?

{^B}\mathbf{T}_E(\mathbf{q})=\displaystyle\prod_{j=1}^{n}\mathbf{A}_j(q_j)=\mathbf{A}_1(q_1)\mathbf{A}_2(q_2)\cdots\mathbf{A}_n(q_n)

para cualquier manipulador serial

Ejemplo: manipulador planar

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & 0 \\ \end{array}

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & 0 \\ \end{array}
{^B}\mathbf{T}_E(\mathbf{q})=\mathbf{A}_1(q_1)\mathbf{A}_2(q_2)

R

R

manipulador RR

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & 0 \\ \end{array}
{^B}\mathbf{T}_E(\mathbf{q})=\mathbf{A}_1(q_1)\mathbf{A}_2(q_2)

R

R

manipulador RR

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & 0 \\ \end{array}
{^B}\mathbf{T}_E(\mathbf{q})=\mathbf{A}_1(q_1)\mathbf{A}_2(q_2)

R

R

manipulador RR

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & 0 \\ \end{array}
{^B}\mathbf{T}_E(\mathbf{q})=\mathbf{A}_1(q_1)\mathbf{A}_2(q_2)

R

R

manipulador RR

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & 0 \\ \end{array}
{^B}\mathbf{T}_E(\mathbf{q})=\mathbf{A}_1(q_1)\mathbf{A}_2(q_2)

R

R

manipulador RR

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & 0 \\ \end{array}
{^B}\mathbf{T}_E(\mathbf{q})=\mathbf{A}_1(q_1)\mathbf{A}_2(q_2)

R

R

manipulador RR

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & 0 \\ \end{array}
{^B}\mathbf{T}_E(\mathbf{q})=\mathbf{A}_1(q_1)\mathbf{A}_2(q_2)

R

R

manipulador RR

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & 0 \\ \end{array}
{^B}\mathbf{T}_E(\mathbf{q})=\mathbf{A}_1(q_1)\mathbf{A}_2(q_2)

R

R

manipulador RR

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & 0 \\ \end{array}
{^B}\mathbf{T}_E(\mathbf{q})=\mathbf{A}_1(q_1)\mathbf{A}_2(q_2)

R

R

manipulador RR

\mathbf{A}_1(q_1)=\mathbf{T}_{r_z}(q_1)\mathbf{T}_z(0)\mathbf{T}_x(a_1)\mathbf{T}_{r_x}(0)
=\begin{bmatrix} \cos(q_1) & -\sin(q_1) & 0 & 0 \\ \sin(q_1) & \cos(q_1) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & a_1 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
\mathbf{A}_2(q_2)=\mathbf{T}_{r_z}(q_2)\mathbf{T}_z(0)\mathbf{T}_x(a_2)\mathbf{T}_{r_x}(0)
=\begin{bmatrix} \cos(q_2) & -\sin(q_2) & 0 & 0 \\ \sin(q_2) & \cos(q_2) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & a_2 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
\mathbf{A}_1(q_1)=\mathbf{T}_{r_z}(q_1)\mathbf{T}_z(0)\mathbf{T}_x(a_1)\mathbf{T}_{r_x}(0)
=\begin{bmatrix} \cos(q_1) & -\sin(q_1) & 0 & 0 \\ \sin(q_1) & \cos(q_1) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & a_1 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
\mathbf{A}_2(q_2)=\mathbf{T}_{r_z}(q_2)\mathbf{T}_z(0)\mathbf{T}_x(a_2)\mathbf{T}_{r_x}(0)
=\begin{bmatrix} \cos(q_2) & -\sin(q_2) & 0 & 0 \\ \sin(q_2) & \cos(q_2) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & a_2 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
{^B}\mathbf{T}_E(\mathbf{q})=\begin{bmatrix} \cos(q_1+q_2) & -\sin(q_1+q_2) & 0 & a_2\cos(q_1+q_2)+a_1\cos(q_1) \\ \sin(q_1+q_2) & \cos(q_1+q_2) & 0 & a_2\sin(q_1+q_2)+a_1\sin(q_1) \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

Ejemplo: robot SCARA

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & \pi \\ \hline 0 & q_3 & 0 & 0 \\ \hline q_4 & d_4 & 0 & 0 \\ \end{array}

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & \pi \\ \hline 0 & q_3 & 0 & 0 \\ \hline q_4 & d_4 & 0 & 0 \\ \end{array}

manipulador RRPR

R

R

P

R

parámetros DH

\begin{array}{c|c|c|c} \theta_j & d_j & a_j & \alpha_j \\ \hline q_1 & 0 & a_1 & 0 \\ \hline q_2 & 0 & a_2 & \pi \\ \hline 0 & q_3 & 0 & 0 \\ \hline q_4 & d_4 & 0 & 0 \\ \end{array}

manipulador RRPR

R

R

P

R

¿\({^B}\mathbf{T}_E\left(\mathbf{q}\right)\) tediosa? MATLAB

>> be3027_clase5_manipuladores.mlx

Algunos últimos detalles

\{B\}
\{E\}
\{I\}
\{I\}
\{F\}
{^I}\mathbf{T}_{B}
{^E}\mathbf{T}_{F}

Transformaciones de base y herramienta

\mathcal{K}(\mathbf{q})\subseteq {^B}\mathbf{T}_E(\mathbf{q})
{^I}\mathbf{T}_B
{^E}\mathbf{T}_F
={^I}\mathbf{T}_F\left(\mathbf{q}\right)

transformación de base

transformación de herramienta

La especificación URDF

BE3027 - Lecture 5 (2024)

By Miguel Enrique Zea Arenales

BE3027 - Lecture 5 (2024)

  • 121