Robotics StackExchange | Archived questions

Simple behaviors using move_base without planner ?

Helllo,

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 navigationstack alongside TEBlocal_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...

Thanks!

Asked by luchko on 2021-01-20 10:17:18 UTC

Comments

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

Asked by Humpelstilzchen on 2021-01-21 01:59:19 UTC

No (I do use some range sensors though).

Asked by luchko on 2021-01-21 07:55:12 UTC

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.

Asked by Humpelstilzchen on 2021-01-21 08:05:45 UTC

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 :-)

Asked by luchko on 2021-01-21 14:45:15 UTC

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?

Asked by tryan on 2021-01-22 08:08:09 UTC

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

Asked by luchko on 2021-02-04 03:28:30 UTC

Answers

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.

Asked by luchko on 2021-02-04 03:29:13 UTC

Comments