Running navigation stack without being concerned about a robot
Hello all,
My objective is to navigate autonomously with an Arduino controlled differential drive robot in ROS. This robot is equipped with a Hokuyo LIDAR, so as of now, I am able to map my surroundings, send initial poses etc. If I wish to move from point A to B autonomously using the nav stack (movebase), if movebase can just give me a path between A and B in a preprovided map (without being concerned about /odom, /baselink etc.), I can write a node that converts these velocity commands into what the Arduino needs. There are no encoders etc. on the robot, else I would have gone for something like ardros. Is it possible to get a motion plan and the necessary velocity commands in a map from movebase without worrying about odometry or feedback from a robot?
Thank you, Sai
Asked by SaiHV on 2014-05-05 10:39:10 UTC
Answers
You could call the service-based interface to the global planner which would give you a series of poses through which the robot should go to get from point A to point B -- but the actual velocity commands are generated by the local planner, not the global one, and that planner is very much designed to run in real time on the robot.
If you have a good enough laser to create a map without any odometry, then perhaps you can also stay well localized within that map without odometry? Perhaps you can use something like the http://wiki.ros.org/laser_scan_matcher to create fake odometry from the laser data -- which might allow you to just use the navigation stack as is.
Asked by fergs on 2014-05-06 20:37:32 UTC
Comments