Public Member Functions | Public Attributes | Private Member Functions | List of all members
dynamic_pinocchio.humanoid_robot.AbstractRobot Class Reference
Inheritance diagram for dynamic_pinocchio.humanoid_robot.AbstractRobot:
Inheritance graph
[legend]

Public Member Functions

def __del__ (self)
 
def __init__ (self, name, tracer=None)
 
def addTrace (self, entityName, signalName)
 
def createFrame (self, frameName, transformation, operationalPoint)
 
def defineHalfSitting (self, q)
 
def getActuatedJoints (self)
 
def help (self)
 
def initializeOpPoints (self)
 
def initializeRobot (self)
 
def initializeTracer (self)
 
def loadModelFromString (self, urdfString, rootJointType=pinocchio.JointModelFreeFlyer, removeMimicJoints=True)
 
def loadModelFromUrdf (self, urdfPath, urdfDir=None, rootJointType=pinocchio.JointModelFreeFlyer, removeMimicJoints=True)
 
def removeJoints (self, joints)
 
def reset (self, posture=None)
 
def setJointValueInConfig (self, q, jointNames, jointValues)
 
def startTracer (self)
 
def stopTracer (self)
 
def traceDefaultSignals (self)
 

Public Attributes

 accelerationDerivator
 
 AdditionalFrames
 
 autoRecomputedSignals
 
 device
 
 enableAccelerationDerivator
 
 enableVelocityDerivator
 
 enableZmpComputation
 
 frames
 
 halfSitting
 
 name
 
 OperationalPoints
 
 pinocchioData
 
 pinocchioModel
 
 rootJointType
 
 timeStep
 
 tracedSignals
 
 tracer
 
 tracerSize
 
 velocityDerivator
 

Private Member Functions

def _initialize (self)
 
def _removeMimicJoints (self, urdfFile=None, urdfString=None)
 
def _storeRootJointType (self, rootJointType)
 

Detailed Description

This class instantiates all the entities required to get a consistent
representation of a 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

Operational points are stored into 'OperationalPoints' list. Some of them
are also accessible directly as attributes:
  - leftWrist,
  - rightWrist,
  - leftAnkle,
  - rightAnkle,
  - Gaze.

Operational points are mapped to the actual joints in the robot model
via 'OperationalPointsMap' dictionary.
This attribute *must* be defined in the subclasses

Other attributes require to be defined:
    - halfSitting: half-sitting position is the robot initial pose.
        This attribute *must* be defined in subclasses.

    - dynamic: The robot dynamic model.

    - device: The device that integrates the dynamic equation, namely
        the real robot or
        a simulator

    - dimension: The configuration size.

Definition at line 26 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

Constructor & Destructor Documentation

◆ __init__()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.__init__ (   self,
  name,
  tracer = None 
)

◆ __del__()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.__del__ (   self)

Member Function Documentation

◆ _initialize()

def dynamic_pinocchio.humanoid_robot.AbstractRobot._initialize (   self)
private

◆ _removeMimicJoints()

def dynamic_pinocchio.humanoid_robot.AbstractRobot._removeMimicJoints (   self,
  urdfFile = None,
  urdfString = None 
)
private
Parse the URDF, extract the mimic joints and call removeJoints.

Definition at line 139 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ _storeRootJointType()

def dynamic_pinocchio.humanoid_robot.AbstractRobot._storeRootJointType (   self,
  rootJointType 
)
private

◆ addTrace()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.addTrace (   self,
  entityName,
  signalName 
)

◆ createFrame()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.createFrame (   self,
  frameName,
  transformation,
  operationalPoint 
)

◆ defineHalfSitting()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.defineHalfSitting (   self,
  q 
)
Define half sitting configuration using the pinocchio Model (i.e.
with quaternions and not with euler angles).

method setJointValueInConfig may be usefull to implement this function.

Definition at line 284 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ getActuatedJoints()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.getActuatedJoints (   self)
Return the list of indices in the velocity vector of actuated
joints.

This method is particularly useful to define a posture task where only
the actuated joints are controlled.

Definition at line 471 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ help()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.help (   self)

◆ initializeOpPoints()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.initializeOpPoints (   self)

◆ initializeRobot()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.initializeRobot (   self)
If the robot model is correctly loaded, this method will then
initialize the operational points, set the position to
half-sitting with null velocity/acceleration.

