1. A computer-implemented method for predicting a fall of a robot having at least two legs, the method comprising: generating a learned representation using a supervised learning algorithm, the learned representation taking as inputs a plurality of features of a robot, the learned representation having as an output a classification comprising an indication of a balanced state or a falling state, wherein generating the learned representation using the supervised learning algorithm comprises steps of: applying a plurality of simulated force impulses to a simulation of the robot, the force impulses varying in magnitude of force and direction of application; recording a plurality of trajectories generated from the motions of the robot after application of the plurality of simulated force impulses, each trajectory comprising a plurality of instances, each instance comprising a plurality of features describing the state of the robot at the particular instance; classifying, by a processing device, each instance as a balanced instance or as a falling instance based on whether the trajectory containing the instance ends in a fallen state; and processing the features and classification of each instance with the supervised learning algorithm to generate the learned representation; determining a plurality of features of a current state of the robot, the determining based at least in part on a current value of a joint angle or joint velocity of the robot; and classifying the current state of the robot as being either balanced or falling, the classifying performed by evaluating the learned representation with the plurality of features of the current state of the robot.