Ros encoders

ROS encoders

Os encoders permitem saber a distância percorrida pelas rodas e a velocidade a que elas rodam.

Existem vários tipos de encoders. Para serem usados como fonte para a odometria e stack de navegação do ROS, os encoders necessitam de ser de alta resolução. Normalmente, no ROS, são usados quadrature encoders que permitem resoluções inferiores a meio milímetro.

Nodes para encoders no ROS com Raspberry Pi 3

Na minha aprendizagem de desenvolvimento de robots com ROS escrevi o pacote rosrpibot que tem os seguintes ROS nodes para publicar a leitura dos encoders.

  • qencoders1_node (método 1)
  • qencoders2_node (método 2)
  • qencoders3_node (ros_controllers)

Estes nodes fazem uso do GPIO do Raspberry Pi 3 e não é necessário nenhum micro controlador para efectuar as leituras.

Comandos para execução dos ROS encoders nodes

Execução com ficheiros de lançamento e parâmetros personalizados:

roslaunch rosrpibot qe1.launch
roslaunch rosrpibot qe2.launch
roslaunch rosrpibot qe3.launch

Execução directa:

rosrun rosrpibot qencoders1_node
rosrun rosrpibot qencoders2_node
rosrun rosrpibot qencoders3_node

Nodes para encoders no ROS com Banana Pi

No Banana Pi a leitura dos encoders é semelhante à do Raspberry Pi, pois fazem uso das mesmas bibliotecas.

 

Exemplos de programa para encoders com ROS no Arduino

A desenvolver

 

Encoders ROS nodes

A implementar

Ver também ROS navigation stack

Ver também ROS odometry

fusao do imu com encoder

http://docs.ros.org/melodic/api/robot_localization/html/index.html

https://answers.ros.org/question/312290/how-to-fuse-encoder-ticks-imu-for-odometry/

http://wiki.ros.org/differential_drive

http://wiki.ros.org/diff_drive_controller