hpp-manipulation-corba
4.9.0
Corba server for manipulation planning
|
Handles security margins between robots and objects in collision checking. More...
Public Member Functions | |
def | __init__ (self, problemSolver, factory, robotsAndObjects) |
Constructor. More... | |
def | computeJoints (self) |
def | computeGrippers (self) |
def | computePossibleContacts (self) |
def | setSecurityMarginBetween (self, obj1, obj2, margin) |
Set security margin between two robots or objects. More... | |
def | getSecurityMarginBetween (self, obj1, obj2) |
Get security margin between two robots or objects. More... | |
def | getActiveConstraintsAlongEdge (self, edge) |
def | apply (self) |
Set security margins between. More... | |
Public Attributes | |
ps | |
robot | |
factory | |
robotsAndObjects | |
marginMatrix | |
robotToJoints | |
jointToRobot | |
gripperToRobot | |
gripperToJoints | |
contactSurfaces | |
possibleContacts | |
Static Public Attributes | |
int | defaultMargin = 0 |
Handles security margins between robots and objects in collision checking.
This class sets the requested security margins in PathValidation instances of constraints graph edges.
By default the security margin between objects or robots is set to 0 It can be modified by changing the value of the class member defaultMargin
.
A given security margin can be set for a pair of robots or objects by calling method setSecurityMarginBetween
.
Once appropriate margins have been set by the user, method apply
computes and sets for each edge and each pair of bodies security margins as required. However, along edges where two objects are requested to be close to each other, the security margin is set to 0. For instance
def manipulation.security_margins.SecurityMargins.__init__ | ( | self, | |
problemSolver, | |||
factory, | |||
robotsAndObjects | |||
) |
Constructor.
robotsAndObjects | list of robots and objects. It is assumed that joints names are prefixed by these name followed by "/" |
def manipulation.security_margins.SecurityMargins.apply | ( | self | ) |
Set security margins between.
For each edge, do the following:
def manipulation.security_margins.SecurityMargins.computeGrippers | ( | self | ) |
def manipulation.security_margins.SecurityMargins.computeJoints | ( | self | ) |
def manipulation.security_margins.SecurityMargins.computePossibleContacts | ( | self | ) |
def manipulation.security_margins.SecurityMargins.getActiveConstraintsAlongEdge | ( | self, | |
edge | |||
) |
def manipulation.security_margins.SecurityMargins.getSecurityMarginBetween | ( | self, | |
obj1, | |||
obj2 | |||
) |
Get security margin between two robots or objects.
obj1 | name of first robot or object, |
obj2 | name of second robot or object. |
def manipulation.security_margins.SecurityMargins.setSecurityMarginBetween | ( | self, | |
obj1, | |||
obj2, | |||
margin | |||
) |
Set security margin between two robots or objects.
obj1 | name of first robot or object, |
obj2 | name of second robot or object. |
margin | margin to set between those robots or objects. |
manipulation.security_margins.SecurityMargins.contactSurfaces |
|
static |
manipulation.security_margins.SecurityMargins.factory |
manipulation.security_margins.SecurityMargins.gripperToJoints |
manipulation.security_margins.SecurityMargins.gripperToRobot |
manipulation.security_margins.SecurityMargins.jointToRobot |
manipulation.security_margins.SecurityMargins.marginMatrix |
manipulation.security_margins.SecurityMargins.possibleContacts |
manipulation.security_margins.SecurityMargins.ps |
manipulation.security_margins.SecurityMargins.robot |
manipulation.security_margins.SecurityMargins.robotsAndObjects |
manipulation.security_margins.SecurityMargins.robotToJoints |