Systems and methods for controlling walking robots
In one embodiment, a walking robot includes a robot body, multiple legs attached to and extending from the body, at least one leg including a pivot joint having an initial zero position and a foot that is adapted to contact a ground surface, wherein force applied to the foot because of contact with the ground causes the leg to pivot about the pivot joint, and an angular position sensor associated with the pivot joint and configured to measure a pivot angle through which the leg has pivoted about the pivot joint, the angle being related to the force applied to the foot.
1. A method for controlling a walking robot, the method comprising:
providing a walking robot having multiple legs, each leg including a pivot joint having an initial zero position, a foot adapted to contact a ground surface, and an angular position sensor associated with the pivot joint;
the angular position sensors individually measuring for each leg a current pivot angle for the leg;
individually determining for each leg from the measured pivot angles a current magnitude of foot force;
individually determining for each leg a current magnitude of foot depression; and
individually determining for each leg how to manipulate the leg depending upon the determined foot force and foot depression magnitudes.
2. The method of claim 1 , wherein individually determining for each leg from the measured pivot angles a current magnitude of foot force comprises calculating the foot force based upon the measured angle and a spring constant of a spring that opposes pivoting of the pivot joint.
3. The method of claim 1 , wherein individually determining for each leg of the robot how to manipulate the leg comprises determining for each leg how to elevate or depress the foot to maintain a minimum level of foot force necessary to stabilize the robot.
4. A control apparatus for controlling a walking robot, the control apparatus comprising:
angular position sensors configured to measure pivot angles through which legs of the walking robot pivot;
a force threshold-based position (FTP) controller for controlling the legs of the walking robot, the controller comprising a non-transitory computer-readable medium that stores an FTP algorithm configured to:
receive from the angular position sensors pivot angles measured for the legs;
individually determine for each leg from the measured pivot angles a current magnitude of foot force,
individually determine for each leg a current magnitude of foot depression, and
individually determine for each leg of the robot how to manipulate the leg depending upon the determined foot force and foot depression magnitudes.
5. The controller of claim 4 , wherein individually determining for each leg from the measured pivot angles the current magnitude of foot force comprises calculating the foot force based upon the measured angle and a spring constant of a spring that opposes pivoting of the pivot joint.
6. The controller of claim 4 , wherein individually determining for each leg of the robot how to manipulate the leg comprises determining for each leg how to elevate or depress the foot to maintain at least a minimum level of foot force necessary to stabilize the robot.
7. A walking robot comprising:
a robot body;
multiple legs attached to and extending from the body, at least one leg including a pivot joint having an initial zero position and a foot that is adapted to contact a ground surface, wherein force applied to the foot because of contact with the ground causes the at least one leg to pivot about the pivot joint;
an angular position sensor associated with the pivot joint and configured to measure a pivot angle through which the at least one leg has pivoted about the pivot joint, the angle being related to the force applied to the foot; and
a force threshold-based position (FTP) controller configured to determine the force applied to the foot using the measured pivot angle.
8. The robot of claim 7 , wherein each leg includes a pivot joint and an angular position sensor configured to measure an angle through which the leg has pivoted about the pivot joint.
9. The robot of claim 7 , wherein the pivot joint comprises a motorized actuator.
10. The robot of claim 7 , wherein the pivot joint is a simple pivot joint comprising no motorized actuator.
11. The robot of claim 10 , wherein the pivot joint comprises a biasing element that biases the at least one leg to toward the zero position.
12. The robot of claim 11 , wherein the biasing element comprises a spring.
13. The robot of claim 7 , wherein the at least one leg comprises multiple leg segments, each leg segment being connected to an adjacent leg segment with a joint.
14. The robot of claim 13 , wherein at least one of the joints comprises a motorized actuator.
15. The robot of claim 7 , wherein the FTP controller is configured to calculate the force using the measured pivot angle and a spring constant of a spring that that opposes pivoting of the pivot joint.
16. The robot of claim 7 , wherein the FTP controller is further configured to determine how to manipulate the at least one leg based on the determined force and a current magnitude of foot depression.
17. The robot of claim 7 , wherein the FTP controller is configured to determine how to elevate or further depress the foot based on the determined force and a current magnitude of foot depression.