Motores, encoders e ponte-H

A base fisica de locomoção dos robots, para além do suporte, é constituída pelos seguintes componentes:

  1. Motores de corrente continua (DC), que produzem a locomoção por rotação nos seus eixos;
  2. Encoders de quadratura, que são sensores, e estão normalmente montados nos motores, e permitem conhecer a deslocação angular do eixo e estimar a distancia percorrida. No ROS os dados dos encoders são usados por um node para publicar mensagens do tipo nav_msgs/Odometry, no tópico odom, e no calculo da transformação que é difundida;
  3. Ponte-H, que permite controlar a direcção e velocidade de rotação dos motores individualmente. No ROS esse controlo é estabelecido por um node, ou vários nodes em cadeia, que subscreve e converte mensagens do tipo geometry_msgs/Twist  publicadas no tópico cmd_vel na velocidade e direcção adequada a aplicar a cada um dos motores (PWM);

O nome destes tópicos é arbitrário, podendo normalmente ser redefinidos nos ficheiros do tipo .launch. No entanto indico os nomes comuns (são quase uma convenção) que convêm seguir de modo a facilitar a leitura dos programas e a configuração dos vários nodes.