An exoskeleton for applying force to at least one lower limb of a user, comprising: a hip segment (110); a thigh segment (108) coupled to the hip segment by a powered joint (102); a plurality of sensors associated with the lower limb; and a control system comprising: a sensor interface for receiving sensor signals; a power interface for transmitting control signals to the at least one powered joint; a processor communicatively coupled to the sensor interface and the power interface; and a computer-readable medium having stored thereon a computer program executable on the processor, the computer program comprising a plurality of code sections for: estimating a configuration of a body of the user associated with the exoskeleton with respect to a gravity vector based on the sensor signals at the sensor interface; computing a first control torque for the at least one powered joint that at least partially compensates gravitational dynamics of the user based on the configuration; calculating a gravitational energy gradient for the at least one powered joint; attenuating the first control torque based at least on the gravitational energy gradient to yield a second control torque; computing a final control torque based, at least in part, on the second control torque, and configuring the control signals at the power interface to cause the final control torque to be applied at the at least one powered joint.