libmove3d-planners
|
Public Member Functions | |
BodySurfaceSampler (double step) | |
void | computeObjectPointCloud (obj *obj, PointCloud &pointCloud, bool isRobot=false) |
Computes a point cloud for an object. More... | |
void | computeStaticObjectsPointCloud () |
void | computeRobotBodiesPointCloud (Robot *rob) |
void | computeAllRobotsBodiesPointCloud () |
bool | isPointInEnvironment (const Eigen::Vector3d &point) |
bool | isPointOverGround (const Eigen::Vector3d &point) |
PointCloud & | getPointCloud (obj *o) |
BoundingCylinder * | generateBoudingCylinder (p3d_obj *obj) |
double | generateRobotBoudingCylinder (Robot *rob, const std::vector< Joint * > &activeJoints) |
returns the max radius | |
void | generateAllRobotsBoundingCylinders () |
Computes collision points for all bodies. | |
std::vector< CollisionPoint > | getLinksCollisionPoints (Joint *jnt, int segment_number, const std::vector< int > &parent_joints) |
Generates the collision point for a given link Stores the segment number (the id of the joint for planning) Also store the parent joints of the link. | |
std::vector< CollisionPoint > | generateJointCollisionPoints (Robot *robot, int id, const std::vector< int > &active_joints, const std::vector< int > &planner_joints) |
Computes the parent joints, the segment of the joint and generate the collision point for the joint supposing that the bounding cylinder has been computed before. | |
std::vector< CollisionPoint > | generateRobotCollisionPoints (Robot *robot, const std::vector< int > &active_joints, const std::vector< int > &planner_joints) |
Generate the collision points for links associated to the active joints It computes the parent joints of the joint. | |
std::vector< CollisionPoint > | generateAllRobotCollisionPoints (Robot *robot) |
Generate the collision points for links associated to the active joints It computes the parent joints of the joint. | |
std::vector< CollisionPoint > & | getCollisionPoints (Joint *jnt) |
double | getDefaultClearance () |
void | draw () |
Draw the sampled points Sampled points are points on the surface of static obstacles collision points are computed by bounding cylinders. | |
void BodySurfaceSampler::computeObjectPointCloud | ( | obj * | obj, |
PointCloud & | pointCloud, | ||
bool | isRobot = false |
||
) |
Computes a point cloud for an object.
Discard points of they are not in the evironment box also dicard points of they are bellow 0 in z (bellow ground) this enables a pading while keeping a ground object for the calssical collision checker based algorithm