Releases: MRPT/mrpt
MRPT 1.5.0
Version 1.5.0: Released 10-JUN-2017
- Changes in apps:
- New app PTG-configurator
- ReactiveNavigationDemo has been totally rebuilt as a 3D visualizer capable of testing different navigation algorithms and robot kinematics.
- RawLogViewer:
- Now displays a textual and graphical representation of all observation timestamps, useful to quickly detect sensor "shortages" or temporary failures.
- New menu operation: "Edit" -> "Rename selected observation"
- mrpt::obs::CObservation3DRangeScan pointclouds are now shown in local coordinates wrt to the vehicle/robot, not to the sensor.
- rawlog-edit: New flag:
--txt-externals
- Changes in libraries:
- \ref mrpt_base_grp
- New API to interface ZeroMQ: \ref noncstream_serialization_zmq
- Deprecated function (since 1.3.0) deleted: mrpt::system::registerFatalExceptionHandlers()
- New method mrpt::poses::CPosePDFParticles::resetAroundSetOfPoses()
- Class mrpt::utils::CRobotSimulator renamed ==> mrpt::kinematics::CVehicleSimul_DiffDriven
- New twist (linear + angular velocity state) classes: mrpt::math::TTwist2D, mrpt::math::TTwist3D
- New template method: mrpt::utils::CStream::ReadAsAndCastTo
- Added missing method mrpt::poses::CPose2D::inverseComposePoint() for consistency with CPose3D
- New class mrpt::synch::CCriticalSectionRecursive
- New class mrpt::utils::COutputLogger replaces the classes mrpt::utils::CDebugOutputCapable (deprecated) and mrpt::utils::CLog (removed).
- New macros for much more versatily logging:
- MRPT_LOG_DEBUG(), MRPT_LOG_INFO(), MRPT_LOG_WARN(), MRPT_LOG_ERROR()
- MRPT_LOG_DEBUG_STREAM, MRPT_LOG_INFO_STREAM, MRPT_LOG_WARN_STREAM, MRPT_LOG_ERROR_STREAM
- New functions for polynomial roots: see \ref polynomial_roots
- New functions for signal filtering: see \ref filtering_grp
- New functions for Fresnel integrals: see \fresnel_integrals_grp
- New classes mrpt::math::CAtan2LookUpTable, mrpt::math::CAtan2LookUpTableMultiRes
- [API change] The following functions are no longer static methods: (since their classes are now derived from the state-aware mrpt::utils::COutputLogger)
- mrpt::math::RANSAC_Template::execute()
- mrpt::math::CLevenbergMarquardtTempl::execute()
- Deleted methods in Eigen-extensions: leftDivideSquare(), rightDivideSquare()
- Removed support for named semaphores in mrpt::synch::CSemaphore
- new method mrpt::utils::CTimeLogger::getLastTime()
- Removed mrpt::utils::CStartUpClassesRegister, replaced by the new macro MRPT_INITIALIZER()
- New class mrpt::utils::CRateTimer
- mrpt::poses::CRobot2DPoseEstimator now uses a more generic odometry-based velocity model (vx,vy,omega).
- New template mrpt::utils::ts_hash_map<> for thread-safe, std::map-like containers based on hash functions.
- Included exprtk header-only library to runtime compile & evaluation of mathematical expressions, under
<mrpt/otherlibs/exprtk.hpp>
- New smart pointer templates:
mrpt::utils::copy_ptr<>
,mrpt::utils::poly_ptr<>
. - New colormap: mrpt::utils::hot2rgb()
- New function mrpt::system::find_mrpt_shared_dir()
- New class mrpt::utils::CDynamicGrid3D<>
- New function mrpt::utils::net::http_request()
- New function mrpt::system::now_double()
- New function mrpt::utils::getAllRegisteredClassesChildrenOf()
- Safer CClassRegistry: detect and warn on attempts to duplicated class registration.
- New class mrpt::math::CRuntimeCompiledExpression
- mrpt::utils::CConfigFile and mrpt::utils::CConfigFileMemory now can parse config files with end-of-line backslash to split long strings into several lines.
- New class mrpt::poses::FrameTransformer
- mrpt::poses classes now have all their constructors from mrpt::math types marked as explicit, to avoid potential ambiguities and unnoticed conversions.
- Sophus is now used internally for some Lie Algebra methods, and also exposed to the user as
#include <mrpt/otherlibs/sophus/so3.hpp>
, etc. as part of mrpt-base
- \ref mrpt_bayes_grp
- [API change]
verbose
is no longer a field of mrpt::bayes::CParticleFilter::TParticleFilterOptions. Use the setVerbosityLevel() method of the CParticleFilter class itself. - [API change] mrpt::bayes::CProbabilityParticle (which affects all PF-based classes in MRPT) has been greatly simplified via usage of the new mrpt::utils::copy_ptr<> pointee-copy-semantics smart pointer.
- [API change]
- \ref mrpt_graphs_grp
- New class mrpt::graphs::ScalarFactorGraph, a simple but extensible linear GMRF solver. Refactored from mrpt::maps::CGasConcentrationGridMap2D, etc.
- \ref mrpt_gui_grp
- mrpt::gui::CMyGLCanvasBase is now derived from mrpt::opengl::CTextMessageCapable so they can draw text labels
- New class mrpt::gui::CDisplayWindow3DLocker for exception-safe 3D scene lock in 3D windows.
- \ref mrpt_hwdrivers_grp
- Using rplidar newest SDK 1.5.6 instead of 1.4.3, which support rplidar A1 and rplidar A2
- mrpt::hwdrivers::CNTRIPEmitter can now also dump raw NTRIP data to a file
- \ref mrpt_kinematics_grp
- New classes for 2D robot simulation:
- mrpt::kinematics::CVehicleSimul_DiffDriven
- mrpt::kinematics::CVehicleSimul_Holo
- New classes for 2D robot kinematic motion commands. See children of mrpt::kinematics::CVehicleVelCmd
- New classes for 2D robot simulation:
- \ref mrpt_maps_grp
- mrpt::maps::COccupancyGridMap2D::loadFromBitmapFile() correct description of
yCentralPixel
parameter. - mrpt::maps::CPointsMap
liblas
import/export methods are now in a separate header. See \ref mrpt_maps_liblas_grp and \ref dep-liblas - New class mrpt::maps::CRandomFieldGridMap3D
- New class mrpt::maps::CPointCloudFilterByDistance
- mrpt::maps::COccupancyGridMap2D::loadFromBitmapFile() correct description of
- \ref mrpt_obs_grp
- [ABI change] mrpt::obs::CObservation2DRangeScan
- range scan vectors are now protected for safety.
- New getter/setter methods.
- backwards-compatible proxies added for read-only from range scan members.
- [ABI change] mrpt::obs::CObservation3DRangeScan:
- Now uses more SSE2 optimized code
- Depth filters are now available for mrpt::obs::CObservation3DRangeScan::project3DPointsFromDepthImageInto() and mrpt::obs::CObservation3DRangeScan::convertTo2DScan()
- New switch mrpt::obs::CObservation3DRangeScan::EXTERNALS_AS_TEXT for runtime selection of externals format.
- mrpt::obs::CObservation2DRangeScan now has an optional field for intensity.
- mrpt::obs::CRawLog can now holds objects of arbitrary type, not only actions/observations. This may be useful for richer logs aimed at debugging.
- mrpt::obs::CObservationVelodyneScan::generatePointCloud() can now generate the microseconds-precise timestamp for each individual point (new param
generatePerPointTimestamp
).
- [ABI change] mrpt::obs::CObservation2DRangeScan
- \ref mrpt_opengl_grp
- [ABI change] mrpt::opengl::CAxis now has many new options exposed to configure its look.
- mrpt::opengl::CSetOfLines can now optionally show vertices as dots.
- lib3DS is no longer shipped as an embedded version. A system library in Linux is required to use mrpt::opengl::C3DSScene. Use mrpt::opengl::CAssimpModel as a more powerful alternative.
- \ref mrpt_slam_grp
- [API change] mrpt::slam::CMetricMapBuilder::TOptions does not have a
verbose
field anymore. It's supersedded now by the verbosity level of the CMetricMapBuilder class itself. - [API change] getCurrentMetricMapEstimation() renamed mrpt::slam::CMultiMetricMapPDF::getAveragedMetricMapEstimation() to avoid confusions.
- [API change] mrpt::slam::CMetricMapBuilder::TOptions does not have a
- \ref mrpt_hwdrivers_grp
- mrpt::hwdrivers::CGenericSensor: external image format is now
png
by default instead ofjpg
to avoid losses. - [ABI change] mrpt::hwdrivers::COpenNI2Generic:
- refactored to expose more methods and allow changing parameters via its constructor.
- Now supports reading from an IR, RGB and Depth channels independenty.
- mrpt::hwdrivers::CHokuyoURG now can optionally return intensity values.
- Deleted old, unused classes:
- mrpt::hwdrivers::CBoardIR
- mrpt::hwdrivers::CBoardDLMS
- mrpt::hwdrivers::CPtuHokuyo
- mrpt::hwdrivers::CHokuyoURG no longer as a "verbose" field. It's superseded now by the COutputLogger interface.
- mrpt::hwdrivers::CActivMediaRobotBase and the embedded ARIA library have been removed. Nowadays, one can access to ARIA robots via ROS packages more easily than via MRPT.
- mrpt::hwdrivers::CGenericSensor: external image format is now
- \ref mrpt_maps_grp
- mrpt::maps::CMultiMetricMapPDF added method CMultiMetricMapPDF::prediction_and_update_pfAuxiliaryPFStandard().
- \ref mrpt_nav_grp
- New mrpt::nav::CWaypointsNavigator interface for waypoint list-based navigation.
- [ABI & API change] PTG classes refactored (see new virtual base class mrpt::nav::CParameterizedTrajectoryGenerator and its derived classes):
- Old classes
CPTG%d
have been renamed to describe each path type. Old PTGs #6 and #7 have been removed for lack of practical use. - New separate classes for PTGs based on numerically-integrated paths and on closed-form formulations.
- Old deprecated method of PTGs
lambdaFunction()
removed. - Parameters are no longer passed via a mrpt::utils::TParameters class, but via a mrpt::utils::CConfigFileBase which makes parameter passing to PTGs much more maintainable and consistent.
- PTGs now have a score_priority field to manually set hints about preferences for path planning.
- PTGs are now mrpt::utils::CLoadableOptions classes
- Old classes
- \ref mrpt_graphslam_grp
- Extend mrpt-graphslam lib to execute simulated/real-time graphSLAM.
mrpt-graphslam supports 2D/3D execution of graphSLAM, utilizing
LaserScans, odometry information. - Develop application
graphslam-engine
that executes graphSLAM via
the mrpt-graphslam l...
- Extend mrpt-graphslam lib to execute simulated/real-time graphSLAM.
- \ref mrpt_base_grp
MRPT 1.5.0 - Release Candidate 1
This is a pre-release version. The (huge) list of changes since 1.4.0 can be reached here.
Please, give it a try and report any regression / bug you might find.
After a few weeks of testing, and after fixing the remaining issues below, the definitive 1.5.0 version will be released and we'll focus on working towards the new MRPT 2.0 series.
Known issues of RC1:
- Missing docs (per #193 ).
- ReactiveNavigation API may still suffer minor changes.
Release of MRPT 1.4.0
Version 1.4.0: Released 22-APR-2016
- Most important changes:
- Support for Velodyne LIDAR sensors.
- New minor version number due to changes in the API of these classes (read details below): mrpt::obs::CObservationGPS, mrpt::hwdrivers::CGPSInterface
- Python bindings added for a subset of MRPT functionality (Thanks Peter Rudolph and Nikolaus Demmel!)
- Detailed list of changes:
- New apps:
- gps2rawlog: Application to parse raw dumps of a GPS (GNSS) receiver output.
- image2gridmap: Small tool to import any image as an MRPT gridmap object file (*.gridmap).
- velodyne-view: Application to test, visualize and grab data from a live Velodyne sensor or from a PCAP record.
- Changes in apps:
- rawlog-grabber: Now does not show GPS and IMU debug data in console, unless
MRPT_HWDRIVERS_VERBOSE
environment variable is set. - rawlog-edit: New operation:
--export-gps-all
- rawlog-grabber: Now does not show GPS and IMU debug data in console, unless
- Changes in libraries:
- \ref mrpt_base_grp
- [ABI change] mrpt::system::tokenize() new parameter
skipBlankTokens
- mrpt::utils::circular_buffer now has peek() methods
- Eigen::MatrixBase::loadFromTextFile() now also accepts
,
as column separator. - New functions:
- mrpt::system::timestampAdd()
- mrpt::utils::compute_CRC32()
- mrpt::utils::saturate<>()
- mrpt::utils::CDynamicGrid<> now uses
double
instead offloat
for all dimensions and coordinate computations. - Priority with these functions now work properly in GNU/Linux; though, see the notes in their documentation for required permissions:
- mrpt::system::changeCurrentProcessPriority()
- mrpt::system::changeThreadPriority()
- New classes/structures:
- mrpt::math::TPointXYZIu8, mrpt::math::TPointXYZRGBu8, mrpt::math::TPointXYZfIu8, mrpt::math::TPointXYZfRGBu8
- [ABI change] mrpt::system::tokenize() new parameter
- \ref mrpt_hwdrivers_grp
- New class mrpt::hwdrivers::CVelodyneScanner
- mrpt::hwdrivers::CNTRIPEmitter now has a parameter to enable/disable sending back the data from the serial port to the NTRIP caster.
- [API changed] mrpt::hwdrivers::CGPSInterface API clean-up and made more generic so any stream can be used to parse GNSS messages, not only serial ports.
- New class mrpt::hwdrivers::CStereoGrabber_Bumblebee_libdc1394 for capturing without PGR Flycapture but directly through libdc1394.
- Removed class mrpt::hwdrivers::CStereoGrabber_Bumblebee , superseded by mrpt::hwdrivers::CImageGrabber_FlyCapture2 which is capable of both monocular and stereo grabbing.
- \ref mrpt_maps_grp
- New class mrpt::maps::CHeightGridMap2D_MRF
- New base class mrpt::maps::CHeightGridMap2D_Base
- mrpt::maps::COccupancyGridMap2D:
- New method mrpt::maps::COccupancyGridMap2D::copyMapContentFrom()
- New likelihood parameter
LF_useSquareDist
- New parameter mrpt::maps::COccupancyGridMap2D::RAYTRACE_STEP_SIZE_IN_CELL_UNITS
- mrpt::maps::COccupancyGridMap2D::simulateScanRay() is now ~40% (GCC) to ~250% (MSVC) faster by default.
- New method mrpt::maps::COccupancyGridMap2D::laserScanSimulatorWithUncertainty()
- New method mrpt::maps::CHeightGridMap2D::insertIndividualPoint()
- mrpt::maps::CMetricMap::compute3DMatchingRatio() has a simplified API now
- \ref mrpt_obs_grp
- New class mrpt::obs::CObservationVelodyneScan
- mrpt::obs::CSinCosLookUpTableFor2DScans now can build a table from a mrpt::obs::T2DScanProperties structure, which now also has its separate header file for better modularity.
- [API changed] mrpt::obs::CObservationGPS now stores only one message per objects. API clean-up and extended so the number of GNSS message types is larger and more scalable.
- mrpt::obs::gnss: A new namespace with many new data structures for GPS-related messages
- mrpt::obs::CObservation3DRangeScan: projection of RGBD images to 3D points now correctly filters out invalid points, which were in previous versions mapped as (0,0,0) points (relative to the sensor).
In turn, this leads to point clouds of a dynamic number of points. In case of needing the (u,v) pixel coordinates of projected points, checkout the new fieldspoints3D_idxs_x
&points3D_idxs_y
. - New class mrpt::obs::CObservation2DRangeScanWithUncertainty
- \ref mrpt_opengl_grp
- New class mrpt::opengl::CMesh3D to render 3D models/meshes
- New method mrpt::opengl::CPointCloudColoured::recolorizeByCoordinate()
- \ref mrpt_slam_grp
- Small clean up of mrpt::slam::CICP API, add separate variable to select covariance estimation method.
- \ref mrpt_topography_grp
- New function mrpt::topography::geocentricToENU_WGS84()
- \ref mrpt_vision_grp
- mrpt::vision::CDifOdo has been refactored and now does faster image pyramid computation (By Mariano Jaimez)
- mrpt::maps::CLandmarksMap changes:
beaconMaxRange
&alphaRatio
parameters have been removed since they were not used.- New likelihood parameter
beaconRangesUseObservationStd
to allow using different uncertainty values with each observation.
- \ref mrpt_base_grp
- Changes in build system:
- Python bindings added for a subset of MRPT functionality (Thanks Peter Rudolph!)
- Code ported to support the new libftdi1-dev (Fixes Debian bug #810368, GitHub issue #176)
- Fix building with gcc 6.0 (Closes Debian bug #811812)
- CMake new option:
DISABLE_MRPT_AUTO_CLASS_REGISTRATION
to reduce the footprint of MRPT statically-linked programs. - Fix building against wxWidgets 3.1
- BUG FIXES:
- mrpt::math::CQuaternion<> did not check for unit norm in Release builds.
- Fix build errors against OpenCV 3.0.0+ without opencv_contrib modules.
- mrpt::hwdrivers::CHokuyoURG now correctly handles opening both USB and Ethernet Hokuyo devices (Closes Github issue #180)
- Fixed mrpt::utils::net::DNS_resolve_async() may SIGSEGV in slow networks.
- mrpt::opengl::CMesh::updateColorsMatrix() did not ignore cells masked out.
- Wrong weights used in mrpt::poses::CPosePDFSOG::getMean()
- Removed ad-hoc bias addition in range-only predictions in landmarks maps.
- Error loading height map count in mrpt::maps::TSetOfMetricMapInitializers (Closes GitHub issue #205.
- Fix "gray images" grabbed in Windows when capturing the render output of 3D windows (Thanks Mariano J.T. & Christian Kerl from TUM!)
- Fix typos and wxWidgets align errors in RawLogViewer GUI (Closes #219)
- mrpt::nav::CHolonomicND & mrpt::nav::CHolonomicVFF didn't use the full range of output velocities.
- mrpt::utils::CImage::loadFromFile() now does not leave the image in undefined state if the load operation fails.
- mrpt::hwdrivers::CLMS100Eth failed to load "pose_yaw" parameter from config file.
- mrpt::obs::CObservation3DRangeScan::doDepthAndIntensityCamerasCoincide() did not correctly return
false
for negative offsets between the camera poses.
- New apps:
Release of MRPT 1.3.2
Version 1.3.2: Released 3-NOV-2015
Changes in Apps:
- rawlog-edit:
- New operation: --list-poses
- --list-images now also works with 3D range scans
Changes in libraries:
- The library mrpt-srba has been moved out of MRPT and now is an independent project: https://github.com/MRPT/srba
- [mrpt-base]
- mrpt::math::KDTreeCapable::TKDTreeSearchParams: Removed parameter nChecks, which was ignored by nanoflann anyway.
- [mrpt-hwdrivers]
- mrpt::hwdrivers::CCameraSensor: Implemented OpenNI2 support for CCameraSensor
- [mrpt-nav]
- mrpt::nav::CAbstractPTGBasedReactive: Maximum acceleration filter (SPEEDFILTER_TAU) now follows paths better (Thanks to Steven Butner, UCSB/ECE)
Changes in build system:
- FIND_PACKAGE(MRPT) will return libraries in the var MRPT_LIBRARIES, following the CMake convention. The old variable name MRPT_LIBS will be also returned for backward compatibility.
BUG FIXES:
- Fix excessive width of paths drawn by CMetricMapBuilderRBPF::drawCurrentEstimationToImage()
- Fix image distortion: k3 may be ignored. (Thanks to CBaiz)
- Fix Debian bugs.
Release of MRPT 1.3.1
Version 1.3.1: Released 18-JUL-2015
Changes in apps:
- navlog-viewer: Now shows more information on navigation logs.
- icp-slam-live: New application for real-time SLAM with one LIDAR sensor.
Changes in libraries:
- [mrpt-base]
- New helper templates: mrpt::utils::int_select_by_bytecount<>, mrpt::utils::uint_select_by_bytecount<>
- New methods to evaluate SO(2), SO(3), SE(2) and SE(3) averages and weighted averages. See:
- Header <mrpt/poses/SO_SE_average.h>
- mrpt::poses::SO_average<2>, mrpt::poses::SO_average<3>
- mrpt::poses::SE_average<2>, mrpt::poses::SE_average<3>
- [mrpt-hwdrivers]
- New sensors supported:
- mrpt::hwdrivers::CIMUIntersense
- mrpt::hwdrivers::CSkeletonTracker
- New parameter mrpt::hwdrivers::CHokuyoURG::m_disable_firmware_timestamp to override faulty Hokuyo timestamps with PC time.
- mrpt::hwdrivers::CRoboPeakLidar::turnOn() and turnOff() now really implement turning on/off the RPLidar motor.
- [mrpt-maps]
- New method mrpt::maps::COccupancyGridMap2D::getAsPointCloud()
- [mrpt-nav]
- Removed old base class CPathPlanningMethod
- CPathPlanningCircularRobot => mrpt::nav::PlannerSimple2D: Class renamed (and better described) for consistency with other planners
- mrpt::nav::CReactiveNavigationSystem:
- Documentation has been added about all existing parameters, and template config files provided as starting points.
- The loadConfigFile() method with 2 config files has been deprecated favoring the newer, simpler single config file.
- The "ROBOT_NAME" parameter is no longer employed. A minor side effect (probably affecting no one) is that PTG cache files are no longer named differently for different robots.
- mrpt::nav::CParameterizedTrajectoryGenerator: New methods to save and load trajectories to binary streams. Used to debug in navlog-viewer.
- [mrpt-obs]
- mrpt::obs::CObservation3DRangeScan now supports pixel labels (semantic mapping, etc.)
- New class mrpt::obs::CObservationSkeleton to hold body tracking information (by Francisco Angel Moreno)
- mrpt::obs::CObservationIMU has new data fields and fields are better documented to reflect whether they refer to local/global coordinate frames
- [mrpt-vision]
- mrpt::vision::CImageGrabber_dc1394: Changed default Bayer filter from NEAREST to HQLINEAR
BUG FIXES:
- Fix ocasional (false) failure of RANSAC unit tests due to their non-deterministic nature.
- Fix build error with MSVC 2010 in mrpt-hmtslam (Closes #127).
- Fixed potential wrong bounding box results in mrpt::maps::CPointsMap::boundingBox() when SSE2 optimization is enabled.
- mrpt::obs::CObservation6DFeatures: Fixed random crashes related to non-aligned memory in 32bit builds (Fixes #141)
- Fix Debian bug #786349 on Eigen2 support.
- mrpt::hwdrivers::CIMUXSens_MT4: Fix crash in destructor of objects not attached to a physical device.
- Fix wrong quaternion cross product when target variable is one of the operands. Also affected the += operator of mrpt::poses::CPose3DQuat (Fixes #148)
- mrpt::hwdrivers::CKinect with libfreenect driver: Fix potential memory corruption.
- Fix a bug in mrpt::tfest::se3_l2_robust() that led to it returning without trying to find a good consensus solution. It affected the demo app kinect-3d-slam (Fixes #156)
- Fix wrong feature points in CFeatureExtraction::extractFeaturesKLT() (Fixes #138)
See detailed changelog
Release of MRPT 1.3.0
Most important changes:
- Classes in libraries [mrpt-obs] and [mrpt-maps] now belong to new namespaces (mrpt::obs, mrpt::maps) instead of the old mrpt::slam
- No more using namespaces polute MRPT headers. Errors in user projects missing using namespace XXX that might be formerly masked will now reveal. This is a good thing, though admitedly annoying...
- New library [mrpt-nav], subsumming the old [mrpt-reactivenav].
- New library [mrpt-tfest], a refactor of the old [mrpt-scanmatching].
- Backwards compatible headers have been provided to ease the transition of user code for all those library changes. Warning messages will be shown recommending deprecated replacements.
See detailed changelog.
Release of MRPT 1.2.2
Most important changes:
- New class mrpt::hwdrivers::CRoboPeakLidar to interface Robo Peak LIDAR scanners.
- New mrpt::opengl::CAssimpModel for rendering complex 3D models (many supported formats) in OpenGL scenes.
- Bumblebee2 Linux support in mrpt::hwdrivers::CImageGrabber_FlyCapture2 via Triclops (by Jesus Briales)
- Some bug fixes.
See detailed changelog.
Release of MRPT 1.2.1
Main changes:
- mrpt::hwdrivers::COpenNI2Sensor now has better support for opening several RGBD cameras (by Kenzaburo Miyawaki & Eduardo Fernandez)
- Build system:
- Fix compilation of SRBA with DEBUG_GARBAGE_FILL_ALL_NUMS=1
- Fix de-serialization error in mrpt::reactivenav::CLogFileRecord (and new unit tests added to avoid regressions).
- Several Debian bugs closed (see packaging/debian/changelog), including build errors in uncommon platforms (MIPS, kFreeBSD, etc.)
Release of MRPT 1.2.0
Most important changes:
- Public header files (.h) have undergone a serious refactoring to minimize unnecesary dependencies and reduce compile time and memory as much as possible. As a side effect, user code might need to add new #include<> lines. This change justifies the new minor version series 1.2.X.
- MRPT now cleanly builds in clang and OSX.
- Support for new camera drivers (OpenNI2, DUO3D).
- Many bug fixes.
See detailed changelog.