ethz的多传感器融合算法msf编译与安装

2023-05-16

ethz的多传感器融合算法msf编译与安装

      • 1、建立工作空间
      • 2、下载安装所有依赖
        • 2.1 下载依赖库
        • 2.2 安装Google的glog
        • 2.3 安装GeographicLib
        • 2.4 编译
      • 3、报错

阅读论文 A Robust and Modular Multi-Sensor Fusion Approach Applied to MAV Navigation后想复现该篇论文,因此在Ubuntu16.04/ROS Kinect系统下编译苏黎世大学ethz的多传感器融合算法msf,该项目地址为https://github.com/ethz-asl/ethzasl_msf。按照[这篇博客]编译,发现很多报错,因此把具体过程记录,详细的介绍msf的编译过程。
python使用ros自带2.7版本,opencv同样也是ros自带版本。**注意:**不要安装anaconda,因为anaconda下的opencv和Python环境与ros本地的版本会产生大量冲突,有很多bug。另外不要在这个工作空间下安装Pangolin库。

正式开始编译:

1、建立工作空间

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make
source devel/setup.bash

执行echo $ROS_PACKAGE_PATH可以查看当前环境变量是否正确。正常应该输出

/home/你的用户名/你的工作空间名/src:/opt/ros/kinetic/share

2、下载安装所有依赖

cd src/

2.1 下载依赖库

git clone https://github.com/ethz-asl/glog_catkin.git
git clone https://github.com/catkin/catkin_simple.git
git clone https://github.com/ethz-asl/asctec_mav_framework.git
git clone  https://github.com/ethz-asl/mav_comm.git

2.2 安装Google的glog

glog是一个c++库。

git clone https://github.com/google/glog.git
cd glog
./autogen.sh && ./configure && make
sudo make install

如果报错./autogen.sh: 5: ./autogen.sh: autoreconf: not found,执行

sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool

2.3 安装GeographicLib

第一种方案
下载在geographiclib的zip文件,这里选择1.50版本,下载完成后解压到工作空间的src目录

cd src/GeographicLib-1.50.1/
mkdir build
cd build
../configure 
make -j4
sudo make install

若第一种不可行,则使用第二种方案

sudo pip install geographiclib

2.4 编译

回到工作空间(catkin_ws)

source devel/setup.bash
catkin_make

完成编译
在这里插入图片描述

3、报错

一、
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by
“sensor_fusion_comm” with any of the following names:

sensor_fusion_commConfig.cmake
sensor_fusion_comm-config.cmake

解决方案:

cd src/
git clone https://github.com/ethz-asl/ethzasl_sensor_fusion.git

