ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

navigation move_base action package with constantly changing goal.

asked 2022-12-08 03:12:11 -0500

mirakim gravatar image

Hello,

I'm newbie to this field and I'd like to use the move_base package for the navigation of robot to track people.

However, as the move_base package is using action, not a topic, (I think) it is unable to get constantly changing navigation goals.

In this case, how can I utilize this package?

Thanks in advance ! :)

edit retag flag offensive close merge delete

Comments

I do not understand what question you are asking. move_base is designed to move the robot to a destination goal on a map. It's not going to work well for the task of "continuous" tracking/following of an object.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-12-10 10:51:54 -0500 )edit

Thank you for the reply :) Since I need to use the navigation package in ros for tracking the continuously moving object, would you please recommend me if there is a better way for this task??

mirakim gravatar image mirakim  ( 2022-12-12 21:39:21 -0500 )edit

With move_base, if you have a new goal, you can send it before the robot reaches the current goal. However, the robot will pause while it calculates a path to the new goal, so the robot is probably not going to move smoothly.

What sensor(s) are you using to find the target? Do you have distance and angle to the target from the robot's current pose? Do you need collision avoidance?

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-12-13 06:14:31 -0500 )edit

Thank you for the explanation! I use a tracking vision AI to find the target given input video from camera. After the target is detected, it can measure the distance and angle to the target from the robot's current pose by LiDAR sensor. And yes, it need collision avoidance.

mirakim gravatar image mirakim  ( 2022-12-13 09:32:42 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2022-12-14 10:25:34 -0500

Mike Scheutzow gravatar image

updated 2022-12-14 10:30:07 -0500

Based on what you have said, I would not use move_base for this task. The robot movement will be ugly, and it will be constantly starting and stopping as the goal changes its position.

If it were me, I'd create a custom ros node "motion controller". It's job is to receive a goal distance and angle, then publish Twist messages to the /cmd_vel topic to move the robot closer to the (always changing) goal. The Twist velocity value should change smoothly (both up and down), and should be a function of the distance to the goal (or obstacle.)

A basic controller like this one will have no ability to navigate around an obstacle (that's a MUCH harder problem), but the robot can smoothly stop and wait for an obstacle to move out of the way. Detecting whether there is sufficient free space for the robot to move forward safely (collision detect) is also required for a controller like this one.

edit flag offensive delete link more

Comments

Thank you so much for your advice! As I need the robot that has ability to navigate around an obstacle, I think I have no choice but to use the move_base package for this task.. Thank you so much!

mirakim gravatar image mirakim  ( 2022-12-28 20:02:20 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2022-12-08 03:12:11 -0500

Seen: 51 times

Last updated: Dec 14 '22