Spawnning an obstacle during navigation

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

Spawnning an obstacle during navigation

minato_99
Hello matlabbe,

I am working on a project of cooperative navigation. I have successfully launched both drone and rover with the same map and they are working good. I have carried out two tasks. First, I have passed a navigation goal to the rover and made the drone follow the rover. Second, pass the goal point to the drone and made the rover follow that in the same map.

I was wondering if there is  a way,   I can launch a new obstacles when the rover is navigating along global trajectory already created to the goal point such that it would seem that the drone is passing an information to the rover there is a new obstacle  and get the rover global trajectory updated.

Thanks,
Rakesh Yadav



Reply | Threaded
Open this post in threaded view
|

Re: Spawnning an obstacle during navigation

matlabbe
Administrator
Hi,

If you add an obstacle in the simulator while they are navigating and they can both see the obstacle, they could adjust their global trajectory respectively (assuming the rover and drone are updating their respective local costmap). If the rover is following blindly the drone without a local costmap, there could be a collision with the obstacle. You may also link somehow the local costmaps of the two robots to add obstacles that a robot sees that the other cannot.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Spawnning an obstacle during navigation

minato_99
Hello matlabbe,

Considering this I am thinking of launching both rover and drone in the same launch file and each robots has their own database. The distinction between them is that the rover has the usual map as shown in first image representing the world. However, the second database 2D map has one extra obstacle. Is there any way that during the navigation I could update the database of rover to the drone's database and see the virtual obstacle which is not in the actual environment. Thanks for your help.




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

Re: Spawnning an obstacle during navigation

matlabbe
Administrator
Not sure to understand:
see the virtual obstacle which is not in the actual environment
If the obstacle is virtual, how did the drone detect it? Do you mean it is an obstacle only seen by the drone? It would be difficult to artificially add an obstacle in the rover database on runtime (note sure how we could do that). However, it could be possible offline by drawing that obstacle in the optimized map of the rover (with rtabmap-databaseViewer -> File->Edit optimized map...). This would work only if the rover database is re-used in localization mode afterwards, so that the rover will load that map and doesn't modify it.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Spawnning an obstacle during navigation

minato_99
Hello matlabbe,

Sorry for the confusion. The way I was trying to tackle the problem is to launch two different database (one for rover and one for drone). The drone grid_map had that extra obstacle. I was just looking for a way to switch the database of rover and drone (I thought it would be possible) during navigating when the rover's x is around -1 (just a logic). Please let me know if this is possible.
I just found a way to create a simple layer that puts lethal area on the costmap. If there is any suggestion regarding this, it would be helpful as well.
Problem Statement: Drone follows the rover, while rover is navigating avoiding obstacle. Around certain region, I want the drone to publish a message that there is an obstacle and should avoid it (rover cannot see that obstacle). So, I am just spawning a virtual obstacle to the rover's costmap by drone.

I hope this clarify.

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

Re: Spawnning an obstacle during navigation

matlabbe
Administrator
Yeah, I think "So, I am just spawning a virtual obstacle to the rover's costmap by drone. " is the way to go. I would not modify the static map, just the costmap.