Releases: MRPT/mrpt
Releases · MRPT/mrpt
Release of v2.0.0-beta
Check out the complete changelog here.
Release of MRPT 1.5.8
This is a maintenance release for the MRPT 1.5.x series.
BUG FIXES:
- made sin-cos table cache thread safe
- FIX BUG: in x/y indices of unprojected 3D range images
- FIX BUG: max/min filter=0 should mean ignore filter
- reactive navigation:
- fix wrong classification as is_slowdown motion
- safer nav score evaluation
- add optional detailed time logger to rnav
- OBSTACLE_SLOW_DOWN_DISTANCE is in normalized distance
Release of v2.0.0-alpha
Version 2.0.0-alpha: 2019-Jul-14
Most important changes:
- MRPT now requires C++17 to build and use. See this page for a guide to port existing code to MRPT 2.0
- Support for old namespaces
mrpt-scanmatching
,mrpt-reactivenav
is over. - Backwards compatible headers for "maps" and "observations" in mrpt::slam are removed. They moved to their own namespaces in MRPT v1.3.0 (Jan 2015).
- All pointer typedefs are now in their respective classes: FooPtr -> Foo::Ptr
- Add support for serialization with std::variant
Detailed list of changes:
- Too many to list here. See a partial list here and checkout the updated API doxygen docs.
BUG FIXES:
- Fix reactive navigator inconsistent state if navigation API is called from within rnav callbacks.
- Fix incorrect evaluation of "ASSERT" formulas in mrpt::nav::CMultiObjectiveMotionOptimizerBase
- Fix aborting reading from LMS111 scanner on first error.
- Fix == operator on CPose3D: it now uses an epsilon for comparing the rotation matrices.
- Fix accessing unaligned POD variables deserializing CObservationGPS (via the new
MRPT_READ_POD()
macro). - Fix segfault in CMetricMap::loadFromSimpleMap() if the provided CMetricMap has empty smart pointers.
- Fix crash in CGPSInterface when not setting an external mutex.
Release of MRPT 1.5.7
Release of MRPT 1.5.7
(Update 19-May-2019: Binary package for Windows has been updated to solve #917 ).
This is probably (hopefully) the last release of the mrpt-1.5 series.
- Detailed list of changes:
- mrpt_base_grp
- The following features have been finally ported to C++11. User code now requires, at least, C++11 enabled:
- stlplus-based smart pointers replaced by std::shared_ptr. Backwards compatibility API is maintained.
- mrpt::system::TThreadHandle now is a wrapper around std::thread.
- Atomic counters now based on std::atomic. Custom implementation has been removed.
- stlplus source code has been removed.
- mrpt::utils::COutputLogger: change log str format from "[name|type|time]" to "[time|type|name]".
- The following features have been finally ported to C++11. User code now requires, at least, C++11 enabled:
- mrpt_graphslam_grp
- levenberg-Marquardt graphslam modified to use more stable SE(2) Jacobians.
- CNetworkOfPoses: read/write format made compatible with G2O EDGE_SE2 types.
- mrpt_nav_grp
- Add virtual method CAbstractPTGBasedReactive::getHoloMethod()
- New method CAbstractPTGBasedReactive::enableRethrowNavExceptions() to rethrow exceptions during navigation.
- Waypoints now have a field
speed_ratio
which is directly forwarded to the low-level reactive navigator.
- BUG FIXES:
- Fix missing "-ldl" linker flag.
- Fix building against wxWidgets 3.1.1 in Windows (zlib link error).
- Fix potential segfault in 3D reactive navigator.
- mrpt_base_grp
Release of MRPT 1.5.6
Version 1.5.6: Released 24/APR/2018
- Applications:
- pf-localization:
- Odometry is now used also for observation-only rawlogs.
- pf-localization:
- mrpt_hwdrivers_grp
- mrpt::hwdrivers::COpenNI2Generic: added mutexes for safer multi-threading
operation. - mrpt::hwdrivers::CHokuyoURG: Added a new parameter to skip scans. Driver
clean up to be safer and perform less memory allocs.
- mrpt::hwdrivers::COpenNI2Generic: added mutexes for safer multi-threading
- mrpt_maps_grp
- COccupancyGridMap2D: New LIDAR insertion parameters: maxFreenessUpdateCertainty, maxFreenessInvalidRanges.
- mrpt_reactivenav_grp
- CAbstractPTGBasedReactive: Added new score
holo_stage_eval
.
- CAbstractPTGBasedReactive: Added new score
- BUG FIXES:
- circular_buffer: exception made state preserving
Release of MRPT 1.5.5
Version 1.5.5: Released 2/DEC/2017
- Detailed list of changes:
- mrpt_base_grp
- Added methods mrpt::utils::CFileStream::clearError() and mrpt::utils::CFileInputStream::clearError()
- mrpt_nav_grp
- mrpt::nav::CHolonomicFullEval now uses an internal sin/cos LUT cache for improved performance.
- Build system:
- octomap is no longer exposed in public headers, avoiding the dependency propagation.
- BUG FIXES:
- Fix likelihood computation in mrpt::maps::CReflectivityGridMap2D (which led to crash)
- Fixed regression in particle resampling affecting RBPF-SLAM methods. Introduced in Dec. 2016 with this commit.
- Wrong argument type: CStream::Seek() must allow signed offsets.
- mrpt_base_grp
Release of MRPT 1.5.4
Version 1.5.4: Released 31/OCT/2017
Detailed list of changes:
- [mrpt-base]
- Fix potential uninitialized value in CRobot2DPoseEstimator::getLatestRobotPose()
MRPT_getCompilationDate() returns time as well
- Fix potential uninitialized value in CRobot2DPoseEstimator::getLatestRobotPose()
- [mrpt-gui]
- mrpt::gui::mrptEventMouseMove: Added new mrpt::gui windows event type.
- Smart pointers:
- All mrpt::utils::CObject derived classes:
- In MRPT <=1.5.3, there was a typedef Foo::SmartPtr => FooPtr.
- In MRPT >=1.5.4 is has been replaced by Foo::Ptr => FooPtr for compatibility with MRPT >=2.0.
stlplus smart pointers in MRPT 1.5.4 now have C++11 shared_ptr-compatible methods, to ease the transition towards MRPT 2.0 in user code (in particular, for MRPT ROS packages). Also, a new template mrpt::prt_cast<TARGET_PTR>::from(ptr) is provided to write user code compatible with both MRPT >=1.5.4 & >=2.0.0.
- All mrpt::utils::CObject derived classes:
- Build system:
- Fix MRPTConfig.cmake for system octomap libraries.
- Fix package-contains-vcs-control-file (.gitingore) Lintian error.
- Fix compiling without liboctomap-dev in Ubuntu PPA.
- BUG FIXES:
- Fix waypoint reactive navigator edge case in which "end event" won't be issued.
- Fix waypoint reactive navigator error while doing final aligning (missing and dupplicated nav-end events).
- Fix aborting reading from LMS111 scanner on first error.
- Fix corrupted pointers in CNetworkOfPoses after copy or move operations.
- Fix invalid TP-targets generated during reactive navigation.
- Fix memory leak in reactivenav engine.
- Fix potential out-of-range access in CObservation3DRangeScan::convertTo2DScan()
- Fix potential SIGBUS in armhf (patch by Steve Langasek) inside mrpt::utils::CTicTac
Release of MRPT 1.5.3
Version 1.5.3: Released 14/AUG/2017
- Detailed list of changes:
- CMake >=3.1 is now required for use of ExternalProjects.
- Scripts
scripts/prepare_{debian,release}.sh
have been refactored and simplified. - Removed embedded source code versions of Eigen, assimp and octomap. Downloaded and built as ExternalProjects if not present in the system.
- Releases will be signed with PGP from now on and posted as binary attachments to GitHub releases.
Release of MRPT 1.5.2
Changelog:
- Changes in libraries:
- mrpt_base
- Added methods:
- mrpt::synch::CCriticalSection::try_enter()
- mrpt::synch::CCriticalSectionRecursive::try_enter()
- Added methods:
- mrpt_nav
- mrpt::nav::CAbstractNavigator: callbacks in mrpt::nav::CRobot2NavInterface are now invoked after
navigationStep()
to avoid problems if user code invokes the navigator API to change its state. - Added methods to load/save mrpt::nav::TWaypointSequence to configuration files.
- mrpt::nav::CAbstractNavigator: callbacks in mrpt::nav::CRobot2NavInterface are now invoked after
- mrpt_slam
- rbpf-slam: Add support for simplemap continuation.
- mrpt_base
- BUG FIXES:
- Fix reactive navigator inconsistent state if navigation API is called from within rnav callbacks.
- Fix incorrect evaluation of "ASSERT" formulas in mrpt::nav::CMultiObjectiveMotionOptimizerBase