An exoskeleton for applying force to at least one lower limb of a user includes a control system with a sensor interface for sensor signals; a power interface for transmitting control signals to the powered joint; a processor coupled to the sensor and the power interfaces; and a computer-readable medium storing a computer program executable on the processor with code sections for: estimating a configuration of a body of the user with respect to a gravity vector based on the sensor signals; computing a control torque for the powered joint that compensates gravitational dynamics of the user based on the configuration; calculating a gravitational energy gradient for the powered joint; attenuating the control torque based on the gravitational energy gradient; computing a final control torque based on the attenuated control torque, and configuring the control signals based on the attenuated control torque.