TUDelft-CNS-ATM / bluesky

The open source air traffic simulator
GNU General Public License v3.0
342 stars 239 forks source link

Improved turning #470

Open andubadea opened 1 year ago

andubadea commented 1 year ago

The commits included in this pull request serve to improve the turning logic within BlueSky.

A turn can be described using the following two equations:

image

Where:

image

If two of these variables are known (except the gravitational acceleration), then the other two can be determined. Thus, the "calcturn" function within bs.traf.actwp has been modified to calculate the turn parameters in function of which two variables are known. If only one variable is known, it will assume that the turn velocity remains unchanged, unless the turn velocity is the modified one, then it assumes the default bank angle of the aircraft. If none are defined, then it assumes both the default bank angle and that the velocity remains unchanged.

The following commands were added and/or modified: ADDWPTMODE (or ADDWPT) now accepts the following ways to set turn properties: TURNRADIUS (TURNRAD), TURNSPEED (TURNSPD), TURNHDGRATE (TURNHDGR, TURNHDG) and TURNBANK (TURNPHI). It will also only keep the last two defined ones only, and revert the previously set ones to default.

CRUISESPD is a command to set the default cruise speed of an aircraft. Previously, after a turn, an aircraft would keep the speed with which it performed the turn unless an explicit speed command was given. If the next waypoint had a speed constraint, it would only match that at the last possible moment before reaching that waypoint. This command can be used to set the speed the aircraft will adopt after a turn is performed.