https://github.com/ethz-asl/rovio下载代码,该存储库包含ROVIO(Robust Visual Inertial Odometry)框架。

https://github.com/ethz-asl/kindr

视频: https//youtu.be/ZMAISVy-6ao

论文: http : //dx.doi.org/10.3929/ethz-a-010566547

两种安装方法:

[1]Install without opengl scene

Dependencies:

  1. #!command
  2.  
  3. catkin build rovio --cmake-args -DCMAKE_BUILD_TYPE=Release

[2]Install with opengl scene

Additional dependencies: opengl, glut, glew

(sudo apt-get install freeglut3-dev, sudo apt-get install libglew-dev)

安装opengl过程:http://www.cnblogs.com/Jessica-jie/p/6607590.html

在安装opengl过程中已经执行了此命令(sudo apt-get install freeglut3-dev),

只需安装此依赖:sudo apt-get install libglew-dev

  1. #!command
  2.  
  3. catkin build rovio --cmake-args -DCMAKE_BUILD_TYPE=Release -DMAKE_SCENE=ON

 具体步骤:

1.创建catkin workspace

  1. mkdir -p ~/workspace_rovio/src
  2. cd ~/workspace_rovio
  3. catkin_make

2.安装kindr(路径/opt/kindr)

[1]安装依赖项

  1. sudo add-apt-repository ppa:ethz-asl/common #通过发布将项目PPA添加到您的APT来源
  2. sudo apt-get update #重新同步您的包索引文件,更新
  3. sudo apt-get install ros-indigo-kindr-* #安装所有项目包及其依赖关系

[2]Building with cmake编译(sudo -s)

  1. mkdir build
  2. cd build
  3. cmake ..
  4. sudo make install

[3]Build the documentation with Doxygen:建立文档利用Doxygen

进入到/opt/kindr/build中,

  1. make doc

The doxygen documentation can be found here:

  1. /opt/kindr/doc/html/index.html (待检验,和安装步骤结果有出入)

3.安装rovio

进入新建的workspace_rovio/src下

  1. git clone https://github.com/ethz-asl/rovio.git

