安装运行Rovio
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:
- ros
- kindr (https://github.com/ethz-asl/kindr)
- lightweight_filtering (as submodule, use "git submodule update --init --recursive")
#!command 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
#!command catkin build rovio --cmake-args -DCMAKE_BUILD_TYPE=Release -DMAKE_SCENE=ON
具体步骤:
1.创建catkin workspace
mkdir -p ~/workspace_rovio/src
cd ~/workspace_rovio
catkin_make
2.安装kindr(路径/opt/kindr)
[1]安装依赖项
sudo add-apt-repository ppa:ethz-asl/common #通过发布将项目PPA添加到您的APT来源
sudo apt-get update #重新同步您的包索引文件,更新
sudo apt-get install ros-indigo-kindr-* #安装所有项目包及其依赖关系
[2]Building with cmake编译(sudo -s)
mkdir build
cd build
cmake ..
sudo make install
[3]Build the documentation with Doxygen:建立文档利用Doxygen
进入到/opt/kindr/build中,
make doc
The doxygen documentation can be found here:
/opt/kindr/doc/html/index.html (待检验,和安装步骤结果有出入)
3.安装rovio
进入新建的workspace_rovio/src下
git clone https://github.com/ethz-asl/rovio.git
进入rovio目录下,下载子模块(关于git submodule详细知识http://www.cnblogs.com/Jessica-jie/p/6700134.html)
git submodule update --init --recursive
退出到workspace_rovio下,运行
catkin_make rovio --cmake-args -DCMAKE_BUILD_TYPE=Release -DMAKE_SCENE=ON
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的目录
<param name="rosbag_filename" value="/home/rovio_workspace/catkin/src/rovio/MH_01_easy.bag"/>
打开命令窗口:
roscore
打开新窗口,进入workspace_rovio工作空间:
$ source devel/setup.bash
$ roslaunch rovio rovio_node.launch
等同于 rosrun rovio rovio_node
打开新窗口:
$ rosbag play /home/wj/Downloads/dataset/EuRoC/ROS_bag/MH_01_easy.bag
结果:
5.将其运动路径在rviz中显示
打开一个终端,运行rviz,它的默认保存路径 /home/wj/.rviz/default.rviz
在一个控制台中运行 $ roscore
在另一个控制台中运行 $ rosrun rviz rviz
你可以通过添加---“add”,来添加你想要的显示,http://blog.csdn.net/bluewhalerobot/article/details/73658344
并且设置topic,当前节点的话题可用以下命令查看。
你可以将default.rviz剪切出来放到你的工作空间中,并给它重命名rovio_rviz_config.rviz
如果一个程序的运动过程未在rviz中显示出来,可以通过[1]书写.launch文件设置节点在在rviz中显示
<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)
sudo add-apt-repository ppa:ethz-asl/common #通过发布将项目PPA添加到您的APT来源
sudo apt-get update #重新同步您的包索引文件,更新
sudo apt-get install ros-indigo-kindr-* #安装所有项目包及其依赖关系
[2]Building with cmake
Install the library with CMake:(使用CMake编译)
mkdir build
cd build
cmake ..
sudo make install
Uninstall the library with:(对库进行卸载)
cd build
sudo sudo make uninstall
Kindr can be included in your cmake project. Add the following to your CmakeLists.txt:
find_package(kindr)
include_directories(${kindr_INCLUDE_DIRS})
[2]Building with catkin(使用catkin进行编译)
cd ~/catkin_ws/src
git clone git@github.com:ethz-asl/kindr.git
catkin_make_isolated -C ~/catkin_ws
或用catkin命令行工具 :
cd ~/catkin_ws/src
git clone git@github.com:ethz-asl/kindr.git
catkin build -w ~/catkin_ws kindr
Kindr can be included in your catkin project with: Add the following to your CMakeLists.txt:
find_package(catkin COMPONENTS kindr)
include_directories(${catkin_INCLUDE_DIRS})
And to your package.xml:
<package>
<build_depend>kindr</build_depend>
</package>
[3]Building the documentation构建文档
Build the documentation with Doxygen:
cd kindr/doc/doxygen
mkdir build
cd build
cmake ..
make doc
The doxygen documentation can be found here:
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:
wget http://googletest.googlecode.com/files/gtest-1.7.0.zip
unzip gtest-1.7..zip
ln -s gtest-1.7. gtest
mkdir build
cd build
cmake .. -DBUILD_TEST=true
make
安装运行Rovio的更多相关文章
- 安装运行 rovio odometry
https://github.com/ethz-asl/rovio https://github.com/ethz-asl/kindr 1. 新建catkinworkspace mkdir -p ~/ ...
- Windows OS上安装运行Apache Kafka教程
Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...
- 您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展”处理方法
转自:http://www.xuebuyuan.com/1549022.html 这已经是一个老掉牙的问题了,部分人使用自己的服务器安装WordPress程序之后,会出现“您的 PHP 似乎没有安装运 ...
- Android中插件开发篇之----动态加载Activity(免安装运行程序)
一.前言 又到周末了,时间过的很快,今天我们来看一下Android中插件开发篇的最后一篇文章的内容:动态加载Activity(免安装运行程序),在上一篇文章中说道了,如何动态加载资源(应用换肤原理解析 ...
- 用JSON-server模拟REST API(一) 安装运行
用JSON-server模拟REST API(一) 安装运行 在开发过程中,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要 ...
- Mac 下安装运行Rocket.chat
最近花了一周的时间,复习了HTML.CSS.原生JS,并学习了Node.js.CoffeeScript.js.MongoDB,入了下门. 因为准备在Rocket.chat 上做二次开发,所以先下载和安 ...
- 在Linux上rpm安装运行Redis 3.0.4
http://www.rpmfind.net搜索redis,找到redis3.0.4的rpm源选做 wget ftp://fr2.rpmfind.net/linux/remi/enterprise/6 ...
- Linux通过docker安装运行酷Q--用QQ骰子君进行跑团
Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...
- Activity工作流(2)-入门安装运行第一个例子
转: Activity工作流(2)-入门安装运行第一个例子 置顶 2017年05月24日 15:58:50 li_ch_ch 阅读数:24432 版权声明:本文为博主原创文章,未经博主允许不得转载 ...
随机推荐
- HttpClient上传下载文件
HttpClient上传下载文件 java HttpClient Maven依赖 <dependency> <groupId>org.apache.httpcomponents ...
- Hive基础之Hive的复杂类型
ARRAY 一组有序字段,字段的类型必须相同.Array(1,2) create table hive_array(ip string, uid array<string>) row fo ...
- ExtJS模版技术
学习ExtJS一段时间以后,大家基本都会对于一些显示数据的组件不太符合需求,可能自己需要的组件在ExtJS里面不存在,这是大家基本就会使用Html属性,直接使用Html进行绘制页面数据展现. 但是,使 ...
- python3中reduce()函数的使用方法示例
reduce() 函数会对参数序列中元素进行累积,下面这篇文章主要给大家介绍了关于python中reduce()函数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学 ...
- 代码生成器 CodeSmith 的使用(四)
在上一篇的版本中,我们生成了数据库中的字段,使生成的属性更加简洁,可读性也提高了很多,但都是钍对一个数据库的单个表,如果要将数据库中的所有 的表都生成相应的类,表中的字段也都生成属性,运行一次就可以将 ...
- c++官方文档-按值传递和按引用传递
#include<stdio.h> #include<iostream> #include<queue> #include<map> #include& ...
- 31. Studio获取新的ID值方法
var fun = ABS_LOADBEAN("com.plug.FunctionHelper");var vid1 = fun.utilHelper.getNextID(&quo ...
- WP runtime local setting
https://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.localsettings. ...
- centor os 安装nginx
安装nginx和health check wget http://nginx.org/download/nginx-1.4.5.tar.gz git clone https://github.com/ ...
- int和Integer区别
Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper cl ...