Main MRPT website > C++ reference
MRPT logo
Change Log

Note: If you are displaying a local version of this page and you have not built the whole HTML documentation, the links above will be broken. Either build the documentation invoking make documentation_html or browse it on-line here.

Version 1.0.2: Released 2-AUG-2013 (SVN 3435)

Version 1.0.1: Released 12-MAY-2013 (SVN 3370)

Version 1.0.0: Released 1-MAR-2013 (SVN 3287)

Version 0.9.6 - (Version 1.0.0-Release_Candidate_4): Released 30-MAY-2012 (SVN 2930)

Version 0.9.5 - (Version 1.0.0-Release_Candidate_3): Released 16-OCT-2011 (SVN 2715)

Version 0.9.4 - (Version 1.0.0-Release_Candidate_2): Released 4-JUN-2011 (SVN 2546)

Version 0.9.3 - (Version 1.0.0-Release_Candidate_1): Released 18-DEC-2010 (SVN 2338)

Version 0.9.2: 27-OCT-2010

Version 0.9.1: Released 1-AUG-2010 (SVN 2076)

Version 0.9.0: Released 3-JUN-2010 (SVN 1880)

    - <b>Detailed list of changes:</b>
            - Applications:
                    - simul-landmarks:
                            - New parameter "show_in_3d" to display a 3D view with the complete simulated robot path and landmarks.
                            - It can now simulate random walks of a robot in 6D, not only over a 2D plane as in previous versions.
                            - Generated rawlogs are gz-compressed.
                    - RawlogViewer:
                            - Much more efficient operations of cutting a rawlog (removing a part, keeping a part only), via a new method mrpt::CRawlog::remove() for ranges of indices.
                            - The program can now export all the images from a given camera as an AVI file (or two, for stereo cameras).
                            - New menu option to regenerate the odometry timestamps of very old datasets (<=2007).
                    - icp-slam:
                            - The program 'icp-slam', and mrpt::slam::CMetricMapBuilderICP, are now capable of handling two kinds of rawlogs: based on CSensoryFrame's (as usual), and the newest only containing CObservation's.
                            - New parameters to set a minimum distance between pose correction with ICP, for faster execution.
                    - kf-slam:
                            - Now has a much more rich live visualization as a 3D view. See
                    - ICP and RBPF SLAM now have a new option to always insert any kind of CObservation-derived class. See mrpt::slam::CMetricMapBuilder::TOptions::alwaysInsertByClass
                    - rawlog-grabber: Now supports extra sensors defined by the user by means of compile-time "plug ins". See
            - New namespaces:
                    - mrpt::global_settings for global switches to tune MRPT behavior at runtime.
                    - mrpt::math::jacobians that unifies Jacobian-related functions.
            - New classes:
                    - Support for the SwissRanger 3D cameras SR3000/SR4000. See the C++ class mrpt::hwdrivers::CSwissRanger3DCamera and <a href="" >this example</a>.
                    - Implementation of the observer/observable design pattern in the classes: mrpt::utils::CObservable & mrpt::utils::CObserver . See also the example "observer_pattern".
                    - Usage of the observer/observable design to dispatch events in GUI windows. See mrpt::gui::CBaseGUIWindow.
                    - Usage of the observer/observable design to enable anyone to subscribe to changes in metric maps. See mrpt::slam::mrptEventMetricMapInsert,                    - New set of classes to represent 6D poses using 3D translation + a quaternion for rotation:
                            - mrpt::poses::CPose3DQuat  - which can be transparently converted to/from mrpt::poses::CPose3D
                            - mrpt::poses::CPose3DQuatPDF
                            - mrpt::poses::CPose3DQuatPDFGaussian
                    - New class mrpt::utils::CStartUpClassesRegister useful to automatically register CObject-derived classes from user code (and all the MRPT libs).
                    - New OpenGL class: mrpt::opengl::CBox, for representing rectangular solid or wireframed boxes.
                    - New class: mrpt::utils::CListOfClasses
                    - New class mrpt::poses::CRobot2DPoseEstimator: A simple filter to estimate and extrapolate the robot 2D (x,y,phi) pose from asynchronous odometry and localization data.
                    - New thread-safe template queue: mrpt::utils::CThreadSafeQueue, which is a generalization of the previous mrpt::utils::CMessageQueue.
                    - New hardware driver: mrpt::hwdriver::CBoardIR for a MAPIR custom I/O board for infrared sensors.
            - Improved classes:
                    - mrpt::bayes::CKalmanFilterCapable now has a new parameter (debug_verify_analytic_jacobians) to automatically verify the user-providen Jacobians vs. numerical ones.
                    - mrpt::slam::CMetricMap (all metric maps) now have a hook method to be called after successful observation insertion.
                    - mrpt::hwdrivers::CRovio has been cleaned and redesigned for offering an easier interface.
                    - mrpt::gui::CDisplayWindow3D now switches full-screen pressing Alt+Enter.
                    - mrpt::vision::CFeatureExtraction now supports the FAST feature detector.
                    - Many mrpt::poses classes now have a more complete support for composition/inverse composition of poses/poses, poses/points, etc. including their uncertainties and Jacobians for the PDF classes.
                    - mrpt::slam::CHeightGridMap2D now has a method to compute the intersection of 3D rays with its cells.
                    - New serialization format of CPose3D, which saves about a 5% in (uncompressed) rawlog file sizes.
                    - Pose composition operator += added to mrpt::poses::CPosePDFGaussian, since it was missing there, but existing in the 3D version mrpt::poses::CPose3DPDFGaussian.
                    - Lightweight geometry structs TPose* & TPoint* now also have method asString() and fromString().
                    - mrpt::poses::CPose3D now has a constructor from a quaternion + a (x,y,z) displacement.
                    - mrpt::opengl::CSetOfObjects and mrpt::opengl::COpenGLViewport now have begin() end() and iterators.
                    - mrpt::slam::COccupancyGridMap2D now accepts inserting IR and sonar observations (by rhn - mrhemali.rhn at porcupinefactory dot org)
                    - Added event "file accessed" to mrpt::system::CFileSystemWatcher:
            - Build system:
                    - Support for MSVC 2010.
            - New or improved functions:
                    - In mrpt::topography:
                            - Introduction of the structure mrpt::topography::TGeodeticCoords
                            - New functions implementing more conversions.
                    - Set of new functions for propagating a Gaussian PDF trough an arbitrary function (see also example 'unscented_transformation_test')
                            - mrpt::math::transform_gaussian_montecarlo : Monte Carlo approximation
                            - mrpt::math::transform_gaussian_linear     : First order approximation (as in EKF)
                            - mrpt::math::transform_gaussian_unscented  : Scaled Unscented Transformation (as in UKF).
                    - mrpt::slam::CLandmarksMap::saveToTextFile() now generates a text header in each file explaining the format of the file (compatible with MATLAB comments).
                    - mrpt::opengl::COpenGLViewport::get3DRayForPixelCoord now also works with orthogonal projections.
                    - 3D windows can display an arbitrary number of 2D text messages. See mrpt::gui::CDisplayWindow3D::add2DTextMessage().
                    - mrpt::utils::TTypeName now also supports matrix and CArray-derived classes.
                    - Functions that have been "templatized":
                            - mrpt::math::normalPDF
                            - mrpt::math::covariancesAndMean
                    - New methods in all kind of matrices (some were only in CMatrixTemplate).
                            - insertMatrix, insertTransposeMatrix
                            - extractCol, extractRow
                    - New functions:
                            - mrpt::system::terminateThread.
                            - mrpt::math::unscented_transform_gaussian
                            - mrpt::math::montecarlo_transform_gaussian
                            - mrpt::math::covariancesAndMeanWeighted
                            - mrpt::math::extractColumnFromVectorOfVectors
            - New examples:
                    - observer_pattern
                    - quaternions
                    - unscented_transformation_test
                    - grab3Dvideo
    - <b>BUG FIXES:</b>
            - mrpt::utils::CConfigFileBase didn't always remove extra leading and trailing whitespaces in read_string().
            - Initial size of the window was ignored in mrpt::gui::CDisplayWindow3D.
            - Error returning 2x1 size() in dynamic matrices, since there was only one static member shared by all matrices.
            - Swapped red-blue channels in mrpt::gui::wxImage2MRPTImage (Closes <a href="" >this issue</a>).
            - mrpt::poses::CPose3D undefined values when initializing from a "-" operator, due to bug in mrpt::math::homogeneousMatrixInverse().
            - mrpt::math::CHistogram::getBinRatio() and hence mrpt::math::histogram when do_normalization=true, always returned zero.
            - Fixed crash in rawlog-grabber when grabbing from a (non-stereo) camera and enabling preview (Closes <a href="" >SF #2988657 </a>).
            - When grabbing images with mrpt::hwdrivers::CCameraSensor and decimation is enabled in mrpt::hwdrivers::CGenericSensor, all the images were saved to disk. It's been fixed so only the decimated ones are saved.
            - Fixed direction errors in the computation of 3D rays of OpenGL viewports for perspective projection. See mrpt::opengl::COpenGLViewport::get3DRayForPixelCoord()
            - RawLogViewer: When loading gz-compressed rawlogs, the "Loading" dialog may close too early.
            - fixed compilation with GCC < 4.4.1 - thanks to zhangbo (张波) for testing.
            - mrpt::opengl::CPointCloud: When color_from_Z is enabled, sometimes the colors switched when the range in Z was very close to 0.
            - rawlog-grabber: Parameter SF_max_time_span is now observed BEFORE inserting observations in sensory frames, thus the time span limit is strictly respected now.
            - More robust handling of strings with \ r \ n chars in matrixes fromMatlabFormat().
            - Fixed wrong results with mrpt::math::mean() and other functions when applied to vectors of integers (By Edu).
            - Fixed mrpt::system::tokenize's wrong behavior with GCC.

Version 0.8.1: Released 6-MAR-2010 (svn 1590).

Version 0.8.0: Released 30-Dec-2009 (SVN 1398).

Version 0.7.1: Released 17-Aug-2009 (SVN 1144).

Version 0.7.0: Released 27-May-2009 (SVN 1042).

Version 0.6.5: Released 8-Feb-2009.

Version 0.6.4: Released 20-Dec-2008 (SVN: 696).

Version 0.6.3: Released 23-Oct-2008.

Version 0.6.2: Released 21-Oct-2008.

Version 0.6.1: Released 27-Aug-2008.

Version 0.6.0: Released 14-Aug-2008.

          - All classes reorganized into a new set of namespaces. Existing user-code out of MRPT will not compile, though changes typically imply just changing the names of the included files and adding some "using namespace XXX;" lines.
          - Better support of user applications using CMake command "FIND_PACKAGE( MRPT REQUIRED )". Refer to:
          - Pointers have been passed to smart pointer all across the code.
          - RawLog files: a new "observations-only" format has been introduced, and now all rawlog are saved compressed using "gzip" automatically (they are decompressed automatically to the user when loaded). Alternatively the user can rename a rawlog file to "name.rawwlog.gz", then use standard tools to extract the uncompressed version, if necessary.
          - The MRPT libraries can now be compiled as a shared library (.dll/.so), by setting MRPT_BUILD_SHARED_LIB from the CMake GUI.
          - New hardware libraries supported:
                  - Cross-platform (Windows/Linux) library ARIA (distributed by ActivMedia Robotics under GNU GPL) integrated into MRPT. Select the appropriate switch in CMake to enable it. See hwdrivers::CActivMediaRobotBase.
                  - New hardware driver for XSens inertial measuring units (IMU). See hwdrivers::CIMUXSens.
          - New applications:
                  - RawLogGrabber, for gathering data in real-time from a robotic platform. See wiki page:
                  - hmtMapViewer, an inspection tool for HMT-SLAM. See wiki page:
          - Visual Studio 6 is not supported anymore from now on: it's a too old compiler, buggy, and lacks many modern C++ features.
          - Many bugs fixed.

  - All changes:
          - Many additions to conform to Debian packaging standards and standard files for creating application menus, etc.
          - Added new "colored points" map & opengl objects. See mrpt::slam::CColouredPointMap and mrpt::opengl::CPointCloudColoured.
          - SceneViewer also is able to read from .gz'd files (.3Dscene files, but can be renamed to .3Dscene.gz if desired).
          - Management of local and UTC times clarifies with new methods. See mrpt::system, time functions.
          - Added a new class for transparent disk-swapped loading of very large datasets. see mrpt::slam::CRawlogXXL.
          - Exception handling prepared to correctly manage bad_alloc exceptions (for out of memory scenarios).
          - Added a 1D function interpolator using splines. See mrpt::math::CSplineInterpolator1D.
          - Added a 6D poses interpolator, using splines. See mrpt::poses::CPose3DInterpolator.
          - Removed built-in zlib library, replaced by wxWidget's one.
          - Added support for easy read and write of .gz files. For the automatic streams, see mrpt::utils::CFileGZInputStream and mrpt::utils::CFileGZOutputStream. For manual operation, see mrpt::compress::zip.
          - New opengl object: mrpt::opengl::C3DSScene for importing complete scenes from 3D Studio files (using the open source lib3ds library, Copyright (C) 1996-2007 by Jan Eric Kyprianidis <> ).
          - Class for storing rawlogs renamed as "mrpt::slam::CRawlog", and enabled for the new observation-only <a href="">rawlog file format</a>.
          - Introduced precompiled headers for a dramatic reduction of compilation time thru the header <mrpt/slam.h>.
          - The method CSerializable::duplicate has been optimized using directly the derived class copy constructor instead of a temporary memory buffer.
          - Created a new metric map: grid map of heights. See mrpt::slam::CHeightGridMap2D.
          - Added a method for estimating the Jacobian of a function by finite differences. See math::estimateJacobian.
          - Source tree has undergone a re-ordering and rename. Now, libraries are named as: mrpt-core, mrpt-hwdrivers, mrpt-ann, etc. and all the sources are in <mrpt>/src.
          - Added generic class for Levenberg-Marquart optimization problems. See utils::CLevenbergMarquardt and the <a href="">wiki tutorial on the topic</a>.
          - Added communications support for the new HOKUYO UTM-30LX (Windows and Linux). Refer to the <a href="" >wiki page</a>.
          - New method introduced to gas distribution mapping: optimized Kalman filter with constant time update. See mrpt::slam::CGasConcentrationGridMap2D.
          - The class utils::CTicTac now does not use dynamic memory, so it's constructor & destructor are faster.
          - Several optimizations applied to 2D and 3D geometry classes (poses::CPoseOrPoint derived ones).
          - Added cross-platform support for "alloca". See system::alloca.
          - Sources updated to be compatible with GCC 4.3 and Visual Studio C++ 2008.
          - Thread statistics now are also implemented for Linux. See system::getCurrentThreadTimes.
          - HWDRIVERS classes unified under the "generic sensor model". See hwdrivers::CGenericSensor.
          - 3D render canvas classes unified under the new class utils::WX_gui::CMyGLCanvas_Base.
          - Added serializable STL classes. See utils::vector_serializable, etc. See utils/stl_extensions.h
          - Added serialization to the whole mapping framework state in HMT-SLAM, and many related classes. See mrpt::hmtslam::CHMTSLAM.
          - lib_hwdrivers: Custom device-dependent initialization commands can be sent when opening a GPS interface. See hwdrivers::CGPSInterface.
          - Joysticks and game-pads fully supported now under both Windows and Linux. See hwdrivers::CJoystick.
          - Added new applications:
                  - RawLogGrabber, for gathering data in real-time from a robotic platform. See wiki page:
                  - hmtMapViewer, an inspection tool for HMT-SLAM. See wiki page:
          - Added new examples:
                  - /samples/UTILS/fileSystemWatcher: Demonstrating watching of directory changes. Based on class utils::CFileSystemWatcher.
          - RawLogViewer:
                  - A new facy custom tree view, extremely more efficient for very large datasets and with a time-line to graphically visualize timestamps.
                  - Many new commands: resort from timestamps, regenerate timestamps from GPS observations, etc.
                  - In the "raw-map" window the user can change now the number of types of maps to build from odometry + raw observations.
                  - Implemented building a map from a rawlog with RTK GPS data. See "RawMap" dialog.
          - BUGS FIXED:
                  - Textual representation of dates and times with seconds represented with just one digit.
                  - Fixed wrong computation of transformation from GPS to local coordinates.
                  - Exception raised if an empty CImage is serialized.
                  - Wrong conversion of old serialization versions of gridmaps.
                  - Parameters of a gas gridmap were ignored after loading from .ini.
                  - Changing by hand the coordinates in mrpt::poses::CPose3D was not persistent when serializing the object.
                  - Added missing "+ operators" to mrpt::poses::CPoint3D.
                  - mrpt::slam::CSimplePointsMap: Serialization was not cross-platform (it used "unsigned long" data type).
                  - mrpt::slam::CObservationGPS didn't save the "sensorPose" when streaming.

  - MAY-2008:
          - mrpt::poses::CPointsMap now also has a horizontal tolerance range for "horizontal" or "planar" maps.
          - Pseudorandom number generator algorithm Mersenne twister MT19937 implemented in utils::RandomGenerator for uniform distributions (in turn used for the rest). This assures same PRNs over different platforms.
          - gui::CDisplayWindowPlots now can also manage 2D bitmaps plots, that can be combined with 2D vectorial plots. See gui::CDisplayWindowPlots::image.
          - CPointsMap::compute3DMatchingRatio is now ~6 times faster (using KD-tree).
          - Missing implementation of KD-tree for 3D points in mrpt::poses::CPointsMap now complete.
          - Added support for file-system watching. See utils::CFileSystemWatcher.
          - SceneViewer:
                  - New option to allow free rotation and zoom of the camera even for scenes with the flag "followCamera".
          - RawLogViewer:
                  - Added importer for "rtl" log files.
                  - Added capability to export several GPSs to text files.
                  - Sensor labels appear in the tree view.
          - BUGS FIXED:
                  - "mrpt::slam::CSensFrameProbSequence::operator =" was wrongly implemented.
                  - In gridmaps (mrpt::slam::COccupancyGridMap2D):
                          - Calling mrpt::slam::COccupancyGridMap2D::resizeGrid only supports growing the grid (not shrinking). This is now forced internally to fix impredictable results.
                          - In some situations, inserting a 2D laser scan ray ending very close to the border didn't make the grid to extend its size, and may lead to memory corruption.
                          - Disabled ROWSIZE_MULTIPLE_16 in mrpt::slam::COccupancyGridMap2D to avoid rare memory corruptions (bug to be tracked down if wanna enable it in the future again...).
                  - Fixed support for Bumblebee in external applications through CMake system (MRPTconfig.cmake).
                  - Wrong reporting of stacked exceptions messages.
                  - Fixed wrong calculation of (x,y,z) coordinates from latitude, longitude and height, in mrpt::slam::CObservationGPS.
                  - utils::CClientSocket did send debug information in the middle of actual data!. Thanks to Vicente Arevalo for reporting.

Version 0.5.5: Released April 30, 2008.

Version 0.5.4: Released March 6, 2008.

Version 0.5.3 (First public release, January 31, 2008)

Version 0.5.2 (Released December 26, 2007)

Version 0.5.1 (Released for BABEL, November 13, 2007)

Version 0.4 (Released for BABEL, October 13, 2007)

Version 0.3 (Released for BABEL v3.800, July 2007)

  - JUL-2007:
          - A new class for Range-Only Localization (mrpt::slam::CRejectionSamplingRangeOnlyLocalization).
          - Range-Only SLAM is now supported with a new map class (mrpt::slam::CBeaconMap), which has been also integrated in mrpt::slam::CMultiMetricMap.
          - A new class for parsing messages from/to a USB FTDI device (hwdrivers::CInterfaceFTDIMessages).
          - Added a new class for 3D Point PDF representation as a SOG (poses::CPoint3DPFGSOG).

Version 0.2

  - JUN-2007:
          - From now on MRPT is updated through Subversion (SVN).
          - Start solving portability issues towards a full Linux support.
  - MAY-2007:
          - Included the makefile project for "Code::Blocks" compiler, for supporting Linux GCC C++ compiler.
  - FEB-2007:
          - BUG FIXED: In "CSerializable::duplicate()"
          - Added new config file-like interfaces. See utils::CConfigFileBase and derived classes.
          - Added utils::CStringList.
  - JAN-2007:
          - New fast image correlation method based on 2D FFT. See CImage::cross_correlation_FFT
          - 2D FFT functions added to utils::MATH
          - The class utils::CConfigFile now can read entries as "std::vector"'s.
          - New utilities added to utils::MRPT_OS for tokenizing strings.

Version ALFA 0.1 (Published with BABEL v3.0.0, Jan-2007)

  - JAN-2007:
          - The classes "utils::CBitmapXX" have been removed, and BMP image format operations appropriately integrated into existing utils::CImage and utils::CImageFloat classes.
          - Now 3D scenes are supported through "opengl::COpenGLScene", objects in "mrpt::opengl" namespace, and an external 3D Scene viewer application for Windows.
  - DEC-2006:
          - Addition of TCP/IP sockets, through classes utils::CServerTCPSocket and utils::CClientTCPSocket, allowing serialization of MRPT objects through a TCP socket.
          - New classes in HWDRIVERS namespace allow using serial ports and interfacing GPS units.
          - A new interface utils::CCanvas has been defined for enabling drawing primitives to be implemented in graphical classes.
          - New class gui::CDisplayWindow for visualization of images in a GUI.
          - Portability issues solved for compatibility with Microsoft Visual Studio 2005 (VC8), including the new standard C++ library "secure" functions.
          - A new class "mrpt::slam::CMultiMetricMap" has been introduced for storing any set of metric maps, in a much more convenient and flexible way that the previous (non existing now) class "mrpt::slam::CHybridMetricMap"
  - NOV-2006:
          - The new Optimal Auxiliary Particle Filter has been implemented in "poses::CPosePDFParticles", and in "mrpt::slam::CMultiMetricMapPDF"
          - BUG FIXED: In matrix inversion, into class "math::CMatrixTemplateNumeric".
          - RANSAC method added for correspondences-pair lists, in "mrpt::slam::CICP::robustRigidTransformation"
  - OCT-2006:
          - The Dieter Fox's algorithm "KLD-sampling" for adative particle filter has been implemented in the class "poses::CPosePDFParticles"
          - Major changes in the way bayes::CParticleFilter works: Now there are four diferent particle filter algorithms defined.
          - New utils::MATH functions added (chi-square and normal quantiles, etc...)
          - A new probabilistic motion model has been added to "mrpt::slam::CActionRobotMovement2D", the particles draw process described in Thrun's 2006 book.
  - SEP-2006:
          - The Lu & Milios algorithm now works with any user-supplied matrix of pose constrains. See "mrpt::slam::CConsistentObservationAlignment".
          - A new generic matrix template has been created, "math::CMatrixTemplate" and "math::CMatrixTemplateNumeric", which are now the base for math::CMatrix and math::CMatrixD.
          - Template functions defined for dealing with STL's vectors: basic math operations, printing to screen,... in "utils::MATH"
          - The mrpt::slam::CICP algorithm now also deals with mrpt::slam::CLandmarksMap metric maps.
  - AUG-2006:
          - A new SLAM framework has been implemented in the main class mrpt::slam::CHierarchicalMappingFramework
          - A new class added for managing INI-like config files "utils::CConfigFile".
          - Hill-climbing algorithm "utils::CHillClimbing" added to the library.
          - Improved SIFT features detection, triangulation and matching in "mrpt::slam::CLandmarksMap" for pairs of stereo images.
  - JUN-2006:
          - New functions added to "poses::CPointPDFGaussian" for Bayesian fusion, correspondence likelihood,...
  - MAY-2006:
          - Introduction of "pixel to 3D" functions in vision
          - SIFT features extractor moved to vision
  - ABR-2006:
          - mrpt::slam::CLandmarksMap now works with SIFT features: loading from images, fusing,...
          - SIFT features extractor in "utils::CImage"
  - FEB-2006:
          - The class mrpt::slam::COccupancyGrid2D now uses 16bit for storing cell values, and many new options added.
          - Rao-Blackwellized Particle filters now supported in class mrpt::slam::CMultiMetricMapPDF
  - JAN-2006:
          - Landmarks-based maps now supported with mrpt::slam::CLandmarksMap
          - ZIP compression supported with the introduction of classes in the new namespace compress::zip.
          - Rao-Balckwellized particle filter mapping supported with mrpt::slam::CMetricMapBuilderRBPF
          - Points map are now fused considering the weights of points (mrpt::slam::CSimplePointsMap)
          - Definition of a new class mrpt::slam::CMetricMapBuilding for grouping map building methods.
          - Addition of a new class for 3D occupancy grid building.
          - New types of points map derived from mrpt::slam::CMetricMap.
  - DEC-2005:
          - New methods added to MRML, for circular robots paths planning. See the base class mrpt::slam::CPathPlanningMethod
          - The method by Lu & Milios for consistent maps alignment has been integrated into the MRML library, in the mrpt::slam::CConsistentObservationAlignment
          - The CObservation-derived classes has been modified to adhere to the "BABEL modules proposal for robotics architecture" (Technical report, dec.2005)
          - Metrics maps has been grouped using a common base class: mrpt::slam::CMetricMap
          - The spectral-based method for maps partitioning has been integrated into the MRML library, in the class mrpt::slam::CIncrementalMapPartitioner.
          - CObservationLaserRangeScan renamed as CObservation2DRangeScan.
  - NOV-2005:
          - New types of observations added (mrpt::slam::CObservation descendant classes) for images (from a camera) and for sonar readings.
  - OCT-2005:
          - New class added: A simple SLAM method for 2D localization and simple, metric maps building (non-hierarchical global maps). See mrpt::slam::CSimple2DSLAM.
          - Addition of "streaming versioning" for mrpt::utils::CSerializable classes.
          - A new observation type has been introduced, the mrpt::slam::CObservationIRRing.
          - Introduction of 3D poses using 4x4 transformation matrices and yaw/pitch/roll angles.
          - Polymorphism mechanishs for mrpt::utils::CSerializable derived classes and correct streaming using "<<" and ">>" operators has been provided through a set of "#define"'s and functions. See CSerializable.h
  - SEP-2005:
          - Reactive Navigator totally rewritten for integration into MRPT applications repository (See MRPT::reactivenav::CReactiveNavigationSystem).
          - Added MRPT applications repository section.
  - AUG-2005:
          - Particle filters basic algorithm added to UTILS library.
          - Bitmap classes (utils::CBitmap) totally rewritten for a sensible use of classes inheritance.
  - JUN-2005:
          - First version of the library! there are a few classes for matrix manipulation, 2D point map management, and an implementation of the ICP algorithm.

Page generated by Doxygen 1.8.14 for MRPT 1.0.2 SVN: at lun oct 28 00:52:41 CET 2019 Hosted on: Logo