• 【MRPT】【icp-slam-live】Vs2013+ cmake3.6.1 + mrpt1.4.0+opencv2.9.4+wxWidget3.0.2环境配置


    Win10下Vs2013 + cmake3.6.1 + mrpt1.4.0+opencv2.9.4+wxWidget3.1.0环境配置

    所接触过的最令我崩溃的环境配置。之前没有考虑到vs2013 2015的问题,造成了很多麻烦。在此提示:

    vs2013 vc12vs2015vc14根部不是一回事!

    虽然vs2012vs2013都是vc12,但是 Vs2012tool命令行和vs2013的也不是一回事wxWidgets)其实很多问题都可以避免,一定要细心细心!

    主要参考mrpt官网 http://www.mrpt.org/Building_and_Installing_Instructions

    由于vs2015和之前版本的不一样,有很多需要注意之处,特别对opencv进行了补充。

    如果报错说找不到什么文件,首先检查环境变量。

     

    1. 连接激光,若没有成功安装驱动,安装驱动(可以用360驱动大师安装)

    2. 下载安装vs2013,添加环境变量

    1. 下载并安装cmake3.6.1(较低版本3.0.x不支持vs2015

    4. 修改wxWidget文件以支持vs2015http://www.cnblogs.com/sqxy110/p/4897494.html

    开始菜单——vs2013兼容工具命令提示符——cd WXWIDGETS/build/msw

    命令行build wxWidget(很久)http://www.mrpt.org/Building_and_Installing_Instructions

    Build for 32bit:

    Open the MSVC 32bit command-line prompt (from the start menu -> MSVC -> Visual Studio Tools), do a “cd” to the WXWIDGETS/build/msw directory and run:

    nmake -f makefile.vc BUILD=release SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=0 VENDOR=mrpt USE_OPENGL=1
    nmake -f makefile.vc BUILD=debug SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=1 VENDOR=mrpt USE_OPENGL=1

    Build for 64bit:
    Open the MSVC 64bit command-line prompt (from the start menu -> MSVC -> Visual Studio Tools), do a “cd” to the WXWIDGETS/build/msw directory and run:

    nmake -f makefile.vc BUILD=release SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=0 VENDOR=mrpt USE_OPENGL=1 TARGET_CPU=amd64
    nmake -f makefile.vc BUILD=debug SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=1 VENDOR=mrpt USE_OPENGL=1 TARGET_CPU=amd64

     

    5. 下载opencv2.4.9 http://opencv.org/

    !!!!注意:下载linux版的opencvxxx-zip 不要下载用于windowsexe文件!(因为vs2015编译器和之前版本的不一样,所以要自己编译)

     

    解压后,Cmake Opencv

    Cmake opencv 时候,如果报错std::tuple...可以在cmake时候,对testspertests的钩去掉。引用自:code.opencv.org/issues/4376 四楼Nate Guerin

    vs中打开opencv build下的sln,重新生成(很久), 可看到Opencv/build/lib/Debug下有很多.lib

    添加系统环境变量 ../opencv/build

     

    1. 下载mrpt ,

    Cmake mrpt

    看看wxWidgets的目录和opencv的目录有没有找到,没有的话,自己加上。

    vs中打开mrpt/build/apps/icp-slam-live 重新生成(很久)。

    在这一步,可以先build mrpt-base等等模块,然后再编译别的。直接选allbuild时候,可能很久才发现问题。

    7. 设置icp-slam-live为启动项。

    找到icp-slam-live激光配置文件“icp-slam-live_demo_PRL_gridmap.ini”,复制到工程下。

    修改ini文件,根据自己连接激光的端口号,更改端口号。修改之前是com10

    Icp-slam-live右键——属性——调试——命令参数,设置为以上ini文件名称

    启动icp-slam-live

    工程目录build/Debug下有个rawlog文件,是输出的数据。

    Mrpt/build/apps/icp-slam用来看此rawlog

    或者apps/rawlogviewer。编译运行后,里面有个rawlogviewer.exe,可以看rawlog,可以把地图保存到txt

    使用rplida  sdk

    Sdk/output/win32/debug里面有现成的exe。具体参看sdk/doc

    配置文件更改:

    1. 配置文件需要把端口改成连接的端口。

    2. 需要ini90

    # ========================================================

    #            MULTIMETRIC MAP CONFIGURATION

    # See docs for (Google for) mrpt::maps::CMultiMetricMap

    # ========================================================

    # Creation of maps:

    occupancyGrid_count=1

    pointsMap_count=0

    改为

    occupancyGrid_count=0

    pointsMap_count=1

    查看机器人位置

    /apps/icpslam/LOG_ICP_SLAM下面有个txt就是机器人的轨迹,是以机器人的初始位置为原点。

    查看生成的png地图图片

    rawlog的文件夹下,如果正常退出程序:即关闭3D显示界面,就会生成png图片,否则(如果直接关闭控制台)程序运行不到生成图片的一行。

    错误记录:

    编译wx时候,手贱脑残点了vs2012,结果报错unresolved external symbol....检查是在wx里面出的错。

    vs2013编译过后,就好了

  • 相关阅读:
    如何将应用安装到/system/app下
    WPF Perf: RenderCapability.Tier & DesiredFrameRate
    DataGridComboBoxColumn为什么就不能在Binding的时候引用其他Named Element了呢?
    A366T使用技巧
    在XAML里面引用枚举值的注意点
    高斯消元bzoj1013球形空间产生器
    欧拉函数bzoj2818简单推导
    链剖进阶ing填坑NOIP2013货车运输
    .net 2.0 BackgroundWorker 文章三篇
    19号晚21号上午
  • 原文地址:https://www.cnblogs.com/xy123001/p/5809392.html
Copyright © 2020-2023  润新知