hpp-manipulation-corba  4.9.0
Corba server for manipulation planning
hpp::corbaserver::manipulation::Problem Interface Reference

import"/home/florent/devel/release/src/hpp-manipulation-corba/idl/hpp/corbaserver/manipulation/problem.idl";

Public Member Functions

boolean selectProblem (in string name) raises (Error)
 
void resetProblem () raises (Error)
 Reset the current problem. More...
 
Names_t getAvailable (in string type) raises (Error)
 
Names_t getSelected (in string type) raises (Error)
 
void createGrasp (in string graspName, in string gripperName, in string handleName) raises (Error)
 
void createPreGrasp (in string name, in string gripper, in string handle) raises (Error)
 
Names_t getEnvironmentContactNames () raises (Error)
 
Names_t getRobotContactNames () raises (Error)
 
Names_t getEnvironmentContact (in string name, out intSeq indices, out floatSeqSeq points) raises (Error)
 
Names_t getRobotContact (in string name, out intSeq indexes, out floatSeqSeq points) raises (Error)
 
void createPlacementConstraint (in string placementName, in Names_t shapeName, in Names_t envContactName) raises (Error)
 
void createPrePlacementConstraint (in string placementName, in Names_t shapeName, in Names_t envContactName, in double witdh) raises (Error)
 
void createQPStabilityConstraint (in string constraintName, in Names_t shapesName) raises (Error)
 
boolean setConstraints (in ID idComp, in boolean target) raises (Error)
 
boolean applyConstraints (in ID idComp, in floatSeq input, out floatSeq output, out double residualError) raises (Error)
 
boolean applyConstraintsWithOffset (in ID IDedge, in floatSeq qnear, in floatSeq input, out floatSeq output, out double residualError) raises (Error)
 
boolean buildAndProjectPath (in ID IDedge, in floatSeq qb, in floatSeq qe, out long indexNotProj, out long indexProj) raises (Error)
 
void setTargetState (in ID IDstate) raises (Error)
 
ID edgeAtParam (in unsigned long inPathId, in double atDistance, out string graphName) raises (Error)
 
manipulation_idl::graph_idl::Validation createGraphValidation () raises (Error)
 

Member Function Documentation

◆ applyConstraints()

boolean hpp::corbaserver::manipulation::Problem::applyConstraints ( in ID  idComp,
in floatSeq  input,
out floatSeq  output,
out double  residualError 
)
raises (Error
)

Apply constaints to a configuration

Parameters
idCompID of a node or a configuration
inputinput configuration,
Return values
outputoutput configuration,
errornorm of the residual error.
Deprecated:
Use Graph::applyNodeConstraints instead

◆ applyConstraintsWithOffset()

boolean hpp::corbaserver::manipulation::Problem::applyConstraintsWithOffset ( in ID  IDedge,
in floatSeq  qnear,
in floatSeq  input,
out floatSeq  output,
out double  residualError 
)
raises (Error
)

Apply constaints to a configuration

Parameters
IDedgeID of an edge
qnearconfiguration to initiliaze the projector,
inputinput configuration,
Return values
outputoutput configuration,
errornorm of the residual error. Call method using hpp::manipulation::graph::Edge::applyConstraints.
Deprecated:
Use Graph::generateTargetConfig instead.

◆ buildAndProjectPath()

boolean hpp::corbaserver::manipulation::Problem::buildAndProjectPath ( in ID  IDedge,
in floatSeq  qb,
in floatSeq  qe,
out long  indexNotProj,
out long  indexProj 
)
raises (Error
)

Build a path from qb to qe using the Edge::build.

Parameters
IDedgeid of the edge to use.
qbconfiguration at the beginning of the path
qeconfiguration at the end of the path
Return values
returntrue if the path is built and fully projected.
indexNotProj-1 is the path could not be built. The index of the built path (before projection) in the in the ProblemSolver path vector.
indexProj-1 is the path could not be fully projected. The index of the built path (before projection) in the in the ProblemSolver path vector. No path validation is made. The paths can be retrieved using corbaserver::Problem::configAtParam

◆ createGraphValidation()

manipulation_idl::graph_idl::Validation hpp::corbaserver::manipulation::Problem::createGraphValidation ( )
raises (Error
)

◆ createGrasp()

void hpp::corbaserver::manipulation::Problem::createGrasp ( in string  graspName,
in string  gripperName,
in string  handleName 
)
raises (Error
)

Create grasp constraints between robot gripper and object handle Creates two contraints between a handle and a gripper.

  • The first constraint named "${graspName}" is defined by the type of handle. For instance, an axial handle defines a five degree of freedom constraint with free rotation around the x-axis.
  • the second constraint named "${graspName}/complement" is the complement to the fully constraint transformation. For the axial handle, it corresponds to the rotation around x.
Parameters
graspNameprefix of the constraint names for storing in ProblemSolver map,
gripperNamename of the gripper used when it has been created
handleNamename of the handle in the form "object/handle" where object is the name of the object owning the handle and handle is the name of the handle in this object.
See also
hpp::manipulation::Handle::createGrasp

◆ createPlacementConstraint()

void hpp::corbaserver::manipulation::Problem::createPlacementConstraint ( in string  placementName,
in Names_t  shapeName,
in Names_t  envContactName 
)
raises (Error
)

Create a placement constraint between a shapes of robot and env.

Parameters
placementNameName of the numerical constraint,
shapeNameList of names of the list of shapes as stored in the Device instance,
envContactNamelist of names of the list of shapes as stored in ProblemSolver instance

