Control cinemático y tipos de actuadores en robótica

MT3005 - Robótica 1

¿Qué tenemos hasta ahora?

(usando una analogía de sistemas de control)

\mathbf{q}
\mathcal{K}\left(\mathbf{q}\right) \subseteq {^B}\mathbf{T}_E(\mathbf{q})

cinemática directa

\mathbf{q}
\mathcal{K}\left(\mathbf{q}\right) \subseteq {^B}\mathbf{T}_E(\mathbf{q})

cinemática directa

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

cinemática diferencial

\mathbf{q}
\mathcal{K}\left(\mathbf{q}\right) \subseteq {^B}\mathbf{T}_E(\mathbf{q})

cinemática directa

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

cinemática diferencial

\(\mathcal{K}\left(\mathbf{q}\right) + \mathbf{J}(\mathbf{q}) \sim\) función de transferencia

G(s)
\mathbf{T}_d={^B}\mathbf{T}_E(\mathbf{q}_d)

tarea deseada

\mathbf{q}_f=\mathcal{K}^{-1}\left(\mathbf{T}_d\right)
\mathbf{T}_d={^B}\mathbf{T}_E(\mathbf{q}_d)

tarea deseada

cinemática inversa

\mathbf{q}_f=\mathcal{K}^{-1}\left(\mathbf{T}_d\right)
\mathbf{T}_d={^B}\mathbf{T}_E(\mathbf{q}_d)

tarea deseada

cinemática inversa

\(\mathcal{K}^{-1}\left(\mathbf{T}_d\right)\sim\) controlador

C(s)
{^B}\mathbf{T}_E(\mathbf{q})
\ \mathbf{q}(t)
\mathbf{T}_d
\ \mathbf{q}_f
\ \mathbf{T}_0
\ \mathbf{q}_0
{^B}\mathbf{T}_E(\mathbf{q})
\ \mathbf{q}(t)
\mathbf{T}_d
\ \mathbf{q}_f
\ \mathbf{T}_0
\ \mathbf{q}_0

esto es en teoría lo que esperamos, sin embargo...

{^B}\mathbf{T}_E(\mathbf{q})
\ \mathbf{q}(t)
\mathbf{T}_d
\ \mathbf{q}_f
\ \mathbf{T}_0
\ \mathbf{q}_0

la cinemática inversa sólo nos da esto

{^B}\mathbf{T}_E(\mathbf{q})
\ \mathbf{q}(t)
\mathbf{T}_d
\ \mathbf{q}_f
\ \mathbf{T}_0
\ \mathbf{q}_0

¿Qué ocurre con este comportamiento?

El algoritmo de cinemática inversa

recordemos que el resultado de la cinemática inversa se obtiene mediante el algoritmo iterativo

\mathbf{q}_{k+1}=\mathbf{q}_k+\mathbf{J}^\dagger\left(\mathbf{q}_k\right)\mathbf{e}_k

El algoritmo de cinemática inversa

recordemos que el resultado de la cinemática inversa se obtiene mediante el algoritmo iterativo

\mathbf{q}_{k+1}=\mathbf{q}_k+\mathbf{J}^\dagger\left(\mathbf{q}_k\right)\mathbf{e}_k

entonces, si \(\mathbf{q}_k \to \mathbf{q}_f\) conforme aumentan las iteraciones, ¿Por qué no emplear los \(\mathbf{q}_k\) intermedios para el comportamiento transitorio?

porque el algoritmo NO converge como controlador*, sino como método iterativo (discontinuo y "quebradizo")

pseudoinversa

levenberg

traspuesta*

porque el algoritmo NO converge como controlador*, sino como método iterativo (discontinuo y "quebradizo")

pseudoinversa

levenberg

traspuesta*

este comportamiento predomina cuando la diferencia entre \(\mathbf{q}_0\) y \(\mathbf{q}_f\) es considerable

sin embargo, el comportamiento se hace "más continuo" conforme disminuye la diferencia entre \(\mathbf{q}_0\) y \(\mathbf{q}_f\)

pseudoinversa

levenberg

traspuesta*

Idea:

\mathbf{T}_0
\mathbf{T}_f

Idea: control cinemático

\mathbf{T}_0
\mathbf{T}_f
\mathbf{T}_1
\mathbf{T}_2
\mathbf{T}_3
\mathbf{T}_4
\cdots
\mathbf{T}_0
\mathbf{T}_f

Idea: control cinemático

\mathbf{T}_0
\mathbf{T}_f
\mathbf{T}_1
\mathbf{T}_2
\mathbf{T}_3
\mathbf{T}_4
\cdots
\mathbf{T}_0
\mathbf{T}_f
\mathbf{q}_1
\mathcal{K}^{-1}
\mathbf{q}_4
\mathcal{K}^{-1}

Idea: control cinemático

\mathbf{T}_0
\mathbf{T}_f
\mathbf{T}_1
\mathbf{T}_2
\mathbf{T}_3
\mathbf{T}_4
\cdots
\mathbf{T}_0
\mathbf{T}_f

puede ser un recorrido o una trayectoria

(más adelante...)

Control cinemático (por capas)

control cinemático

