#include <icp_registration.h>
Public Types | |
typedef jsk_pcl_ros::ICPRegistrationConfig | Config |
typedef message_filters::sync_policies::ExactTime < sensor_msgs::PointCloud2, geometry_msgs::PoseStamped > | OffsetSyncPolicy |
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 |
Public Member Functions | |
ICPRegistration () | |
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_recognition_msgs::ICPAlign::Request &req, jsk_recognition_msgs::ICPAlign::Response &res) |
virtual void | alignWithBox (const sensor_msgs::PointCloud2::ConstPtr &msg, const jsk_recognition_msgs::BoundingBox::ConstPtr &box_msg) |
virtual bool | alignWithBoxService (jsk_recognition_msgs::ICPAlignWithBox::Request &req, jsk_recognition_msgs::ICPAlignWithBox::Response &res) |
virtual void | alignWithOffset (const sensor_msgs::PointCloud2::ConstPtr &msg, const geometry_msgs::PoseStamped::ConstPtr &pose_msg) |
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_ |
bool | done_init_ |
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_average_time_ |
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_latest_time_ |
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_ |
message_filters::Subscriber < geometry_msgs::PoseStamped > | sub_offset_ |
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 < OffsetSyncPolicy > > | sync_offset_ |
boost::shared_ptr < message_filters::Synchronizer < ReferenceSyncPolicy > > | sync_reference_ |
bool | synchronize_reference_ |
tf::TransformListener * | tf_listener_ |
jsk_recognition_utils::WallDurationTimer | timer_ |
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. | |
bool | use_offset_pose_ |
set via ~use_offset_pose parameter. default is false. |
Definition at line 59 of file icp_registration.h.
typedef jsk_pcl_ros::ICPRegistrationConfig jsk_pcl_ros::ICPRegistration::Config |
Definition at line 63 of file icp_registration.h.
typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, geometry_msgs::PoseStamped > jsk_pcl_ros::ICPRegistration::OffsetSyncPolicy |
Definition at line 69 of file icp_registration.h.
typedef pcl::PointXYZRGBNormal jsk_pcl_ros::ICPRegistration::PointT |
Definition at line 62 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 73 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 66 of file icp_registration.h.
jsk_pcl_ros::ICPRegistration::ICPRegistration | ( | ) | [inline] |
Definition at line 74 of file icp_registration.h.
void jsk_pcl_ros::ICPRegistration::align | ( | const sensor_msgs::PointCloud2::ConstPtr & | msg | ) | [protected, virtual] |
Definition at line 371 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 398 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 513 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 560 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 529 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 423 of file icp_registration_nodelet.cpp.
bool jsk_pcl_ros::ICPRegistration::alignService | ( | jsk_recognition_msgs::ICPAlign::Request & | req, |
jsk_recognition_msgs::ICPAlign::Response & | res | ||
) | [protected, virtual] |
Definition at line 231 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 280 of file icp_registration_nodelet.cpp.
bool jsk_pcl_ros::ICPRegistration::alignWithBoxService | ( | jsk_recognition_msgs::ICPAlignWithBox::Request & | req, |
jsk_recognition_msgs::ICPAlignWithBox::Response & | res | ||
) | [protected, virtual] |
Definition at line 198 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::alignWithOffset | ( | const sensor_msgs::PointCloud2::ConstPtr & | msg, |
const geometry_msgs::PoseStamped::ConstPtr & | pose_msg | ||
) | [protected, virtual] |
Definition at line 321 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::cameraInfoCallback | ( | const sensor_msgs::CameraInfo::ConstPtr & | msg | ) | [protected, virtual] |
Definition at line 506 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::configCallback | ( | Config & | config, |
uint32_t | level | ||
) | [protected, virtual] |
Definition at line 179 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::onInit | ( | void | ) | [protected, virtual] |
Reimplemented from jsk_topic_tools::ConnectionBasedNodelet.
Definition at line 52 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 166 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::referenceAddCallback | ( | const sensor_msgs::PointCloud2::ConstPtr & | msg | ) | [protected, virtual] |
Definition at line 712 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::referenceArrayCallback | ( | const jsk_recognition_msgs::PointsArray::ConstPtr & | msg | ) | [protected, virtual] |
Definition at line 696 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::referenceCallback | ( | const sensor_msgs::PointCloud2::ConstPtr & | msg | ) | [protected, virtual] |
Definition at line 675 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 631 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::subscribe | ( | ) | [protected, virtual] |
Implements jsk_topic_tools::ConnectionBasedNodelet.
Definition at line 108 of file icp_registration_nodelet.cpp.
void jsk_pcl_ros::ICPRegistration::unsubscribe | ( | ) | [protected, virtual] |
Implements jsk_topic_tools::ConnectionBasedNodelet.
Definition at line 148 of file icp_registration_nodelet.cpp.
int jsk_pcl_ros::ICPRegistration::algorithm_ [protected] |
Definition at line 190 of file icp_registration.h.
bool jsk_pcl_ros::ICPRegistration::align_box_ [protected] |
Definition at line 161 of file icp_registration.h.
sensor_msgs::CameraInfo::ConstPtr jsk_pcl_ros::ICPRegistration::camera_info_msg_ [protected] |
Definition at line 199 of file icp_registration.h.
int jsk_pcl_ros::ICPRegistration::correspondence_algorithm_ [protected] |
Definition at line 191 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::correspondence_distance_ [protected] |
Definition at line 194 of file icp_registration.h.
int jsk_pcl_ros::ICPRegistration::correspondence_randomness_ [protected] |
Definition at line 205 of file icp_registration.h.
bool jsk_pcl_ros::ICPRegistration::done_init_ [protected] |
Definition at line 215 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::euclidean_fittness_epsilon_ [protected] |
Definition at line 196 of file icp_registration.h.
int jsk_pcl_ros::ICPRegistration::max_iteration_ [protected] |
Definition at line 193 of file icp_registration.h.
int jsk_pcl_ros::ICPRegistration::maximum_optimizer_iterations_ [protected] |
Definition at line 206 of file icp_registration.h.
boost::mutex jsk_pcl_ros::ICPRegistration::mutex_ [protected] |
Definition at line 163 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::ndt_outlier_ratio_ [protected] |
Definition at line 213 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::ndt_resolution_ [protected] |
Definition at line 211 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::ndt_step_size_ [protected] |
Definition at line 212 of file icp_registration.h.
Definition at line 152 of file icp_registration.h.
Definition at line 153 of file icp_registration.h.
Definition at line 153 of file icp_registration.h.
Definition at line 153 of file icp_registration.h.
Definition at line 153 of file icp_registration.h.
Definition at line 157 of file icp_registration.h.
Definition at line 151 of file icp_registration.h.
Definition at line 150 of file icp_registration.h.
Definition at line 149 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::ransac_iterations_ [protected] |
Definition at line 197 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::ransac_outlier_threshold_ [protected] |
Definition at line 198 of file icp_registration.h.
std::vector<pcl::PointCloud<PointT>::Ptr> jsk_pcl_ros::ICPRegistration::reference_cloud_list_ [protected] |
Definition at line 192 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::rotation_epsilon_ [protected] |
Definition at line 204 of file icp_registration.h.
boost::shared_ptr<dynamic_reconfigure::Server<Config> > jsk_pcl_ros::ICPRegistration::srv_ [protected] |
Definition at line 162 of file icp_registration.h.
Definition at line 160 of file icp_registration.h.
Definition at line 159 of file icp_registration.h.
ros::Subscriber jsk_pcl_ros::ICPRegistration::sub_ [protected] |
Definition at line 143 of file icp_registration.h.
message_filters::Subscriber<jsk_recognition_msgs::BoundingBox> jsk_pcl_ros::ICPRegistration::sub_box_ [protected] |
Definition at line 165 of file icp_registration.h.
Definition at line 142 of file icp_registration.h.
message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::ICPRegistration::sub_input_ [protected] |
Definition at line 164 of file icp_registration.h.
message_filters::Subscriber<geometry_msgs::PoseStamped> jsk_pcl_ros::ICPRegistration::sub_offset_ [protected] |
Definition at line 166 of file icp_registration.h.
Definition at line 144 of file icp_registration.h.
Definition at line 145 of file icp_registration.h.
Definition at line 146 of file icp_registration.h.
message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::ICPRegistration::sub_sync_input_ [protected] |
Definition at line 147 of file icp_registration.h.
message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::ICPRegistration::sub_sync_reference_ [protected] |
Definition at line 148 of file icp_registration.h.
boost::shared_ptr<message_filters::Synchronizer<SyncPolicy> > jsk_pcl_ros::ICPRegistration::sync_ [protected] |
Definition at line 167 of file icp_registration.h.
boost::shared_ptr<message_filters::Synchronizer<OffsetSyncPolicy> > jsk_pcl_ros::ICPRegistration::sync_offset_ [protected] |
Definition at line 168 of file icp_registration.h.
boost::shared_ptr<message_filters::Synchronizer<ReferenceSyncPolicy> > jsk_pcl_ros::ICPRegistration::sync_reference_ [protected] |
Definition at line 169 of file icp_registration.h.
bool jsk_pcl_ros::ICPRegistration::synchronize_reference_ [protected] |
Definition at line 188 of file icp_registration.h.
Definition at line 170 of file icp_registration.h.
Definition at line 158 of file icp_registration.h.
double jsk_pcl_ros::ICPRegistration::transform_epsilon_ [protected] |
Definition at line 195 of file icp_registration.h.
bool jsk_pcl_ros::ICPRegistration::use_flipped_initial_pose_ [protected] |
Definition at line 189 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 183 of file icp_registration.h.
bool jsk_pcl_ros::ICPRegistration::use_offset_pose_ [protected] |
set via ~use_offset_pose parameter. default is false.
Definition at line 176 of file icp_registration.h.