以下是个人整理,如有不错误,请见谅。
一、MRPT的介绍
MobileRobot Programming Toolkit provides developers withportable and well-tested applications and libraries covering data structuresand algorithms employed in common robotics research areas.
1.网址
https://www.mrpt.org/
2.数据
https://sourceforge.net/projects/mrpt/files/Datasets%20%28Rawlogs%29/Datasets/
3.教程
https://www.mrpt.org/Tutorials/
4.相关论文
https://www.mrpt.org/category/publications/
二、MRPT的安装
1.下载网址:https://www.mrpt.org/download-mrpt/
请下载已经编译好的版本。
三、MRPT的编译
1.安装准备
1)请安装Visual Studio 2015
2)CMake
Make是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件
http://www.cmake.org/cmake/resources/software.html
3) wxWidgets
wxWidgets是一个开源的跨平台的C++构架库(framework),它可以提供GUI(图形用户界面)和其它工具。目前的2.x版本支持所有版本的Windows、带GTK+或Motif的Unix和MacOS。
http://www.wxwidgets.org/downloads/
打开MSVC 32位终端(开始菜单 -》 Visual Studio 2013 -》 Visual Studio Tools -》 VS2013x86 本机工具命令提示)
打开到X:\wxWidgets\build\msw
执行以下命令:
nmake -fmakefile.vc BUILD=release SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=0 VENDOR=mrpt USE_OPENGL=1
nmake -fmakefile.vc BUILD=debug SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=1 VENDOR=mrpt USE_OPENGL=1
如是64位,则打开MSVC 64位终端,执行以下命令:
nmake -fmakefile.vc BUILD=release SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=0 VENDOR=mrpt USE_OPENGL=1 TARGET_CPU=amd64
nmake -fmakefile.vc BUILD=debug SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=1 VENDOR=mrpt USE_OPENGL=1 TARGET_CPU=amd64
4)OpenCV
建议使用OpenCV2.4.0或以上版本
下载地址:http://opencv.org/
5) FFmpeg
下载地址:https://ffmpeg.zeranoe.com/builds/
6) PCL,the Point Cloud Library
Download, build and install PCL as explainedin the official website:
http://pointclouds.org/
7) SuiteSparse
Download,compile and build the “install” target of the SuiteSparse-for-windows project.Then, from MRPT’s CMake configuration, set SuiteSparse_DIR to the “install”directory.
https://github.com/jlblancoc/suitesparse-metis-for-windows
8) WinPCap
https://www.winpcap.org/
9)zlib
http://www.zlib.net/
10)pk-config
https://www.freedesktop.org/wiki/Software/pkg-config/
四、MRPT的组织结构
1.各项目的依赖关系
List of MRPT libs/modules tobe built (and dependencies):
-----------------------------------------------------------------
mrpt-base :
mrpt-bayes : mrpt-base (header-only)
mrpt-detectors :mrpt-vision;mrpt-maps;mrpt-gui;mrpt-slam;mrpt-base;mrpt-opengl;mrpt-obs;mrpt-graphs
mrpt-graphs : mrpt-opengl;mrpt-base
mrpt-graphslam :mrpt-base;mrpt-graphs;mrpt-gui;mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-slam;mrpt-vision
mrpt-gui : mrpt-opengl;mrpt-base
mrpt-hmtslam :mrpt-slam;mrpt-graphslam;mrpt-graphs;mrpt-vision;mrpt-maps;mrpt-base;mrpt-obs;mrpt-opengl;mrpt-gui
mrpt-hwdrivers :mrpt-base;mrpt-maps;mrpt-obs;mrpt-gui;mrpt-opengl;mrpt-maps;mrpt-vision;mrpt-graphs
mrpt-kinematics : mrpt-opengl;mrpt-base
mrpt-maps :mrpt-obs;mrpt-graphs;mrpt-opengl;mrpt-base
mrpt-nav :mrpt-graphs;mrpt-maps;mrpt-kinematics;mrpt-graphs;mrpt-obs;mrpt-opengl;mrpt-base
mrpt-reactivenav :mrpt-nav;mrpt-graphs;mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-base (meta-lib)
mrpt-obs : mrpt-opengl;mrpt-base
mrpt-opengl : mrpt-base
mrpt-slam :mrpt-bayes;mrpt-graphs;mrpt-vision;mrpt-tfest;mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-base
mrpt-tfest : mrpt-base
mrpt-scanmatching : mrpt-tfest;mrpt-base (meta-lib)
mrpt-topography :mrpt-base;mrpt-obs;mrpt-opengl;mrpt-tfest
mrpt-vision :mrpt-obs;mrpt-opengl;mrpt-base;mrpt-opengl
2.文件结构
3.地图类型及算法
https://www.mrpt.org/List_of_SLAM_algorithms
4.类的列表
http://mrpt.ual.es/reference/devel/annotated.html
5.第三方组件
http://mrpt.ual.es/reference/devel/pages.html
五、MRPT的开发实例
1.CPoint2D,CPoint3D的运算
1)源码路径
mrpt-1.5.5\doc\mrpt_example1
2)VS的设置
a)Include的路径
C:\ProgramFiles\mrpt-1.5.5\include
C:\Users\ody\Downloads\mrpt-1.5.6\libs\base\include\mrpt
b)Lib库的include路径
C:\ProgramFiles\mrpt-1.5.5\lib
c)Lib库
libmrpt-base155_msvc140_x64.lib
d) DLL的指定