hpp-manipulation-corba
4.14.0
Corba server for manipulation planning
|
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 | loadRoadmap (in string filename) 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 string comRootJointName, in Names_t shapesName) raises (Error) |
boolean | setConstraints (in ID idComp, in boolean target) raises (Error) |
void | registerConstraints (in string constraint, in string complement, in string both) |
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) |
core_idl::Roadmap | readRoadmap (in string filename, in pinocchio_idl::Device robot, in manipulation_idl::graph_idl::Graph graph) raises (Error) |
void | writeRoadmap (in string filename, in core_idl::Roadmap roadmap, in pinocchio_idl::Device robot, in manipulation_idl::graph_idl::Graph graph) raises (Error) |
core_idl::Roadmap | createRoadmap (in core_idl::Distance distance, in pinocchio_idl::Device robot) raises (Error) |
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
idComp | ID of a node or a configuration |
input | input configuration, |
output | output configuration, |
error | norm of the residual error. |
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
IDedge | ID of an edge |
qnear | configuration to initiliaze the projector, |
input | input configuration, |
output | output configuration, |
error | norm of the residual error. Call method using hpp::manipulation::graph::Edge::applyConstraints. |
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.
IDedge | id of the edge to use. |
qb | configuration at the beginning of the path |
qe | configuration at the end of the path |
return | true 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 |
manipulation_idl::graph_idl::Validation hpp::corbaserver::manipulation::Problem::createGraphValidation | ( | ) | ||
raises | ( | Error | ||
) |
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.
graspName | prefix of the constraint names for storing in ProblemSolver map, |
gripperName | name of the gripper used when it has been created |
handleName | name 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. |
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.
placementName | Name of the numerical constraint, |
shapeName | List of names of the list of shapes as stored in the Device instance, |
envContactName | list 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.
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.
name | prefix of the constraint names for storing in ProblemSolver map, |
gripper | name of the gripper used when it has been created |
handle | name 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, |
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.
placementName | Name of the numerical constraint, |
shapeName | Name of the list of shapes as stored in the Device instance, |
envContactName | Name of the list of shapes as stored in ProblemSolver instance |
width | the 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.
void hpp::corbaserver::manipulation::Problem::createQPStabilityConstraint | ( | in string | constraintName, |
in string | comRootJointName, | ||
in Names_t | shapesName | ||
) | |||
raises | ( | Error | |
) |
Create a QPStaticStability constraints
constraintName | |
comRootJointName | name of the root joint of the center of mass to be used, |
shapesName | list of the convex shape name of the robot on which forces are applied. |
core_idl::Roadmap hpp::corbaserver::manipulation::Problem::createRoadmap | ( | in core_idl::Distance | distance, |
in pinocchio_idl::Device | robot | ||
) | |||
raises | ( | Error | |
) |
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.
Names_t hpp::corbaserver::manipulation::Problem::getAvailable | ( | in string | type | ) | |
raises | ( | Error | |||
) |
Return a list of available elements of type type
type | enter "type" to know what types I know of. This is case insensitive. |
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.
name | name of the contact surface |
indices | sequence of n numbers of vertices one for each polygon, |
points | sequence of vertices. The number should be the sum of the elements of indices. |
Names_t hpp::corbaserver::manipulation::Problem::getEnvironmentContactNames | ( | ) | ||
raises | ( | Error | ||
) |
Get names of environment contact surfaces
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.
name | name of the contact surface |
indices | sequence of n numbers of vertices one for each polygon, |
points | sequence of vertices. The number should be the sum of the elements of indices. |
Names_t hpp::corbaserver::manipulation::Problem::getRobotContactNames | ( | ) | ||
raises | ( | Error | ||
) |
Get names of environment contact surfaces on robot
Names_t hpp::corbaserver::manipulation::Problem::getSelected | ( | in string | type | ) | |
raises | ( | Error | |||
) |
Return a list of selected elements of type type
type | enter "type" to know what types I know of. This is case insensitive. |
void hpp::corbaserver::manipulation::Problem::loadRoadmap | ( | in string | filename | ) | |
raises | ( | Error | |||
) |
Load a roadmap from a file
filename | name of the file from which the roadmap is read. |
core_idl::Roadmap hpp::corbaserver::manipulation::Problem::readRoadmap | ( | in string | filename, |
in pinocchio_idl::Device | robot, | ||
in manipulation_idl::graph_idl::Graph | graph | ||
) | |||
raises | ( | Error | |
) |
Read a roadmap from a file
filename | name of the file, If it ends with '.xml', then the file is interpreted in XML format, otherwise it is interpreted in binary format. |
robot | the robot for which the roadmap was built before saving in the file, |
constraint | graph with which the roadmap was build before saving in the file. |
void hpp::corbaserver::manipulation::Problem::registerConstraints | ( | in string | constraint, |
in string | complement, | ||
in string | both | ||
) |
Register constraints
constraint | a numerical constraint partially constraining the (relative) pose of an object or robot body (grasp, placement), |
complement | the complement constraint, i.e. the constaint that combined with the previous one totally constrains the pose of the object or robot body. |
both | a constraint (usually explicit) that is equivalent to the combination of the two first parameters. |
Registering constraints enables the numerical solvers to be more efficient. Instead of inserting "constraint" and "complement" in a solver, the graph will insert constraint "both", thus replacing two implicit constraints by an explicit one.
void hpp::corbaserver::manipulation::Problem::resetProblem | ( | ) | ||
raises | ( | Error | ||
) |
Reset the current problem.
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.
name | the problem name. |
boolean hpp::corbaserver::manipulation::Problem::setConstraints | ( | in ID | idComp, |
in boolean | target | ||
) | |||
raises | ( | Error | |
) |
Set the problem constraints to the specified constraint.
idComp | ID of a node or a configuration |
target | ignored for states. For edges:
|
void hpp::corbaserver::manipulation::Problem::setTargetState | ( | in ID | IDstate | ) | |
raises | ( | Error | |||
) |
Set a state of the constraint graph as target of the problem.
void hpp::corbaserver::manipulation::Problem::writeRoadmap | ( | in string | filename, |
in core_idl::Roadmap | roadmap, | ||
in pinocchio_idl::Device | robot, | ||
in manipulation_idl::graph_idl::Graph | graph | ||
) | |||
raises | ( | Error | |
) |
Write a roadmap ro a file
filename | name of the file, If it ends with '.xml', then the file is interpreted in XML format, otherwise it is interpreted in binary format. |
robot | the robot for which the roadmap was built before saving in the file, |
constraint | graph with which the roadmap was build before saving in the file. |