Cannot fly more than three vehicles using an external positioning system.

Discussions related to positioning systems where the position is calculated outside the Crazyflie and sent to the device using radio, including MoCap systems
Post Reply
tatsuya1172
Beginner
Posts: 3
Joined: Fri Apr 01, 2022 2:09 am

Cannot fly more than three vehicles using an external positioning system.

Post by tatsuya1172 »

Hello, everyone.

I want to use an external positioning system (OptiTrack + Motive + VRPN + ROS Melodic) to control and fly multiple drones.
This is the result at the moment.
https://youtu.be/xgKLuSz9v7U
(Two drones crash on the way out...)

One or two flights have been controlled.
The following points have been identified
1)Checking drone behaviour within Motive (coordinates of each drone are exported to a CSV file for each drone).
 →No phenomenon of drones not being fully supplemented, no phenomenon of rigid bodies being swapped with each other
2)The drones are separated from each other by at least 0.5 m.

Do you know anything about this phenomenon?
Or is there anything else to check?

Best regards, and thank you.
KUROSAWA
kristoffer
Bitcraze
Posts: 630
Joined: Tue Jun 30, 2015 7:47 am

Re: Cannot fly more than three vehicles using an external positioning system.

Post by kristoffer »

It is hard to say exactly what is happening but the second crash looks similar to the behavior when the battery is running low. I can not see the battery LED on the video, is it possible that the battery was running out?

Are you sending the full pose (from your mocap system) to the Crazyflies or only the position? We have seen that the full pose option has instabilities around yaw = +-90 degrees in some cases. If you use full pose you can try to increase the std for the quaternion (parameter locSrv.extQuatStdDev, see https://www.bitcraze.io/documentation/r ... ms/#locsrv ) a bit.

How often do you push the position from the mocap system to the Crazyflies?
tatsuya1172
Beginner
Posts: 3
Joined: Fri Apr 01, 2022 2:09 am

Re: Cannot fly more than three vehicles using an external positioning system.

Post by tatsuya1172 »

Thanks for the reply.

As for the battery, a new battery has been arranged.

I don't know if it's the full pose or the position, I'll get back to you as soon as I know.

The frequency of transmission is 0.5 Hz cycles.
kristoffer
Bitcraze
Posts: 630
Joined: Tue Jun 30, 2015 7:47 am

Re: Cannot fly more than three vehicles using an external positioning system.

Post by kristoffer »

The frequency of transmission is 0.5 Hz cycles.
This sounds a bit low to send mocap position to the Crazyflies at 0.5 Hz, you could try to increase it to around 5 Hz to see if it works better.
The CF can manage to fly for a while using only internal sensors, but 2 seconds is quite long, the risk is that it has drifted away some distance and when you push in the next mocap position to the kalman filter you get a bit of a "jump".
tatsuya1172
Beginner
Posts: 3
Joined: Fri Apr 01, 2022 2:09 am

Re: Cannot fly more than three vehicles using an external positioning system.

Post by tatsuya1172 »

Thank you for your reply.

The transmission from motion capture to the drone was full pause.

We also conducted an experiment based on the advice.
The result looks like this.
https://youtu.be/LHofqV2rN00
This experiment is transmitted at 1Hz. (At around 5Hz, the drone could not be controlled well.)

I thought about some of the causes of the experiment.

1. Information transmission frequency
2. Drone battery
3. Ground effect
4. Individual differences in drones

Is this idea correct?
kristoffer
Bitcraze
Posts: 630
Joined: Tue Jun 30, 2015 7:47 am

Re: Cannot fly more than three vehicles using an external positioning system.

Post by kristoffer »

I think your list of potential problems is pretty good.

You could possibly also check if there is any noise in the position you get from the mocap system (OptiTrack). This us usually not a problem but better to be safe than sorry :-) If the signal is a bit noisy you can increase the standard deviation for the data pushed to the EKF, using the locSrv.extPosStdDev parameter.
Post Reply