Basic RT components and utilities  315.12.1
Public Member Functions | Public Attributes | Static Public Attributes
python.hrpsys_config.HrpsysConfigurator Class Reference

List of all members.

Public Member Functions

def connectComps
 Connect components(plugins)
def activateComps
 Activate components(plugins)
def deactivateComps
 Deactivate components(plugins)
def createComp
 Create RTC component (plugins)
def createComps
 Create components(plugins) in getRTCList()
def deleteComp
 Delete RTC component (plugins)
def deleteComps
 Delete components(plugins) in getRTCInstanceList()
def findComp
 Find component(plugin)
def findComps
 Check if all components in getRTCList() are created.
def getRTCList
 Get list of available STABLE components.
def getRTCListUnstable
 Get list of available components including stable and unstable.
def getJointAngleControllerList
 Get list of controller list that need to control joint angles.
def getRTCInstanceList
 Get list of RTC Instance.
def parseUrl
def getBodyInfo
 Get bodyInfo.
def getSensors
 Get list of sensors.
def getForceSensorNames
 Get list of force sensor names.
def connectLoggerPort
 Connect port to logger.
def setupLogger
 Setup logging function.
def waitForRTCManager
 Wait for RTC manager.
def waitForRobotHardware
 Wait for RobotHardware is exists and activated.
def checkSimulationMode
 Check if this is running as simulation.
def waitForRTCManagerAndRoboHardware
def waitForRTCManagerAndRobotHardware
 Wait for both RTC Manager (waitForRTCManager()) and RobotHardware (waitForRobotHardware())
def findModelLoader
 Try to find ModelLoader.
def waitForModelLoader
 Wait for ModelLoader.
def setSelfGroups
 Set to the hrpsys.SequencePlayer the groups of links and joints that are statically defined as member variables (Groups) within this class.
def goActual
 Adjust commanded values to the angles in the physical state by calling StateHolder::goActual.
def setJointAngle
 Set angle to the given joint.
def setJointAngles
 Set all joint angles.
def setJointAnglesOfGroup
 Set the joint angles to aim.
def setJointAnglesSequence
 Set all joint angles.
def setJointAnglesSequenceOfGroup
 Set all joint angles.
def loadPattern
 Load a pattern file that is created offline.
def waitInterpolation
 Lets SequencePlayer wait until the movement currently happening to finish.
def waitInterpolationOfGroup
 Lets SequencePlayer wait until the movement currently happening to finish.
def setInterpolationMode
 Set interpolation mode.
def getJointAngles
 Returns the commanded joint angle values.
def getCurrentPose
 Returns the current physical pose of the specified joint in the joint space.
def getCurrentPosition
 Returns the current physical position of the specified joint in Cartesian space.
def getCurrentRotation
 Returns the current physical rotation of the specified joint.
def getCurrentRPY
 Returns the current physical rotation in RPY of the specified joint.
def getReferencePose
 Returns the current commanded pose of the specified joint in the joint space.
def getReferencePosition
 Returns the current commanded position of the specified joint in Cartesian space.
def getReferenceRotation
 Returns the current commanded rotation of the specified joint.
def getReferenceRPY
 Returns the current commanded rotation in RPY of the specified joint.
def setTargetPose
 Move the end-effector to the given absolute pose.
def setTargetPoseRelative
 Move the end-effector's location relative to its current pose.
def clear
 Clears the Sequencer's current operation.
def clearOfGroup
 Clears the Sequencer's current operation for joint groups.
def saveLog
 Save log to the given file name.
def clearLog
 Clear logger's buffer.
def setMaxLogLength
 Set logger's buffer.
def lengthDigitalInput
 Returns the length of digital input port.
def lengthDigitalOutput
 Returns the length of digital output port.
def writeDigitalOutput
 Using writeDigitalOutputWithMask is recommended for the less data transport.
def writeDigitalOutputWithMask
 Both dout and mask are lists with length of 32.
def readDigitalInput
 Read data from Digital Input.
def readDigitalOutput
 Read data from Digital Output.
def getActualState
 Get actual states of the robot that includes current reference joint angles and joint torques.
def isCalibDone
 Check whether joints have been calibrated.
def isServoOn
 Check whether servo control has been turned on.
def flat2Groups
 Convert list of angles into list of joint list for each groups.
def servoOn
 Turn on servos.
def servoOff
 Turn off servos.
def checkEncoders
 Run the encoder checking sequence for specified joints, run goActual and turn on servos.
def removeForceSensorOffset
 remove force sensor offset
def playPattern
 Play motion pattern using a given trajectory that is represented by a list of joint angles, rpy, zmp and time.
def playPatternOfGroup
 Play motion pattern using a given trajectory that is represented by a list of joint angles.
def setSensorCalibrationJointAngles
 Set joint angles for sensor calibration.
def calibrateInertiaSensor
 Calibrate inertia sensor.
def calibrateInertiaSensorWithDialog
 Calibrate inertia sensor with dialog and setting calibration pose.
def startAutoBalancer
 Start AutoBalancer mode.
def stopAutoBalancer
 Stop AutoBalancer mode.
def startStabilizer
 Start Stabilzier mode.
def stopStabilizer
 Stop Stabilzier mode.
def startImpedance_315_4
 start impedance mode
def stopImpedance_315_4
 stop impedance mode
