ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Map server doesn't actually provide a map frame. It provides the data on the topic /map
with a desired frame_id in the header. What you need is a node that provides the transform between map
and odom
frames.
Do you already have a map of the surroundings? If not, you can use SLAM algorithms to map + localise. There are many camera-based SLAM algorithms like OrbSLAM2 or RTABMap.
Since you are using a UAV, AMCL may not be the best solution, because you will first have to convert your camera data to laser scan data and that laser scan data will differ with changes in height.
Another option (though I have no experience with it) is Cartographer. It allows you to first create a map and then perform pure localization in a 3D environment.