二、
CMake Error at /home/hgh/catkin_ws/devel/share/glog_catkin/cmake/glog_catkinConfig.cmake:173 (message):
Project ‘msf_core’ tried to find library ‘glog’. The library is neither a
target nor built/installed properly. Did you compile project
‘glog_catkin’? Did you find_package() it before the subdirectory containing
its code is included?
Call Stack (most recent call first):
/opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
ethzasl_msf-master/msf_core/CMakeLists.txt:17 (find_package)
未安装glog导致,执行步骤2的glog安装
三、
catkin_ws/src/asctec_mav_framework/asctec_hl_interface/src/hl_interface.h:51:45: fatal error: mav_msgs/RollPitchYawrateThrust.h: No such file or directory
compilation terminated.
asctec_mav_framework/asctec_hl_interface/CMakeFiles/hl_node.dir/build.make:86: recipe for target ‘asctec_mav_framework/asctec_hl_interface/CMakeFiles/hl_node.dir/src/hl_interface.cpp.o’ failed
make[2]: *** [asctec_mav_framework/asctec_hl_interface/CMakeFiles/hl_node.dir/src/hl_interface.cpp.o] Error 1
CMakeFiles/Makefile2:4304: recipe for target ‘asctec_mav_framework/asctec_hl_interface/CMakeFiles/hl_node.dir/all’ failed
make[1]: *** [asctec_mav_framework/asctec_hl_interface/CMakeFiles/hl_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
缺少 mav_comm库,执行步骤2的git clone https://github.com/ethz-asl/mav_comm.git
四、
/home/hgh/catkin_ws/src/MSF_developed-master/src/read_dataset/main.cpp:19:38: fatal error: GeographicLib/Geodesic.hpp: No such file or directory
compilation terminated.
MSF_developed-master/CMakeFiles/read_node.dir/build.make:62: recipe for target ‘MSF_developed-master/CMakeFiles/read_node.dir/src/read_dataset/main.cpp.o’ failed
make[2]: *** [MSF_developed-master/CMakeFiles/read_node.dir/src/read_dataset/main.cpp.o] Error 1
CMakeFiles/Makefile2:9608: recipe for target ‘MSF_developed-master/CMakeFiles/read_node.dir/all’ failed
make[1]: *** [MSF_developed-master/CMakeFiles/read_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
未安装GeographicLib,执行步骤2的GeographicLib安装

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ethz的多传感器融合算法msf编译与安装 的相关文章

随机推荐

  • react 的性能优化

    一 性能永远是第一需求 xff0c 时刻考虑性能问题 如何避免应用出现性能问题 xff0c 如下所示 xff1a 了解常见的性能问题场景时刻注意代码的潜在性能问题注重可重构的代码了解如何使用工具定位性能问题 二 网络性能优化 xff0c 自
  • STM32应用之485通信

    我们先看看普通的收发电路 普通的485电路 xff0c 除了 用RXD连接485芯片的RO引脚 用TXD连接485芯片的DI引脚 xff0c 还会用一个单片机的普通IO引脚连接到RE DE引脚上 当单片机要发送数据的时候 xff0c 控制P
  • AD铺铜技巧总结

    原文链接 xff1a https blog csdn net snaking616 article details 78643046 目录 1 铜皮操作分类 2 铺铜技巧 2 1 过孔处理 2 1 1 过孔与绿油 2 1 2 过孔的十字连接
  • 十大滤波算法

    一 限幅滤波 1 xff09 方法 根据经验判断两次采样允许的最大偏差值A 每次采新值时判断 xff1a 若本次值与上次值之差 lt 61 A xff0c 则本次有效 xff1b 若本次值与上次值之差 gt A xff0c 本次无效 xff
  • 初识GD32

    什么是GD32 xff1f GD32是由北京兆易创新开发的国产32位MCU xff0c 基于Arm Cortex M3 M23 M4内核的32位通用微控制器 目前已经推出GD32F1xx xff0c GD32F2xx xff0c GD32F
  • GD32 新建工程模板

    本文以GD32F450MCU为核心 xff0c 新建工程模板 准备资料 xff1a GD32F4xx Firmware Library V2 1 0 GD32F4Pack包 http www gd32mcu com cn download
  • VirtualBox安装Win10系统

    VirtualBox是一款免费的开源虚拟机 xff0c 它简单易用 xff0c 支持Windows Linux和Mac系统等 最重要的是安装简单 xff0c 操作方便 装机准备 Windows10镜像文件 VirtualBox软件 Virt
  • SMT32H7系列DMA和DMAMUX的一点理解

    DMA和DMAMUX DMA xff1a 无CPU参与下直接进行数据搬运的控制器 DMAMUX xff1a 建立DMA请求和DMA通道之间的映射关系 xff0c 类似于路由的功能 无DMAMUX的MCU xff0c DMA请求和DMA通道的
  • 基于STM32的UVC设备枚举解析

  • ERP实施顾问与项目经理的区别

    来到青岛出差 xff0c 再次见识了青岛的美丽 xff0c 特别是在这个秋天时节 xff0c 天气宜人 xff0c 看来是一个放假休养的好时节 可惜过来是工作的 xff0c 不然倒是可以在这里呆上一段时间 xff0c 在海边看看书 xff0
  • RTOS随笔之FreeRTOS

    RTOS几点思考 为什么使用RTOS 1 先考虑OS有什么特点 xff1f 2 再考虑什么情况下使用OS FreeRTOS调试技巧任务管理1 任务调度流程2 任务栈大小 xff0c 栈溢出检测3 中断管理4 内存管理 FreeRTOS AP
  • RTOS随笔之FreeRTOS启动与同步方法

    RTOS启动与同步机制 RTOS启动任务切换场景任务同步机制队列信号量事件组任务通知 任务延时 RTOS启动 FreeRTOS在任务创建完成后调用函数vTaskStartScheduler 启动任务调度器 vTaskStartSchedul
  • LTspice仿真命令

    交流扫描 命令 ac lt oct dec lin gt 参数1 xff1a 扫描方式 xff08 oct 八倍频 dec 十倍频 lin 线性扫描 xff09 参数2 xff1a 扫描数 参数3 xff1a 起始频率 参数4 xff1a
  • LTspice创建模型

    由于刚开始接触电路 xff0c 对于电路调试并不是很清楚 xff0c 只是通过查找资料 xff0c 帮助文档学习 xff0c 其中深奥的东西目前并不是很理解 xff0c 只是相互学习 LTspice创建模型的方法 xff1a 通过导入PSP
  • 2020/1/27 在setInterval中使用setTimeout时遇到的问题

    这几天在做一个简单的随机抽取姓名的一个抽人的小页面 顺顺利利的 今天回来再打开看自己作死一样的一直找看看有没有什么bug 没想到真的找到一个 花了一个多小时才解决 其实最后才觉得是个比较细节的问题 是关于setInterval和setTim
  • MYSQL1251报错用cmd也报错,Navicat for Mysql报错1251连接不成功Mysql

    第一步 xff1a 打开Command Line Client 看清楚不是cmd xff0c 是在mysql的目录下 xff0c 你会发现有2个一模一样其实哪个都行 第二步 xff1a 输入mysql密码回车 就是安装mysql时设置的密码
  • 东信北邮笔试-211009

    在前程无忧上投的 xff0c 我自己都不清楚是社招还是校招 xff0c 此时尬住 jpg 主要还是写题吧 xff01 题目分为客观题和编程题 xff0c 只能记住一部分了 客观题 某村每户人家都养一只牛 xff0c 某日防疫站工作人员来该村
  • 自学ROS(四)----修改功能包源码,turtlesim为例

    目的 在ROS中学习智能车的路径规划时用到很多种导航算法 xff0c 随着论文进行 xff0c 需要对ROS中的路径规划算法源码进行修改从而实现算法优化 本文将详细介绍算法包的获取 xff0c 覆盖 xff0c 修改 xff0c 运行 以最
  • sudo apt-get install/update报错

    ubuntu安装软件或执行软件更新 xff0c sudo apt get install update报错 xff0c 报错如下 xff1a E Failed to fetch http mirrors tuna tsinghua edu
  • ethz的多传感器融合算法msf编译与安装

    ethz的多传感器融合算法msf编译与安装 1 建立工作空间2 下载安装所有依赖2 1 下载依赖库2 2 安装Google的glog2 3 安装GeographicLib2 4 编译 3 报错 阅读论文 A Robust and Modul