-
- Downloads
[wip/mrpt] Upgrade to 1.2.2
From the Changelog ***** Version 1.2.2: Released 12-SEP-2014 ***** * Changes in apps: o SceneViewer3D: # New menu "File" -> "Import" -> "3D model" which supports many standard formats (via mrpt::opengl::CAssimpModel) * New classes: o [mrpt-hwdrivers] # mrpt::hwdrivers::CRoboPeakLidar to interface Robo Peak LIDAR scanners. o [mrpt-opengl] # mrpt::opengl::CAssimpModel for rendering complex 3D models (many supported formats) in OpenGL scenes. * Changes in classes: o Consistency in all "laser scan" classes: angular increments between rays are now FOV/(N-1) instead of FOV/N. o [mrpt-base] # New method mrpt::utils::CImage::loadTGA() # IMPORTANT: Changed behavior of CSerializable/CObject macros (see bugfix below), introducing the new macros DEFINE_SERIALIZABLE_POST_*. May require changes in user code if serializable classes are defined: # Previous version: DEFINE_SERIALIZABLE_PRE_*(...) class XXX { DEFINE_SERIALIZABLE(XXX) }; # Must be changed in this version to: DEFINE_SERIALIZABLE_PRE_*(...) class XXX { DEFINE_SERIALIZABLE(XXX) }; DEFINE_SERIALIZABLE_POST_*(...) o [mrpt-hwdrivers] # Bumblebee2 Linux support in mrpt::hwdrivers:: CImageGrabber_FlyCapture2 via Triclops (by Jesus Briales) o [mrpt-maps] # New method mrpt::slam::COccupancyGridMap2D::getRawMap() # New method mrpt::slam::CColouredPointsMap:: getPCLPointCloudXYZRGB() o [mrpt-opengl] # mrpt::opengl::CMyGLCanvasBase (affects all 3D rendering classes): better handling of internal timers for smoother updates while rendering in multithreading apps. o [mrpt-srba] # New method to recover the global coordinates graph-slam problem for a RBA map: mrpt::srba::RbaEngine:: get_global_graphslam_problem() (see example [MRPT]- examples\srba-tutorials\tutorial-srba-how-to-recover-global- map.cpp) * BUG FIXES: o mrpt::utils::CImage constructor from a matrix crashed. o Unit tests: Named semaphores are not tested anymore if it's detected that the kernel version doesn't support them (Fix Debian 758725). o mrpt::synch::CSemaphore [Linux]: didn't call sem_unlink(). o mrpt::gui::CDisplayWindow3D didn't implement get/set FOV. o Valgrind: Fixed potential unaligned memory access warning in point clouds. o Fix build error with AppleClang 5.1 (Closes #71). o mrpt::utils::CClientTCPSocket: Use a connection success check that works on all platforms o Important bug fixed regarding a missing dynamic_cast<> in smart pointers casting. See above possible implications in user code. properly (Patch by Joe Burmeister). =============================================================================== ***** Version 1.2.1: Released 10-JUL-2014 ***** * Changes in classes: o [mrpt-base] # All points and poses now have a method setToNaN(), e.g. mrpt::poses::CPose3D::setToNaN() o [mrpt-hwdrivers] # mrpt::hwdrivers::COpenNI2Sensor now has better support for opening several RGBD cameras (by Kenzaburo Miyawaki & Eduardo Fernandez) * Build system: o Fix compilation of SRBA with DEBUG_GARBAGE_FILL_ALL_NUMS=1 o Fix de-serialization error in mrpt::reactivenav::CLogFileRecord (and new unit tests added to avoid regressions). o Several Debian bugs closed (see packaging/debian/changelog), including build errors in uncommon platforms (MIPS, kFreeBSD, etc.) =============================================================================== ***** Version 1.2.0: Released 25-JUN-2014 ***** * Most important changes: o 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. o MRPT now cleanly builds in clang and OSX. o Support for new camera drivers (OpenNI2, DUO3D). o Many bug fixes. * Detailed list of changes: o Changes in apps: # rawlog-edit: # New operations: –export-odometry-txt, –recalc-odometry # New flag: –rectify-centers-coincide o New examples: # kitti_dataset2rawlog o New classes: # [mrpt-base] # mrpt::math::ContainerType<CONTAINER>::element_t to allow handling either Eigen or STL containers seamlessly. # mrpt::utils::CConfigFilePrefixer # [mrpt-hwdrivers] # mrpt::hwdrivers::COpenNI2Sensor: Interface to OpenNI2 cameras, capable of reading from an array of OpenNI2 RGBD cameras (By Eduardo Fernandez) # mrpt::hwdrivers::CDUO3DCamera: Interface to DUO3D cameras (By Francisco Angel Moreno) # mrpt::hwdrivers::CGPS_NTRIP: A combination of GPS receiver + NTRIP receiver capable of submitting GGA frames to enable RTCM 3.0 # [mrpt-obs] # mrpt::slam::CObservation6DFeatures o Changes in classes: # [mrpt-base] # Robust kernel templates moved from mrpt::vision to mrpt::math. See mrpt::math::RobustKernel<>. Added unit tests for robust kernels. # CPose3D has new SE(3) methods: mrpt::poses::CPose3D:: jacob_dexpeD_de(), mrpt::poses::CPose3D:: jacob_dAexpeD_de() # More efficient mrpt::utils::OctetVectorToObject() (avoid memory copy). # Fixed const-correctness of mrpt::utils::CImage:: forceLoad() and mrpt::utils::CImage::unload() # [mrpt-hwdrivers] # mrpt::hwdrivers::CCameraSensor: Added a hook for user code to run before saving external image files: mrpt:: hwdrivers::CCameraSensor::addPreSaveHook() # mrpt::hwdrivers::CNationalInstrumentsDAQ now supports analog and digital outputs. # New method mrpt::hwdrivers::CNTRIPClient:: sendBackToServer() # [mrpt-srba] # Now also implements SE(3) relative graph-slam. # [mrpt-vision] # 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. # mrpt::vision::findMultipleChessboardsCorners(): # Now enforces a consistent counterclockwise XYZ coordinate frame at each detected chessboard. # Much more robust in distingishing quads of different sizes. o Build system / public API: # Fixes to build in OS X - Patch by Randolph Voorhies. # Removed most "using namespace" from public headers, as good practice. # Refactoring of MRPT headers. # <mrpt/utils/stl_extensions.h> has been split into: # <mrpt/utils/stl_serialization.h> # <mrpt/utils/circular_buffer.h> # <mrpt/utils/list_searchable.h> # <mrpt/utils/bimap.h> # <mrpt/utils/map_as_vector.h> # <mrpt/utils/traits_map.h> # <mrpt/utils/stl_serialization.h> # <mrpt/utils/printf_vector.h> # <mrpt/utils/stl_containers_utils.h> # <mrpt/utils/ci_less.h> # Deleted methods and functions: # mrpt::system::breakpoint() # 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. # mrpt::CImage::rectifyImage() with parameters as separate vectors. # mrpt::slam::CPointsMap::getPoint() with mrpt::poses:: CPoint3D arguments. # mrpt::vision::correctDistortion() -> use CImage method instead # All previous deprecated functions. # Embedded Eigen updated to version 3.2.1 (commit) (commit) o BUG FIXES: # RawlogViewer app: Fixed abort while converting SF->obs.only datasets when there is no odometry. # mrpt::slam::CSensoryFrame: The cached point map is now invalidated with any change to the list of observations so it's rebuild upon next call. # New implementation of mrpt::synch::CSemaphore avoids crashes in OS X - by Randolph Voorhies. # mrpt::opengl::CArrow was always drawn of normalized length. # FlyCapture2 monocular & stereo cameras could return an incorrect timestamp (only in Linux?). # mrpt::system::createDirectory() returned false (error) when the directory already existed. # mrpt::vision::CStereoRectifyMap::rectify() didn't update the left & right camera poses inside mrpt::slam:: CObservationStereoImages objects while rectifying. # RawLogViewer: Operation "convert to SF format" didn't take into account odometry observations. # Fix build errors with GCC 4.9 # Fix crash of mrpt::hwdrivers::CIMUXSens_MT4's destructor when it fails to scan and open a device. # Fix potential crash in mrpt::slam:: data_association_full_covariance with JCBB when no individually compatible matching exists (commit)
Please register or sign in to comment