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

Path planning without move_base - just using aruco_tag relative pose

asked 2023-02-01 07:57:46 -0500

alperenkeser gravatar image

updated 2023-02-09 03:02:04 -0500

I am trying to calculate a trajectory based on the information I have:

  • aruco_tag relative position and orientation (relative to camera_link of my robot)

I don't want to use any information from /map and my fixed_frame should be base_footprint . Is it possible to do? Path planning without using any information from /map ?

edit retag flag offensive close merge delete


Of course it "is possible". Are you trying to drop move_base completely, or only create your own planner for use inside move_base? Are we talking about a local_planner or a global_planner?

Mike Scheutzow gravatar image Mike Scheutzow  ( 2023-02-11 10:38:18 -0500 )edit

Thanks for the reply. I would like to do it without move_base if it's possible. I could not find any tutorials or examples for a path planning algorithm without move_base and with the goal pose is given relative to something like camera_link or base_footprint, not map. Because I am trying to do docking using a camera-aruco tag setup and I want to plan a precise path to my goal, aruco tag. If I take the aruco tag's pose with respect to map, it would be less accurate.

I tried to create my own planner also but I cannot understand how could one do so without using move_base. I believe I am talking about both global_planner and a local_planner because I want to create a path to my goal and then I want to navigate through that path BUT my priority is creating a path first. I could deal ...(more)

alperenkeser gravatar image alperenkeser  ( 2023-02-13 00:55:39 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2023-02-14 09:57:14 -0500

Mike Scheutzow gravatar image

updated 2023-02-14 10:00:19 -0500

Here is a basic approach to implementing a solution without using move_base:

"No map" implies you intend to do relative navigation in the robot's frame. For 2D navigation, this means that the goal information you have at each step is: "my goal is at this distance and at this yaw angle." Very important: these values are assumed to be in the base_link frame.

If your sensor reading gives you the goal is in some other frame, you need to transform that sensor-goal to your robot's base_link frame before you use it.

Then you calculate a Twist message which will move the robot closer to the goal, and publish the message to /cmd_vel. You repeat this whole cycle over and over until the robot is "close enough" (or until the robot can't move forward for some reason.)

edit flag offensive delete link more


I understood the idea better now. But as far as I understand, your method is like a controller depending on the data coming from my goal's pose (distance and yaw). So it is like a visual servoing? I was hoping more like a trajectory planning kind of method because during the motion of my robot, aruco tag (my goal) could get out of the camera frame easily. But still, thank you very much for your guidance.

alperenkeser gravatar image alperenkeser  ( 2023-02-15 05:53:54 -0500 )edit

If you want to pre-plan a path, then you must have a map. And to issue commands to follow a path, you must have some way to estimate your robot's position on that map.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2023-02-16 07:16:03 -0500 )edit

Question Tools

1 follower


Asked: 2023-02-01 07:57:46 -0500

Seen: 72 times

Last updated: Feb 14