To finish, different tasks are initialized:
- the center of mass task used to keep the robot stability
- one task per operational point to ease robot control

Definition at line 293 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ initializeTracer()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.initializeTracer (   self)

◆ loadModelFromString()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.loadModelFromString (   self,
  urdfString,
  rootJointType = pinocchio.JointModelFreeFlyer,
  removeMimicJoints = True 
)
Load a URDF model contained in a string
- param rootJointType: the root joint type. None for no root joint.
- param removeMimicJoints: if True, all the mimic joints found in the model
  are removed.

Definition at line 192 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ loadModelFromUrdf()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.loadModelFromUrdf (   self,
  urdfPath,
  urdfDir = None,
  rootJointType = pinocchio.JointModelFreeFlyer,
  removeMimicJoints = True 
)
Load a model using the pinocchio urdf parser. This parser looks
for urdf files in which kinematics and dynamics information
have been added.
- param urdfPath: a path to the URDF file.
- param urdfDir: A list of directories. If None, will use ROS_PACKAGE_PATH.

Definition at line 214 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ removeJoints()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.removeJoints (   self,
  joints 
)
- param joints: a list of joint names to be removed from the self.pinocchioModel

Definition at line 177 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ reset()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.reset (   self,
  posture = None 
)
Restart the control from another position.

This method has not been extensively tested and
should be used carefully.

In particular, tasks should be removed from the
solver before attempting a reset.

Definition at line 446 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ setJointValueInConfig()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.setJointValueInConfig (   self,
  q,
  jointNames,
  jointValues 
)
q: configuration to update
jointNames: list of existing joint names in self.pinocchioModel
jointValues: corresponding joint values.

Definition at line 271 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ startTracer()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.startTracer (   self)
Start the tracer if it does not already been stopped.

Definition at line 426 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ stopTracer()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.stopTracer (   self)
Stop and destroy tracer.

Definition at line 433 of file src/dynamic_graph/sot/dynamic_pinocchio/humanoid_robot.py.

◆ traceDefaultSignals()

def dynamic_pinocchio.humanoid_robot.AbstractRobot.traceDefaultSignals (   self)

Member Data Documentation

◆ accelerationDerivator

dynamic_pinocchio.humanoid_robot.AbstractRobot.accelerationDerivator

◆ AdditionalFrames

dynamic_pinocchio.humanoid_robot.AbstractRobot.AdditionalFrames

◆ autoRecomputedSignals

dynamic_pinocchio.humanoid_robot.AbstractRobot.autoRecomputedSignals

◆ device

dynamic_pinocchio.humanoid_robot.AbstractRobot.device

◆ enableAccelerationDerivator

dynamic_pinocchio.humanoid_robot.AbstractRobot.enableAccelerationDerivator

◆ enableVelocityDerivator

dynamic_pinocchio.humanoid_robot.AbstractRobot.enableVelocityDerivator

◆ enableZmpComputation

dynamic_pinocchio.humanoid_robot.AbstractRobot.enableZmpComputation

◆ frames

dynamic_pinocchio.humanoid_robot.AbstractRobot.frames

◆ halfSitting

dynamic_pinocchio.humanoid_robot.AbstractRobot.halfSitting

◆ name

dynamic_pinocchio.humanoid_robot.AbstractRobot.name

◆ OperationalPoints

dynamic_pinocchio.humanoid_robot.AbstractRobot.OperationalPoints

◆ pinocchioData

dynamic_pinocchio.humanoid_robot.AbstractRobot.pinocchioData

◆ pinocchioModel

dynamic_pinocchio.humanoid_robot.AbstractRobot.pinocchioModel

◆ rootJointType

dynamic_pinocchio.humanoid_robot.AbstractRobot.rootJointType

◆ timeStep

dynamic_pinocchio.humanoid_robot.AbstractRobot.timeStep

◆ tracedSignals

dynamic_pinocchio.humanoid_robot.AbstractRobot.tracedSignals

◆ tracer

dynamic_pinocchio.humanoid_robot.AbstractRobot.tracer

◆ tracerSize

dynamic_pinocchio.humanoid_robot.AbstractRobot.tracerSize

◆ velocityDerivator

dynamic_pinocchio.humanoid_robot.AbstractRobot.velocityDerivator

The documentation for this class was generated from the following file:


sot-dynamic-pinocchio
Author(s): Olivier Stasse
autogenerated on Fri Jul 28 2023 02:10:01