Wheeled mobile robot with GPS, accelerometer, magnetometer and odometry
I came across Gazebo a week ago and I think it's just great. I would like to use for my project, where I need to estimate the position and control a wheeled mobile robot. For that, I would like to have measurements from a GPS, accelerometer, magnetometer and wheel position in order to estimate the robot position and orientation using the different sensors.
So far I followed the tutorial on how to build a differential drive robot [1] and the noisy IMU [2]. I added GPS and magnetometer measurements to the IMU successfully and then, following [3], attached the sensor to the differential drive robot. All the sensors topics are published correctly. Finally, I added the DifferentialDrive plugin to the robot and I was able to send linear and angular velocities.
How can I measure the wheel position?
How can I get the simulator to send me the sensor measurements without noise in order to have the "real" measurement and the noisy one?
How can I get the real position and orientation of the robot chassis?
Since I am using Python and I only need to get the noisy measurements and the real values, what would you describe it would be the best approach?
I tried using PyGazebo, so far I was able to subscribe to the sensor topics and send controls with the DifferentialDrive plugin. Should I stick with PyGazebo or try to connect via TCP/IP? Is there any benefit of using ROS on top of Gazebo?
Thanks in advance for any help.
[1] http://gazebosim.org/tutorials?tut=bu...