diff --git a/src/dynamic_graph/sot/dynamics/humanoid_robot.py b/src/dynamic_graph/sot/dynamics/humanoid_robot.py index 8a805ae07949f245f9c5791315eb77a198ef8e4e..16fd1f8ad811de9b07be63d88cc4808d55ad2689 100755 --- a/src/dynamic_graph/sot/dynamics/humanoid_robot.py +++ b/src/dynamic_graph/sot/dynamics/humanoid_robot.py @@ -36,15 +36,28 @@ I4 = reduce(lambda m, i: m + (i*(0.,)+(1.,)+ (3-i)*(0.,),), range(4), ()) class AbstractHumanoidRobot (object): """ This class instantiates all the entities required to get a consistent - representation of a humanoid robot: + representation of a humanoid robot, mainly: + - device : to integrate velocities into angular control, + - dynamic: to compute forward geometry and kinematics, + - zmpFromForces: to compute ZMP force foot force sensors, + - stabilizer: to stabilize balanced motions - - robot model + Operational points are stored into 'OperationalPoints' list. Some of them + are also accessible directly as attributes: + - leftWrist, + - rightWrist, + - leftAnkle, + - rightAnkle, + - Gaze. - - angleEstimator used to link the two robot models + Tasks are stored into 'tasks' dictionary. + + For portability, some signals are accessible as attributes: + - zmpRef: input (vector), + - comRef: input (vector). + - com: output (vector) + - comSelec input (flag) - - usual features and tasks for a robot: - - center of mass - - one task per operational point """ OperationalPoints = ['left-wrist', 'right-wrist', @@ -172,6 +185,9 @@ class AbstractHumanoidRobot (object): """ timeStep = 0.005 + def help (self): + print (AbstractHumanoidRobot.__doc__) + def loadModelFromKxml(self, name, filename): """ Load a model from a kxml file and return the parsed model.