Jump to content
  • Advertisement
Sign in to follow this  
Vortex_Asura

Holding Flight Formation While Turning

This topic is 2622 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi guys.
Unfortunately, I seem to lack some basic maths/physics knowledge to solve this problem on my own.
Let's take the simple case of having three airplanes, one in the front/center and two at the back/sides.
They need to fly from point A to B in a 2d space (the formation always flies paralell to the ground) while always holding their formation.
What I need is a function that tells me for any point in time what the position of the three planes in a 2dimensional coordinate system should be.

Here are some drawings I made in Paint while trying to figure it out on my own:
1) I'm trying to move the formation from the orange center x A to the orange center x B.
Comparing the slopes of the light green lines seems to be a way for finding out how many degrees to turn the entire formation.
2) There seems to be a minimal travel distance to arrive in the same formation at point B.
However, if they fly in straight lines, they'll break their formation in between.
3) So I guess, there's also a second aspect of the movement, which is a rotation around the axis of the plane that would have to fly the shortest distance.
4) Somehow I need to "multiply" these two motions together. How does this work, mathematically?
5) Finally, I'd also need to know how to calculate the lengths of these final curves. If the planes have different max speeds, then the "faster" ones would have to adjust their speeds so the travel times of all 3 planes stay the same.
6) What if the planes don't fly at max speed yet, but are still accelerating at different rates during the motion? Is there a neat way to factor that into the equation?

formation0skbo.png


I'm assuming the math doesn't change if you add more planes or let them fly in wackier formations, as long as those formations are static, right?
And while I don't actually need the math for the full 3d space, I'd still be curious to see the solution to that too, if anybody cares. ^^

Special thanks to whoever manages to solve this for me. ^^

Edit: Wouldn't it be more efficient to rotate around the axis of the plane flying the longest distance? Why does that look so strange though when I try that with my paper triangle? Is it just me? Somehow that seems unnatural, probably because if the formation would have been flying straight ahead, then it's practically impossible to translate into that motion? Am I thinking about this problem the wrong way? Yes, most certainly because a rotation around the plane that travels the shortest distance is equally impossible to fly. Dang it... It seems the movement speed prior to the turn/rotation is also quite important. :/

Share this post


Link to post
Share on other sites
Advertisement
here is a solution:

each particle is on it's own with steering behavior to get to a "target destination"

you store a formation according to which particles are in that formation, and the ideal or target points for particles.

when you want the formation to change around, simply change the target points, and have your particles try to reach the position

This way of managing make it easier to change formations and move around etc.

Share this post


Link to post
Share on other sites
I guess there's actually three (not just two) components that make up the final motion: travelling the actual distance, rotation around the center (or any other point?) and an inertia component (you can't just instantly turn).
Bézier curves look very useful for this, thanks! However, I have no clue how to calculate which points to use. The first point would probably go into the movement direction before the turn with a distance proportional to the movement speed. But I have absolutely no clue where to go from there.

If I ignore inertia, it should be relatively simple in theory. Just try to move the whole formation without rotating along a straight line, like this:
formationm8kh4.png
For each percentage of the total way, you also have to rotate around the orange X (or something else?) by that same percentage of the total rotation.
But the thing is, I have to watch out that no plane flies faster than its max speed during the process, so I really need a way of mathematically combining those two motions into one anyway to calculate the length of those curves.

Sorry if I'm totally off. I'm just not able to wrap my head around this.

Share this post


Link to post
Share on other sites
Your formation has a position and an angle. In math-speak, it's an element of SE(2). What you want to do is just interpolate elements of SE(2) to produce "nominal" points where the aircraft should all be, and then have feedback controllers that always try to get the robots to reach those positions. In robotics, this is called the "virtual structure" approach to formation control. See e.g.,

http://vger.aa.washington.edu/publications/Lalish-06CDC-distribute.pdf

and others with similar keywords...

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!