Bienvenido: Ingresar
location: Diferencias para "LabElectronica/ProyectoQuadricoptero/InformeFinalCap3"
Diferencias entre las revisiones 3 y 4
Versión 3 con fecha 2011-02-21 20:52:10
Tamaño: 8191
Editor: Jaarac
Comentario:
Versión 4 con fecha 2011-02-21 20:58:12
Tamaño: 8748
Editor: Jaarac
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 5: Línea 5:

Línea 9: Línea 7:
Línea 11: Línea 8:

<<TableOfContents(6)>>
Línea 169: Línea 163:

= Diseño del controlador =

== Controlador PID ==

== Compensador PID ==
=== Ecuacion Diferencial ===

$$$ c(t) = k[e(t) + \frac{1}{T_i}\int_0^t \! e(t) dt \ + T_d \frac{de(t)}{dt} ] $$

=== Transformada de Laplace ===

$$$ C(s) = k( 1 + \frac{1}{T_i s} + T_d s ) E(s) $$

=== Transformada Z ===

$$$ C(z) = k[1-\frac{T}{2T_i} + \frac{T}{T_i}\frac{1}{1-z^{-1}} + \frac{T_d}{T}(1-z^{-1}) ]E(z) $$

$$$ C(z) = [K_p + \frac{K_i}{1-z^{-1}} + K_d(1-z^{-1}) ]E(z) $$

=== Tiempo Discreto ===

$$$ c(k) = c(k-1) + K_p[e(k)-e(k-1)] + K_i e(k) + K_d[e(k)-2e(k-1)+e(k-2)] $$

Modelado del Quadrotor

La derivación de la dinámica no lineal es realizada en coordenadas inerciales NED y de cuerpo fijo. Denotemos con {

$$$ e_N$$

,

$$$e_E$$

,

$$$e_D$$

} los ejes inerciales, y con {

$$$x_B$$

,

$$$y_B$$

,

$$$z_B$$

} a los ejes del cuerpo. Los ángulos de Euler de los ejes del cuerpo son {

$$$\phi$$

,

$$$\theta$$

,

$$$\psi$$

} con respecto a los ejes

$$$e_N$$

,

$$$e_E$$

y

$$$e_D$$

respectivamente, y son referidos como roll, pitch and yaw. Definamos a r como el vector de posición desde el origen inercial hacía el centro de gravedad del vehículo(CG), y dejemos que

$$$\omega_B$$

sea definido como la velocidad angular en con respecto al eje de referencia del cuerpo.

La dirección actual de la velocidad es referida como

$$$e_v$$

en coordenadas inerciales. Los rotores, numerados 1-4, están montados sobre los ejes

$$$x_B$$

,

$$$y_B$$

,

$$$-x_B$$

y

$$$-y_B$$

, respectivamente, con vectores de posición

$$$r_i$$

con respecto a CG. Cada rotor produce un

Fuerza y Momento

$$$ \mathbf{F} = -D_B\cdot\vec{e_V} + mg\cdot\vec{e_D} + \sum\limits^{4}_{i=1}(-T_i\cdot\vec{z_B}-D_i\cdot\vec{e_V})$$

$$$ \mathbf{M} = \sum\limits_{i=1}^4[Q_i\cdot\vec{z_B} - R_i\cdot\vec{e_V} - D_i(\vec{r_i}\times\vec{e_V}) + T_i(\vec{r_i}\times\vec{z_B})]$$

$$$ \mathbf{F} = m\ddot{r} $$

$$$ \mathbf{M} = I \dot{\omega}_B + \omega_B \times I \omega_B $$

Descripción

Fuerza de Arrastre del Cuerpo

$$$ D_B = q_{\infty}SC_D $$

Empuje

$$$ T_i \cong \mu_i\frac{K_\tau}{1+0.1s}$$

Fuerza de arrastre sobre los rotores debido a la velocidad horizontal

$$$ D_i $$

Momento de arrastre sobre el eje de rotación de los rotores

$$$ Q_i = K_{\tau}T_i $$

Momento de Roll generado en los rotores por la velocidad

$$$ R_i $$

