Main MRPT website > C++ reference
MRPT logo
changeLog_doc.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2015, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 
10 /** \page changelog Change Log
11  *
12 
13 <p> <b>Note:</b> <i>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 <code>make documentation_html</code> or [browse it on-line](http://www.mrpt.org/).</i></p>
14 
15 <a name="1.3.0">
16  <h2>Version 1.3.0: Released 12-JAN-2015 </h2></a>
17  - <b>Most important changes:</b>
18  - Classes in libraries \ref mrpt_obs_grp and \ref mrpt_maps_grp now belong to new namespaces (mrpt::obs, mrpt::maps) instead of the old mrpt::slam
19  - No more `using namespace`s polute MRPT headers. <b>Errors in user projects</b> missing `using namespace XXX` that might be formerly masked will now reveal. <b>This is a good thing</b>, though admitedly annoying...
20  - New library \ref mrpt_nav_grp, subsumming the old \ref mrpt_reactivenav_grp.
21  - New library \ref mrpt_tfest_grp, a refactor of the old \ref mrpt_scanmatching_grp.
22  - <b>Backwards compatible headers</b> have been provided to ease the transition of user code for all those library changes. Warning messages will be shown recommending deprecated replacements.
23  - <b>Detailed list of changes:</b>
24  - Lib changes:
25  - Clean up of the bad practice of `using namespace` in public scopes of headers. May lead to user code failing for missing `using namespace`s which were previously masked.
26  - Namespace "slam" deprecated in libraries mrpt-obs and mrpt-maps (used for historical reasons):
27  - New namespaces \ref mrpt_obs_grp and \ref mrpt_maps_grp.
28  - #include files moved from old paths <mrpt/slam/...> => <mrpt/{obs,maps}/...>
29  - Backward compatible headers added in <mrpt/slam/...> until mrpt 2.0.0
30  - New library \ref mrpt_nav_grp, subsumming the old mrpt-reactivenav (\ref mrpt_reactivenav_grp).
31  - \ref mrpt_reactivenav_grp is now a meta-library, depending on \ref mrpt_nav_grp.
32  - \ref mrpt_tfest_grp : Old library mrpt-scanmatching (\ref mrpt_scanmatching_grp) has been refactored, its API clean-up, and renamed \ref mrpt_tfest_grp
33  - \ref mrpt_scanmatching_grp is now a meta-library, depending on \ref mrpt_tfest_grp.
34  - These classes have been moved between libs for a more sensible organization:
35  - mrpt::slam::CDetectorDoorCrossing ==> mrpt::detectors::CDetectorDoorCrossing
36  - mrpt::slam::CPathPlanningMethod & CPathPlanningCircularRobot: \ref mrpt_slam_grp ==> \ref mrpt_nav_grp
37  - Build System / General changes:
38  - Many optimizations in function arguments (value vs ref). Forces ABI incompatibility with previous versions, hence the change to a new minor version number.
39  - Updated embedded version of Eigen to 3.2.3
40  - Kinect: Dropped support for the CL NUI API, which seems discontinued. Alternatives in use are libfreenect and OpenNI2.
41  - libfreenect is now detected in the system and used instead of compiling the embedded copy of it.
42  - Embedded copy of libfreenect has been updated to (23/oct/2014). It now supports "Kinect for Windows".
43  - More selective linking of .so files to avoid useless dependencies (Fixes #52).
44  - (Windows only) MRPT can now be safely built with libusb support (Freenect, Kinect,...) and it will run on systems without libusb installed, by means of /DELAYLOAD linking flags.
45  - More unit tests.
46  - Changes in classes:
47  - [mrpt-base]
48  - New function mrpt::math::angDistance()
49  - [mrpt-hwdrivers]
50  - mrpt::hwdrivers::CIMUXSens_MT4: (by Joe Burmeister for Suave Aerial Software)
51  - Upgrade to latest XSens SDK 4.2.1. Requires libudev-dev in Linux
52  - Add GPS observations to CIMUXSens_MT4 for Xsens devices like GTi-G-700 which have GPS
53  - mrpt::hwdrivers::CImageGrabber_dc1394: Length of ring buffer is now configurable via TCaptureOptions_dc1394::ring_buffer_size
54  - [mrpt-maps]
55  - Important refactor of internal code related to mrpt::maps::CMultiMetricMap:
56  - All maps (derived from mrpt::maps::CMetricMap) now have a more uniform interface.
57  - Each map now has a `MapDefinition` structure with all its parameters. See docs for mrpt::maps::TMetricMapInitializer
58  - Introduced mrpt::maps::TMapGenericParams to hold parameters shared in all maps.
59  - [mrpt-obs]
60  - CObservation::getDescriptionAsText(): New virtual method to obstain a textual description of observations. Refactoring of messy code previously in the RawLogViewer app.
61  - [mrpt-vision]
62  - mrpt::vision::CFeatureExtraction: Removed (unused) optional ROI parameter in detectors.
63  - BUG FIXES:
64  - mrpt::poses::CRobot2DPoseEstimator could estimate wrong angular velocities for orientations near +-180deg.
65  - mrpt::system::CDirectoryExplorer::sortByName() didn't sort in descending order
66  - Fixed crashes from MATLAB .mex files: mrpt::system::registerFatalExceptionHandlers() has no longer effect, and will be removed in future releases. (Thanks to Jesús Briales García for all the testing!)
67  - Fixed potential crash for Eigen unaligned memory access in 32bit builds in mrpt::slam::CGridMapAligner and other places ([Closes #94](https://github.com/jlblancoc/mrpt/issues/94))
68 
69 <hr>
70 <a name="1.2.2">
71  <h2>Version 1.2.2: Released 12-SEP-2014 </h2></a>
72  - Changes in apps:
73  - <a href="http://www.mrpt.org/list-of-mrpt-apps/application-sceneviewer3d/" >SceneViewer3D</a>:
74  - New menu "File" -> "Import" -> "3D model" which supports many standard formats (via mrpt::opengl::CAssimpModel)
75  - New classes:
76  - [mrpt-hwdrivers]
77  - mrpt::hwdrivers::CRoboPeakLidar to interface Robo Peak LIDAR scanners.
78  - [mrpt-opengl]
79  - mrpt::opengl::CAssimpModel for rendering complex 3D models (many supported formats) in OpenGL scenes.
80  - Changes in classes:
81  - Consistency in all "laser scan" classes: angular increments between rays are now FOV/(N-1) instead of FOV/N.
82  - [mrpt-base]
83  - New method mrpt::utils::CImage::loadTGA()
84  - *IMPORTANT*: Changed behavior of CSerializable/CObject macros (see bugfix below), introducing the new macros DEFINE_SERIALIZABLE_POST_*.
85  May require changes in user code if serializable classes are defined:
86  - Previous version:
87  \code
88  DEFINE_SERIALIZABLE_PRE_*(...)
89  class XXX {
90  DEFINE_SERIALIZABLE(XXX)
91  };
92  \endcode
93  - Must be changed in this version to:
94  \code
95  DEFINE_SERIALIZABLE_PRE_*(...)
96  class XXX {
97  DEFINE_SERIALIZABLE(XXX)
98  };
99  DEFINE_SERIALIZABLE_POST_*(...)
100  \endcode
101  - [mrpt-hwdrivers]
102  - Bumblebee2 Linux support in mrpt::hwdrivers::CImageGrabber_FlyCapture2 via Triclops (by Jesus Briales)
103  - [mrpt-maps]
104  - New method mrpt::maps::COccupancyGridMap2D::getRawMap()
105  - New method mrpt::maps::CColouredPointsMap::getPCLPointCloudXYZRGB()
106  - [mrpt-opengl]
107  - mrpt::opengl::CMyGLCanvasBase (affects all 3D rendering classes): better handling of internal timers for smoother updates while rendering in multithreading apps.
108  - [mrpt-srba]
109  - New method to recover the global coordinates graph-slam problem for a RBA map: mrpt::srba::RbaEngine::get_global_graphslam_problem() (see example [MRPT]\samples\srba-examples\srba-tutorials\tutorial-srba-how-to-recover-global-map.cpp)
110  - BUG FIXES:
111  - mrpt::utils::CImage constructor from a matrix crashed.
112  - Unit tests: Named semaphores are not tested anymore if it's detected that the kernel version doesn't support them (Fix Debian 758725).
113  - mrpt::synch::CSemaphore [Linux]: didn't call sem_unlink().
114  - mrpt::gui::CDisplayWindow3D didn't implement get/set FOV.
115  - Valgrind: Fixed potential unaligned memory access warning in point clouds.
116  - Fix build error with AppleClang 5.1 (Closes #71).
117  - mrpt::utils::CClientTCPSocket: Use a connection success check that works on all platforms
118  - Important bug fixed regarding a missing dynamic_cast<> in smart pointers casting. See above possible implications in user code.
119  properly (Patch by Joe Burmeister).
120 
121 <hr>
122 <a name="1.2.1">
123  <h2>Version 1.2.1: Released 10-JUL-2014 </h2></a>
124  - Changes in classes:
125  - [mrpt-base]
126  - All points and poses now have a method setToNaN(), e.g. mrpt::poses::CPose3D::setToNaN()
127  - [mrpt-hwdrivers]
128  - mrpt::hwdrivers::COpenNI2Sensor now has better support for opening several RGBD cameras (by Kenzaburo Miyawaki & Eduardo Fernandez)
129  - Build system:
130  - Fix compilation of SRBA with DEBUG_GARBAGE_FILL_ALL_NUMS=1
131  - Fix de-serialization error in mrpt::reactivenav::CLogFileRecord (and new unit tests added to avoid regressions).
132  - Several Debian bugs closed (see packaging/debian/changelog), including build errors in uncommon platforms (MIPS, kFreeBSD, etc.)
133 
134 <hr>
135 <a name="1.2.0">
136  <h2>Version 1.2.0: Released 25-JUN-2014 </h2></a>
137  - <b>Most important changes:</b>
138  - Public header files (.h) have undergone a serious refactoring to minimize unnecesary dependencies and reduce compile time and memory as much as possible.
139  As a side effect, user code might need to add new #include<> lines. This change justifies the new minor version series 1.2.X.
140  - MRPT now cleanly builds in clang and OSX.
141  - Support for new camera drivers (OpenNI2, DUO3D).
142  - Many bug fixes.
143  - <b>Detailed list of changes:</b>
144  - Changes in apps:
145  - [rawlog-edit](http://www.mrpt.org/Application%3Arawlog-edit):
146  - New operations: --export-odometry-txt, --recalc-odometry
147  - New flag: --rectify-centers-coincide
148  - New examples:
149  - kitti_dataset2rawlog
150  - New classes:
151  - [mrpt-base]
152  - mrpt::math::ContainerType<CONTAINER>::element_t to allow handling either Eigen or STL containers seamlessly.
153  - mrpt::utils::CConfigFilePrefixer
154  - [mrpt-hwdrivers]
155  - mrpt::hwdrivers::COpenNI2Sensor: Interface to OpenNI2 cameras, capable of reading from an array of OpenNI2 RGBD cameras (By Eduardo Fernandez)
156  - mrpt::hwdrivers::CDUO3DCamera: Interface to DUO3D cameras (By Francisco Angel Moreno)
157  - mrpt::hwdrivers::CGPS_NTRIP: A combination of GPS receiver + NTRIP receiver capable of submitting GGA frames to enable RTCM 3.0
158  - [mrpt-obs]
159  - mrpt::obs::CObservation6DFeatures
160  - Changes in classes:
161  - [mrpt-base]
162  - Robust kernel templates moved from mrpt::vision to mrpt::math. See mrpt::math::RobustKernel<>. Added unit tests for robust kernels.
163  - mrpt::poses::CPose3D has new SE(3) methods: mrpt::poses::CPose3D::jacob_dexpeD_de(), mrpt::poses::CPose3D::jacob_dAexpeD_de()
164  - More efficient mrpt::utils::OctetVectorToObject() (avoid memory copy).
165  - Fixed const-correctness of mrpt::utils::CImage::forceLoad() and mrpt::utils::CImage::unload()
166  - [mrpt-hwdrivers]
167  - mrpt::hwdrivers::CCameraSensor: Added a hook for user code to run before saving external image files: mrpt::hwdrivers::CCameraSensor::addPreSaveHook()
168  - mrpt::hwdrivers::CNationalInstrumentsDAQ now supports analog and digital outputs.
169  - New method mrpt::hwdrivers::CNTRIPClient::sendBackToServer()
170  - [mrpt-srba]
171  - Now also implements SE(3) relative graph-slam.
172  - [mrpt-vision]
173  - mrpt::vision::checkerBoardStereoCalibration: More robust handling of stereo calibration patterns. OpenCV sometimes detects corners in the wrong order between (left/right) images, so we detect the situation and fix it.
174  - mrpt::vision::findMultipleChessboardsCorners():
175  - Now enforces a consistent counterclockwise XYZ coordinate frame at each detected chessboard.
176  - Much more robust in distingishing quads of different sizes.
177  - Build system / public API:
178  - Fixes to build in OS X - [Patch](https://gist.github.com/randvoorhies/9283072) by Randolph Voorhies.
179  - Removed most "using namespace" from public headers, as good practice.
180  - Refactoring of MRPT headers.
181  - <mrpt/utils/stl_extensions.h> has been split into:
182  - <mrpt/utils/stl_serialization.h>
183  - <mrpt/utils/circular_buffer.h>
184  - <mrpt/utils/list_searchable.h>
185  - <mrpt/utils/bimap.h>
186  - <mrpt/utils/map_as_vector.h>
187  - <mrpt/utils/traits_map.h>
188  - <mrpt/utils/stl_serialization.h>
189  - <mrpt/utils/printf_vector.h>
190  - <mrpt/utils/stl_containers_utils.h>
191  - <mrpt/utils/ci_less.h>
192  - Deleted methods and functions:
193  - mrpt::system::breakpoint()
194  - mrpt::vector_float is now mrpt::math::CVectorFloat, mrpt::vector_double is mrpt::math::CVectorDouble, for name consistency. Also, using Eigen::VectorXf is preferred for new code.
195  - mrpt::CImage::rectifyImage() with parameters as separate vectors.
196  - mrpt::maps::CPointsMap::getPoint() with mrpt::poses::CPoint3D arguments.
197  - mrpt::vision::correctDistortion() -> use CImage method instead
198  - All previous deprecated functions.
199  - Embedded Eigen updated to version 3.2.1 [(commit)](https://github.com/jlblancoc/mrpt/commit/47913da94a27e98a9115f85b2a530b6c14a10b8f) [(commit)](https://github.com/jlblancoc/mrpt/commit/33258761d3b75bf133d38aecb257c64e4d76b21e)
200  - BUG FIXES:
201  - RawlogViewer app: Fixed abort while converting SF->obs.only datasets when there is no odometry.
202  - mrpt::obs::CSensoryFrame: The cached point map is now invalidated with any change to the list of observations so it's rebuild upon next call.
203  - New implementation of mrpt::synch::CSemaphore avoids crashes in OS X - by Randolph Voorhies.
204  - mrpt::opengl::CArrow was always drawn of normalized length.
205  - FlyCapture2 monocular & stereo cameras could return an incorrect timestamp (only in Linux?).
206  - mrpt::system::createDirectory() returned false (error) when the directory already existed.
207  - mrpt::vision::CStereoRectifyMap::rectify() didn't update the left & right camera poses inside mrpt::obs::CObservationStereoImages objects while rectifying.
208  - RawLogViewer: Operation "convert to SF format" didn't take into account odometry observations.
209  - Fix build errors with GCC 4.9
210  - Fix crash of mrpt::hwdrivers::CIMUXSens_MT4's destructor when it fails to scan and open a device.
211  - Fix potential crash in mrpt::slam::data_association_full_covariance with JCBB when no individually compatible matching exists [(commit)](https://github.com/jlblancoc/mrpt/commit/482472ebd80a3484dce63d294b1ac4e8f001e1eb)
212 
213 <hr>
214  <a name="1.1.0">
215  <h2>Version 1.1.0: Released 22-FEB-2014 </h2></a>
216  - New apps:
217  - [DifOdometry-Camera](http://www.mrpt.org/list-of-mrpt-apps/application-difodometry-camera). (By Mariano Jaimez Tarifa)
218  - [DifOdometry-Datasets](http://www.mrpt.org/list-of-mrpt-apps/application-difodometry-datasets). (By Mariano Jaimez Tarifa)
219  - New classes:
220  - [mrpt-base]
221  - mrpt::synch::CPipe: OS-independent pipe support.
222  - [mrpt-hwdrivers]
223  - mrpt::hwdrivers::CIMUXSens_MT4 : Support for 4th generation xSens MT IMU devices.
224  - mrpt::hwdrivers::CNationalInstrumentsDAQ: Support for acquisition boards compatible with National Instruments DAQmx Base - [(commit)](https://github.com/jlblancoc/mrpt/commit/a82a7e37997cfb77e7ee9e903bdb2a55e3040b35).
225  - mrpt::hwdrivers::CImageGrabber_FlyCapture2: Support for Point Grey Research's cameras via the FlyCapture2 libray - [(commits)](https://github.com/jlblancoc/mrpt/pull/5/commits).
226  - [mrpt-maps]
227  - There are now two versions of octomaps (by Mariano Jaimez Tarifa/Jose Luis Blanco) - [(commit)](http://code.google.com/p/mrpt/source/detail?r=3443)
228  - mrpt::maps::COctoMap (only occupancy)
229  - mrpt::maps::CColouredOctoMap (occupancy + RGB color)
230  - [mrpt-obs]
231  - mrpt::obs::CObservationRawDAQ, a placeholder for raw and generic measurements from data acquisition devices. - [(commit)](http://code.google.com/p/mrpt/source/detail?r=3459)
232  - [mrpt-opengl]
233  - mrpt::opengl::CMeshFast, an open gl object that draws a "mesh" as a structured point cloud which is faster to render (by Mariano Jaimez Tarifa). -[(commit)](https://github.com/jlblancoc/mrpt/commit/9306bb4a585387d4c85b3f6e41dd2cbe5a354e80)
234  - mrpt::opengl::CVectorField2D, an opengl object that shows a 2D Vector Field (by Mariano Jaimez Tarifa). - [(commit)](http://code.google.com/p/mrpt/source/detail?r=3461)
235  - [mrpt-reactivenav]
236  - mrpt::reactivenav::CAbstractPTGBasedReactive, as part of a large code refactoring of these classes: [(commit)](https://github.com/jlblancoc/mrpt/pull/4)
237  - mrpt::reactivenav::CReactiveNavigationSystem
238  - mrpt::reactivenav::CReactiveNavigationSystem3D
239  - [mrpt-vision]
240  - mrpt::vision::CDifodo, a class which implements visual odometry based on depth images and the "range flow constraint equation". (by Mariano Jaimez Tarifa) - [(commit)](https://github.com/jlblancoc/mrpt/commit/e6ab5595f70cb889d07658c0b540c27e495a1cfb)
241  - Changes in classes:
242  - Clean up and slight optimization of metric map matching API: - [(commit)](http://code.google.com/p/mrpt/source/detail?r=3446)
243  - <b>Methods marked as deprecated: </b>
244  - mrpt::maps::CMetricMap::computeMatchingWith2D() --> mrpt::maps::CMetricMap::determineMatching2D()
245  - mrpt::maps::CMetricMap::computeMatchingWith3D() --> mrpt::maps::CMetricMap::determineMatching3D()
246  - New structures:
247  - mrpt::slam::TMatchingParams
248  - mrpt::slam::TMatchingExtraResults
249  - mrpt::maps::CPointsMap::TInsertionOptions now have methods to save/load from binary streams, making more maintainable the serialization of point maps - [(commit)](https://github.com/jlblancoc/mrpt/commit/544d439c3462228b07344142de68e5bc10c1a2e3)
250  - New options in point maps: mrpt::maps::CPointsMap::TInsertionOptions::insertInvalidPoints - [(commit)](https://github.com/jlblancoc/mrpt/pull/8)
251  - mrpt::obs::CObservationIMU now includes data fields for 3D magnetometers and altimeters. - [(commit)](http://code.google.com/p/mrpt/source/detail?r=3451)
252  - Method renamed mrpt::utils::CEnhancedMetaFile::selectVectorTextFont() to avoid shadowing mrpt::utils::CCanvas::selectTextFont()
253  - mrpt::reactivenav::CParameterizedTrajectoryGenerator: New methods:
254  - mrpt::reactivenav::CParameterizedTrajectoryGenerator::inverseMap_WS2TP() for inverse look-up of WS to TP space - [(commit)](https://github.com/jlblancoc/mrpt/commit/4d04ef50e3dea581bed6287d4ea6593034c47da3)
255  - mrpt::reactivenav::CParameterizedTrajectoryGenerator::renderPathAsSimpleLine() - [(commit)](https://github.com/jlblancoc/mrpt/commit/a224fc2489ad00b3ab116c84e8d4a48532a005df)
256  - Changed the signature of mrpt::reactivenav::build_PTG_collision_grids() to become more generic for 2D & 2.5D PTGs - [(commit)](https://github.com/jlblancoc/mrpt/commit/7bd68e49a4ba3bf08f194678787816c65de1d685)
257  - Deleted classes:
258  - mrpt::utils::CEvent, which was actually unimplemented (!)
259  - mrpt::hwdrivers::CInterfaceNI845x has been deleted. It didn't offer features enough to justify a class.
260  - New examples:
261  - [MRPT]/samples/threadsPipe
262  - [MRPT]/samples/NIDAQ_test
263  - [MRPT]/openNI2_RGBD_demo (by Mariano Jaimez Tarifa)
264  - [MRPT]/openNI2_proximity_demo (by Mariano Jaimez Tarifa)
265  - Build system:
266  - Fixed compilation with clang.
267  - Fixed building against OpenCV 3.0.0 (GIT head)
268  - Updated to the latest nanoflann 1.1.7.
269  - Updated to Eigen 3.2.0 - [(commit)](http://code.google.com/p/mrpt/source/detail?r=3455)
270  - Binary packages for Windows now include .pdb files to help debugging with Visual Studio.
271  - BUG FIXES:
272  - Fixed potential infinity loop in mrpt::math::make_vector<1,T>()
273  - Fixed build error with GCC when experimental parallelization is enabled. [(commit)](http://code.google.com/p/mrpt/source/detail?r=3441)
274  - mrpt::reactivenav::CReactiveNavigationSystem complained about missing config variables ROBOTMODEL_TAU & ROBOTMODEL_DELAY, which were removed in MRPT 1.0.2 - [(commit)](http://code.google.com/p/mrpt/source/detail?r=3452)
275  - Fixed potential mem alignment errors (Eigen's UnalignedArrayAssert) in SRBA for 32bit builds. [(commit)](http://code.google.com/p/mrpt/source/detail?r=3457)
276  - mrpt::topography::geodeticToENU_WGS84() and related functions used a local +Z axis aligned to the line towards the Earth center; now the Z axis points normally to the ellipsoid surface. The difference with the previous behavior is small but may be of a few millimeters for each meter from the reference point. [(commit)](http://code.google.com/p/mrpt/source/detail?r=3473)
277  - Potential crash when setting mpPolygon::setPoints() with empty vectors - [(commit)](http://code.google.com/p/mrpt/source/detail?r=3478)
278  - mrpt::reactivenav::CReactiveNavigationSystem and mrpt::reactivenav::CReactiveNavigationSystem3D didn't obey the "enableConsoleOutput" constructor flag - [(commit)](https://github.com/jlblancoc/mrpt/commit/db7b0e76506af2c24f119a28443a1e8f1a217861)
279  - mrpt::synch::CSemaphore::waitForSignal() : Fixed error when thread got an external signal [(commit)](https://github.com/jlblancoc/mrpt/commit/511e95f03480537ff18ad2cad178c504b1cfbb53)
280 
281  <hr>
282  <a name="1.0.2">
283  <h2>Version 1.0.2: Released 2-AUG-2013 (SVN 3435) </h2></a>
284  - New apps:
285  - [ReactiveNav3D-Demo](http://www.mrpt.org/Application%3AReactiveNav3D-Demo) (By Mariano Jaimez Tarifa)
286  - Changes in apps:
287  - [rawlog-edit](http://www.mrpt.org/Application%3Arawlog-edit):
288  - New operations: --list-timestamps, --remap-timestamps, --export-2d-scans-txt, --export-imu-txt
289  - New classes:
290  - [mrpt-base]
291  - mrpt::poses::CPose3DRotVec is now fully implemented (By Francisco Angel Moreno).
292  - [mrpt-opengl]
293  - mrpt::opengl::CLight - OpenGL scenes now allow customization of OpenGL lighting. See also new lighting methods in mrpt::opengl::COpenGLViewport - <a href="http://code.google.com/p/mrpt/source/detail?r=3409" >r3409</a>
294  - [mrpt-reactivenav]
295  - mrpt::reactivenav::CReactiveNavigationSystem3D - By Mariano Jaimez Tarifa - <a href="http://code.google.com/p/mrpt/source/detail?r=3389" >r3389</a>
296  - New functions:
297  - [mrpt-opengl]
298  - mrpt::opengl::stock_objects::RobotRhodon()
299  - Changes in classes:
300  - [mrpt-base]
301  - Generic particle filter classes now allow directly resampling to a dynamic number of particles. Affected methods: - <a href="http://code.google.com/p/mrpt/source/detail?r=3381" >r3381</a>
302  - mrpt::bayes::CParticleFilterCapable::performResampling()
303  - mrpt::bayes::CParticleFilterCapable::computeResampling()
304  - New method: CImage::loadFromXPM() - <a href="http://code.google.com/p/mrpt/source/detail?r=3397" >r3397</a>
305  - [mrpt-maps]
306  - mrpt::maps::COctoMap now exposes the inner octomap::OcTree object. See example samples/octomap_simple - <a href="http://code.google.com/p/mrpt/source/detail?r=4304" >r4304</a>
307  - [mrpt-openg]
308  - mrpt::opengl::CBox now be also rendered as a solid box + line borders. See mrpt::opengl::CBox::enableBoxBorder()
309  - mrpt::opengl::COctoMapVoxels - <a href="http://code.google.com/p/mrpt/source/detail?r=4329" >r4329</a>
310  - Fixed calculation of normals (fix shading)
311  - Added new coloring scheme to mrpt::opengl::COctoMapVoxels::visualization_mode_t : "FIXED"
312  - By default, light effects are disabled in this object, because shadows aren't computed anyway and the effect isn't pleasant.
313  - Voxels cubes are sorted in ascending Z order so the visual effect is correct when rendering with transparency.
314  - [mrpt-reactivenav]
315  - mrpt::reactivenav::CParameterizedTrajectoryGenerator: The "low pass filter" has been removed since it wasn't practical and was never used; thus, parameters "TAU" and "DELAY" has been removed. - <a href="http://code.google.com/p/mrpt/source/detail?r=3395" >r3395</a>
316  - Methods removed since they weren't implemented in any derived class and there are no plans for doing it.
317  - mrpt::reactivenav::CReactiveNavigationSystem ::evaluate()
318  - mrpt::reactivenav::CReactiveNavigationSystem ::setParams()
319  - Build system:
320  - Updated to nanoflann 1.1.7: ICP is ~5% faster.
321  - More unit tests:
322  - [mrpt-base] geometry module.
323  - BUG FIXES:
324  - CTimeLogger::registerUserMeasure() ignored the enable/disable state of the logger - <a href="http://code.google.com/p/mrpt/source/detail?r=3382" >r3382</a>
325  - mrpt-srba: SEGFAULT in 32bit builds due to missing MRPT_MAKE_ALIGNED_OPERATOR_NEW - <a href="http://code.google.com/p/mrpt/source/detail?r=3429" >r3429</a>
326 
327  <br/>
328  <hr>
329  <a name="1.0.1">
330  <h2>Version 1.0.1: Released 12-MAY-2013 (SVN 3370) </h2></a>
331  - Changes in apps:
332  - <a href="http://www.mrpt.org/Application%3ARawLogViewer" >RawLogViewer</a>:
333  - Better description of the "too much memory used" warning while loading large datasets.
334  - <a href="http://www.mrpt.org/Application%3Arobotic-arm-kinematics" >robotic-arm-kinematics</a>:
335  - Now allows changing the orientation of the first DOF (X,Y,Z).
336  - New classes:
337  - [mrpt-hwdrivers]
338  - mrpt::hwdrivers::CInterfaceNI845x: An interface for this USB SPI/I2C data acquisition board.
339  - mrpt::hwdrivers::CCANBusReader: A class to record CAN bus frames with a CAN232 converter.
340  - [mrpt-obs]
341  - mrpt::obs::CObservationCANBusJ1939
342  - New functions:
343  - New opengl_stock objects:
344  - mrpt::opengl::stock_objects::Hokuyo_URG()
345  - mrpt::opengl::stock_objects::Hokuyo_UTM()
346  - mrpt::opengl::stock_objects::Househam_Sprayer()
347  - mrpt::math::saveEigenSparseTripletsToFile() - <a href="http://code.google.com/p/mrpt/source/detail?r=3351" >r3351</a>
348  - New examples:
349  - gmrf_map_demo
350  - Changes in classes:
351  - [mrpt-maps]
352  - mrpt::maps::COccupancyGridMap2D now also evalutes likelihoods for sonar-like observations (mrpt::obs::CObservationRange), allowing particle-filter localization with these sensors - <a href="http://code.google.com/p/mrpt/source/detail?r=3330" >r3330</a>
353  - New method mrpt::slam::CRandomFieldGridMap2D::insertIndividualReading()
354  - [mrpt-kinematics]
355  - mrpt::kinematics::CKinematicChain: Now allows changing the orientation of the first DOF (X,Y,Z).
356  - Removed stuff:
357  - Backwards-compatibility typedef mrpt::vision::TKLTFeatureStatus has been removed. Replace with mrpt::vision::TFeatureTrackStatus
358  - KLT-specific values for mrpt::vision::TFeatureTrackStatus has been removed, since they were not used in detected features anyway.
359  - Build system:
360  - Fixed a potential build error if including FFMPEG's <time.h> instead of the standard header - <a href="http://code.google.com/p/mrpt/source/detail?r=3316" >r3316</a>
361  - Fixed determination of GCC version for all GCC builds - <a href="http://code.google.com/p/mrpt/source/detail?r=3324" >r3324</a>
362  - Updated to Eigen 3.1.3 - <a href="http://code.google.com/p/mrpt/source/detail?r=3349" >r3349</a>
363  - Updated to nanoflann 1.1.5
364  - BUG FIXES:
365  - Unit tests "SchurTests" for mrpt-srba incorrectly reported errors due to an improperly initialized reference to a local variable - <a href="http://code.google.com/p/mrpt/source/detail?r=3318" >r3318</a>
366  - Debian packages: added missing binary deps for libmrpt-dev - <a href="http://code.google.com/p/mrpt/source/detail?r=3335" >r3335</a>
367 
368  <hr>
369  <a name="1.0.0">
370  <h2>Version 1.0.0: Released 1-MAR-2013 (SVN 3287) </h2></a>
371  - <b>Most important changes:</b>
372  - New library with a flexible implementation of Sparser Relative Bundle Adjustment (RBA), as presented in ICRA 2013: <a href="http://www.mrpt.org/srba" >mrpt-srba</a>.
373  - New library for Plane-based Maps: <a href="group__mrpt__pbmap__grp.html" >mrpt-pbmap</a> (also presented in ICRA 2013).
374  - Some MRPT modules are now header-only libraries.
375  - Support for a new Octomap metric map, via the octomap library. See mrpt::maps::COctoMap and detailed changes below.
376  - Support for importing/exporting point clouds in the standard LAS format (Look for liblas below).
377  - Better support for custom builds of MRPT (selective building of individual apps and libs, etc.)
378  - Ready for Visual Studio 2012 and GCC 4.7
379  - From now on, MRPT is released under the "New BSD" license.
380  - Many bug fixes.
381  - <b>Detailed list of changes:</b>
382  - New apps:
383  - <a href="http://www.mrpt.org/Application:srba-slam" >srba-slam</a>: A command-line frontend for the Relative Bundle Adjustment engine in mrpt-srba.
384  - <a href="http://www.mrpt.org/Application:holonomic-navigator-demo" >holonomic-navigator-demo</a>
385  - <a href="http://www.mrpt.org/Application:robotic-arm-kinematics" >robotic-arm-kinematics</a>: A GUI for experimenting with Denavit-Hartenberg parameters.
386  - Changes in apps:
387  - <a href="http://www.mrpt.org/Application%3Anavlog-viewer" >navlog-viewer</a>:
388  - Fixed some minor visualization errors.
389  - <a href="http://www.mrpt.org/Application%3ARawLogViewer" >RawLogViewer</a>:
390  - Import sequence of images as rawlog: Didn't detect "png" file extension as images - <a href="http://code.google.com/p/mrpt/source/detail?r=2940" >r2940</a> - Closes <a href="http://code.google.com/p/mrpt/issues/detail?id=34" >#34</a>
391  - The GUI toolbar has been ported from wxWidget's ToolBar to sets of wxCustomButton's to avoid visualization problems in wx 2.9.X - <a href="http://code.google.com/p/mrpt/source/detail?r=2950" >r2950</a>
392  - <a href="http://www.mrpt.org/Application:ReactiveNavigationDemo" >ReactiveNavigationDemo</a>:
393  - The default holonomic navigation method is now the VFF, since after the last bug fixes and tunes it seems to work quite well.
394  - <a href="http://www.mrpt.org/Application%3ASceneViewer" >SceneViewer3D</a>:
395  - The GUI toolbar has been ported from wxWidget's ToolBar to sets of wxCustomButton's to avoid visualization problems in wx 2.9.X - <a href="http://code.google.com/p/mrpt/source/detail?r=2952" >r2952</a>
396  - Added a new menu: "File -> Import -> From LAS file..." - <a href="http://code.google.com/p/mrpt/source/detail?r=3244" >r3244</a>
397  - <a href="http://www.mrpt.org/Application%3Agrid-matching" >grid-matching</a>: new argument "--aligner" to select aligner method - <a href="http://code.google.com/p/mrpt/source/detail?r=3021" >r3021</a>
398  - New classes:
399  - [mrpt-base]
400  - mrpt::math::MatrixBlockSparseCols, a templated column-indexed efficient storage of block-sparse Jacobian or Hessian matrices, together with other arbitrary information - <a href="http://code.google.com/p/mrpt/source/detail?r=2995" >r2995</a>
401  - mrpt::utils::ignored_copy_ptr<>
402  - mrpt::utils::CTimeLoggerEntry
403  - [mrpt-obs]
404  - mrpt::obs::CObservationWindSensor - <a href="http://code.google.com/p/mrpt/source/detail?r=3050" >r3050</a>
405  - [mrpt-maps]
406  - mrpt::maps::COctoMap
407  - [mrpt-opengl]
408  - mrpt::opengl::COctoMapVoxels
409  - Deleted classes:
410  - [mrpt-vision]
411  - CFeatureTracker_FAST and CFeatureTracker_PatchMatch have been removed since they didn't work robustly. Replace with mrpt::vision::CFeatureTracker_KL
412  - New libraries:
413  - [mrpt-kinematics] See mrpt::kinematics
414  - [mrpt-pbmap] See <a href="group__mrpt__pbmap__grp.html" >mrpt-pbmap</a>.
415  - [mrpt-srba] See <a href="http://www.mrpt.org/srba" >mrpt-srba</a>.
416  - Changes in libraries:
417  - These libs are now header-only: <a href="http://code.google.com/p/mrpt/source/detail?r=3035" >r3035</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3045" >r3045</a>
418  - [mrpt-bayes]
419  - [mrpt-graphs]
420  - [mrpt-graphslam]
421  - Integration of the Octomap C++ library (new BSD License) by Kai M. Wurm et al.: <a href="http://code.google.com/p/mrpt/source/detail?r=3081" >r3081</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3083" >r3083</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3084" >r3084</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3086" >r3086</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3087" >r3087</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3088" >r3088</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3093" >r3093</a>
422  - The main new classes are mrpt::maps::COctoMap & mrpt::opengl::COctoMapVoxels
423  - mrpt::maps::CMultiMetricMap now allows the seamless integration of octomaps in many MRPT map building or localization algorithms.
424  - New example: samples/octomap_simple
425  - Changes in classes:
426  - [mrpt-base]
427  - Eigen::MatrixBase<Derived>::loadFromTextFile(), and all MRPT derived matrix classes, are now much faster loading huge matrices from text files - <a href="http://code.google.com/p/mrpt/source/detail?r=2997" >r2997</a>
428  - The typedef Eigen::MatrixBase<Derived>::typename of MRPT's plugin to Eigen classes has been REMOVED, to avoid conflicts with some part of Eigen's sparse classes. Use Matrix::Scalar instead - <a href="http://code.google.com/p/mrpt/source/detail?r=3065" >r3065</a>
429  - New method mrpt::poses::CPose3DQuat::inverse()
430  - New methods mrpt::poses::SE_traits::pseudo_exp()
431  - mrpt::utils::CTimeLogger:
432  - New method mrpt::utils::CTimeLogger::getStats() for programatic execution time stats analysis - <a href="http://code.google.com/p/mrpt/source/detail?r=2998" >r2998</a>
433  - New method mrpt::utils::CTimeLogger::registerUserMeasure() for making stats of user-providen values - <a href="http://code.google.com/p/mrpt/source/detail?r=3005" >r3005</a>
434  - mrpt::utils::map_as_vector<> can be now customized to use different underlying STL containers for storage - <a href="http://code.google.com/p/mrpt/source/detail?r=3001" >r3001</a>
435  - mrpt::utils::CDynamicGrid::setSize() now also accepts a "fill_value" argument.
436  - Added method mrpt::math::TPoint2D::norm() for consistency with mrpt::math::TPoint3D
437  - Better support for saving (and not only loading) plain text configuration files, including commented files with default values of all existing parameters: - <a href="http://code.google.com/p/mrpt/source/detail?r=2954" >r2954</a>
438  - All mrpt::utils::CConfigFileBase::write() now have an extended signature for formatting.
439  - mrpt::utils::CLoadableOptions::dumpToTextStream() is no longer pure virtual: it now relies on mrpt::utils::CLoadableOptions::saveToConfigFile()
440  - mrpt::utils::CStream::Seek() now supports files larger than 2GB by using uint64_t instead of long (still see issue report for another patch required for MSVC2010) - (Closes <a href="http://code.google.com/p/mrpt/issues/detail?id=39" >issue 39</a>, thanks Robert Schattschneider) - <a href="http://code.google.com/p/mrpt/source/detail?r=3042" >r3042</a>
441  - mrpt::utils::TTypeName<> moved to its own header <mrpt/utils/TTypeName.h> while refactoring <mrpt/utils/CSerializable.h> - <a href="http://code.google.com/p/mrpt/source/detail?r=3044" >r3044</a>
442  - mrpt::utils::CConfigFileBase::write() now has signatures for "uint32_t" and "uint64_t" in both 32 and 64bit builds, instead of relying of the "size_t" type. This was done to fix build errors in some GCC versions under 32bits.
443  - mrpt::poses::CPose2D now caches the cos() and sin() of phi, with a huge performance improvement in most common operations.
444  - [mrpt-bayes]
445  - mrpt::bayes::CKalmanFilterCapable (and all EKF-SLAM methods based on it) are now much faster. The implementation now exploits the sparsity of the Jacobian (~25% faster in a test 6D EKF-SLAM dataset) - <a href="http://code.google.com/p/mrpt/source/detail?r=3059" >r3059</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3060" >r3060</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3061" >r3061</a>
446  - mrpt::bayes::CParticleFilterCapable now makes use of the Curiously Recurring Template Pattern (CRTP) design instead of ugly #define macros - <a href="http://code.google.com/p/mrpt/source/detail?r=3182" >r3182</a>
447  - [mrpt-graphs]
448  - mrpt::graphs::CNetworkOfPoses2D, mrpt::graphs::CNetworkOfPoses3D,... and so on, are now all typedef's instead of classes, since serialization is now implemented as pure templatized code, thus avoiding the need to declare derived auxiliary classes - <a href="http://code.google.com/p/mrpt/source/detail?r=3044" >r3044</a>
449  - [mrpt-gui]
450  - mrpt::gui::CDisplayWindow3D::addTextMessage() (and other opengl text routines) now allows drawing text with a shadow effect - <a href="http://code.google.com/p/mrpt/source/detail?r=3007" >r3007</a>
451  - [mrpt-hwdrivers]
452  - New method mrpt::hwdrivers::CActivMediaRobotBase::areMotorsEnabled()
453  - mrpt::hwdrivers::CGenericSensor (and all derived classes) now allocate objects aligned in memory with MRPT_MAKE_ALIGNED_OPERATOR_NEW
454  - New static method mrpt::hwdrivers::CGPSInterface::parse_NMEA()
455  - [mrpt-maps]
456  - Better integration of point cloud classes with PCL: - <a href="http://code.google.com/p/mrpt/source/detail?r=2943" >r2943</a>
457  - mrpt::maps::CPointsMap::loadPCDFile()
458  - mrpt::maps::CPointsMap::setFromPCLPointCloud()
459  - mrpt::maps::CColouredPointsMap::setFromPCLPointCloudRGB()
460  - Point cloud loading & saving in the standard ASPRS LiDAR LAS format (if liblas is installed in the system, see http://www.liblas.org/ ). See also the ready-to-use import menu in SceneViewer3D - <a href="http://code.google.com/p/mrpt/source/detail?r=3244" >r3244</a>
461  - mrpt::maps::CPointsMap::loadLASFile()
462  - mrpt::maps::CPointsMap::saveLASFile()
463  - Integration of wind measurements in gas-concentration maps (by Javier G. Monroy) - <a href="http://code.google.com/p/mrpt/source/detail?r=3050" >r3050</a>
464  - [mrpt-obs]
465  - New method mrpt::obs::CObservationGPS::clear()
466  - [mrpt-opengl]
467  - Evaluation of bounding box of opengl objects. New methods: - <a href="http://code.google.com/p/mrpt/source/detail?r=3026" >r3026</a>
468  - mrpt::opengl::CRenderizable::getBoundingBox()
469  - mrpt::opengl::COpenGLScene::getBoundingBox()
470  - mrpt::opengl::COpenGLViewport::getBoundingBox()
471  - mrpt::opengl::COctreePointRenderer::octree_get_graphics_boundingboxes() has a new flag to draw solid boxes at each leaf node - <a href="http://code.google.com/p/mrpt/source/detail?r=3033" >r3033</a>
472  - mrpt::opengl::COpenGLViewport has a new set of "global OpenGL switches" that affect the rendering of entire scenes - <a href="http://code.google.com/p/mrpt/source/detail?r=3185" >r3185</a>
473  - Classes drawing lines now by default enable anti-aliasing (can be disabled by the programmer): - <a href="http://code.google.com/p/mrpt/source/detail?r=3185" >r3185</a>
474  - mrpt::opengl::CGridPlaneXY, mrpt::opengl::CGridPlaneXZ
475  - mrpt::opengl::CSimpleLine
476  - mrpt::opengl::CSetOfLines
477  - [mrpt-reactivenav]
478  - Much code of mrpt::reactivenav classes have undergone a clean-up, slight optimizations and a translation of old Spanish names/comments to English - <a href="http://code.google.com/p/mrpt/source/detail?r=2939" >r2939</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=2942" >r2942</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=2958" >r2958</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3091" >r3091</a>
479  - mrpt::reactivenav::CParameterizedTrajectoryGenerator::CColisionGrid now has a more maintainable binary serialization format - <a href="http://code.google.com/p/mrpt/source/detail?r=2939" >r2939</a>
480  - mrpt::reactivenav::CParameterizedTrajectoryGenerator::debugDumpInFiles() now also saves text files which can be used to visualize PTGs from MATLAB (see scripts/viewPTG.m) - <a href="http://code.google.com/p/mrpt/source/detail?r=3009" >r3009</a>
481  - mrpt::reactivenav::CHolonomicVFF and mrpt::reactivenav::CHolonomicND now have more configurable parameters, loadable from config files. See their documentation.
482  - Repulsive forces from obstacles in mrpt::reactivenav::CHolonomicVFF are now automatically normalized wrt the density of the 360deg view of obstacles and forces follow a "1/range" law instead of the old "exp(-range)".
483  - Solved a stability issue in C-S paths, in mrpt::reactivenav::CPTG5 (By Mariano Jaimez Tarifa) - <a href="http://code.google.com/p/mrpt/source/detail?r=3085" >r3085</a>
484  - [mrpt-scanmatching]
485  - mrpt::scanmatching::robustRigidTransformation():
486  - Changed behavior not to allow features to appear in duplicated pairings.
487  - Added a consistency test to avoid seeding RANSAC with an inconsistent initial model.
488  - [mrpt-slam]
489  - mrpt::slam::CMetricMapBuilderICP now does not integrate the small pose changes due to odometry and/or relocalization when considering the distance and angle thresholds. This means that fewer map updates are now done for the same ICP-SLAM parameters, which should lead to "less noisy" maps.
490  - New functions:
491  - [mrpt-base]
492  - mrpt::utils::abs_diff()
493  - mrpt::system::getMRPTLicense()
494  - mrpt::system::getFileModificationTime()
495  - mrpt::math::noncentralChi2PDF_CDF() is now exposed (was private)
496  - mrpt::utils::sprintf_container()
497  - mrpt::poses::operator -(mrpt::poses::CPose3DQuat)
498  - max3() and min3() moved from the global namespace to mrpt::utils::max3() and mrpt::utils::min3()
499  - New examples:
500  - octomap_simple
501  - ransac-data-association
502  - Build system:
503  - Update to nanoflann 1.1.4 - <a href="http://code.google.com/p/mrpt/source/detail?r=2937" >r2937</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3017" >r3017</a>
504  - Update to Eigen 3.1.2 - <a href="http://code.google.com/p/mrpt/source/detail?r=3064" >r3064</a>
505  - MRPT's root "CMakeLists.txt" has undergone a big refactoring and cleanup - <a href="http://code.google.com/p/mrpt/source/detail?r=2961" >r2961</a>
506  - Backward compatible "mrpt-core" has been removed as a fake lib for which to search with CMake from user programs - <a href="http://code.google.com/p/mrpt/source/detail?r=2961" >r2961</a>
507  - More system libs are detected in Linux (libclang-dev, lib3ds-dev), discarding embedded versions then - <a href="http://code.google.com/p/mrpt/source/detail?r=2963" >r2963</a> - <a href="http://code.google.com/p/mrpt/issues/detail?id=17" >Closes #17</a>
508  - Automatic detection of supported SIMD extensions (SSE*) from CMake (only for Linux OS) - <a href="http://code.google.com/p/mrpt/source/detail?r=3013" >r3013</a>
509  - Fixed building with Visual Studio 2012 (MSVC11) - <a href="http://code.google.com/p/mrpt/source/detail?r=3017" >r3017</a>
510  - MRPT now allows defining header-only libraries with the define_mrpt_lib_header_only() macro - <a href="http://code.google.com/p/mrpt/source/detail?r=3034" >r3034</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=3035" >r3035</a>
511  - More unit tests:
512  - for all probability distribution functions in mrpt::math,
513  - for the parser in mrpt::hwdrivers::CGPSInterface::parse_NMEA()
514  - for the octomap map
515  - for serialization/deserealization of many classes.
516  - Added new documentation page: <a href="env-vars.html" >environment variables</a>.
517  - Removed the build flag "MRPT_BACKCOMPATIB_08X".
518  - Fixes for building under Mac OSX: <a href="http://code.google.com/p/mrpt/source/detail?r=3181" >r3181</a>
519  - Enable some c++11 features if the compiler supports them - <a href="http://code.google.com/p/mrpt/source/detail?r=3273" >r3273</a>
520  - BUG FIXES:
521  - Build: Fixed detection of OpenCV 2.4.2+ installed in the system via CMake config file instead of pkg-config, which seems to be broken. - <a href="http://code.google.com/p/mrpt/source/detail?r=3019" >r3019</a>
522  - [mrpt-base] The iterator returned by end() in all MRPT vectors and matrices (based on Eigen) pointed to the last element, not to the (now correct) next position after the last element - <a href="http://code.google.com/p/mrpt/source/detail?r=2941" >r2941</a>
523  - [mrpt-base] mrpt::dynamicsize_vector::resize() performed a memory reallocation even if given the current size, due to an inherited behavior from Eigen. It is not the expected behavior, so it has been fixed. - <a href="http://code.google.com/p/mrpt/source/detail?r=3003" >r3003</a>
524  - [mrpt-base] Wrong computation of normPDF() values for the multidimensional cases. Closes <a href="http://code.google.com/p/mrpt/issues/detail?id=46" >#46</a> - <a href="http://code.google.com/p/mrpt/source/detail?r=3068" >r3068</a>
525  - [mrpt-base] mrpt::poses::CPoint::asString() confused the 2D and 3D cases (Thanks Cipri!)
526  - [mrpt-base] Fixed errors in de-serialization of mrpt::utils::CPointPDFSOG and mrpt::maps::CReflectivityGridMap2D
527  - [mrpt-base] mrpt::math::KDTreeCapable::kdTreeRadiusSearch2D() always returned 0 matched.
528  - [mrpt-graphs] Fixed bug in RecursiveSpectralPartition (Thanks to Edu!) - <a href="http://code.google.com/p/mrpt/source/detail?r=3026" >r3026</a>
529  - [mrpt-hwdrivers] Fixed potential SEGFAULT in mrpt::hwdrivers::CGPSInterface (Thanks K.Miyawaki for <a href="http://www.mrpt.org/node/2474" >reporting</a>)
530  - [mrpt-hwdrivers] Fixed communications to LMS 1xx scanners (Thanks Henry! See http://code.google.com/p/mrpt/issues/detail?id=49 )
531  - [mrpt-maps] mrpt::maps::COccupancyGridMap2D::getAs3DObject() returned cells with an occupancy of exactly "0" as transparent - <a href="http://code.google.com/p/mrpt/source/detail?r=2957" >r2957</a>
532  - [mrpt-maps] Fixed saving the correct point colors in mrpt::maps::CColouredPointsMap::savePCDFile() (Thanks Mariano!) - <a href="http://code.google.com/p/mrpt/source/detail?r=3090" >r3090</a>
533  - [mrpt-maps] In CPointsMap::computeMatchingWith3D. Fixed matching two 3D point clouds as each correspondence was inserted twice into the output vector. (By Paco) - <a href="http://code.google.com/p/mrpt/source/detail?r=3162" >r3162</a>
534  - [mrpt-opengl] Fixed a potential bug: after deserializing an object based on a display-list (most of them), it won't update in the opengl view.
535  - [mrpt-reactivenav] Class mrpt::reactivenav::CHolonomicVFF was not exported in Windows DLL's (Thanks Mariano for noticing!).
536  - [mrpt-reactivenav] Fixed wrong computation of obstacles force fields in mrpt::reactivenav::CHolonomicVFF (Thanks Mariano for noticing!) - <a href="http://code.google.com/p/mrpt/source/detail?r=2953" >r2953</a>
537  - [mrpt-reactivenav] Precomputed collision grids could be loaded in mrpt::reactivenav::CParameterizedTrajectoryGenerator even for different robot parameters/shape: now it correctly detects such situations and recompute when needed - <a href="http://code.google.com/p/mrpt/source/detail?r=2939" >r2939</a> - Closes <a href="http://code.google.com/p/mrpt/issues/detail?id=33" >#33</a>
538  - [mrpt-reactivenav] ND algorithm: Fixed bugs of "last gap is never evaluated" and wrong composition of representative direction for some gaps (By Mariano) - <a href="http://code.google.com/p/mrpt/source/detail?r=3056" >r3056</a>
539 
540 
541  <br>
542  <hr>
543  <a name="0.9.6">
544  <h2>Version 0.9.6 - (Version 1.0.0-Release_Candidate_4): Released 30-MAY-2012 (SVN 2930) </h2></a>
545  - New applications:
546  - <a href="http://www.mrpt.org/Application:kinect-stereo-calibrate" >kinect-stereo-calibrate</a>: A GUI tool for calibrating RGB+D and/or stereo cameras, including live Kinect capturing.
547  - Removed applications:
548  - stereo-calib-gui: it's now superseded by kinect-stereo-gui. The old command line tool is still useful, so it's still there as the example "stereo-calib-opencv".
549  - Changes in applications:
550  - <a href="http://www.mrpt.org/Application:icp-slam" >icp-slam</a>:
551  - Added a new option (SHOW_LASER_SCANS_3D in config files) to draw laser scans in the live 3D view - <a href="http://code.google.com/p/mrpt/source/detail?r=2881" >r2881</a>
552  - <a href="http://www.mrpt.org/Application:rawlog-edit" >rawlog-edit</a>:
553  - Operation "--camera-params" now also handles stereo observations.
554  - New operation "--stereo-rectify" for batch rectifying datasets with stereo images.
555  - New operation "--rename-externals".
556  - <a href="http://www.mrpt.org/Application:SceneViewer" >SceneViewer3D</a>:
557  - New menu for generating high-resolution renders of any scene directly to imag files - <a href="http://code.google.com/p/mrpt/source/detail?r=2775" >r2775</a>
558  - Many new menus for selective selecting objects and applying operations on them - <a href="http://code.google.com/p/mrpt/source/detail?r=2776" >r2776</a>
559  - stereo-calib-gui: Now generates a report with detailed and clear results from stereo calibration and allows the user to change most parameters interactively - <a href="http://code.google.com/p/mrpt/source/detail?r=2801" >r2801</a>
560  - <a href="http://www.mrpt.org/Application:kinect-3d-view" >kinect-3d-view</a>: New key command: press '9' to grab selected snapshots to disk - <a href="http://code.google.com/p/mrpt/source/detail?r=2890" >r2890</a>
561  - Kinect stuff:
562  - [mrpt-hwdrivers]
563  - mrpt::hwdrivers::CKinect now decodes Bayer color using OpenCV instead of default freenect - <a href="http://code.google.com/p/mrpt/source/detail?r=2721" >r2721</a>, <a href="http://code.google.com/p/mrpt/source/detail?r=2762" >r2762</a>
564  - mrpt::hwdrivers::CKinect no longer forces a horizontal tilt at start up by default, what may be annoying (if required, set "initial_tilt_angle") - <a href="http://code.google.com/p/mrpt/source/detail?r=2722" >r2722</a>
565  - mrpt::hwdrivers::CKinect now loads Kinect calibration files in a format compatible with stereo cameras. See http://www.mrpt.org/Kinect_calibration
566  - [mrpt-obs]
567  - New method mrpt::obs::CObservation3DRangeScan::convertTo2DScan() allows simulating a "fake 2D laser scanner" from a Kinect. See the example: http://www.mrpt.org/Example_Kinect_To_2D_laser_scan
568  - [mrpt-vision]
569  - New function mrpt::vision::checkerBoardStereoCalibration() to calibrate stereo and RGB+D cameras. See also the program <a href="http://www.mrpt.org/Application:kinect-stereo-calibrate" >kinect-stereo-calibrate</a>:
570  - New classes:
571  - [mrpt-gui]
572  - New event generated by GUI windows: mrpt::gui::mrptEventWindowClosed
573  - [mrpt-hwdrivers]
574  - mrpt::hwdrivers::CRaePID: A new interface to PID gas sensing devices (by Emil Khatib, University of Malaga) - <a href="http://code.google.com/p/mrpt/source/detail?r=2841" >r2841</a>
575  - [mrpt-opengl]
576  - New classes for representing confidence intervals (ellipsoids) in transformed spaces - <a href="http://code.google.com/p/mrpt/source/detail?r=2783" >r2783</a>
577  - mrpt::opengl::CGeneralizedEllipsoidTemplate<>
578  - mrpt::opengl::CEllipsoidRangeBearing2D
579  - mrpt::opengl::CEllipsoidInverseDepth2D
580  - mrpt::opengl::CEllipsoidInverseDepth3D
581  - mrpt::opengl::CFrustum to easily render these geometric figures
582  - New struct mrpt::opengl::TFontParams result of a code refactoring
583  - [mrpt-vision]
584  - mrpt::vision::TSIFTDescriptorsKDTreeIndex, TSURFDescriptorsKDTreeIndex - <a href="http://code.google.com/p/mrpt/source/detail?r=2799" >2799</a>
585  - mrpt::vision::CStereoRectifyMap - See tutorial online: http://www.mrpt.org/Rectifying_stereo_
586 
587 */



Page generated by Doxygen 1.8.9.1 for MRPT 1.3.0 SVN: at Sun Sep 13 03:55:12 UTC 2015