A placement constraint specifies that surfaces delimited by one shape of the robot and one shape of the environment should have an intersection of positive area.

◆ createPreGrasp()

void hpp::corbaserver::manipulation::Problem::createPreGrasp ( in string  name,
in string  gripper,
in string  handle 
)
raises (Error
)

Create pre-grasp constraints between robot gripper and object handle

Creates two contraints between a handle and a gripper.

  • The first constraint named "${name}" is the same as the grasp defined in createGrasp, except that the translation along x is not constrained. For instance, an axial handle defines a four degree of freedom constraint with free rotation and translation around/along the x-axis,
  • the second constraint named "${name}/double_ineq" is a double inequality on the relative x-position of the handle and of the gripper. the bounds of the inequality are for now [-.001 c, 2.001 c].
Parameters
nameprefix of the constraint names for storing in ProblemSolver map,
grippername of the gripper used when it has been created
handlename of the handle in the form "object/handle" where object is the name of the object owning the handle and handle is the name of the handle in this object,

◆ createPrePlacementConstraint()

void hpp::corbaserver::manipulation::Problem::createPrePlacementConstraint ( in string  placementName,
in Names_t  shapeName,
in Names_t  envContactName,
in double  witdh 
)
raises (Error
)

Create a pre-placement constraint between a shapes of robot and env.

Parameters
placementNameName of the numerical constraint,
shapeNameName of the list of shapes as stored in the Device instance,
envContactNameName of the list of shapes as stored in ProblemSolver instance
widththe approaching distance.

A pre-placement constraint specifies that surfaces delimited by one shape of the robot and one shape of the environment should have an intersection of positive area.

◆ createQPStabilityConstraint()

void hpp::corbaserver::manipulation::Problem::createQPStabilityConstraint ( in string  constraintName,
in Names_t  shapesName 
)
raises (Error
)

Create a QPStaticStability constraints

Parameters
constraintName
shapesNamelist of the convex shape name of the robot on which forces are applied.

◆ edgeAtParam()

ID hpp::corbaserver::manipulation::Problem::edgeAtParam ( in unsigned long  inPathId,
in double  atDistance,
out string  graphName 
)
raises (Error
)

Get the edge ID of the motion that generated the configuration at the given parameter.

◆ getAvailable()

Names_t hpp::corbaserver::manipulation::Problem::getAvailable ( in string  type)
raises (Error
)

Return a list of available elements of type type

Parameters
typeenter "type" to know what types I know of. This is case insensitive.

◆ getEnvironmentContact()

Names_t hpp::corbaserver::manipulation::Problem::getEnvironmentContact ( in string  name,
out intSeq  indices,
out floatSeqSeq  points 
)
raises (Error
)

Get environment contact from name

A contact surface may be composed of several convex polygons. Let us denote by n the number of polygons.

Parameters
namename of the contact surface
Returns
a list of n times the same joint name
Return values
indicessequence of n numbers of vertices one for each polygon,
pointssequence of vertices. The number should be the sum of the elements of indices.

◆ getEnvironmentContactNames()

Names_t hpp::corbaserver::manipulation::Problem::getEnvironmentContactNames ( )
raises (Error
)

Get names of environment contact surfaces

See also
class hpp::core::Shape_t
Note
they are also accessible with getAvailable("EnvContact").

◆ getRobotContact()

Names_t hpp::corbaserver::manipulation::Problem::getRobotContact ( in string  name,
out intSeq  indexes,
out floatSeqSeq  points 
)
raises (Error
)

Get robot contact from name

A contact surface may be composed of several convex polygons. Let us denote by n the number of polygons.

Parameters
namename of the contact surface
Returns
a list of n times the same joint name
Return values
indicessequence of n numbers of vertices one for each polygon,
pointssequence of vertices. The number should be the sum of the elements of indices.

◆ getRobotContactNames()

Names_t hpp::corbaserver::manipulation::Problem::getRobotContactNames ( )
raises (Error
)

Get names of environment contact surfaces on robot

See also
class hpp::core::Shape_t
Note
those are also accessible with getAvailable("RobotContact").

◆ getSelected()

Names_t hpp::corbaserver::manipulation::Problem::getSelected ( in string  type)
raises (Error
)

Return a list of selected elements of type type

Parameters
typeenter "type" to know what types I know of. This is case insensitive.
Note
For most of the types, the list will contain only one element.

◆ resetProblem()

void hpp::corbaserver::manipulation::Problem::resetProblem ( )
raises (Error
)

Reset the current problem.

◆ selectProblem()

boolean hpp::corbaserver::manipulation::Problem::selectProblem ( in string  name)
raises (Error
)

Select a problem by its name. If no problem with this name exists, a new hpp::manipulation::ProblemSolver is created and selected.

Parameters
namethe problem name.
Returns
true if a new problem was created.

◆ setConstraints()

boolean hpp::corbaserver::manipulation::Problem::setConstraints ( in ID  idComp,
in boolean  target 
)
raises (Error
)

Set the problem constraints to the specified constraint.

Parameters
idCompID of a node or a configuration
targetignored for states. For edges:
  • true: uses the edge target constraint
  • false: uses the edge path constraint

◆ setTargetState()

void hpp::corbaserver::manipulation::Problem::setTargetState ( in ID  IDstate)
raises (Error
)

Set a state of the constraint graph as target of the problem.

Warning
when setTargetState is called, goal configurations are ignored.

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