#include <icp_registration.h>
Public Types | |
typedef jsk_pcl_ros::ICPRegistrationConfig | Config |
typedef pcl::PointXYZRGBNormal | PointT |
typedef message_filters::sync_policies::ExactTime < sensor_msgs::PointCloud2, sensor_msgs::PointCloud2 > | ReferenceSyncPolicy |
typedef message_filters::sync_policies::ExactTime < sensor_msgs::PointCloud2, jsk_recognition_msgs::BoundingBox > | SyncPolicy |
Protected Member Functions | |
virtual void | align (const sensor_msgs::PointCloud2::ConstPtr &msg) |
virtual void | align (const sensor_msgs::PointCloud2::ConstPtr &msg, const sensor_msgs::PointCloud2::ConstPtr &reference_msg) |
virtual double | alignPointcloud (pcl::PointCloud< PointT >::Ptr &cloud, pcl::PointCloud< PointT >::Ptr &reference, const Eigen::Affine3f &offset, pcl::PointCloud< PointT >::Ptr &output_cloud, Eigen::Affine3d &output_transform) |
virtual double | alignPointcloudWithICP (pcl::PointCloud< PointT >::Ptr &cloud, pcl::PointCloud< PointT >::Ptr &reference, const Eigen::Affine3f &offset, pcl::PointCloud< PointT >::Ptr &output_cloud, Eigen::Affine3d &output_transform) |
virtual double | alignPointcloudWithNDT (pcl::PointCloud< PointT >::Ptr &cloud, pcl::PointCloud< PointT >::Ptr &reference, const Eigen::Affine3f &offset, pcl::PointCloud< PointT >::Ptr &output_cloud, Eigen::Affine3d &output_transform) |
virtual jsk_recognition_msgs::ICPResult | alignPointcloudWithReferences (pcl::PointCloud< PointT >::Ptr &cloud, const Eigen::Affine3f &offset, const std_msgs::Header &header) |
virtual bool | alignService (jsk_pcl_ros::ICPAlign::Request &req, jsk_pcl_ros::ICPAlign::Response &res) |
virtual void | alignWithBox (const sensor_msgs::PointCloud2::ConstPtr &msg, const jsk_recognition_msgs::BoundingBox::ConstPtr &box_msg) |
virtual bool | alignWithBoxService (jsk_pcl_ros::ICPAlignWithBox::Request &req, jsk_pcl_ros::ICPAlignWithBox::Response &res) |
virtual void | cameraInfoCallback (const sensor_msgs::CameraInfo::ConstPtr &msg) |
virtual void | configCallback (Config &config, uint32_t level) |
virtual void | onInit () |
virtual void | publishDebugCloud (ros::Publisher &pub, const pcl::PointCloud< PointT > &cloud) |
virtual void | referenceAddCallback (const sensor_msgs::PointCloud2::ConstPtr &msg) |
virtual void | referenceArrayCallback (const jsk_recognition_msgs::PointsArray::ConstPtr &msg) |
virtual void | referenceCallback (const sensor_msgs::PointCloud2::ConstPtr &msg) |
virtual double | scorePointcloudAlignment (pcl::PointCloud< PointT >::Ptr &cloud, pcl::PointCloud< PointT >::Ptr &reference, const Eigen::Affine3f &offset, Eigen::Affine3f &offset_result, pcl::PointCloud< PointT >::Ptr transformed_cloud, Eigen::Affine3d &transform_result) |
virtual void | subscribe () |
virtual void | unsubscribe () |
Protected Attributes | |
int | algorithm_ |
bool | align_box_ |
sensor_msgs::CameraInfo::ConstPtr | camera_info_msg_ |
int | correspondence_algorithm_ |
double | correspondence_distance_ |
int | correspondence_randomness_ |
double | euclidean_fittness_epsilon_ |
int | max_iteration_ |
int | maximum_optimizer_iterations_ |
boost::mutex | mutex_ |
double | ndt_outlier_ratio_ |
double | ndt_resolution_ |
double | ndt_step_size_ |
ros::Publisher | pub_debug_flipped_cloud_ |
ros::Publisher | pub_debug_result_cloud_ |
ros::Publisher | pub_debug_source_cloud_ |
ros::Publisher | pub_debug_target_cloud_ |
ros::Publisher | pub_icp_result |
ros::Publisher | pub_result_cloud_ |
ros::Publisher | pub_result_pose_ |
double | ransac_iterations_ |
double | ransac_outlier_threshold_ |
std::vector< pcl::PointCloud < PointT >::Ptr > | reference_cloud_list_ |
double | rotation_epsilon_ |
boost::shared_ptr < dynamic_reconfigure::Server < Config > > | srv_ |
ros::ServiceServer | srv_icp_align_ |
ros::ServiceServer | srv_icp_align_with_box_ |
ros::Subscriber | sub_ |
message_filters::Subscriber < jsk_recognition_msgs::BoundingBox > | sub_box_ |
ros::Subscriber | sub_camera_info_ |
message_filters::Subscriber < sensor_msgs::PointCloud2 > | sub_input_ |
ros::Subscriber | sub_reference_ |
ros::Subscriber | sub_reference_add |
ros::Subscriber | sub_reference_array_ |
message_filters::Subscriber < sensor_msgs::PointCloud2 > | sub_sync_input_ |
message_filters::Subscriber < sensor_msgs::PointCloud2 > | sub_sync_reference_ |
boost::shared_ptr < message_filters::Synchronizer < SyncPolicy > > | sync_ |
boost::shared_ptr < message_filters::Synchronizer < ReferenceSyncPolicy > > | sync_reference_ |
bool | synchronize_reference_ |
tf::TransformListener * | tf_listener_ |
double | transform_epsilon_ |
bool | use_flipped_initial_pose_ |
bool | use_normal_ |
Store value of ~use_normal. If this parameter is true, ICPRegistration nodelet expects reference and input pointcloud have normal_x, normal_y and normal_z fields. |
Definition at line 57 of file icp_registration.h.
typedef jsk_pcl_ros::ICPRegistrationConfig jsk_pcl_ros::ICPRegistration::Config |
Definition at line 61 of file icp_registration.h.
typedef pcl::PointXYZRGBNormal jsk_pcl_ros::ICPRegistration::PointT |
Definition at line 60 of file icp_registration.h.
typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, sensor_msgs::PointCloud2 > jsk_pcl_ros::ICPRegistration::ReferenceSyncPolicy |
Definition at line 68 of file icp_registration.h.
typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, jsk_recognition_msgs::BoundingBox > jsk_pcl_ros::ICPRegistration::SyncPolicy |
Definition at line 64 of file icp_registration.h.
void jsk_pcl_ros::ICPRegistration::align | ( | const sensor_msgs::PointCloud2::ConstPtr & | msg | ) | [protected, virtual] |
Definition at line 302 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::align | ( | const sensor_msgs::PointCloud2::ConstPtr & | msg, |
const sensor_msgs::PointCloud2::ConstPtr & | reference_msg | ||
) | [protected, virtual] |
Definition at line 325 of file icp_registration_nodelet.cpp.
double jsk_pcl_ros::ICPRegistration::alignPointcloud | ( | pcl::PointCloud< PointT >::Ptr & | cloud, |
pcl::PointCloud< PointT >::Ptr & | reference, | ||
const Eigen::Affine3f & | offset, | ||
pcl::PointCloud< PointT >::Ptr & | output_cloud, | ||
Eigen::Affine3d & | output_transform | ||
) | [protected, virtual] |
Definition at line 415 of file icp_registration_nodelet.cpp.
double jsk_pcl_ros::ICPRegistration::alignPointcloudWithICP | ( | pcl::PointCloud< PointT >::Ptr & | cloud, |
pcl::PointCloud< PointT >::Ptr & | reference, | ||
const Eigen::Affine3f & | offset, | ||
pcl::PointCloud< PointT >::Ptr & | output_cloud, | ||
Eigen::Affine3d & | output_transform | ||
) | [protected, virtual] |
Definition at line 462 of file icp_registration_nodelet.cpp.
double jsk_pcl_ros::ICPRegistration::alignPointcloudWithNDT | ( | pcl::PointCloud< PointT >::Ptr & | cloud, |
pcl::PointCloud< PointT >::Ptr & | reference, | ||
const Eigen::Affine3f & | offset, | ||
pcl::PointCloud< PointT >::Ptr & | output_cloud, | ||
Eigen::Affine3d & | output_transform | ||
) | [protected, virtual] |
Definition at line 431 of file icp_registration_nodelet.cpp.
jsk_recognition_msgs::ICPResult jsk_pcl_ros::ICPRegistration::alignPointcloudWithReferences | ( | pcl::PointCloud< PointT >::Ptr & | cloud, |
const Eigen::Affine3f & | offset, | ||
const std_msgs::Header & | header | ||
) | [protected, virtual] |
Definition at line 346 of file icp_registration_nodelet.cpp.
bool jsk_pcl_ros::ICPRegistration::alignService | ( | jsk_pcl_ros::ICPAlign::Request & | req, |
jsk_pcl_ros::ICPAlign::Response & | res | ||
) | [protected, virtual] |
Definition at line 216 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::alignWithBox | ( | const sensor_msgs::PointCloud2::ConstPtr & | msg, |
const jsk_recognition_msgs::BoundingBox::ConstPtr & | box_msg | ||
) | [protected, virtual] |
Definition at line 265 of file icp_registration_nodelet.cpp.
bool jsk_pcl_ros::ICPRegistration::alignWithBoxService | ( | jsk_pcl_ros::ICPAlignWithBox::Request & | req, |
jsk_pcl_ros::ICPAlignWithBox::Response & | res | ||
) | [protected, virtual] |
Definition at line 183 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::cameraInfoCallback | ( | const sensor_msgs::CameraInfo::ConstPtr & | msg | ) | [protected, virtual] |
Definition at line 408 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::configCallback | ( | Config & | config, |
uint32_t | level | ||
) | [protected, virtual] |
Definition at line 164 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::onInit | ( | void | ) | [protected, virtual] |
Reimplemented from jsk_topic_tools::ConnectionBasedNodelet.
Definition at line 51 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::publishDebugCloud | ( | ros::Publisher & | pub, |
const pcl::PointCloud< PointT > & | cloud | ||
) | [protected, virtual] |
Definition at line 151 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::referenceAddCallback | ( | const sensor_msgs::PointCloud2::ConstPtr & | msg | ) | [protected, virtual] |
Definition at line 606 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::referenceArrayCallback | ( | const jsk_recognition_msgs::PointsArray::ConstPtr & | msg | ) | [protected, virtual] |
Definition at line 594 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::referenceCallback | ( | const sensor_msgs::PointCloud2::ConstPtr & | msg | ) | [protected, virtual] |
Definition at line 577 of file icp_registration_nodelet.cpp.
double jsk_pcl_ros::ICPRegistration::scorePointcloudAlignment | ( | pcl::PointCloud< PointT >::Ptr & | cloud, |
pcl::PointCloud< PointT >::Ptr & | reference, | ||
const Eigen::Affine3f & | offset, | ||
Eigen::Affine3f & | offset_result, | ||
pcl::PointCloud< PointT >::Ptr | transformed_cloud, | ||
Eigen::Affine3d & | transform_result | ||
) | [protected, virtual] |
Definition at line 533 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::subscribe | ( | ) | [protected, virtual] |
Implements jsk_topic_tools::ConnectionBasedNodelet.
Definition at line 100 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::unsubscribe | ( | ) | [protected, virtual] |
Implements jsk_topic_tools::ConnectionBasedNodelet.
Definition at line 133 of file icp_registration_nodelet.cpp.
int jsk_pcl_ros::ICPRegistration::algorithm_ [protected] |
Definition at line 171 of file icp_registration.h.
bool jsk_pcl_ros::ICPRegistration::align_box_ [protected] |
Definition at line 150 of file icp_registration.h.
sensor_msgs::CameraInfo::ConstPtr jsk_pcl_ros::ICPRegistration::camera_info_msg_ [protected] |
Definition at line 180 of file icp_registration.h.
int jsk_pcl_ros::ICPRegistration::correspondence_algorithm_ [protected] |
Definition at line 172 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::correspondence_distance_ [protected] |
Definition at line 175 of file icp_registration.h.
int jsk_pcl_ros::ICPRegistration::correspondence_randomness_ [protected] |
Definition at line 186 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::euclidean_fittness_epsilon_ [protected] |
Definition at line 177 of file icp_registration.h.
int jsk_pcl_ros::ICPRegistration::max_iteration_ [protected] |
Definition at line 174 of file icp_registration.h.
int jsk_pcl_ros::ICPRegistration::maximum_optimizer_iterations_ [protected] |
Definition at line 187 of file icp_registration.h.
boost::mutex jsk_pcl_ros::ICPRegistration::mutex_ [protected] |
Definition at line 152 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::ndt_outlier_ratio_ [protected] |
Definition at line 194 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::ndt_resolution_ [protected] |
Definition at line 192 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::ndt_step_size_ [protected] |
Definition at line 193 of file icp_registration.h.
Definition at line 142 of file icp_registration.h.
Definition at line 142 of file icp_registration.h.
Definition at line 142 of file icp_registration.h.
Definition at line 142 of file icp_registration.h.
Definition at line 146 of file icp_registration.h.
Definition at line 141 of file icp_registration.h.
Definition at line 140 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::ransac_iterations_ [protected] |
Definition at line 178 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::ransac_outlier_threshold_ [protected] |
Definition at line 179 of file icp_registration.h.
std::vector<pcl::PointCloud<PointT>::Ptr> jsk_pcl_ros::ICPRegistration::reference_cloud_list_ [protected] |
Definition at line 173 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::rotation_epsilon_ [protected] |
Definition at line 185 of file icp_registration.h.
boost::shared_ptr<dynamic_reconfigure::Server<Config> > jsk_pcl_ros::ICPRegistration::srv_ [protected] |
Definition at line 151 of file icp_registration.h.
Definition at line 149 of file icp_registration.h.
Definition at line 148 of file icp_registration.h.
ros::Subscriber jsk_pcl_ros::ICPRegistration::sub_ [protected] |
Definition at line 134 of file icp_registration.h.
message_filters::Subscriber<jsk_recognition_msgs::BoundingBox> jsk_pcl_ros::ICPRegistration::sub_box_ [protected] |
Definition at line 154 of file icp_registration.h.
Definition at line 133 of file icp_registration.h.
message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::ICPRegistration::sub_input_ [protected] |
Definition at line 153 of file icp_registration.h.
Definition at line 135 of file icp_registration.h.
Definition at line 136 of file icp_registration.h.
Definition at line 137 of file icp_registration.h.
message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::ICPRegistration::sub_sync_input_ [protected] |
Definition at line 138 of file icp_registration.h.
message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::ICPRegistration::sub_sync_reference_ [protected] |
Definition at line 139 of file icp_registration.h.
boost::shared_ptr<message_filters::Synchronizer<SyncPolicy> > jsk_pcl_ros::ICPRegistration::sync_ [protected] |
Definition at line 155 of file icp_registration.h.
boost::shared_ptr<message_filters::Synchronizer<ReferenceSyncPolicy> > jsk_pcl_ros::ICPRegistration::sync_reference_ [protected] |
Definition at line 156 of file icp_registration.h.
bool jsk_pcl_ros::ICPRegistration::synchronize_reference_ [protected] |
Definition at line 169 of file icp_registration.h.
Definition at line 157 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::transform_epsilon_ [protected] |
Definition at line 176 of file icp_registration.h.
bool jsk_pcl_ros::ICPRegistration::use_flipped_initial_pose_ [protected] |
Definition at line 170 of file icp_registration.h.
bool jsk_pcl_ros::ICPRegistration::use_normal_ [protected] |
Store value of ~use_normal. If this parameter is true, ICPRegistration nodelet expects reference and input pointcloud have normal_x, normal_y and normal_z fields.
Definition at line 164 of file icp_registration.h.