Robotics StackExchange | Archived questions

communicating with /move_base for kobuki to reverse a bit when /mobile_base/sensors/core/charger is greater than zero

Hi All ...Some prelims: Turtlebot 2, Nvidia TK1, Xbox Kinect, Kobuki Base, ROS Indigo with turtlebot_navigation

Suppose the Turtlebot is at the Kobuki Docking station, when the Turtlebo receives a movebase goal the Turtlebot pivots in place and grinds against the docking station. Basically, the Turtlebot and turtlebotnavigation do not know when at the docking station.

Has anyone figured out a simple way to prevent this? I've tried all sorts of round-about methods, but I believe it comes down to /move_base listening to /mobile_base/sensors/core/charging and reversing a bit (0.1 [m]) when charging. I think I could add something into the /move_base library, but I prefer not to recompile an entire library.

Thoughts, suggestions?? Thanks!

Asked by j_salfity on 2017-03-22 17:12:03 UTC

Comments

Answers

A few years back I wrote a simple state machine that ran on a turtlebot 2 in much the same way: https://github.com/trainman419/nav_demo/blob/master/scripts/random_nav.py

Instead of trying to get move_base to perform the docking and undocking, I used the actionlib client for docking, and did the undocking by publishing a backup command manually for about 0.5 meters: https://github.com/trainman419/nav_demo/blob/master/scripts/random_nav.py#L58-L74

My state machine was also subscribed to the power system state and events, so it could trigger a undock when the battery was fully charged, and trigger a return to dock behavior when the battery was low.

Asked by ahendrix on 2017-03-22 18:03:35 UTC

Comments

Awesome, thanks for the response. Ended up doing something just like that.

Asked by j_salfity on 2017-04-04 12:55:45 UTC