A method of controlling a vertical take-off aircraft having vectorable propulsion (30, 32), the method comprising: determining a flight trajectory for the aircraft, the flight trajectory comprising a coordinate system comprising series of positions from a notional origin in the horizontal and vertical, characterised in that the method comprises: receiving one or more aircraft flight constraints; inputting the aircraft flight constraints to a trajectory planning algorithm comprising a cost function algorithm which comprises a plurality of computed trajectories and a total energy consumed by one or more propulsors (30, 32) for each computed trajectory, to determine a minimum energy aircraft transition trajectory; and outputting a control schedule to fly the aircraft to the flight trajectory; wherein the trajectory planning algorithm comprises an aircraft flight model which relates a state and aircraft flight control inputs ( δ) including propulsor thrust to a future aircraft state ( Ẋ), and the method comprises integrating the total propulsion power over the computed the trajectory, to give total energy consumed to determine an energy cost of the corresponding computed trajectory; and flying, by an aircraft flight trajectory controller configured to output one or more dynamic commands including at least a height command and a forward velocity command, and a flight controller configured to translate the dynamic commands into flight actuator commands, the aircraft to the determined flight trajectory using data from aircraft position sensors and attitude sensors. determining a flight trajectory for the aircraft, the flight trajectory comprising a coordinate system comprising series of positions from a notional origin in the horizontal and vertical, characterised in that the method comprises: receiving one or more aircraft flight constraints; inputting the aircraft flight constraints to a trajectory planning algorithm comprising a cost function algorithm which comprises a plurality of computed trajectories and a total energy consumed by one or more propulsors (30, 32) for each computed trajectory, to determine a minimum energy aircraft transition trajectory; and outputting a control schedule to fly the aircraft to the flight trajectory; wherein the trajectory planning algorithm comprises an aircraft flight model which relates a state and aircraft flight control inputs ( δ) including propulsor thrust to a future aircraft state ( Ẋ), and the method comprises integrating the total propulsion power over the computed the trajectory, to give total energy consumed to determine an energy cost of the corresponding computed trajectory; and receiving one or more aircraft flight constraints; inputting the aircraft flight constraints to a trajectory planning algorithm comprising a cost function algorithm which comprises a plurality of computed trajectories and a total energy consumed by one or more propulsors (30, 32) for each computed trajectory, to determine a minimum energy aircraft transition trajectory; and outputting a control schedule to fly the aircraft to the flight trajectory; wherein the trajectory planning algorithm comprises an aircraft flight model which relates a state and aircraft flight control inputs ( δ) including propulsor thrust to a future aircraft state ( Ẋ), and the method comprises integrating the total propulsion power over the computed the trajectory, to give total energy consumed to determine an energy cost of the corresponding computed trajectory; and flying, by an aircraft flight trajectory controller configured to output one or more dynamic commands including at least a height command and a forward velocity command, and a flight controller configured to translate the dynamic commands into flight actuator commands, the aircraft to the determined flight trajectory using data from aircraft position sensors and attitude sensors.