def startImpedance
def stopImpedance
def startDefaultUnstableControllers
 Start default unstable RTCs controller mode.
def stopDefaultUnstableControllers
 Stop default unstable RTCs controller mode.
def setFootSteps
 setFootSteps
def setFootStepsWithParam
 setFootSteps
def clearJointAngles
 Cancels the commanded sequence of joint angle, by overwriting the command by the values of instant the method was invoked.
def clearJointAnglesOfGroup
 Cancels the commanded sequence of joint angle for the specified joint group, by overwriting the command by the values of instant the method was invoked.
def init
 Calls init from its superclass, which tries to connect RTCManager, looks for ModelLoader, and starts necessary RTC components.
def __init__

Public Attributes

 configurator_name

Static Public Attributes

 rh = None
 rh_svc = None
 ep_svc = None
 rh_version = None
 seq = None
 seq_svc = None
 seq_version = None
 sh = None
 sh_svc = None
 sh_version = None
 sc = None
 sc_svc = None
 sc_version = None
 fk = None
 fk_svc = None
 fk_version = None
 tf = None
 kf = None
 vs = None
 rmfo = None
 ic = None
 abc = None
 st = None
 tf_version = None
 kf_version = None
 vs_version = None
 rmfo_version = None
 ic_version = None
 abc_version = None
 st_version = None
 es = None
 es_svc = None
 es_version = None
 hes = None
 hes_svc = None
 hes_version = None
 co = None
 co_svc = None
 co_version = None
 gc = None
 gc_svc = None
 gc_version = None
 el = None
 el_svc = None
 el_version = None
 te = None
 te_svc = None
 te_version = None
 tl = None
 tl_svc = None
 tl_version = None
 tc = None
 tc_svc = None
 tc_version = None
 log = None
 log_svc = None
 log_version = None
 log_use_owned_ec = False
 bp = None
 bp_svc = None
 bp_version = None
 rfu = None
 rfu_svc = None
 rfu_version = None
 acf = None
 acf_svc = None
 acf_version = None
 octd = None
 octd_svc = None
 octd_version = None
 ms = None
 hgc = None
 pdc = None
 simulation_mode = None
 sensors = None
list Groups = []
 hrpsys_version = None
 kinematics_only_mode = False

Constructor & Destructor Documentation

def python.hrpsys_config.HrpsysConfigurator.__init__ (   self,
  cname = "[hrpsys.py] " 
)

Member Function Documentation

def python.hrpsys_config.HrpsysConfigurator.checkEncoders (   self,
  jname = 'all',
  option = '' 
)

Run the encoder checking sequence for specified joints, run goActual and turn on servos.

Parameters:
jnamestr: The value 'all' works iteratively for all servos.
optionstr: Possible values are follows (w/o double quote):\ "-overwrite": Overwrite calibration value.

References python.hrpsys_config.HrpsysConfigurator.configurator_name, python.hrpsys_config.HrpsysConfigurator.goActual(), python.hrpsys_config.HrpsysConfigurator.isCalibDone(), python.hrpsys_config.HrpsysConfigurator.isServoOn(), and python.hrpsys_config.HrpsysConfigurator.sc_svc.

Cancels the commanded sequence of joint angle, by overwriting the command by the values of instant the method was invoked.

Note that this only cancels the queue once. Icoming commands after this method is called will be processed as usual.

Returns:
bool

Cancels the commanded sequence of joint angle for the specified joint group, by overwriting the command by the values of instant the method was invoked.

Note that this only cancels the queue once. Icoming commands after this method is called will be processed as usual.

Parameters:
gname,:Name of the joint group.
Returns:
bool

Clear logger's buffer.

def python.hrpsys_config.HrpsysConfigurator.clearOfGroup (   self,
  gname,
  tm = 0.0 
)

Clears the Sequencer's current operation for joint groups.

Connect components(plugins)

References python.hrpsys_config.HrpsysConfigurator.abc, python.hrpsys_config.HrpsysConfigurator.acf, python.hrpsys_config.HrpsysConfigurator.bp, python.hrpsys_config.HrpsysConfigurator.co, python.hrpsys_config.HrpsysConfigurator.configurator_name, python::rtm.connectPorts(), python.hrpsys_config.HrpsysConfigurator.el, python.hrpsys_config.HrpsysConfigurator.es, python.hrpsys_config.HrpsysConfigurator.fk, python.hrpsys_config.HrpsysConfigurator.gc, python.hrpsys_config.HrpsysConfigurator.getForceSensorNames(), python.hrpsys_config.HrpsysConfigurator.getJointAngleControllerList(), python.hrpsys_config.HrpsysConfigurator.ic, python.hrpsys_config.HrpsysConfigurator.kf, python.hrpsys_config.HrpsysConfigurator.kinematics_only_mode, python.hrpsys_config.HrpsysConfigurator.octd, python.hrpsys_config.HrpsysConfigurator.pdc, python.hrpsys_config.HrpsysConfigurator.rfu, python.hrpsys_config.HrpsysConfigurator.rh, python.hrpsys_config.HrpsysConfigurator.rmfo, python.hrpsys_config.HrpsysConfigurator.sensors, python.hrpsys_config.HrpsysConfigurator.seq, python.hrpsys_config.HrpsysConfigurator.seq_version, python.hrpsys_config.HrpsysConfigurator.sh, python.hrpsys_config.HrpsysConfigurator.simulation_mode, python.hrpsys_config.HrpsysConfigurator.st, python.hrpsys_config.HrpsysConfigurator.tc, python.hrpsys_config.HrpsysConfigurator.te, python.hrpsys_config.HrpsysConfigurator.tf, python.hrpsys_config.HrpsysConfigurator.tl, and python.hrpsys_config.HrpsysConfigurator.vs.