Fuerza de arrastre en los rotores debido a la velocidad

$$$ D_i $$

Empuje Total

$$$ T = \sum\limits_{i=1}^4{T_i} $$

Aproximación de la Fuerza y el Momento

Suponiendo que el Cuadricóptero está en vuelo estacionario podemos despreciar

$$$ D_B $$

y

$$$ D_i $$

. Con esto nos queda:

Fuerza

$$$ m\ddot{r} = \mathbf{F} = -R_{\psi}R_{\theta}R_{\phi}T\cdot\vec{z_B} + mg\cdot\vec{e_D}$$

Aproximando las matrices de rotación de los ángulos para ángulos pequeños, tenemos:

$$$ -R_{\psi}R_{\theta}R_{\phi} = \left[\matrix{ 1 & \psi & \theta \cr \psi & 1 & \phi \cr \theta & -\phi & 1 }\right] $$

$$$ m\ddot{r} = \left[\matrix{ 1 & \psi & \theta \cr \psi & 1 & \phi \cr \theta & -\phi & 1 }\right]\left[\matrix{ 0 \cr 0 \cr -T }\right] + \left[\matrix{ 0 \cr 0 \cr mg }\right] $$

$$$ m\ddot{r} = \left[\matrix{ 0 & -\bar{T} & 0 \cr \bar{T} & 0 & 0 \cr 0 & 0 & 1 }\right]\left[\matrix{ \phi \cr \theta \cr T }\right] + \left[\matrix{ 0 \cr 0 \cr mg }\right] $$

Momento

También podemos despreciar los momemtos de Rolling

$$$ R_i $$

y

$$$ \omega_B\times I\omega_B $$

. El Torque nos queda:

$$$ \mathbf{M} = I\dot{\omega}_B = \sum\limits_{i=1}^4[Q_i\cdot\vec{z_B} + T_i(\vec{r_i}\times\vec{z_B})] $$

$$$ \left[\matrix{ I_x\ddot{\phi} \cr I_y\ddot{\theta} \cr I_z\ddot{\psi} }\right] = \left[\matrix{ 0 & l & 0 & -l \cr l & 0 & -l & 0 \cr K_r & -K_r & K_r & -K_r }\right]\left[\matrix{ T_1 \cr T_2 \cr T_3 \cr T_4 }\right] $$

Referencias

