Giter VIP home page Giter VIP logo

fast-tracker's Introduction

Fast-Tracker

A Robust Aerial System for Tracking Agile Target in Cluttered Environments

0. Overview

Fast-Tracker is a systematic solution that uses an unmanned aerial vehicle (UAV) to aggressively and safely track an agile target.

Author: Zhichao Han*, Ruibin Zhang*, Neng Pan*, Chao Xu and Fei Gao from the ZJU Fast Lab.

Related Paper: Fast-Tracker: A Robust Aerial System for Tracking AgileTarget in Cluttered Environments, Zhichao Han*, Ruibin Zhang*, Neng Pan*, Chao Xu, Fei Gao, International Conference on Robotics and Automation (ICRA 2021)

Video Links: youtube or bilibili

Contributions

  • A lightweight and intent-free target motion prediction method.
  • A safe tracking trajectory planner consisting of a target informed kinodynamic searching front-end and a spatial-temporal optimal trajectory planning back-end.
  • The integration of the proposed method with sensing and perception functionality and the presentation of the systematic solution with extensive evaluations.

1. Prerequisites

Our software is developed and tested in Ubuntu 18.04, ROS Melodic. Other version may require minor modification.

ROS can be installed here: ROS Installation.

Step 1

Install Armadillo, which is required by uav_simulator.

sudo apt-get install libarmadillo-dev

Step 2

Install ompl, which is required by car_planner.

sudo apt-get install libompl-dev

Step 3

In target prediction part, we use OOQP for quadratic programming.

  1. Type the following commands to install dependencies.

    sudo apt-get install gfortran
    sudo apt-get install doxygen
    
  2. Get a copy of MA27 from the HSL Archive. Just select the Personal Licence (allows use without redistribution), then fill the information table.

โ€‹ Then you can download it from an e-mail sent to you. Next, un-zip MA27, and follow the README in it, install it to your Ubuntu.

Actually, you only need to type 3 commands in MA27's folder to finish the installation.

./configure
make
sudo make install
  1. Manually un-zip packages OOQP.zip in the repo and install it to your Ubuntu.

As above, you can just type 3 commands in OOQP's folder :

./configure
make 
sudo make install

2. Build on ROS

You can create an empty new workspace and clone this repository to your workspace:

cd ~/your_catkin_ws/src
git clone https://github.com/ZJU-FAST-Lab/Fast-tracker.git
cd ..

Then, compile it.

catkin_make

3. Run the Simulation

source devel/setup.bash
./simulation

Then you can follow the gif below to enjoy it.

4. Use GPU or Not

Packages in this repo, local_sensing have GPU, CPU two different versions. By default, they are in CPU version for better compatibility. By changing

set(ENABLE_CUDA false)

in the CMakeList.txt in local_sensing packages, to

set(ENABLE_CUDA true)

CUDA will be turned-on to generate depth images as a real depth camera does.

Please remember to also change the 'arch' and 'code' flags in the line of

    set(CUDA_NVCC_FLAGS 
      -gencode arch=compute_70,code=sm_70;
    ) 

in CMakeList.txt, if you encounter compiling error due to different Nvidia graphics card you use. You can check the right code here.

Don't forget to re-compile the code!

local_sensing is the simulated sensors. If ENABLE_CUDA true, it mimics the depth measured by stereo cameras and renders a depth image by GPU. If ENABLE_CUDA false, it will publish pointclouds with no ray-casting. Our local mapping module automatically selects whether depth images or pointclouds as its input.

For installation of CUDA, please go to CUDA ToolKit

5. Licence

The source code is released under GPLv3 license.

6. Maintaince

For any technical issues, please contact Zhichao Han ([email protected]), Ruibin Zhang ([email protected]), Neng Pan([email protected]) or Fei GAO ([email protected]).

For commercial inquiries, please contact Fei GAO ([email protected]).

fast-tracker's People

Contributors

han-sin avatar ustfgaoaa avatar

Watchers

 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.