Referenced by python.hrpsys_config.HrpsysConfigurator.init().

def python.hrpsys_config.HrpsysConfigurator.connectLoggerPort (   self,
  artc,
  sen_name,
  log_name = None 
)

Connect port to logger.

Parameters:
artcobject: object of component that contains sen_name port
sen_namestr: name of port for logging
log_namestr: name of port in logger

References python.hrpsys_config.HrpsysConfigurator.configurator_name, python::rtm.connectPorts(), and python.hrpsys_config.HrpsysConfigurator.log.

Referenced by python.hrpsys_config.HrpsysConfigurator.setupLogger().

def python.hrpsys_config.HrpsysConfigurator.createComp (   self,
  compName,
  instanceName 
)

Create RTC component (plugins)

Parameters:
instanceNamestr: name of instance, choose one of https://github.com/fkanehiro/hrpsys-base/tree/master/rtc
comNamestr: name of component that to be created.

References python.hrpsys_config.HrpsysConfigurator.configurator_name, and python::rtm.narrow().

Delete RTC component (plugins)

Parameters:
compNamestr: name of component that to be deleted

Referenced by python.hrpsys_config.HrpsysConfigurator.deleteComps().

def python.hrpsys_config.HrpsysConfigurator.findComp (   self,
  compName,
  instanceName,
  max_timeout_count = 10,
  verbose = True 
)

Find component(plugin)

Parameters:
compNamestr: component name
instanceNamestr: instance name int: max timeout in seconds

References python.hrpsys_config.HrpsysConfigurator.configurator_name, and python::rtm.narrow().

def python.hrpsys_config.HrpsysConfigurator.findComps (   self,
  max_timeout_count = 10,
  verbose = True 
)

Try to find ModelLoader.

Referenced by python.hrpsys_config.HrpsysConfigurator.waitForModelLoader().

Convert list of angles into list of joint list for each groups.

Parameters:
flatListlist: single dimension list with its length of 15
Returns:
list of list: 2-dimensional list of Groups.

References python.hrpsys_config.HrpsysConfigurator.Groups.

Get actual states of the robot that includes current reference joint angles and joint torques.

