0.3.1 ()

0.3.0 (2010-09-05)

  • [pcl_tf] Added function to just transform a point cloud using an Eigen matrix.
  • [pcl] VectorAverage uses fast spezialized PCA method now for dimension=3

  • [pcl] new version of VoxelGrid filter that downsamples data faster and doesn't use as much memory (the previous version could easily cause std::bad_alloc exceptions)

  • [pcl] fixed a major bug where: 1) PointCloud2 structures were being sent with extra unusued (padding) data (i.e., directly copied from pcl::PointCloud<T>); 2) writing PCD files in binary mode resulted in corrupted files (r32303)

  • [pcl] fixed a bug where the fields were not cleared on pcl::getFields (pcl::PointCloud<T>) (r32293)

  • [pcl] fixed a bug where PCDWriter was writing to the same file instead of creating new ones
  • [pcl] improvements in non linear registration (reduced the number of estimates from 7 to 6, SSE optimizations, etc)
  • [pcl] reduced the number of operations for covariance matrix estimation from 18*N to 10*N+3 => big speedup increase together with pcl::eigen33 !

  • [pcl_visualization] fixed a bug where NaN values invalidated certain color handlers
  • [pcl] Big patch for PCL to work with Eigen3. Fixed alignment issues for Sample Consensus models. Added a faster (experimental) eigen decomposition method from Eigen3 trunk.
  • [eigen3] added Eigen3 library
  • [pcl] fixed a bug where the axis_ was not properly aligned on 32bit architectures thus causing an assert
  • [pcl] Added ICP functionalities to range image, add new helper functions header file_io, minor fixes.
  • [pcl_visualization] Range image example uses viewpoint information from file now

0.2.9 (2010-08-27)

  • [pcl] added copyPointCloud (sensor_msgs::PointCloud2 &in, indices, sensor_msgs::PointCloud2 &out)

  • [pcl_visualization] fixed a bug in PCLVisualizer where NULL scalars were causing a segfault
  • [pcl_ros] changed the default max queue size to 3
  • [pcl_ros] added implementations for approximate time synchronizers
  • [pcl_ros] ExtractPolygonalPrismData can now rotate the hull in the point cloud frame using TF

  • [pcl_tf] transforms.cpp add missing out.header.frame_id = target_frame;
  • [laser_scan_geometry] Max range handling from Hokuyo should work properly now.

0.2.8 (2010-08-24)

  • [pcl] added a Huber kernel to LM optimization
  • [pcl_visualization] scale the colors lookup table to the color handler limits (31942)
  • [pcl] fixed a bug where the order of setInputCloud and setPointRepresentation triggered an assert condition (31938)
  • [pcl] added a Sample Consensus model for outlier rejection during ICP-like registration
  • [pcl] added implementations of the intensity-domain spin image and Rotation Invariant Feature Transform, as described in "A sparse texture representation using local affine regions," by Lazebnik et al. (PAMI 2005).
  • [pcl] added a templated N-dimensional histogram point type
  • [pcl_visualization] fixed a bug where the screenshot function was not using the last updated screen
  • [pcl_visualization] addPointCloudPrincipalCurvatures renders the principal curvatures of a point cloud on screen + set color properties
  • [pcl] Updated code to work with point wrapper registration.

0.2.7 (2010-08-19)

  • [pcl_visualization] fixed a silly X11 include bug, where Bool was defined globally therefore breaking BOOST_FOREACH
  • [pcl_tutorials] added a tutorial for online PointCloud2 message viewing

  • [pcl_visualization] added font size property setter for text actors
  • [pcl_visualization] new PCLVisualizer::addText method for adding texts to screen (r31822)
  • [pcl] work on improving the VFH signatures (changed the signature from 263 to 308, added distances)
  • [pcl_visualization] implemented window position ordering and range min/max for PCLHistogramVisualizer (r31805)
  • [pcl_visualization] implemented a basic histogram visualizer for multi-dimensional count=1 features (e.g., VFH)
  • [pcl] SSE improvements in *PFHEstimation
  • [pcl] more SSE improvements in computeCentroid, computeCovarianceMatrix, etc
  • [pcl] several improvements regarding SSE optimizations in SACModelPlane
  • [pcl] make all data points that deal with XYZ SSE aligned (31780)

