Publishing Odom and tf information from Arduino
I'm using an Arduino as my controller for getting the encoder ticks. This way I'm calculating the Vx , Vy(=0, since it's is a non-holonomic robot) and omega_r using the kinematics of differential robots as stated in an answer here
I'm going through the navigation stack on odometry and I have the following questions to ask:
- Do I have to calculate the odometry information from Arduino and directly publish it to the odom topic? Or,
- Make a node to subscribe to the messages published by the Arduino, and then publish both nav_msgs/odometry and transform data over ROS?
- Make a node to subscribe to the messages published by the Arduino, and then publish both nav_msgs/odometry and transform data over ROS?
Asked by kartikmadhira1 on 2016-12-29 03:03:50 UTC
Answers
From my experience ,i couldn't publish odom data directly from arduino mega2560 .
Actually i was able to see the tf tree that i made (map->odom->base_link->laser) but after a few messages the tf tree broke into two different trees (map->odom and base_link->laser ). Then i figured out that the trasnform between odom and base_link was not stable . Soo knowing that the only transform between odom and base_link was provided by arduino i decided to create a new node (c++ code ) that takes in encoder data compute them and then spit out odometry data .
Since then i dont have any problems with the tf tree splitting and my mapping process is really stable . I hope i helped .I am kinda new to this (about 6 months rookie ) but i solved my kind of problem which was that the process of mapping was stopping after a few seconds since it started
Asked by Kostas Tzias on 2022-10-03 04:03:19 UTC
Comments
It seem like we're working in similar project, can you give me any account you have to discuss the project in the future ..? sorry to say this here ..
Asked by jafar_abdi on 2016-12-29 06:10:07 UTC
mail me on kartikmadhira1@gmail.com
Asked by kartikmadhira1 on 2016-12-29 06:23:13 UTC