0
$\begingroup$

Rosanswers logo

Hi,

We're using the iRobot Create for a project with a laptop mounted on board, like the turtlebot. However, we're using Windows rather than ROS. After some testing, we saw the dead reckoning of the iRobot is pretty poor (most problems from angle rotated), and found the turtlebot's gyro sensor and power board, which looks very convenient!

Is it possible to access and make use of this gyro sensor through the serial port to improve on the navigation within our C# program?

Is there any documentation or anywhere someone can point me to that would show me how to interface with the sensor and perform any necessary navigation-correcting calculations?

Thanks!


Originally posted by Royal2000H on ROS Answers with karma: 1 on 2012-03-10

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The gyro on the power board provides input to the "user analog input" pin on the Create. Your Windows API will likely provide a method for reading this. If it doesn't, check out this document.

The next step you'll have is to correct for sensor error. There are two primary types you should worry about:

  1. Scale error. The gyro may provide an analog value for a given rotational rate which doesn't quite match up with the spec. The turtlebot_calibration node can automatically determine this error by comparing a prediction based on the gyro with an actual observation of motion from the TurtleBot's Kinect sensor.
  2. Drift. The analog value corresponding to a zero rotational rate drifts over time. The TurtleBot is constantly recalibrating what the "zero value" is by averaging gyro sensor values when both wheels are not moving, and using that value as an offset.

After you do those two corrections, you're left with incorporating that data into your position estimates. You can start by integrating it to determine chassis rotation in your current dead-reckoning approach, and improve it further by adding Kinect data via an extended Kalman Filter. I'm not sure what direction you want to go in for this latter point, but hopefully the above helps...1.


Originally posted by Ryan with karma: 3248 on 2012-03-10

This answer was ACCEPTED on the original site

Post score: 4


Original comments

Comment by Mac on 2012-03-10:
I second all of the above; at this point, though, you've just reinvented a bunch of stuff that ROS does for you, in a well-debugged, well-integrated manner. I'm told there's some rudimentary ROS support on windows; probably enough to let a linux machine do the work, and a windows do the controls.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.