0.2.6 (2010-08-17)

  • [pcl] fixed another bug where internal matrices were not always cleared in FPFH/VFH estimation
  • [pcl_ros] fixed a bug where SACSegmentation was accepting two parameters with the same name (distance_threshold vs model_threshold)
  • [pcl_visualization] added lookup table to the renderer
  • [cminpack] enabled shared library by default
  • [pcl] fixed a few bugs regarding sizeof(PointT)=16 for demeanPointCloud (r31762)
  • [pcl] fixed a grave bun in FPFHOMP/VFH estimation where the matrices were not correctly initialized on consequent runs (r31757)
  • [pcl_ros] disable empty data publishing in PCDReader
  • [pcl] introduced PCL exceptions, and added checks for conversion and cloud.at (u, v) operations

0.2.5 (2010-08-14)

  • [pcl] added a convenience method in pcl::io::loadPCDFileHeader for loading up files fast and checking their fields, data types and sizes, etc (r31740)
  • [pcl] added implementation of the Sample Consensus Initial Alignment (SAC-IA) algorithm described in "Fast Point Feature Histograms (FPFH) for 3D Registration," Rusu et al., (ICRA 2009)
  • [pcl] moved the estimateRigidTransformationSVD methods out of IterativeClosestPoint and made them static functions defined in registration.h.

  • [pcl_visualization] fixed the minmax color handler visualization (r31710)
  • [pcl_visualization] new addPointCloud convenience method for geometry handlers + bugfix in pcd_viewer (the last field was added twice as a color handler when more than one geometry handler was available)
  • [pcl_ros] grave bug fixed in PointCloudConcatenateFieldsSynchronizer where data was not correctly copied (r31708)

  • [pcl_ros] PCDReader nodelet uses a latched topic to publish data
  • [pcl_visualization] addPointCloudNormals displays surface normals on screen (PCLVisualizer)
  • [pcl_visualization] added -normals and -normals_scale options to pcd_viewer

0.2.4 (2010-08-10)

  • pairwise registration tutorial now has on-screen visualization (r31698)
  • new laser scan geometry for LaserScan->PointCloud2 conversion

  • added general purpose transformation routines for sensor_msgs::PointCloud2 using TF (r31678)

  • added basic shapes (line, sphere, cylinder, polygon, etc), split rendering properties for shapes and point clouds (r31665)
  • fixed a few bugs regarding fields.count
  • small bug fix where triples on the parameter server didn't match with the value in dynamic reconfigure (VoxelGrid)

  • added a convenience method for conversion from PointCloud2 (xyz) to Eigen format

  • added a method to get the radius of a circumscribed circle
  • added methods for saving/loading camera parameters in PCL Visualizer (c, j, -cam)
  • added -multiview to pcd_viewer; PCLVisualizer can now create and use different viewports (r31600)

0.2.3 (2010-08-02)

  • tiny bug fixes for cturtle

0.2.2 (2010-08-02)

  • work to improve the PCL Visualization package, standalone pcd_visualizer completed
  • added cloud(u,v) accessors for organized datasets.
  • added constrained implementations (maximum distance between correspondences) for registration methods
  • added PCD file format v.6 which includes field count (r31367)
  • added a PointRepresentation class for spatial search methods that allows the user to specify what dimensions are important

  • added a maximum distance threshold for point correspondences in registration
  • fixed IterativeClosestPoint registration, added a L1 kernel to icp_nl, and unit tests (31283)

  • added a new segmentation method for obtaining the differences between two point clouds (r31281)

0.2.1 (2010-07-25)

  • test build fixes
  • made BAGReader inherit directly from nodelet::Nodelet

0.2.0 (2010-07-24)

  • added PCL_ROS package for all PCL_ROS interactions. Moved all nodelets and all ROS specific interfaces from PCL to PCL_ROS.
  • moved vectorAverage to common
  • added class to calculate transformation from corresponding points to common
  • added index remapping for the kdtrees so that NAN points are automatically ignored.
  • Split kdtrees in h and hpps
  • Added some new functionality to range images and fixed bugs in creation process.
  • separated the PCL tutorials from the library into a separate package (pcl_tutorials)
  • added a PCD Visualizer and implemented several point cloud visualization techniques (handlers) for geometry and color
  • added getFieldsList (PCL/io) for a pcl::PointCloud

  • added VTK as a dependency for visualization in an attempt to be compatible with older Linux distributions