Returns:
: This returns actual states of the robot, which is defined in RobotHardware.idl (found at https://github.com/fkanehiro/hrpsys-base/blob/3fd7671de5129101a4ade3f98e2eac39fd6b26c0/idl/RobotHardwareService.idl#L32_L57 as of version 315.11.0)
    /**
     * @brief status of the robot
     */
    struct RobotState
    {
      DblSequence               angle;  ///< current joint angles[rad]
      DblSequence               command;///< reference joint angles[rad]
      DblSequence               torque; ///< joint torques[Nm]
      /**
       * @brief servo statuses(32bit+extra states)
       *
       * 0: calib status ( 1 => done )\n
       * 1: servo status ( 1 => on )\n
       * 2: power status ( 1 => supplied )\n
       * 3-18: servo alarms (see @ref iob.h)\n
       * 19-23: unused
       * 24-31: driver temperature (deg)
       */
      LongSequenceSequence              servoState;
      sequence<DblSequence6>    force;    ///< forces[N] and torques[Nm]
      sequence<DblSequence3>    rateGyro; ///< angular velocities[rad/s]
      sequence<DblSequence3>    accel;    ///< accelerations[m/(s^2)]
      double                    voltage;  ///< voltage of power supply[V]
      double                    current;  ///< current[A]
    };

Referenced by python.hrpsys_config.HrpsysConfigurator.isServoOn().

def python.hrpsys_config.HrpsysConfigurator.getCurrentPose (   self,
  lname = None,
  frame_name = None 
)

Returns the current physical pose of the specified joint in the joint space.

cf. getReferencePose that returns commanded value.

eg.

     IN: robot.getCurrentPose('LARM_JOINT5')
     OUT: [-0.0017702356144599085,
      0.00019034630541264752,
      -0.9999984150158207,
      0.32556275164378523,
      0.00012155879975329215,
      0.9999999745367515,
       0.0001901314142046251,
       0.18236394191140365,
       0.9999984257434246,
       -0.00012122202968358842,
       -0.001770258707652326,
       0.07462472659364472,
       0.0,
       0.0,
       0.0,
       1.0]

lname: str

Parameters:
lname,:Name of the link.
frame_namestr: set reference frame name (from 315.2.5) : list of float
Returns:
: Rotational matrix and the position of the given joint in 1-dimensional list, that is:
 [a11, a12, a13, x,
  a21, a22, a23, y,
  a31, a32, a33, z,
   0,   0,   0,  1]

References python.hrpsys_config.HrpsysConfigurator.fk_version, python.hrpsys_config.HrpsysConfigurator.getCurrentPose(), and python.hrpsys_config.HrpsysConfigurator.Groups.

Referenced by python.hrpsys_config.HrpsysConfigurator.getCurrentPose(), python.hrpsys_config.HrpsysConfigurator.getCurrentPosition(), python.hrpsys_config.HrpsysConfigurator.getCurrentRotation(), and python.hrpsys_config.HrpsysConfigurator.setTargetPoseRelative().

def python.hrpsys_config.HrpsysConfigurator.getCurrentPosition (   self,
  lname = None,
  frame_name = None 
)

Returns the current physical position of the specified joint in Cartesian space.

cf. getReferencePosition that returns commanded value.

eg.

    robot.getCurrentPosition('LARM_JOINT5')
    [0.325, 0.182, 0.074]

lname: str

Parameters:
lname,:Name of the link.
frame_namestr: set reference frame name (from 315.2.5) : list of float
Returns:
: List of x, y, z positions about the specified joint.

References python.hrpsys_config.HrpsysConfigurator.getCurrentPose(), python.hrpsys_config.HrpsysConfigurator.getCurrentPosition(), and python.hrpsys_config.HrpsysConfigurator.Groups.

Referenced by python.hrpsys_config.HrpsysConfigurator.getCurrentPosition().

def python.hrpsys_config.HrpsysConfigurator.getCurrentRotation (   self,
  lname,
  frame_name = None 
)

Returns the current physical rotation of the specified joint.

cf. getReferenceRotation that returns commanded value.

lname: str

Parameters:
lname,:Name of the link.
frame_namestr: set reference frame name (from 315.2.5) : list of float
Returns:
: Rotational matrix of the given joint in 2-dimensional list, that is:
 [[a11, a12, a13],
  [a21, a22, a23],
  [a31, a32, a33]]

References python.hrpsys_config.HrpsysConfigurator.getCurrentPose(), python.hrpsys_config.HrpsysConfigurator.getCurrentRotation(), and python.hrpsys_config.HrpsysConfigurator.Groups.

Referenced by python.hrpsys_config.HrpsysConfigurator.getCurrentRotation(), and python.hrpsys_config.HrpsysConfigurator.getCurrentRPY().

def python.hrpsys_config.HrpsysConfigurator.getCurrentRPY (   self,
  lname,
  frame_name = None 
)

Returns the current physical rotation in RPY of the specified joint.

cf. getReferenceRPY that returns commanded value.

lname: str

Parameters:
lname,:Name of the link.
frame_namestr: set reference frame name (from 315.2.5) : list of float
Returns:
: List of orientation in rpy form about the specified joint.

References python::hrpsys_config.euler_from_matrix(), python.hrpsys_config.HrpsysConfigurator.getCurrentRotation(), python.hrpsys_config.HrpsysConfigurator.getCurrentRPY(), and python.hrpsys_config.HrpsysConfigurator.Groups.

Referenced by python.hrpsys_config.HrpsysConfigurator.getCurrentRPY().

Get list of force sensor names.

Returns existence force sensors and virtual force sensors. self.sensors and virtual force sensors are assumed.

References python.hrpsys_config.HrpsysConfigurator.sensors, and python.hrpsys_config.HrpsysConfigurator.vs.

Referenced by python.hrpsys_config.HrpsysConfigurator.connectComps().

Returns the commanded joint angle values.

See also:
: HrpsysConfigurator.getJointAngles

Note that it's not the physical state of the robot's joints, which can be obtained by getActualState().angle.

Returns:
List of float: List of angles (degree) of all joints, in the order defined in the member variable 'Groups' (eg. chest, head1, head2, ..).
def python.hrpsys_config.HrpsysConfigurator.getReferencePose (   self,
  lname,
  frame_name = None 
)

Returns the current commanded pose of the specified joint in the joint space.

cf. getCurrentPose that returns physical pose.

lname: str

Parameters:
lname,:Name of the link.
frame_namestr: set reference frame name (from 315.2.5) : list of float
Returns:
: Rotational matrix and the position of the given joint in 1-dimensional list, that is:
 [a11, a12, a13, x,
  a21, a22, a23, y,
  a31, a32, a33, z,
   0,   0,   0,  1]

References python.hrpsys_config.HrpsysConfigurator.fk_version, python.hrpsys_config.HrpsysConfigurator.getReferencePose(), and python.hrpsys_config.HrpsysConfigurator.Groups.

Referenced by python.hrpsys_config.HrpsysConfigurator.getReferencePose(), python.hrpsys_config.HrpsysConfigurator.getReferencePosition(), and python.hrpsys_config.HrpsysConfigurator.getReferenceRotation().

def python.hrpsys_config.HrpsysConfigurator.getReferencePosition (   self,
  lname,
  frame_name = None 
)

Returns the current commanded position of the specified joint in Cartesian space.

cf. getCurrentPosition that returns physical value.

lname: str

Parameters:
lname,:Name of the link.
frame_namestr: set reference frame name (from 315.2.5) : list of float
Returns:
: List of angles (degree) of all joints, in the order defined in the member variable 'Groups' (eg. chest, head1, head2, ..).

References python.hrpsys_config.HrpsysConfigurator.getReferencePose(), python.hrpsys_config.HrpsysConfigurator.getReferencePosition(), and python.hrpsys_config.HrpsysConfigurator.Groups.

Referenced by python.hrpsys_config.HrpsysConfigurator.getReferencePosition().

def python.hrpsys_config.HrpsysConfigurator.getReferenceRotation (   self,
  lname,
  frame_name = None 
)

Returns the current commanded rotation of the specified joint.

cf. getCurrentRotation that returns physical value.

lname: str

Parameters:
lname,:Name of the link.
frame_namestr: set reference frame name (from 315.2.5) : list of float
Returns:
: Rotational matrix of the given joint in 2-dimensional list, that is:
 [[a11, a12, a13],
  [a21, a22, a23],
  [a31, a32, a33]]

References python.hrpsys_config.HrpsysConfigurator.getReferencePose(), and python.hrpsys_config.HrpsysConfigurator.Groups.

Referenced by python.hrpsys_config.HrpsysConfigurator.getReferenceRPY().

def python.hrpsys_config.HrpsysConfigurator.getReferenceRPY (   self,
  lname,
  frame_name = None 
)

Returns the current commanded rotation in RPY of the specified joint.

cf. getCurrentRPY that returns physical value.

lname: str

Parameters:
lname,:Name of the link.
frame_namestr: set reference frame name (from 315.2.5) : list of float
Returns:
: List of orientation in rpy form about the specified joint.

References python::hrpsys_config.euler_from_matrix(), python.hrpsys_config.HrpsysConfigurator.getReferenceRotation(), python.hrpsys_config.HrpsysConfigurator.getReferenceRPY(), and python.hrpsys_config.HrpsysConfigurator.Groups.

Referenced by python.hrpsys_config.HrpsysConfigurator.getReferenceRPY().

def python.hrpsys_config.HrpsysConfigurator.getRTCInstanceList (   self,
  verbose = True 
)

Get list of available STABLE components.

Returns:
list of list: List of available components. Each element consists of a list of abbreviated and full names of the component.

Referenced by python.hrpsys_config.HrpsysConfigurator.createComps(), python.hrpsys_config.HrpsysConfigurator.findComps(), and python.hrpsys_config.HrpsysConfigurator.getRTCInstanceList().

Get list of available components including stable and unstable.

Returns:
list of list: List of available unstable components. Each element consists of a list of abbreviated and full names of the component.

Get list of sensors.

Parameters:
urlstr: model file url

References python.hrpsys_config.HrpsysConfigurator.getBodyInfo().

Referenced by python.hrpsys_config.HrpsysConfigurator.init().

Adjust commanded values to the angles in the physical state by calling StateHolder::goActual.

This needs to be run BEFORE servos are turned on.

Referenced by python.hrpsys_config.HrpsysConfigurator.checkEncoders(), and python.hrpsys_config.HrpsysConfigurator.servoOn().

def python.hrpsys_config.HrpsysConfigurator.init (   self,
  robotname = "Robot",
  url = "" 
)

Check whether joints have been calibrated.

Returns:
bool: True if all joints are calibrated

References python.hrpsys_config.HrpsysConfigurator.simulation_mode.

Referenced by python.hrpsys_config.HrpsysConfigurator.checkEncoders(), and python.hrpsys_config.HrpsysConfigurator.servoOn().

def python.hrpsys_config.HrpsysConfigurator.isServoOn (   self,
  jname = 'any' 
)

Check whether servo control has been turned on.

Parameters:
jnamestr: Name of a link (that can be obtained by "hiro.Groups" as lists of groups). When jname = 'all' or 'any' => If all joints are servoOn, return True, otherwise, return False. When jname = 'some' => If some joint is servoOn, return True, otherwise return False.
Returns:
bool: True if servo is on

References python.hrpsys_config.HrpsysConfigurator.configurator_name, python.hrpsys_config.HrpsysConfigurator.getActualState(), and python.hrpsys_config.HrpsysConfigurator.simulation_mode.

Referenced by python.hrpsys_config.HrpsysConfigurator.checkEncoders(), python.hrpsys_config.HrpsysConfigurator.servoOff(), and python.hrpsys_config.HrpsysConfigurator.servoOn().

Returns the length of digital input port.

def python.hrpsys_config.HrpsysConfigurator.loadPattern (   self,
  fname,
  tm 
)

Load a pattern file that is created offline.

Format of the pattern file:

  • example format:
      t0 j0 j1 j2...jn
      t1 j0 j1 j2...jn
      :
      tn j0 j1 j2...jn
    
  • Delimmitted by space
  • Each line consists of an action.
  • Time between each action is defined by tn+1 - tn
    • The time taken for the 1st line is defined by the arg tm.
Parameters:
fnamestr: Name of the pattern file.
tmfloat: - The time to take for the 1st line.
Returns:
: List of 2 oct(string) values.

References python.hrpsys_config.HrpsysConfigurator.parseUrl().

def python.hrpsys_config.HrpsysConfigurator.playPattern (   self,
  jointangles,
  rpy,
  zmp,
  tm 
)

Play motion pattern using a given trajectory that is represented by a list of joint angles, rpy, zmp and time.

Parameters:
jointangleslist of list of float: The whole list represents a trajectory. Each element of the 1st degree in the list consists of the joint angles.
rpylist of float: Orientation in rpy.
zmplist of float: TODO: description
tmfloat: Time to complete the task.
Returns:
bool:
def python.hrpsys_config.HrpsysConfigurator.playPatternOfGroup (   self,
  gname,
  jointangles,
  tm 
)

Play motion pattern using a given trajectory that is represented by a list of joint angles.

Parameters:
gnamestr: Name of the joint group.
jointangleslist of list of float: The whole list represents a trajectory. Each element of the 1st degree in the list consists of the joint angles. To illustrate:

[[a0-0, a0-1,...,a0-n], # a)ngle. 1st path in trajectory [a1-0, a1-1,...,a1-n], # 2nd path in the trajectory. : [am-0, am-1,...,am-n]] # mth path in the trajectory

Parameters:
tmfloat: Time to complete the task.
Returns:
bool:

Read data from Digital Input.

See also:
: HrpsysConfigurator.readDigitalInput

Digital input consits of 14 bits. The last 2 bits are lacking and compensated, so that the last 4 bits are 0x4 instead of 0x1.

Author:
Hajime Saito (@emijah)
Returns:
list of int: List of the values (2 octtets) in digital input register. Range: 0 or 1.

#TODO: Catch AttributeError that occurs when RobotHardware not found. # Typically with simulator, erro msg might look like this; # 'NoneType' object has no attribute 'readDigitalInput'

References python.hrpsys_config.HrpsysConfigurator.simulation_mode.

Read data from Digital Output.

Digital input consits of 14 bits. The last 2 bits are lacking and compensated, so that the last 4 bits are 0x4 instead of 0x1.

#TODO: Catch AttributeError that occurs when RobotHardware not found. # Typically with simulator, erro msg might look like this; # 'NoneType' object has no attribute 'readDigitaloutput'

Author:
Hajime Saito (@emijah)
Returns:
list of int: List of the values in digital input register. Range: 0 or 1.

remove force sensor offset

def python.hrpsys_config.HrpsysConfigurator.saveLog (   self,
  fname = 'sample' 
)

Save log to the given file name.

Parameters:
fnamestr: name of the file

References python.hrpsys_config.HrpsysConfigurator.configurator_name.

def python.hrpsys_config.HrpsysConfigurator.servoOff (   self,
  jname = 'all',
  wait = True 
)

Turn off servos.

Parameters:
jnamestr: The value 'all' works iteratively for all servos.
waitbool: Wait for user's confirmation via GUI
Returns:
int: 1 = all arm servo off. 2 = all servo on arms and hands off. -1 = Something wrong happened.

References python.hrpsys_config.HrpsysConfigurator.configurator_name, python.hrpsys_config.HrpsysConfigurator.isServoOn(), python.hrpsys_config.HrpsysConfigurator.sc_svc, and python.hrpsys_config.HrpsysConfigurator.simulation_mode.

def python.hrpsys_config.HrpsysConfigurator.servoOn (   self,
  jname = 'all',
  destroy = 1,
  tm = 3 
)

Turn on servos.

Joints need to be calibrated (otherwise error returns).

Parameters:
jnamestr: The value 'all' works iteratively for all servos.
destroyint: Not used.
tmfloat: Second to complete.
Returns:
int: 1 or -1 indicating success or failure, respectively.

References python.hrpsys_config.HrpsysConfigurator.configurator_name, python.hrpsys_config.HrpsysConfigurator.goActual(), python.hrpsys_config.HrpsysConfigurator.isCalibDone(), and python.hrpsys_config.HrpsysConfigurator.isServoOn().

def python.hrpsys_config.HrpsysConfigurator.setFootSteps (   self,
  footstep,
  overwrite_fs_idx = 0 
)

setFootSteps

Parameters:
footstep: FootstepSequence.
overwrite_fs_idx: Index to be overwritten. overwrite_fs_idx is used only in walking.
def python.hrpsys_config.HrpsysConfigurator.setFootStepsWithParam (   self,
  footstep,
  stepparams,
  overwrite_fs_idx = 0 
)

setFootSteps

Parameters:
footstep: FootstepSequence.
stepparams: StepParamSeuqnce.
overwrite_fs_idx: Index to be overwritten. overwrite_fs_idx is used only in walking.

Set interpolation mode.

You may need to import OpenHRP in order to pass an argument. For more info See https://github.com/fkanehiro/hrpsys-base/pull/1012#issue-160802911.

Parameters:
modenew interpolation mode. Either { OpenHRP.SequencePlayerService.LINEAR, OpenHRP.SequencePlayerService.HOFFARBIB }.
Returns:
true if set successfully, false otherwise
def python.hrpsys_config.HrpsysConfigurator.setJointAngle (   self,
  jname,
  angle,
  tm 
)

Set angle to the given joint.

NOTE-1: It's known that this method does not do anything after
some group operation is done.
TODO: at least need to warn users.
NOTE-2: While this method does not check angle value range,
any joints could emit position limit over error, which has not yet
been thrown by hrpsys so that there's no way to catch on this python client. 
Worthwhile opening an enhancement ticket at designated issue tracker.
Parameters:
jnamestr: name of joint
anglefloat: In degree.
tmfloat: Time to complete. bool
Returns:
False upon any problem during execution.
def python.hrpsys_config.HrpsysConfigurator.setJointAngles (   self,
  angles,
  tm 
)

Set all joint angles.

NOTE: While this method does not check angle value range,
      any joints could emit position limit over error, which has not yet
      been thrown by hrpsys so that there's no way to catch on this python client. 
      Worthwhile opening an enhancement ticket at designated issue tracker.
Parameters:
angleslist of float: In degree.
tmfloat: Time to complete. bool
Returns:
False upon any problem during execution.

Referenced by python.hrpsys_config.HrpsysConfigurator.setSensorCalibrationJointAngles().

def python.hrpsys_config.HrpsysConfigurator.setJointAnglesOfGroup (   self,
  gname,
  pose,
  tm,
  wait = True 
)

Set the joint angles to aim.

By default it waits interpolation to be over.

NOTE: While this method does not check angle value range,
      any joints could emit position limit over error, which has not yet
      been thrown by hrpsys so that there's no way to catch on this python client. 
      Worthwhile opening an enhancement ticket at designated issue tracker.
Parameters:
gnamestr: Name of the joint group.
poselist of float: list of positions and orientations
tmfloat: Time to complete.
waitbool: If true, all other subsequent commands wait until the movement commanded by this method call finishes. bool
Returns:
False upon any problem during execution.

References python.hrpsys_config.HrpsysConfigurator.waitInterpolationOfGroup().

Set all joint angles.

len(angless) should be equal to len(tms).

NOTE: While this method does not check angle value range,
      any joints could emit position limit over error, which has not yet
      been thrown by hrpsys so that there's no way to catch on this python client. 
      Worthwhile opening an enhancement ticket at designated issue tracker.
Parameters:
sequentiallist of angles in float: In rad
tmsequential list of time in float: Time to complete, In Second bool
Returns:
False upon any problem during execution.
def python.hrpsys_config.HrpsysConfigurator.setJointAnglesSequenceOfGroup (   self,
  gname,
  angless,
  tms 
)

Set all joint angles.

NOTE: While this method does not check angle value range,
      any joints could emit position limit over error, which has not yet
      been thrown by hrpsys so that there's no way to catch on this python client. 
      Worthwhile opening an enhancement ticket at designated issue tracker.
Parameters:
gnamestr: Name of the joint group.
sequentiallist of angles in float: In rad
tmsequential list of time in float: Time to complete, In Second bool
Returns:
False upon any problem during execution.

Set logger's buffer.

Parameters:
lengthint: length of log, if the system runs at 500hz and you want to store 2min, set 2*60*500.

Set to the hrpsys.SequencePlayer the groups of links and joints that are statically defined as member variables (Groups) within this class.

References python.hrpsys_config.HrpsysConfigurator.Groups.

Referenced by python.hrpsys_config.HrpsysConfigurator.init().

Set joint angles for sensor calibration.

Please override joint angles to avoid self collision.

References python.hrpsys_config.HrpsysConfigurator.setJointAngles(), and python.hrpsys_config.HrpsysConfigurator.waitInterpolation().

Referenced by python.hrpsys_config.HrpsysConfigurator.calibrateInertiaSensorWithDialog().

def python.hrpsys_config.HrpsysConfigurator.setTargetPose (   self,
  gname,
  pos,
  rpy,
  tm,
  frame_name = None 
)

Move the end-effector to the given absolute pose.

All d* arguments are in meter.

Parameters:
gnamestr: Name of the joint group.
poslist of float: In meter.
rpylist of float: In radian.
tmfloat: Second to complete the command.
frame_namestr: Name of the frame that this particular command references to.
Returns:
bool: False if unreachable.

Referenced by python.hrpsys_config.HrpsysConfigurator.setTargetPoseRelative().

def python.hrpsys_config.HrpsysConfigurator.setTargetPoseRelative (   self,
  gname,
  eename,
  dx = 0,
  dy = 0,
  dz = 0,
  dr = 0,
  dp = 0,
  dw = 0,
  tm = 10,
  wait = True 
)

Move the end-effector's location relative to its current pose.

For d*, distance arguments are in meter while rotations are in degree.

Example usage: The following moves RARM_JOINT5 joint 0.1mm forward within 0.1sec.

    robot.setTargetPoseRelative('rarm', 'RARM_JOINT5', dx=0.0001, tm=0.1)
Parameters:
gnamestr: Name of the joint group that is to be manipulated.
eenamestr: Name of the joint that the manipulated joint group references to.
dxfloat: In meter.
dyfloat: In meter.
dzfloat: In meter.
drfloat: In radian.
dpfloat: In radian.
dwfloat: In radian.
tmfloat: Second to complete the command.
waitbool: If true, all other subsequent commands wait until the movement commanded by this method call finishes.
Returns:
bool: False if unreachable.

References python::hrpsys_config.euler_from_matrix(), python::hrpsys_config.euler_matrix(), python.hrpsys_config.HrpsysConfigurator.getCurrentPose(), list(), python.hrpsys_config.HrpsysConfigurator.setTargetPose(), and python.hrpsys_config.HrpsysConfigurator.waitInterpolationOfGroup().

def python.hrpsys_config.HrpsysConfigurator.setupLogger (   self,
  maxLength = 4000 
)

Start AutoBalancer mode.

Parameters:
limbslist of end-effector name to control. If Groups has rarm and larm, rleg, lleg, rarm, larm by default. If Groups is not defined or Groups does not have rarm and larm, rleg and lleg by default.

References python.hrpsys_config.HrpsysConfigurator.Groups.

Referenced by python.hrpsys_config.HrpsysConfigurator.startDefaultUnstableControllers().

def python.hrpsys_config.HrpsysConfigurator.startDefaultUnstableControllers (   self,
  ic_limbs = ["rarm",
  larm,
  abc_limbs = None 
)

Start default unstable RTCs controller mode.

Currently Stabilzier, AutoBalancer, and ImpedanceController are started.

References python.hrpsys_config.HrpsysConfigurator.Groups, python.hrpsys_config.HrpsysConfigurator.startAutoBalancer(), and python.hrpsys_config.HrpsysConfigurator.startStabilizer().

def python.hrpsys_config.HrpsysConfigurator.startImpedance (   self,
  arm,
  kwargs 
)
def python.hrpsys_config.HrpsysConfigurator.startImpedance_315_4 (   self,
  arm,
  M_p = 100.0,
  D_p = 100.0,
  K_p = 100.0,
  M_r = 100.0,
  D_r = 2000.0,
  K_r = 2000.0,
  force_gain = [1,
  moment_gain = [0,
  sr_gain = 1.0,
  avoid_gain = 0.0,
  reference_gain = 0.0,
  manipulability_limit = 0.1,
  controller_mode = None,
  ik_optional_weight_vector = None 
)

start impedance mode

arm: str name of artm to be controlled, this must be initialized using setSelfGroups()

References python.hrpsys_config.HrpsysConfigurator.configurator_name.

Referenced by python.hrpsys_config.HrpsysConfigurator.startImpedance().

def python.hrpsys_config.HrpsysConfigurator.stopDefaultUnstableControllers (   self,
  ic_limbs = ["rarm",
  larm 
)

Stop default unstable RTCs controller mode.

Currently Stabilzier, AutoBalancer, and ImpedanceController are stopped.

References python.hrpsys_config.HrpsysConfigurator.stopAutoBalancer(), and python.hrpsys_config.HrpsysConfigurator.stopStabilizer().

stop impedance mode

Referenced by python.hrpsys_config.HrpsysConfigurator.stopImpedance().

def python.hrpsys_config.HrpsysConfigurator.waitForRobotHardware (   self,
  robotname = "Robot" 
)

Wait for RobotHardware is exists and activated.

Parameters:
robotnamestr: name of RobotHardware component.

References python.hrpsys_config.HrpsysConfigurator.configurator_name, python.hrpsys_config.HrpsysConfigurator.ms, and python.hrpsys_config.HrpsysConfigurator.rh.

Referenced by python.hrpsys_config.HrpsysConfigurator.waitForRTCManagerAndRobotHardware().

def python.hrpsys_config.HrpsysConfigurator.waitForRTCManager (   self,
  managerhost = nshost 
)

Wait for RTC manager.

Parameters:
managerhoststr: name of host computer that manager is running

References python.hrpsys_config.HrpsysConfigurator.configurator_name, and python.hrpsys_config.HrpsysConfigurator.ms.

Referenced by python.hrpsys_config.HrpsysConfigurator.waitForRTCManagerAndRobotHardware().

def python.hrpsys_config.HrpsysConfigurator.waitForRTCManagerAndRoboHardware (   self,
  robotname = "Robot",
  managerhost = nshost 
)
def python.hrpsys_config.HrpsysConfigurator.waitForRTCManagerAndRobotHardware (   self,
  robotname = "Robot",
  managerhost = nshost 
)

Lets SequencePlayer wait until the movement currently happening to finish.

Referenced by python.hrpsys_config.HrpsysConfigurator.setSensorCalibrationJointAngles().

Lets SequencePlayer wait until the movement currently happening to finish.

See also:
: SequencePlayer.waitInterpolationOfGroup
: http://wiki.ros.org/joint_trajectory_action. This method corresponds to JointTrajectoryGoal in ROS.
Parameters:
gnamestr: Name of the joint group.

Referenced by python.hrpsys_config.HrpsysConfigurator.setJointAnglesOfGroup(), and python.hrpsys_config.HrpsysConfigurator.setTargetPoseRelative().

Using writeDigitalOutputWithMask is recommended for the less data transport.

Parameters:
doutlist of int: List of bits, length of 32 bits where elements are 0 or 1.

What each element stands for depends on how the robot's imlemented. Consult the hardware manual.

Returns:
bool: RobotHardware.writeDigitalOutput returns True if writable. False otherwise.

References python.hrpsys_config.HrpsysConfigurator.lengthDigitalOutput(), and python.hrpsys_config.HrpsysConfigurator.simulation_mode.

Both dout and mask are lists with length of 32.

Only the bit in dout that corresponds to the bits in mask that are flagged as 1 will be evaluated.

Example:

 Case-1. Only 18th bit will be evaluated as 1.
  dout [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  mask [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

 Case-2. Only 18th bit will be evaluated as 0.
  dout [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  mask [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

 Case-3. None will be evaluated since there's no flagged bit in mask.
  dout [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  mask [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Parameters:
doutlist of int: List of bits, length of 32 bits where elements are 0 or 1.
masklist of int: List of masking bits, length of 32 bits where elements are 0 or 1.
Returns:
bool: RobotHardware.writeDigitalOutput returns True if writable. False otherwise.

References python.hrpsys_config.HrpsysConfigurator.lengthDigitalOutput(), and python.hrpsys_config.HrpsysConfigurator.simulation_mode.


Member Data Documentation


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