Running multiple drones with Python

Hi everyone,

I’m trying to control two drones (fixed wing aircraft or quadcopter) using PX4 and MAVSDK. I saw that since 2020, it was possible to do so with MAVSDK library and Python. I saw that some users managed to do so using this code :

drone_1 = System()
drone_2 = System()

await drone_1.connect(system_address="udp://:14540")
await drone_2.connect(system_address="udp://:14541")

Unfortunately, when I run this code I have an error raised when connecting to drone_2]     Other threads are currently calling into gRPC, skipping fork() handlers

As far as I know, gRPC is used to link mavsdk server and Python. But I don’t understand why it can’t create another instance for the second vehicle.

By doing some research, I went on the repo made by julianblanco, and saw that he was using threads in order to control multiples UAVs.

My question is : can I use the first method (maybe with a different setting of grpc?) or should I use the method with threads in Python (and is there any probability of encountering a the same issue with grpc) ?

Cheers !