0
$\begingroup$

Rosanswers logo

Hi there, I'm planning to use the navigation stack package. I currently have the lidar attached to my base, a electric wheelchair. However, odometry seems to be required for the navigation package. I have searched around but seems like normal wheel odometry might not fit my case... Is there other good and cheap option (type and model) for that ?
Or is there package can substitute the use of a physical odometry (would be great if there is a tutorial)Thanks!


Originally posted by IvyKK on ROS Answers with karma: 39 on 2019-01-29

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

If you can attach encoders to the back of your wheelchair motors (on the motor side of the gearbox), the gear reduction will probably get you a decent number of counts per cm, even if you only have a few counts per revolution on the encoder itself. I've made some decent encoders just by hot-gluing a magnet to a shaft, and putting a pair of hall-effect sensors nearby to create a quadrature encoder. You could read this with an arduino or something similarly simple, and then use rosserial to pass the encoder counts up to ROS. You'd probably want to take a look at the differential_drive package if you decide to go this route.

Don't be tempted to build a non-quadrature encoder. Sensing speed and direction are both critical, and you can't always assume the motor is spinning the same direction that you're commanding, particularly at low speed.

I've also seen a number of people report decent success getting fake odometry out of the lidar scan matcher, but I'm not quite sure how to set up all of the pieces to make that work well.


Originally posted by ahendrix with karma: 47576 on 2019-01-30

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by gvdhoorn on 2019-01-30:
Another option might be to use monocular slam to get visual odometry going.

$\endgroup$

Your Answer

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