-
We developed swarm algorithms as a technology team of university students on Crazyflie drones. We used Crazyswarm library in order to communicate with Crazyflie drones. One of our tasks includes replacement a disconnected drone with a waiting drone on ground . Therefore, we need to detect the disconnection. However, we could not find any function or any method in Crazyswarm to achieve that. Is there any way to achieve that? In addition, if the waiting drone is not connected to Crazyswarm, is it possible to connect it while other drones are still hovering? This question is actually asked in this issue #468 last year but the answer is not very clear for me so I wanted to ask again in a new issue. Thank you |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
The waiting drone needs to be in your crazyflies.yaml file at startup, and it must be turned on. The server will not launch if it cannot communicate with all CFs in the crazyflies.yaml. Your script can let it stay on the ground initially while the others take off and fly. I am not sure about detecting disconnection. That's a good question. But do you really want to force the CF to disconnect? How will you do it? I think most users would just simulate the failure so they can safely land the "failed" CF. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your answer. The waiting drone issue is clear now. The disconnection is going to be in the following way. While drones are hovering in formation, one person will flip one of the drones upside down in order to turn the rotors off. After that, using the button on the drone, drone will be turned off. |
Beta Was this translation helpful? Give feedback.
-
Crazyswarm(1) currently has no way of dynamically adding/removing drones. If you use unicast data exchange (e.g., using logging or non-broadcasting commands), there should be a "timeout" exception thrown once you turn the CF off. If you only use broadcasting commands, there is no way of detecting a disabled drone. |
Beta Was this translation helpful? Give feedback.
-
Here when connection is weak, a ROSWARN is made as you know on the terminal. After disconnection, linkQuality value becomes 0 and no more data published to the pose topic of the drone. We will to try to detect disconnection using these. We did not notice any timeout exception. |
Beta Was this translation helpful? Give feedback.
Crazyswarm(1) currently has no way of dynamically adding/removing drones. If you use unicast data exchange (e.g., using logging or non-broadcasting commands), there should be a "timeout" exception thrown once you turn the CF off. If you only use broadcasting commands, there is no way of detecting a disabled drone.