Conversión del proyecto de ROS 1 a ROS 2

Análisis inicial del proyecto rbcar_steering_controller (enfoque hardware)

A alto nivel, este paquete ROS controla el giro (steering) de un vehículo (Rbcar) usando:

A continuación desgloso los bloques de hardware y cómo se integran:

1) Bus CAN y hardware de comunicaciones

2) Drive de motor: AMC DZCANTE-020L080

3) Encoder absoluto EPC (familia MA) por CANopen

4) Nodo ROS de control de dirección

Qué tener en cuenta para replicar:

5) Resumen de la secuencia de arranque/operación

  1. PCan abre el dispositivo y configura el bitrate.
  2. MotorDrive:
    • Reset CAN Comm -> Preoperational
    • Configura PDOs/Node Guard/Eventos
    • Init drive (ControlWord sequence), lee modo operación
    • Start Communication (NMT Start), pasa a OPERATIONAL
    • Lanza hilos de Node Guard y lecturas SDO periódicas
  3. EpcEncoder:
    • Reset/Preoperational
    • (En este código no reconfigura PDOs del encoder)
    • Start Communication a OPERATIONAL
    • Lanza hilo de Node Guard
  4. Bucle 50 Hz:
    • Envía SYNC
    • Lee paquetes CAN y los distribuye
    • Publica estado (counts + angle)
  5. Comandos:
    • command_angle -> se traduce a counts del encoder y luego a counts del motor y se envía la posición al drive por RPDO21.

6) Señales CAN-clave y mapeo rápido

7) Qué adaptar en tu nuevo proyecto (hardware)

photo_2025-10-13_08-33-26.jpg

 


Revision #1
Created 13 October 2025 06:23:21 by Rafael Carbonell Lázaro
Updated 13 October 2025 08:02:03 by Rafael Carbonell Lázaro