进入rovio目录下,下载子模块(关于git submodule详细知识http://www.cnblogs.com/Jessica-jie/p/6700134.html)

  1. git submodule update --init --recursive

退出到workspace_rovio下,运行

  1. catkin_make rovio --cmake-args -DCMAKE_BUILD_TYPE=Release -DMAKE_SCENE=ON
  2. catkin_make

出现错误,修改:http://www.cnblogs.com/Jessica-jie/p/6959309.html

4.运行欧元数据集 Euroc Datasets

rovio_node.launch文件加载参数,使得ROVIO在Euroc Datasets上正常运行。 数据集可从以下网址获得: http : //projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

修改rovio/launch/rovio_rosbag_node.launch中的filename参数,将其改为实际rosbag的目录

  1. <param name="rosbag_filename" value="/home/rovio_workspace/catkin/src/rovio/MH_01_easy.bag"/>

打开命令窗口:

  1. roscore

打开新窗口,进入workspace_rovio工作空间:

  1. $ source devel/setup.bash
  2. $ roslaunch rovio rovio_node.launch
    等同于 rosrun rovio rovio_node

打开新窗口:

  1. $ rosbag play /home/wj/Downloads/dataset/EuRoC/ROS_bag/MH_01_easy.bag

结果:

5.将其运动路径在rviz中显示

打开一个终端,运行rviz,它的默认保存路径 /home/wj/.rviz/default.rviz

  1. 在一个控制台中运行 $ roscore
  2. 在另一个控制台中运行 $ rosrun rviz rviz

你可以通过添加---“add”,来添加你想要的显示,http://blog.csdn.net/bluewhalerobot/article/details/73658344

并且设置topic,当前节点的话题可用以下命令查看。

你可以将default.rviz剪切出来放到你的工作空间中,并给它重命名rovio_rviz_config.rviz

如果一个程序的运动过程未在rviz中显示出来,可以通过[1]书写.launch文件设置节点在在rviz中显示

  1. <node name="rvizvisualisation" pkg="rviz" type="rviz"  args="-d $(find rovio)/launch/rovio_rviz_config.rviz" />

[2]等同于---rosrun rviz rviz -d /home/wj/Downloads/rovio_workspace/src/rovio/launch/rovio_rviz_config.rviz

总体来说,不如上一种省事,直接运行.launch即可启动rviz。

由于其发布的消息并没有路径path,只有/rovio/odometry位姿,所以这一部分需要自己书写---path_publisher

结果图:

补充:安装kindr https://github.com/ethz-asl/kindr

[1]Installing from packages (recommended for Ubuntu LTS users)

  1. sudo add-apt-repository ppa:ethz-asl/common #通过发布将项目PPA添加到您的APT来源
  2. sudo apt-get update #重新同步您的包索引文件,更新
  3. sudo apt-get install ros-indigo-kindr-* #安装所有项目包及其依赖关系

[2]Building with cmake

Install the library with CMake:(使用CMake编译)

  1. mkdir build
  2. cd build
  3. cmake ..
  4. sudo make install

Uninstall the library with:(对库进行卸载)

  1. cd build
  2. sudo sudo make uninstall

Kindr can be included in your cmake project. Add the following to your CmakeLists.txt:

  1. find_package(kindr)
  2. include_directories(${kindr_INCLUDE_DIRS})

[2]Building with catkin(使用catkin进行编译)

  1. cd ~/catkin_ws/src
  2. git clone git@github.com:ethz-asl/kindr.git
  3. catkin_make_isolated -C ~/catkin_ws

或用catkin命令行工具

  1. cd ~/catkin_ws/src
  2. git clone git@github.com:ethz-asl/kindr.git
  3. catkin build -w ~/catkin_ws kindr

Kindr can be included in your catkin project with: Add the following to your CMakeLists.txt:

  1. find_package(catkin COMPONENTS kindr)
  2. include_directories(${catkin_INCLUDE_DIRS})

And to your package.xml:

  1. <package>
  2. <build_depend>kindr</build_depend>
  3. </package>

[3]Building the documentation构建文档

Build the documentation with Doxygen:

  1. cd kindr/doc/doxygen
    mkdir build
  2. cd build
  3. cmake ..
  4. make doc

The doxygen documentation can be found here:

  1. doc/doxygen/doc/html/index.html

[4]Building unit tests with gtest构建单元测试

GTests are only built if the folder gtest exists in the root folder.

仅当文件夹“ gtest”存在于根文件夹中时,才会构建GTests

Download and use GTest:

  1. wget http://googletest.googlecode.com/files/gtest-1.7.0.zip
  2. unzip gtest-1.7..zip
  3. ln -s gtest-1.7. gtest
  4. mkdir build
  5. cd build
  6. cmake .. -DBUILD_TEST=true
  7. make
  1.  

安装运行Rovio的更多相关文章

  1. 安装运行 rovio odometry

    https://github.com/ethz-asl/rovio https://github.com/ethz-asl/kindr 1. 新建catkinworkspace mkdir -p ~/ ...

  2. Windows OS上安装运行Apache Kafka教程

    Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...

  3. 您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展”处理方法

    转自:http://www.xuebuyuan.com/1549022.html 这已经是一个老掉牙的问题了,部分人使用自己的服务器安装WordPress程序之后,会出现“您的 PHP 似乎没有安装运 ...

  4. Android中插件开发篇之----动态加载Activity(免安装运行程序)

    一.前言 又到周末了,时间过的很快,今天我们来看一下Android中插件开发篇的最后一篇文章的内容:动态加载Activity(免安装运行程序),在上一篇文章中说道了,如何动态加载资源(应用换肤原理解析 ...

  5. 用JSON-server模拟REST API(一) 安装运行

    用JSON-server模拟REST API(一) 安装运行 在开发过程中,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要 ...

  6. Mac 下安装运行Rocket.chat

    最近花了一周的时间,复习了HTML.CSS.原生JS,并学习了Node.js.CoffeeScript.js.MongoDB,入了下门. 因为准备在Rocket.chat 上做二次开发,所以先下载和安 ...

  7. 在Linux上rpm安装运行Redis 3.0.4

    http://www.rpmfind.net搜索redis,找到redis3.0.4的rpm源选做 wget ftp://fr2.rpmfind.net/linux/remi/enterprise/6 ...

  8. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

  9. Activity工作流(2)-入门安装运行第一个例子

    转: Activity工作流(2)-入门安装运行第一个例子 置顶 2017年05月24日 15:58:50 li_ch_ch 阅读数:24432   版权声明:本文为博主原创文章,未经博主允许不得转载 ...

随机推荐

  1. javascript继承之组合继承(三)

    function Father(name) { this.name = name; } Father.prototype.say = function () { return this.name; } ...

  2. 在docker中运行kong和kong dashboard

    一.制作alpine版的kong镜像 https://github.com/Kong/docker-kong/tree/d4cec3dc46c780a916a40963309554ca81da2b46 ...

  3. Hadoop2.0的基本构成总览

    Hadoop1.x和Hadoop2.0构成图对比 Hadoop1.x构成: HDFS.MapReduce(资源管理和任务调度):运行时环境为JobTracker和TaskTracker: Hadoop ...

  4. python Web开发你要理解的WSGI & uwsgi详解

    原文:https://www.jb51.net/article/144852.htm WSGI协议 首先弄清下面几个概念: WSGI:全称是Web Server Gateway Interface,W ...

  5. Python - Django - 使用 Pycharm 连接 MySQL 数据库

    在 Pycharm 的右上方找到 Database 点击 依次点击,选择 MySQL 数据库 点击 Download 下载驱动文件 下载完成后对数据库的相关信息进行填写 填写完成后点击“Test Co ...

  6. Python分页转Mybatis pagehelper格式分页

    最近工作里遇到一个需求要把之前用Java写的一个http接口替换成用Python写的,出参是带了mybatis pageHelper中PageInfo信息的一个JSON串,而Python这边分页不会涉 ...

  7. springMVC之Interceptor拦截器

    转自:https://blog.csdn.net/qq_25673113/article/details/79153547 Interceptor拦截器用于拦截Controller层接口,表现形式有点 ...

  8. tab form

    procedure TForm2.ToolButton1Click(Sender: TObject); var frm: TForm; begin frm := TForm.Create(Applic ...

  9. Spring MVC 视图及视图解析器

    org.springframework.web.servlet.view.InternalResoureceViewResolve 把逻辑视图改为物理视图 可混用多种视图 不进过Handler直接进入 ...

  10. 第二次安装docker时,报Transaction check error的解决方法

    如果在yum安装软件的时候,出现了Transaction check error:这种情况,说明rpm软件包出现了冲突,解决方法是: vi /etc/yum.repos.d/epel.repo 将en ...