Diferencia entre revisiones de «Mecanumrob roboclaw»

De Cerlab Wiki
Saltar a: navegación, buscar
(mecanum_base_node.py)
(mecanum_base_node.py)
Línea 7: Línea 7:
 
Para mantener el estándar con el modelo cinemático del MecanumRob, el
 
Para mantener el estándar con el modelo cinemático del MecanumRob, el
 
vector de velocidad de las ruedas  <math>\boldsymbol{\dot{\phi}} = (\dot{\phi_1},\; \dot{\phi_2},\; \dot{\phi_3},\; \dot{\phi_4})</math>  
 
vector de velocidad de las ruedas  <math>\boldsymbol{\dot{\phi}} = (\dot{\phi_1},\; \dot{\phi_2},\; \dot{\phi_3},\; \dot{\phi_4})</math>  
se define con el siguiente orden: (NE, NW, SW, SE). Además se define el vector de signo  <math>\boldsymble{\omega_{sign}}</math>  de la misma dimensión  
+
se define con el siguiente orden: (NE, NW, SW, SE). Además se define el vector de signo  <math>\boldsymbol{\omega_{sign}}</math>  de la misma dimensión  
 
para el cálculo de velocidad angular de las ruedas, de modo que un valor positivo se define según la ley de la mano derecha visto del frente del robot,
 
para el cálculo de velocidad angular de las ruedas, de modo que un valor positivo se define según la ley de la mano derecha visto del frente del robot,
 
(una rueda que avanza tiene velocidad positiva). Esto se hace para mantener la consistencia externa de <math>\boldsymbol{\dot{\phi}}</math>,
 
(una rueda que avanza tiene velocidad positiva). Esto se hace para mantener la consistencia externa de <math>\boldsymbol{\dot{\phi}}</math>,

Revisión del 13:08 27 nov 2019

Nodes

mecanum_base_node.py

Nodo que controla la base del COMPa o MecanumRob, que consta de dos controladores Roboclaw y ruedas mecanum.

Para mantener el estándar con el modelo cinemático del MecanumRob, el vector de velocidad de las ruedas \boldsymbol{\dot{\phi}} = (\dot{\phi_1},\; \dot{\phi_2},\; \dot{\phi_3},\; \dot{\phi_4}) se define con el siguiente orden: (NE, NW, SW, SE). Además se define el vector de signo \boldsymbol{\omega_{sign}} de la misma dimensión para el cálculo de velocidad angular de las ruedas, de modo que un valor positivo se define según la ley de la mano derecha visto del frente del robot, (una rueda que avanza tiene velocidad positiva). Esto se hace para mantener la consistencia externa de \boldsymbol{\dot{\phi}}, de modo que si una medición \dot{\phi'_i} tiene un signo incosistente, se cumpla que \boldsymbol{\dot{\phi}} = \boldsymbol{\omega_{sign}} \odot \boldsymbol{\dot{\phi'}}.

Subscribed Topics

cmd_wheels (mecanumrob_common/WheelSpeed)

Comandos de velocidad para las ruedas de la base (rad/s).

Published Topics

wheel_speed (mecanumrob_common/WheelSpeed)

Velocidad de las ruedas (rad/s).

encoders (mecanumrob_common/EncTimed)

Publica el valor de los encoders.

pwm (mecanumrob_common/EncTimed)

Publica la acción de los motores (valor PWM).

Parameters

~pid_mode (bool, default: true)

Indica si se usa el control PID o si se toman directamente valores de PWM.

~baudrate (int, default: 115200)

Tasa de baudios para la conexión serial con los Roboclaw (baud/s).

~port_front (string, default: "/dev/ttyACM0")

Dispositivo Robloclaw que controla los motores delanteros.

~port_back (string, default: "/dev/ttyACM1")

Dispositivo Robloclaw que controla los motores traseros.

~frame_id (string, default: "base_link")

Marco de referencia tf de la base.

~ppv (double, default: 4775)

Pasos por vuelta del encoder.

~w_max (double, default: 31.4)

Velocidad angular máxima permitida para los motores (rad/s)

~rate (dobule, default: 60.0)

Frecuencia de publicación de los mensajes de velocidad de las ruedas (Hz).

~Kp (double, default: 10.5932)

Ganancia proporcional del controlador PID.

~Ki (double, default: Kp/0.2445)

Ganancia integral del controlador PID.

~Kd (double, default: 0.0)

Ganancia derivativa del controlador PID.

~sign_0 (int, default: 1)

Signo de rotación de la rueda \phi_1

~sign_1 (int, default: 1)

Signo de rotación de la rueda \phi_2

~sign_2 (int, default: 1)

Signo de rotación de la rueda \phi_3

~sign_3 (int, default: 1)

Signo de rotación de la rueda \phi_4