manipulation.robot.Robot Class Reference

Load and handle a composite robot for manipulation planning. More...

Inheritance diagram for manipulation.robot.Robot:
[legend]
Collaboration diagram for manipulation.robot.Robot:
[legend]

Public Member Functions

def __init__ (self, compositeName=None, robotName=None, rootJointType=None, load=True, client=None)
 Constructor. More...
 
def loadModel (self, robotName, rootJointType)
 Virtual function to load the robot model. More...
 
def insertRobotModel (self, robotName, rootJointType, packageName, modelName, urdfSuffix, srdfSuffix)
 Load robot model and insert it in the device. More...
 
def insertRobotModelOnFrame (self, robotName, frameName, rootJointType, packageName, modelName, urdfSuffix, srdfSuffix)
 Insert robot model as a child of a frame of the Device. More...
 
def insertRobotModelFromString (self, robotName, rootJointType, urdfString, srdfString)
 Same as Robot.insertRobotModel. More...
 
def insertRobotSRDFModel (self, robotName, packageName, modelName, srdfSuffix)
 Load a SRDF for the robot. More...
 
def insertHumanoidModel (self, robotName, rootJointType, packageName, modelName, urdfSuffix, srdfSuffix)
 Load humanoid robot model and insert it in the device. More...
 
def loadHumanoidModel (self, robotName, rootJointType, packageName, modelName, urdfSuffix, srdfSuffix)
 
def loadEnvironmentModel (self, packageName, modelName, urdfSuffix, srdfSuffix, envName)
 Load environment model and store in local map. More...
 
Joints
def setRootJointPosition (self, robotName, position)
 Set the position of root joint of a robot in world frame. More...
 
Bodies
def getGripperPositionInJoint (self, gripperName)
 Return the joint name in which a gripper is and the position relatively to the joint. More...
 
def getHandlePositionInJoint (self, handleName)
 Return the joint name in which a handle is and the position relatively to the joint. More...
 

Public Attributes

 rootJointType
 
 load
 
 robotNames
 

Detailed Description

Load and handle a composite robot for manipulation planning.

A composite robot is a kinematic chain composed of several sub-kinematic chains rooted at an anchor joint.

Constructor & Destructor Documentation

def manipulation.robot.Robot.__init__ (   self,
  compositeName = None,
  robotName = None,
  rootJointType = None,
  load = True,
  client = None 
)

Constructor.

Parameters
robotNamename of the first robot that is loaded now,
rootJointTypetype of root joint among ("freeflyer", "planar", "anchor"),
loadwhether to actually load urdf files. Set to no if you only want to initialize a corba client to an already initialized problem.

References hpp::corbaserver::robot::Robot.__init__().

Member Function Documentation

def manipulation.robot.Robot.getGripperPositionInJoint (   self,
  gripperName 
)

Return the joint name in which a gripper is and the position relatively to the joint.

def manipulation.robot.Robot.getHandlePositionInJoint (   self,
  handleName 
)

Return the joint name in which a handle is and the position relatively to the joint.

def manipulation.robot.Robot.insertHumanoidModel (   self,
  robotName,
  rootJointType,
  packageName,
  modelName,
  urdfSuffix,
  srdfSuffix 
)

Load humanoid robot model and insert it in the device.

Parameters
robotNamekey of the robot in ProblemSolver object map (see hpp::manipulation::ProblemSolver::addRobot)
rootJointTypetype of root joint among "anchor", "freeflyer", "planar",
packageNameName of the ROS package containing the model,
modelNameName of the package containing the model
urdfSuffixsuffix for urdf file,

The ros url are built as follows:

  • "package://${packageName}/urdf/${modelName}${urdfSuffix}.urdf"
  • "package://${packageName}/srdf/${modelName}${srdfSuffix}.srdf"

References hpp::corbaserver::robot::RobotXML.load, manipulation.robot.Robot.load, hpp::corbaserver::robot::Robot.rebuildRanks(), hpp::corbaserver::robot::Robot.rootJointType, and manipulation.robot.Robot.rootJointType.

Referenced by manipulation.robot.Robot.loadHumanoidModel(), and manipulation.robot.HumanoidRobot.loadModel().

def manipulation.robot.Robot.insertRobotModel (   self,
  robotName,
  rootJointType,
  packageName,
  modelName,
  urdfSuffix,
  srdfSuffix 
)

Load robot model and insert it in the device.

Parameters
robotNamekey of the robot in hpp::manipulation::ProblemSolver object map (see hpp::manipulation::ProblemSolver::addRobot)
rootJointTypetype of root joint among "anchor", "freeflyer", "planar",
packageNameName of the ROS package containing the model,
modelNameName of the package containing the model
urdfSuffixsuffix for urdf file,

