An exoskeleton comprising: a first support configured to be coupled to a wearer of the exoskeleton; a second support configured to be coupled to the wearer; a joint connecting the first and second supports (405, 403), wherein the joint is configured to allow relative rotation between the first and second supports (405, 403); and an actuator configured to cause relative rotation between the first and second supports at the joint, the actuator including: a motor; a ball screw coupled to the motor; a ball nut coupled to the ball screw; and a yoke coupled to the ball nut, wherein the motor is configured to cause rotation of the ball screw, the ball screw is configured to cause translation of the ball nut along the ball screw during rotation of the ball screw, and the ball nut is configured to cause translation of the yoke during translation of the ball nut; and a linkage coupled to the yoke, and a joint crank coupled to the linkage, wherein the yoke is attached to the ball nut and is configured to act as a translation slider to cause movement of the linkage during translation of the yoke, and the joint crank is configured such that movement of the linkage causes rotation of the joint crank about the joint, thereby causing relative rotation between the first and second supports at the joint. a first support configured to be coupled to a wearer of the exoskeleton; a second support configured to be coupled to the wearer; a joint connecting the first and second supports (405, 403), wherein the joint is configured to allow relative rotation between the first and second supports (405, 403); and an actuator configured to cause relative rotation between the first and second supports at the joint, the actuator including: a motor; a ball screw coupled to the motor; a ball nut coupled to the ball screw; and a yoke coupled to the ball nut, wherein the motor is configured to cause rotation of the ball screw, the ball screw is configured to cause translation of the ball nut along the ball screw during rotation of the ball screw, and the ball nut is configured to cause translation of the yoke during translation of the ball nut; and a linkage coupled to the yoke, and a joint crank coupled to the linkage, wherein the yoke is attached to the ball nut and is configured to act as a translation slider to cause movement of the linkage during translation of the yoke, and the joint crank is configured such that movement of the linkage causes rotation of the joint crank about the joint, thereby causing relative rotation between the first and second supports at the joint. a motor; a ball screw coupled to the motor; a ball nut coupled to the ball screw; and a yoke coupled to the ball nut, wherein the motor is configured to cause rotation of the ball screw, the ball screw is configured to cause translation of the ball nut along the ball screw during rotation of the ball screw, and the ball nut is configured to cause translation of the yoke during translation of the ball nut; and a linkage coupled to the yoke, and a joint crank coupled to the linkage, wherein the yoke is attached to the ball nut and is configured to act as a translation slider to cause movement of the linkage during translation of the yoke, and the joint crank is configured such that movement of the linkage causes rotation of the joint crank about the joint, thereby causing relative rotation between the first and second supports at the joint.