ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Gazebo ROS navigation following an aruco markers waypoints path

asked 2022-12-05 09:00:40 -0500

polipoli gravatar image

Hi! I would like to ask how can I simulate on Gazebo ROS a wheeled robot visual navigation. Specifically I have to simulate an intelligent warehouse (such as amazon one): my robot has to reach different locations (with different IDs) and each one has a different path to follow. My robot camera has to detect and recognize the first marker relative to the corridor, the second relative to the rack and the third relative to the shelf. So each location ID has a three markers path. Some suggestions?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2022-12-07 13:03:53 -0500

You could use the ar_track_alvar to detect the tag and based on the detected ID compute a position to reach based on each tag. Then use the navigation stack to compute a path to follow.

i don't knwo anything about the architecture of your robot but you need also an odometry source (wheel odometry,visual odometry, maybe use the tags to localize ?) and a map of the environment.

This is only a possible solution, there are many alternatives of course :)

edit flag offensive delete link more


First of all thanks for your answer. Unfortunately ar_track_alvar is not available for ROS Noetic, but I found a plugin that allows to detect markers, gives back relative distance of the camera from the markers and the marker id.

header: seq: 194 stamp: secs: 64 nsecs: 811000000 frame_id: "camera_1_link" child_frame_id: "marker_id1" transform: translation: x: 0.014174409829777418 y: 0.1839013668578052 z: 0.5267228069866943 rotation: x: 0.8340448209764011 y: 0.004303745536665437 z: -0.005449522722099267 w: 0.5516529861053052

The message is of geometrymsg/TransformStamped type. Now I have to use this messages to drive my robot to the marker. Have I to use the navigation stack now?

polipoli gravatar image polipoli  ( 2022-12-12 06:05:51 -0500 )edit

I successfully used ar_track_alvar on noetic by using the noetic branch on github:

cd ~/catkin_ws/src
git clone
cd ar_track_alvar
git checkout noetic-devel

Anyway, i think you can use that message to drive your robot. If you want to use the navigation stack setup it in the correct way and then you can send a goal using the tag position and the code of these tutorials:

Let me know if it works

AlessioParmeggiani gravatar image AlessioParmeggiani  ( 2022-12-12 08:36:49 -0500 )edit

The point is that I have to enable the movement of the robot when its camera recognizes a specific marker. I have to create an algorithm that makes a different path of 3 markers for each position that it has to reach. (comunque sono italiano anch'io, se vuoi parliamo in separata sede)

polipoli gravatar image polipoli  ( 2022-12-12 09:55:38 -0500 )edit

Try using ar_track_alvar, that node output a message that contains also the id of the landmark so you can check it when performing the path. I don't know which plugin you are using but maybe there is a way to detect the id also with it.

AlessioParmeggiani gravatar image AlessioParmeggiani  ( 2022-12-13 03:24:46 -0500 )edit

The plugin I'm using gives the markers' id in the child_frame_id section of the TransformStamped message. Now I should map in order to know where every marker is positioned in the warehouse world.

polipoli gravatar image polipoli  ( 2022-12-14 09:28:59 -0500 )edit

Your Answer

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

Add Answer

Question Tools


Asked: 2022-12-05 08:48:42 -0500

Seen: 59 times

Last updated: Dec 07 '22