[[ http://www.eecs.berkeley.edu/~tomlin/papers/conferences/whjt05_iros.pdf | Multi-Agent Quadrotor Testbed Control Design: Integral Sliding Mode vs. Reinforcement Learning ]]

Path Tracking Control for Quadrotor Helicopters

Medición de los parámetros de la Planta

Para el diseño del controlador del quadricóptero resulta necesario realizar la medición de los distintos parámetros del modelo real. Los parámetros fundamentales son el peso, el momento de inercia, los empujes de los motores.

Empuje de los motores

Al momento de realizar esta medición poseíamos 2 motores rctimer 2830, 1 ESC rctimer de 30A, 1 ESC mystery de 30A, 1 hélice con paso normal y una hélice con paso pusher.

Se realizó la medición del empuje de cada motor, con las distintas hélices y los dos controladores. Esta medición se hizo montando el motor sobre un peso de plomo, el cual se ponía sobre la balanza y luego se realizaron las curvas de transferencia entre PWM y fuerza de empuje.

Motor 1

RCTimer Normal

Duty

2949

5898

8847

11796

14745

17694

20643

23592

26541

29491

32440

35389

38338

41287

Fuerza

0

55

100

145

185

230

270

320

360

400

440

490

540

600

$$$F = 0.0154 * D - 35.83$$

Mystery Pusher

Duty

2949

5898

8847

11796

14745

17694

20643

23592

26541

29491

32440

35389

38338

41287

Fuerza

20

20

95

165

245

325

410

480

575

670

770

855

855

845

$$$F = 0.0283 * D - 155$$

RCTimer Pusher

Duty

2949

5898

8847

11796

14745

17694

20643

23592

26541

29491

32440

35389

38338

41287

Fuerza

5

60

105

150

195

240

290

335

380

425

475

540

605

665

$$$F = 0.017 * D - 45.4$$

Mystery Normal

Duty

2949

5898

8847

11796

14745

17694

20643

23592

26541

29491

32440

35389

38338

41287

Fuerza

5

5

80

150

225

300

380

460

545

640

730

790

760

760

$$$F = 0.0267 * D - 156$$

Motor1

Motor 2

Mystery Normal

Duty

2949

5898

8847

11796

14745

17694

20643

23592

26541

29491

32440

35389

38338

Fuerza

15

15

80

160

235

320

395

475

570

665

765

840

840

$$$F = 0.028 * D - 167.7$$

RCTimer Pusher

Duty

2949

5898

8847

11796

14745

17694

20643

23592

26541

29491

32440

35389

38338

41287

Fuerza

10

65

110

155

200

245

295

345

395

435

490

560

605

660

$$$F = 0.0168 * D - 34.1$$

Mystery Pusher

Duty

2949

5898

8847

11796

14745

17694

20643

23592

26541

29491

32440

35389

38338

Fuerza

5

5

80

155

245

335

425

535

655

795

905

1015

1015

$$$F = 0.03523 * D - 231.7$$

RCTimer Normal

Duty

2949

5898

8847

11796

14745

17694

20643

23592

26541

29491

32440

35389

38338

41287

Fuerza

25

65

110

155

195

235

275

315

360

400

435

485

540

595

$$$F = 0.015 * D - 23.47$$

Motor2

Motor1, RCTimer, Pusher y Motor2, Mystery y Normal

Motor1vsMotor2

Cálculo Aproximado de las constantes

Cálculo de la constante de Inercia

$$$K_J = \frac{r}{J_T}$$

$$$J = \sum{m.r^2}$$

$$$J_T = 2(J_{motor} + J_{ESC} + J_{helice}) + J_{barra}$$

$$$J_{motor} = 52.{20,5}^2 [g.{cm}^2] = 21853 [g.{cm}^2]$$

$$$J_{ESC} = 32.{10}^2 [g.{cm}^2] = 3200 [g.{cm}^2]$$

$$$J_{helice} = 15.{20,5}^2 [g.{cm}^2] = 6303,75 [g.{cm}^2]$$

$$$J_{barra} = \frac{m.L^2}{12} = \frac{110.{51}^2}{12} [g.{cm}^2] = 23842,5 [g.{cm}^2]$$

$$$J_T = 86556 [g.{cm}^2] = 0.0086556 [Kg.{m}^2]$$

$$$\boxed{K_J = \frac{21}{86556}[\frac{1}{g.cm}]=  24.26174962[\frac{1}{Kg.m}]}$$

Cálculo de la constante del Motor

Según las mediciones realizadas podemos aproximar estas constantes.

$$$K_{MPusher} = \frac{\Delta_F}{\Delta_D} = \frac{40}{3000}\frac{g}{cuentas}$$

$$$K_{MNormal} = \frac{\Delta_F}{\Delta_D} = \frac{70}{3000}\frac{g}{cuentas}$$

Diseño del controlador

Controlador PID

Compensador PID

Ecuacion Diferencial

$$$ c(t) = k[e(t) + \frac{1}{T_i}\int_0^t \!  e(t) dt \ + T_d \frac{de(t)}{dt} ] $$

Transformada de Laplace

$$$ C(s) = k( 1 + \frac{1}{T_i s} + T_d s ) E(s) $$

Transformada Z

$$$ C(z) = k[1-\frac{T}{2T_i} + \frac{T}{T_i}\frac{1}{1-z^{-1}} + \frac{T_d}{T}(1-z^{-1}) ]E(z) $$

$$$ C(z) = [K_p + \frac{K_i}{1-z^{-1}} + K_d(1-z^{-1}) ]E(z) $$

Tiempo Discreto

$$$ c(k) = c(k-1) + K_p[e(k)-e(k-1)] + K_i e(k) + K_d[e(k)-2e(k-1)+e(k-2)] $$

None: LabElectronica/ProyectoQuadricoptero/InformeFinalCap3 (última edición 2013-10-31 12:48:26 efectuada por Jaarac)