CylindricalShell represents a cylindrical shell that consists of two colinear cylinders. A shell consists of an inner and an outer cylinder. The portion of the object to be grasped must fit inside the inner cylinder, and the radius of that cylinder must be no larger than the maximum hand aperture. The gap between the inner and outer cylinder must be free of obstacles and wide enough to be able to contain the robot fingers.
More...
#include <cylindrical_shell.h>
|
void | fitCylinder (const PointCloud::Ptr &cloud, const std::vector< int > &indices, const Eigen::Vector3d &normal, const Eigen::Vector3d &curvature_axis) |
| Fit a cylinder to a set of points in the cloud, using their indices, and the normal and the curvature axis given by the quadric fitting (see curvature_estimation_taubin.h). The fitted cylinder is the inner cylinder of the cylindrical shell. More...
|
|
Eigen::Vector3d | getCentroid () const |
| Get the centroid of the cylindrical shell. More...
|
|
Eigen::Vector3d | getCurvatureAxis () const |
| Get the curvature axis of the cylindrical shell. More...
|
|
double | getExtent () const |
| Get the extent of the cylindrical shell. More...
|
|
int | getNeighborhoodCentroidIndex () const |
| Get the index of the centroid of the neighborhood associated with the cylindrical shell. More...
|
|
Eigen::Vector3d | getNormal () const |
| Get the normal axis of the cylindrical shell. More...
|
|
double | getRadius () const |
| Get the radius of the cylindrical shell. More...
|
|
bool | hasClearance (const PointCloud::Ptr &cloud, const std::vector< int > &nn_indices, double maxHandAperture, double handleGap) |
| Check whether the gap between the inner and outer cylinder of the shell is free of obstacles and wide enough to be able to contain the robot fingers. More...
|
|
void | setExtent (double extent) |
| Set the extent of the cylindrical shell. More...
|
|
void | setNeighborhoodCentroidIndex (int index) |
| Set the index of the centroid of the neighborhood associated with the cylindrical shell. More...
|
|
CylindricalShell represents a cylindrical shell that consists of two colinear cylinders. A shell consists of an inner and an outer cylinder. The portion of the object to be grasped must fit inside the inner cylinder, and the radius of that cylinder must be no larger than the maximum hand aperture. The gap between the inner and outer cylinder must be free of obstacles and wide enough to be able to contain the robot fingers.
- Author
- Andreas ten Pas
Definition at line 49 of file cylindrical_shell.h.
void CylindricalShell::fitCylinder |
( |
const PointCloud::Ptr & |
cloud, |
|
|
const std::vector< int > & |
indices, |
|
|
const Eigen::Vector3d & |
normal, |
|
|
const Eigen::Vector3d & |
curvature_axis |
|
) |
| |
Fit a cylinder to a set of points in the cloud, using their indices, and the normal and the curvature axis given by the quadric fitting (see curvature_estimation_taubin.h). The fitted cylinder is the inner cylinder of the cylindrical shell.
- Parameters
-
cloud | the point cloud |
indices | the indices of the set of points in the cloud |
normal | the normal given by quadric fitting |
curvature_axis | the curvature axis given by quadric fitting |
Definition at line 3 of file cylindrical_shell.cpp.
Eigen::Vector3d CylindricalShell::getCentroid |
( |
| ) |
const |
|
inline |
Eigen::Vector3d CylindricalShell::getCurvatureAxis |
( |
| ) |
const |
|
inline |
double CylindricalShell::getExtent |
( |
| ) |
const |
|
inline |
int CylindricalShell::getNeighborhoodCentroidIndex |
( |
| ) |
const |
|
inline |
Get the index of the centroid of the neighborhood associated with the cylindrical shell.
Definition at line 103 of file cylindrical_shell.h.
Eigen::Vector3d CylindricalShell::getNormal |
( |
| ) |
const |
|
inline |
double CylindricalShell::getRadius |
( |
| ) |
const |
|
inline |
bool CylindricalShell::hasClearance |
( |
const PointCloud::Ptr & |
cloud, |
|
|
const std::vector< int > & |
nn_indices, |
|
|
double |
maxHandAperture, |
|
|
double |
handleGap |
|
) |
| |
Check whether the gap between the inner and outer cylinder of the shell is free of obstacles and wide enough to be able to contain the robot fingers.
- Parameters
-
cloud | the point cloud |
maxHandAperture | the maximum robot hand aperture |
handleGap | the required size of the gap around the handle |
Definition at line 49 of file cylindrical_shell.cpp.
void CylindricalShell::setExtent |
( |
double |
extent | ) |
|
|
inline |
void CylindricalShell::setNeighborhoodCentroidIndex |
( |
int |
index | ) |
|
|
inline |
Set the index of the centroid of the neighborhood associated with the cylindrical shell.
- Parameters
-
index | the index of the centroid |
Definition at line 113 of file cylindrical_shell.h.
Eigen::Vector3d CylindricalShell::centroid |
|
private |
Eigen::Vector3d CylindricalShell::curvature_axis |
|
private |
double CylindricalShell::extent |
|
private |
int CylindricalShell::neighborhood_centroid_index |
|
private |
Eigen::Vector3d CylindricalShell::normal |
|
private |
double CylindricalShell::radius |
|
private |
The documentation for this class was generated from the following files: