Swarm with LPS and Polynomial Trajectory

Discussions about autonomous flight in general, regardless of positioning method
Post Reply
gabrielalima
Beginner
Posts: 9
Joined: Thu Jan 24, 2019 12:15 pm

Swarm with LPS and Polynomial Trajectory

Post by gabrielalima » Tue Sep 24, 2019 12:32 am

Hi,

I need an opinion ...

I implemented a swarm with 2 CF 2.0, 8 LPS anchors (TDoA 3) and polynomial trajectory.

When selecting aircraft order:
uris = {
URI1,
URI2,
}

I notice that the performance of URI1 is always better than URI2. Independent of the aircraft, the trajectory, the Crazyradio. But shouldn't they run in parallel and behave more or less similarly?

I am using two Crazyradios:
URI2 = 'radio: // 0/82 / 2M'
URI1 = 'radio: // 1/81 / 2M'

I have attached two images.
Trajectory on the X axis: URI1 and URI2. Notice how the second's performance is worse ...

URI1
Drone URI1.png
Drone URI1.png (11.69 KiB) Viewed 281 times
URI2
URI2.png
Any idea why this occurs?

I expected better swarm performance. It is visible that the flight of both aircraft worsens in swarm, but the URI2 even more.

Gabriela



kristoffer
Bitcraze
Posts: 117
Joined: Tue Jun 30, 2015 7:47 am

Re: Swarm with LPS and Polynomial Trajectory

Post by kristoffer » Tue Sep 24, 2019 7:56 am

This is interesting (and unexpected)!

I assume you are running from python using the Swarm class and the high level commander?
You mention that you use polynomial trajectories so that should mean that you upload the trajectories and essentially just send the start command?

Is there a lot of other communication going on, such as logging?

I'm not sure what is happening but it can be related to radio interference. The Crazyflie radio and LPS are affecting each other and transmissions from the radio on the Crazyflie will induce noise in the LPS receiver and degrade performance a bit. For this reason it is good to reduce transmission from the Crazyflie as much as possible.

1. The radio channels you are using (81 and 82) are very close and will most likely interfere with each other, cause retransmissions and unnecessary radio noise. One interesting experiment would be to separate them a bit, for instance chan 80 and 90 to see if it makes any difference.
2. If you have a lot of logging from the Crazyflie you could try to turn it off to see if that has an effect.

I don't see how radio interference would explain why URI2 behaves worse than URI1 though. You could try to swap the radio channels in your code to see if the lower performance is related to the radio frequency or the order in the program.

The connections run in parallel and this is implemented using python's threading. Python threading has some limitations but I don't see that it would cause this type of problems.

gabrielalima
Beginner
Posts: 9
Joined: Thu Jan 24, 2019 12:15 pm

Re: Swarm with LPS and Polynomial Trajectory

Post by gabrielalima » Wed Oct 09, 2019 3:33 pm

Hi Kristoffer,

"I assume you are running from python using the Swarm class and the high level commander?
You mention that you use polynomial trajectories so that should mean that you upload the trajectories and essentially just send the start command?" - Yes!!!

There is a lot of communication going on, I am reading twelve state variables.

I separated the channels (80 and 90), and apparently problem solved.

I also came out of an environment that could have a lot of wifi interference, although I don't think this was the cause of that problem.

Thanks

Post Reply