Mapping with both drone and rover issues

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Mapping with both drone and rover issues

minato_99
Hello matlabbe,

I have a general question. Now, I have the drone and rover in the same world. I have to map the world with both rover and drone. When I map with rover, the drone shows up as an obstacle and when I map the world with drone, the rover shows up as an obstacle. Should I map the world with rover without launching the drone and vice versa. Then, combine both maps together. How should I tackle this problem? This is first part of the problem.

How can I modify the launch file so that I can map the world with both rover and drone in one single rviz. The goal is to cover some area with drone and some area with rover and then integrate the map. Can you give me some hints on this? Thanks.

Sincerely,
minato_99
Reply | Threaded
Open this post in threaded view
|

Re: Mapping with both drone and rover issues

matlabbe
Administrator
Should I map the world with rover without launching the drone and vice versa. Then, combine both maps together
I would start like that. Beside the other robot, all dynamic obstacles / people can be in the map if they were there during the mapping. That is a problem in itself, so it is recommended to map in a static environment if possible.

I would recommend to use 2 rviz to monitor the progress of the two robots, assuming they are using their own ros master (that is the easiest way). Set the ROS_MASTER_URI of the robot you want to see before launching rviz.

To have two robots on same ros master, it is possible but slightly more complicated. First, you need to launch all nodes of both robots in their respective robot namespace connected to same ros master. Make sure there are no global topics used, so that all topics will be prefixed by the robot namespace. Next thing is to add a prefix to all TF used, e.g., rover/base_link, drone/base_link. For rtabmap and rtabmap's odometry, you can change the tf name with map_frame_id and odom_frame_id parameters (e.g., rover/map -> rover/odom -> rover/base_link,  drone/map -> drone/odom -> drone/base_link). This can be complicated if you are using an URDF, as you would need to add a parameter in URDF to setup the correct tf prefix. Last thing is to connect the 2 tf trees under same root, called "world" for example. You can do it by publishing a static transform between world->robot/map and world->drone/map. In rviz, setting global frame option to "world", you should see the 2 tf trees together.

cheers,
Mathieu



Reply | Threaded
Open this post in threaded view
|

Re: Mapping with both drone and rover issues

williamwordsworth
In reply to this post by minato_99
To tackle the issue of the drone and rover appearing as obstacles in each other's maps, it's practical to map the world with the rover first without launching the drone, and then map the same area with the drone separately. This ensures each vehicle does not interfere with the other's mapping process. After completing the individual mappings, you can combine the maps using software or algorithms that support map merging. To modify the launch file for mapping with both the rover and drone in one RViz instance, ensure that the drone and rover are publishing their data in separate namespaces to avoid conflicts. Create a combined launch file that includes the necessary nodes for both vehicles, and run only one instance of RViz configured to display data from both namespaces. Use a map merging node or algorithm to integrate the mapping data from both the drone and rover into a single cohesive map. Additionally, configure RViz to visualize data from both vehicles by setting up different topics for map, point cloud, and other relevant data streams.

For improving the accuracy and quality of your integrated mapping project, I recommend using **drone GCP** (Ground Control Points) markers. These markers provide precise reference points on the ground, ensuring accurate georeferencing and alignment of the combined maps. Utilizing **drone GCP** markers will enhance the precision and reliability of your final map, providing professional-grade results.
Reply | Threaded
Open this post in threaded view
|

Re: Mapping with both drone and rover issues

Hudsonjace81
In reply to this post by matlabbe
To map with both a rover and a drone without interference, first map with one while ensuring the other is inactive, then switch and map with the other. Combine the maps afterward using GIS software for a comprehensive result. To modify the launch file for RViz, ensure both rover and drone data are published on separate topics, include both nodes in the launch file, and configure RViz to display these topics simultaneously. For accurate integration, use reliable GCP targets like Propeller Aeropoints, White Cross Targets, and Square Checkerboard Targets.
Reply | Threaded
Open this post in threaded view
|

Re: Mapping with both drone and rover issues

matlabbe
Administrator
Why do I feel that the previous 2 responses are AI generated to promote skyhighbullseye targets?