The ros url are built as follows:

  • "package://${packageName}/urdf/${modelName}${urdfSuffix}.urdf"
  • "package://${packageName}/srdf/${modelName}${srdfSuffix}.srdf"

References hpp::corbaserver::robot::RobotXML.load, manipulation.robot.Robot.load, hpp::corbaserver::robot::Robot.rebuildRanks(), hpp::corbaserver::robot::Robot.rootJointType, and manipulation.robot.Robot.rootJointType.

Referenced by manipulation.robot.Robot.loadModel().

def manipulation.robot.Robot.insertRobotModelFromString (   self,
  robotName,
  rootJointType,
  urdfString,
  srdfString 
)

Same as Robot.insertRobotModel.

Parameters
urdfStringXML string of the URDF,
srdfStringXML string of the SRDF

References hpp::corbaserver::robot::RobotXML.load, manipulation.robot.Robot.load, hpp::corbaserver::robot::Robot.rebuildRanks(), hpp::corbaserver::robot::Robot.rootJointType, and manipulation.robot.Robot.rootJointType.

def manipulation.robot.Robot.insertRobotModelOnFrame (   self,
  robotName,
  frameName,
  rootJointType,
  packageName,
  modelName,
  urdfSuffix,
  srdfSuffix 
)

Insert robot model as a child of a frame of the Device.

Parameters
robotNamekey of the robot in ProblemSolver object map (see hpp::manipulation::ProblemSolver::addRobot)
frameNamename of the existing frame that will the root of the added robot,
rootJointTypetype of root joint among "anchor", "freeflyer", "planar",
packageNameName of the ROS package containing the model,
modelNameName of the package containing the model
urdfSuffixsuffix for urdf file,

The ros url are built as follows: "package://${packageName}/urdf/${modelName}${urdfSuffix}.urdf" "package://${packageName}/srdf/${modelName}${srdfSuffix}.srdf"

References hpp::corbaserver::robot::RobotXML.load, manipulation.robot.Robot.load, hpp::corbaserver::robot::Robot.rebuildRanks(), hpp::corbaserver::robot::Robot.rootJointType, and manipulation.robot.Robot.rootJointType.

def manipulation.robot.Robot.insertRobotSRDFModel (   self,
  robotName,
  packageName,
  modelName,
  srdfSuffix 
)

Load a SRDF for the robot.

Several SRDF can thus be loaded for the same robot

Parameters
robotNamekey of the robot in hpp::manipulation::Device object map (see hpp::manipulation::Device)
packageNameName of the ROS package containing the model,
modelNameName of the package containing the model
srdfSuffixsuffix for srdf file,

The ros url are built as follows:

  • "package://${packageName}/srdf/${modelName}${srdfSuffix}.srdf"

References hpp::corbaserver::robot::RobotXML.load, and manipulation.robot.Robot.load.

def manipulation.robot.Robot.loadEnvironmentModel (   self,
  packageName,
  modelName,
  urdfSuffix,
  srdfSuffix,
  envName 
)

Load environment model and store in local map.

Contact surfaces are build from the corresping srdf file. See hpp-manipulation-urdf for more details about contact surface specifications.

Parameters
envNamekey of the object in ProblemSolver object map (see hpp::manipulation::ProblemSolver::addRobot)
packageNameName of the ROS package containing the model,
modelNameName of the package containing the model
urdfSuffixsuffix for urdf file,
srdfSuffixsuffix for srdf file.

The ros url are built as follows:

  • "package://${packageName}/urdf/${modelName}${urdfSuffix}.urdf"
  • "package://${packageName}/srdf/${modelName}${srdfSuffix}.srdf"

References hpp::corbaserver::robot::RobotXML.load, manipulation.robot.Robot.load, hpp::corbaserver::robot::Robot.rootJointType, and manipulation.robot.Robot.rootJointType.

def manipulation.robot.Robot.loadHumanoidModel (   self,
  robotName,
  rootJointType,
  packageName,
  modelName,
  urdfSuffix,
  srdfSuffix 
)
def manipulation.robot.Robot.setRootJointPosition (   self,
  robotName,
  position 
)

Set the position of root joint of a robot in world frame.

Parameters
robotNamekey of the robot in ProblemSolver object map.
positionconstant position of the root joint in world frame in initial configuration.

References hpp::corbaserver::robot::Robot.setRootJointPosition().

Member Data Documentation

manipulation.robot.Robot.robotNames