0.1.9 (2010-06-28)

  • added radius search for organized_data
  • fixed some bugs in the range image class
  • structural changes in range images related classes
  • split point_types.h in point_types.h and point_types.hpp and added output operators for all points
  • Added angles.h, norms.h, time.h, transform.h and common_headers.h (which includes all the others) to provide some basic functions for convenience.
  • Added border_extraction for range images
  • Added vectorAverage to features, which calculates mean and covariance matrix incrementally without storing added points.
  • Added macros.h, which provides some basic macros for convenience.
  • added an initial PCL Visualizer implementation
  • replaced rosrecord with rosbag for all PCL tools
  • added cluster_max size to Euclidean Clustering (r30210)
  • adding cylinder direction axis constraints + sphere min/max radius constraints for model segmentation (r30195)
  • fixed a grave bug which was preventing objects containing ANN trees to be used in multiple threads (r30194)
  • fixed a bug where patches for ANN 1.1.2 were not applied correctly (r30193)
  • all nodelets now have use_indices and max_queue_size checked at startup via PCLNodelet base class
  • switched from rosrecord to the rosbag API for BAGReader
  • enable max_queue_size parameter (default to 1) for all nodelets
  • set the indices/distances to 0 if the search failed for ANN trees (r30130)
  • PCD reader fix when an invalid file name is given (r30004)
  • added range image class (r29971)
  • added axis and eps_angle as ROS parameters for segmentation (r29938)
  • setting the maximum number of clusters that are to be published via max_clusters (r29935)
  • fixed a grave bug where SACModelOrientedPlane was performing an infinite loop inside selectWithinDistance (r29934)

0.1.8 (2010-05-24)

  • simplified API in point_cloud_converter
  • new general purpose 3D point in 2D polygon check method (r29645)
  • added a getPointsInBox() method
  • fixed a bug where some points were not considered as being part of the polygonal prism due to polygonal bound checking errors (r29597)
  • added a PointXYZI type to represent intensity data.
  • updating flann to 1.5_pre2 (r29549)
  • added MovingLeastSquares tutorial (r29539)

0.1.7 (2010-05-13)

  • getMinMax3D<T> methods now reside in common

  • fixed a major bug in VoxelGrid where centroids were not initialized correctly

  • fixed a bug where NdCopyEigenPointFunctor and NdCopyPointEigenFunctor were given incorrect values

  • reorganizing the library for faster compilation
  • fix for linker errors when linking together multiple translation units that include the same point type registration. Static tag name strings would be defined more than once. #4071 (r29435)

0.1.6 (2010-05-01)

  • added parameter sets for Filter, VoxelGrid, ExtractIndices (r29229)

  • refactorized the dynamic reconfigure parametrization for nodelets
  • added tutorial/sample for cylinder segmentation via SAC (r29224)
  • introduced bad model handling in the sample consensus loop (r29218)
  • added the field name to the dynamic reconfigure parameter list for Filters (r29211)
  • improved NaN handling in kdtrees (r29204)
  • fixed a bug where PassThrough was incorrectly declared as a nodelet (r29202)

  • added tutorial/sample for the ConvexHull2D algorithm (r29198)
  • added set/get radius limits (to be extended), implemented radius limits for cylinder models, and better RANSAC model checking (r29194)
  • default input topic on pointcloud_to_pcd changed from "tilt_laser_cloud" to "input" (r29137)
  • CMakeLists split into individual files for better organization
  • fixed a couple of boost linking errors on some machines
  • transformed point_cloud_converter from a node into a library+node so it can be reused elsewhere
  • added a command line tool for concatenating PCD files (r29035)
  • added an implementation of the Viewpoint Feature Histogram (VFH) (r29032)

