Ask Your Question

Simple behaviors using move_base without planner ?

asked 2021-01-20 09:17:18 -0500

luchko gravatar image


I have a base_controller for my robot. I want to generate some simples behavior (turn 90°, move slowly 1 meter backward ...).

Until now, I was using navigation_stack alongside TEB_local_planner to move my robot. I feel like this stack is too heavy given the simple behavior I want to implement.

I am currently developping a very simple "odom based controller" which apply constant cmd_vel and watch the odom to know when to stop.

Are you aware of some piece of code that would fit my requirements? I have found this repo which may contain some interesting stuff but I am not sure to understand what is it for...


edit retag flag offensive close merge delete


Do you want the robot to avoid obstacles why turning or moving backward?

Humpelstilzchen gravatar image Humpelstilzchen  ( 2021-01-21 00:59:19 -0500 )edit

No (I do use some range sensors though).

luchko gravatar image luchko  ( 2021-01-21 06:55:12 -0500 )edit

In this case I would skip the navigation stack. The question is why? There can always be an unexpected obstacle behind your robot you would just driver over in this case.

Humpelstilzchen gravatar image Humpelstilzchen  ( 2021-01-21 07:05:45 -0500 )edit

Thank you for your comments! I will go for a simple "odom based control loop" (basically send cmd_vel until odom say we reached the goal).

To answer the "why" question : because I need it ! That's just 1 of many way of moving of my robot. I do filter the velocity command based on range sensor, but I don't want to "try to avoid them by calculating a valid path arround it". If anyone is reading this and have implemented it some other way feel free to answer :-)

luchko gravatar image luchko  ( 2021-01-21 13:45:15 -0500 )edit

It sounds like you just want a node publishing to /cmd_vel and subscribed to /odom, and that node should have a method for each type of movement, which publishes a constant command until the /odom data neets some condition. Is that right? If so, I don't know of a specific implementation, but it should be fairly straightforward to implement yourself working from the publisher/subscriber tutorials. If I have missed your point, my apologies, but please clarify. Are you trying to implement this as a plugin for navigation?

tryan gravatar image tryan  ( 2021-01-22 07:08:09 -0500 )edit

FYI this would have been the answer I was looking for : ros-controls

luchko gravatar image luchko  ( 2021-02-04 02:28:30 -0500 )edit

1 Answer

Sort by » oldest newest most voted

answered 2021-02-04 02:29:13 -0500

luchko gravatar image

updated 2021-02-04 02:33:52 -0500

If you are looking for some advandced controllers (some are open loop as I requested earlier) : ros-controls would have been the answer I was looking for. Though I implemented a simple on myself.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2021-01-20 09:17:18 -0500

Seen: 42 times

Last updated: Feb 04