A method for performing powered descent landing with uncertainty in a current state of a lander, the method uses a memory configured to store a list of desired landing locations on a landing surface, and a plurality of controllable sets determined for different amounts of fuel remaining in the lander and a desired time of descent to the landing surface, wherein each controllable set is a polytope defining a volume of states of the lander symmetric around a vertical axis perpendicular to the landing surface with a hover point located on the vertical axis at a predetermined distance above the landing surface as a vertex, and wherein each state includes a location and a velocity of the lander, the method comprising:
- selecting a controllable set from the plurality of controllable sets based on a current amount of fuel remaining in the lander and the desired time of descent;
- shifting the selected controllable set along a horizontal axis to place the hover point above a landing location selected from the list of desired landing locations;
- checking if a current state of the lander lies within the selected controllable set;
- generating a trajectory from the current state of the lander to the hover point of the shifted controllable set if the current state of the lander lies within the selected controllable set;
- and
- controlling the lander according to the trajectory to navigate the lander to the hover point.