• Ubuntu 20.04编译GPMP2过程记录


    前言

    GPMP2是董靖博士等人在16-17年提出的结合GTSAM因子图框架与Gaussian Processes完成motion planning的一项工作。前身源于Barfoot教授的课题组提出的STEAM(Simultaneous Trajectory Estimation and Mapping)问题及其相关工作。在提出董靖博士提出GPMP2后,borglab则不断在这个基础上延伸,包括: GPSLAM(再次回归SLAM领域), VIMP(同样是Motion Planning问题,但在GPMP2上引入变分推断Varational Inference), 以及与Learning from Demonstration相结合一些工作。

    本文大致与GPMP2官方仓库中的ReadMe一致,但是为了更好地学习GPMP2, 本文集中于为使用GPMP2提供的Python接口方面的编译问题进行总结。


    编译过程

    1. 下载GTSAM, Ubuntu20.04直接使用最新版本(4.3a0)

      git clone https://github.com/borglab/gtsam
      
      • 1

      这里我直接将gtsam安装与home目录下

    2. 安装GTSAM, 为了把GPMP2应用起来,需要先编译GTSAM的Python Wrapper。这样可以免去额外再安装wrap的步骤,参考链接为: Link
      安装相关依赖:

      cd ~/gtsam
      pip3 install -r ~/gtsam/python/requirements.txt
      
      • 1
      • 2

      安装Python-wrapper:

      cmake .. -DGTSAM_BUILD_PYTHON=1 -DGTSAM_PYTHON_VERSION=3.8.10 -DGTSAM_WITH_TBB=OFF
      
      • 1

      这里我没有TBB,所以加上了这一选项.
      编译与安装:

      make
      make python-install
      
      • 1
      • 2

      执行完上面的步骤,可以进入python3中通过import gtsam查看是否安装成功。

    3. 下载GPMP2并进行安装:
      下载GPMP2:

      git clone https://github.com/borglab/gpmp2
      
      • 1

      第二步中只是为Python3安装GTSAM模块,为了安装GPMP2需要返回GTSAM目录内进行安装,下面是GPMP2中ReadMe部分内容:

      cd gtsam
      mkdir build && cd build
      cmake -DGTSAM_ALLOW_DEPRECATED_SINCE_V42:=OFF .. #disable deprecated functionality for compatibility
      make -j4 check # optional, run unit tests  
      sudo make install
      
      • 1
      • 2
      • 3
      • 4
      • 5

      添加库搜索路径到bashrc中:

      echo 'export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}' >> ~/.bashrc
      echo 'export LD_LIBRARY_PATH=/usr/local/share:${LD_LIBRARY_PATH}' >> ~/.bashrc
      source ~/.bashrc
      
      • 1
      • 2
      • 3

      启动CMake中的Python相关选项,安装GPMP2:

      cd gpmp2 && mkdir build && cd build
      cmake -DGPMP2_BUILD_PYTHON_TOOLBOX:=ON ..
      make -j8 # build
      make python-install # install the python package
      
      • 1
      • 2
      • 3
      • 4

    测试GPMP2运行效果:

    1. 进入gpmp2/python/examples文件夹内运行:python3 Arm2FactorGraphExample.py

    2. 效果如下:
      目标位置
      planning过程

    卸载GTSAM的命令为:

    cd gtsam/build
    xargs rm -rf < install_manifest.txt
    
    • 1
    • 2
  • 相关阅读:
    【微信小程序】获取/设置屏幕亮度
    [MT8766][Android12] 取消WIFI热点超过10分钟没有连接自动关闭设定
    leetcode59. 螺旋矩阵 II
    【STM32】【HAL库】【实用制作】遥控关灯
    resulttype和resultmap的区别和应用场景
    SpringMVC之JSON数据返回及异常处理机制
    回应张逸老师(一)圈子文化
    Android之SpannableString使用
    Mysql 45讲学习笔记(三十八)Memory引擎
    QT 按钮的工具提示tooltips设置字体大小颜色与背景
  • 原文地址:https://blog.csdn.net/nkc555/article/details/133318951