0.1.5 (2010-04-22)

  • added tutorial/sample for the ExtractIndices filter (r28990)

  • added tutorial/sample for the VoxelGrid filter (r28986)

  • added tutorial/sample for the StatisticalOutlierRemoval filter (r28985)

  • added templated version of loadPCDFile (r28978) and PCDReader::read
  • added unit tests for the StatisticalOutlierRemoval filter (r28971)

  • added unit tests for the ProjectInliers filter (r28970)

  • added unit tests for the VoxelGrid filter (r28969)

  • added negative limits and fixed a bug where the centroid was not correctly initialized in VoxelGrid (r28967)

  • added unit tests for the PassThrough filter (r28966)

  • added unit tests for PCL filters: RadiusOutlierRemoval and ExtractIndices (r28961)

  • added extra unit tests for concatenate points/fields (r28959)
  • added tutorial/sample code for BAGReader (r28955)

0.1.4 (2010-04-21)

  • added a few nodelet tests (talker, listener, pingpong)
  • added unit tests for BAGReader (r28924)
  • added an implementation for BAGReader (r28922)
  • added unit tests for PCDReader/PCDWriter
  • fixed a few bugs where certain include headers were not exposed properly
  • added an implementation of a statistical outlier removal filter (r28886)
  • added an implementation of radius outlier removal filter (r28878)
  • fixed a bug (#3378) where the output file name in several tools was incorrect (r28858)
  • added an implementation of non-linear ICP (28854)
  • fixed a bug where the min/max estimation was incorrect for sensor_msgs/PointCloud2 types in voxel_grid (r28846)

0.1.3 (2010-04-15)

  • final transformation is now accessible after registration (r28797)
  • added filter_limit_negative to switch between inside/outside interval (r28796)
  • added =/+= operator to PointCloud<PointT> (r28795)

  • added a set of tutorials for IO, Segmentation, Filtering
  • fixed a very ugly bug regarding covariance matrices having 0 elements (r28789)
  • IterativeClosestPoint tested and works (r28706)

  • added set/get maximum distance for organized data index and virtualized the ANN radiusSeach (r28705)
  • added demeaning methods to registration/transforms.h
  • updated ANN library to 0.1.2
  • fixed a major bug in ExtractPolygonalPrismData where distances were incorrectly checked

  • added plane normal flip via viewpoint to ExtractPolygonalPrismData

  • added axis and eps_angle (set/get) to SACSegmentationFromNormals
  • added methods for transforming PointCloud datasets containing normals

0.1.2 (2010-04-05)

  • added a first draft implementation of tf_pcl
  • added missing descriptions to PCL nodelets list
  • fixed a few bugs in voxel_grid where the offset was not incremented correctly (r28559)
  • added a new passthrough filter
  • fixed a few bugs regarding Eigen/Boost's make_shared (r28551)
  • solved numerical instability issue in MLS, preferred the solution using doubles over the one using SVD (r28502). MLS works great now.
  • simplified the registration API (still in progress)
  • changed point_cloud_converter to accept 2 input and 2 output topics, thus fixing the "subscribe when nothing is being published" problem (r28540)

0.1.1 (2010-03-29)

  • fixed a very nasty bug in VoxelGrid where leaves were not properly initialized (r28404)

  • fixed extractEuclideanClusters (was not working correctly)
  • added min/max height for polygonal prism data extraction (r28325)
  • added a bag_to_pcd tool that doesn't need ROS to convert BAG files to PCD (r28469)
  • fixed a bug where PCL classes couldn't be used unless ros::init was called first
  • classes now inherit from PCLNodelet and PCLBase
  • setInputCloud and setIndices are defined in PCLBase now, and used everywhere
  • fixed a bug where kdtree structures were incorrectly created
  • added get/set helper methods everywhere
  • PointCloud2 structures can now contain NaN (Not a Number) values, so extra checks have been added in a lot of places

  • added new distance methods to sample consensus models
  • removed ROS_DEBUG statements in the feature constructors
  • indices can now be set via pcl::PointIndices too

  • fixed a bug where the surface was not getting re-initialized in Feature (r28405)
  • added explicit checks for invalid covariance matrices (r28306)
  • fixed a bug where indices are created to mimic the input point cloud data but never reset (r28306)
  • cleaned the C++ API documentation
  • initial MLS port (untested)

0.1.0 (2010-03-10)

  • initial release

Wiki: point_cloud_perception/ChangeList (last edited 2010-09-05 11:10:42 by RaduBogdanRusu)