\mathcal{K}, \ \mathbf{J}, \ \mathcal{K}^{-1}

Control cinemático (por capas)

control cinemático

\mathcal{K}, \ \mathbf{J}, \ \mathcal{K}^{-1}

(servo) actuador 1

q_{1,\mathrm{ref}}(t) \text{ ó } \dot{q}_{1,\mathrm{ref}}(t)

Control cinemático (por capas)

control cinemático

\mathcal{K}, \ \mathbf{J}, \ \mathcal{K}^{-1}

(servo) actuador 1

(servo) actuador 2

\cdots
q_{1,\mathrm{ref}}(t) \text{ ó } \dot{q}_{1,\mathrm{ref}}(t)
q_{2,\mathrm{ref}}(t) \text{ ó } \dot{q}_{2,\mathrm{ref}}(t)

Control cinemático (por capas)

planificación de movimiento o generación de trayectorias

control cinemático

\mathcal{K}, \ \mathbf{J}, \ \mathcal{K}^{-1}

(servo) actuador 1

(servo) actuador 2

\cdots
q_{1,\mathrm{ref}}(t) \text{ ó } \dot{q}_{1,\mathrm{ref}}(t)
q_{2,\mathrm{ref}}(t) \text{ ó } \dot{q}_{2,\mathrm{ref}}(t)
\mathbf{q}_{\mathrm{ref}}(t) \text{ ó } \mathbf{T}_{\mathrm{ref}}(t)

Control cinemático (por capas)

planificación de movimiento o generación de trayectorias

control cinemático

autónoma (AI)

manual o asistida

\mathcal{K}, \ \mathbf{J}, \ \mathcal{K}^{-1}

(servo) actuador 1

(servo) actuador 2

\cdots
q_{1,\mathrm{ref}}(t) \text{ ó } \dot{q}_{1,\mathrm{ref}}(t)
q_{2,\mathrm{ref}}(t) \text{ ó } \dot{q}_{2,\mathrm{ref}}(t)
\mathbf{q}_{\mathrm{ref}}(t) \text{ ó } \mathbf{T}_{\mathrm{ref}}(t)

Control cinemático (por capas)

planificación de movimiento o generación de trayectorias

manual o asistida

autónoma (AI)

control cinemático

\mathcal{K}, \ \mathbf{J}, \ \mathcal{K}^{-1}

(servo) actuador 1

(servo) actuador 2

\cdots
q_{1,\mathrm{ref}}(t) \text{ ó } \dot{q}_{1,\mathrm{ref}}(t)
q_{2,\mathrm{ref}}(t) \text{ ó } \dot{q}_{2,\mathrm{ref}}(t)
\mathbf{q}_{\mathrm{ref}}(t) \text{ ó } \mathbf{T}_{\mathrm{ref}}(t)

Control cinemático (por capas)

planificación de movimiento o generación de trayectorias

autónoma (AI)

manual o asistida

control cinemático

\mathcal{K}, \ \mathbf{J}, \ \mathcal{K}^{-1}

(servo) actuador 1

(servo) actuador 2

\cdots
q_{1,\mathrm{ref}}(t) \text{ ó } \dot{q}_{1,\mathrm{ref}}(t)
q_{2,\mathrm{ref}}(t) \text{ ó } \dot{q}_{2,\mathrm{ref}}(t)
\mathbf{q}_{\mathrm{ref}}(t) \text{ ó } \mathbf{T}_{\mathrm{ref}}(t)

Control cinemático (por capas)

(servo) actuador 1

(servo) actuador 2

\cdots
q_{1,\mathrm{ref}}(t) \text{ ó } \dot{q}_{1,\mathrm{ref}}(t)
q_{2,\mathrm{ref}}(t) \text{ ó } \dot{q}_{2,\mathrm{ref}}(t)

planificación de movimiento o generación de trayectorias

control cinemático

autónoma (AI)

manual o asistida

\mathcal{K}, \ \mathbf{J}, \ \mathcal{K}^{-1}
\mathbf{q}_{\mathrm{ref}}(t) \text{ ó } \mathbf{T}_{\mathrm{ref}}(t)

antes de esto, indaguemos un poco más en uno de los componentes más fundamentales

Actuadores, motores, reducciones y demás

No todos los manipuladores son iguales

No todos los cuadrúpedos son iguales

No todos los cuadrúpedos son iguales

¿En dónde está la diferencia?

No todos los cuadrúpedos son iguales

¿En dónde está la diferencia?

en los actuadores

Motores | reductores | controladores

  • motor: DC
  • reducción: "normal"
  • control: PID
  • motor: stepper
  • reducción: harmónica
  • control: por pasos

Motores | reductores | controladores

  • motor: stepper
  • reducción: ninguna
  • control: Field Oriented Control
  • motor: stepper
  • reducción: harmónica/cicloidal
  • control: por pasos

Motores | reductores | controladores

  • motor: DC brushless
  • reducción: ninguna
  • control: Field Oriented Control
  • motor: DC brushless
  • reducción: planetaria
  • control: Field Oriented Control

MT3005 - Lecture 10 (2025)

By Miguel Enrique Zea Arenales

MT3005 - Lecture 10 (2025)

  • 77