GithubHelp home page GithubHelp logo

xiaojiean / of_vins Goto Github PK

View Code? Open in Web Editor NEW

This project forked from faustofanin/of_vins

0.0 0.0 0.0 53.44 MB

Optical Flow-based Visual-Inertial Navigation System for a UAV developed for my MSc thesis

License: MIT License

CMake 3.37% C++ 96.63%

of_vins's Introduction

Visual-Inertial Navigation Filter for a UAV

This project is part of my MSc thesis at Cranfield University. The aim was to develop a optical flow-based Visual-Inertial Navigation System (VINS) for a UAV in an indoor envrionment. In order to test the VINS I developed a simulation in ROS/Gazebo.

This repository contains the project files for the VINS and all the Gazebo files. For the UAV model I utilised the Hector project from TU Darmstadt and as I had to modify a number of these files for one reason or antoher I've included them in the project. These are all the hector_XXX folders in the src folder.

After the paper based on this thesis has been published it will be linked here.

Project Breakdown

All files for the VINS are in the aptly-named vins folder and the proejct can be divided into the following five sections:

Main Launch File
roslaunch hector_quadrotor_demo IRP_multicam.launch

This will run a launch file that will launch the simulator, RVIZ and all the Hector quadrotor stuff.

Navigation Filter
rosrun vins nav_filter

Will run the navigation filter, which will also output the estimate position to the tf tree under fused_frame and to the topic /fused_state/odom.

Optical Flow Algorithm
rosrun vins vel_estimator

This will run the Optical Flow algorithm, which will subscribe to the relative camera topics from Gazebo and publish the estimated velocity to /raw_vel.

Waypoint Navigator
rosrun vins trajectories

This will run the node that handles publishing the relevant waypoints to the topic that the position controller is subscribed to. The node will wait at the current waypoint until it is triggered to go to the next one. This is done by running the following command in a terminal: rostopic pub /moveit std_msgs/String "y"

Optical Flow Fun
rosrun vins of_test

This will run a simple script that will run an optical flow algorithm on the laptops webcam, outputting the result in a small window.

Compatability

This project was developed with the following distributions/libraries:

  • Ubuntu 16.04
  • ROS Kinetic Kame
  • Eigen/OpenCV/Boost

of_vins's People

Contributors

faustofanin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.