Giter VIP home page Giter VIP logo

vsc_uav_target_tracking's Introduction

Visual Servo control for target tracking using UAVs

This is a ROS python package of various Visual servo controllers for UAV aiming on target tracking. The general application of these controllers is a dynamic coastline in the presenc of waves. The different version of visual servoing will be analyzed below. The controllers were all developed in a UAV synthetic simulation environment: https://github.com/sotomotocross/UAV_simulator_ArduCopter.git

Classic IBVS method for target tracking

We initially implemented a classical IBVS strategy for an underactuated UAV aiming target tracking which in our case is a constantly moving coastline in the presence of waves. All the various cases of IBVS for target tracking are attempts of estimating the wave motion (velocity) and incorporating it in the implemented controller. The basic controller of this attempt is an IBVS target tracking scheme incoporating an appropriately formulated EKF, based on the Gerstner wave models for the motion of the waves. The project is organized into the following files:

  • main_node.py: Orchestrates the entire system.
  • ros_communication.py: Handles ROS communication.
  • visual_servoing.py: Implements the core visual servoing logic.
  • visual_servoing_utils.py: Provides visual servoing utilities.
  • controller_gains.yaml: Specify controller gains in this YAML file.
  • my_controller_params.yaml: Specify boolean parameters of which of the various controller version you want to run.
$ roslaunch vsc_uav_target_tracking my_controller.launch

This is the core of [1].

Partitioned Visual Servo Control strategy (Deprecated - To be updated)

This is a PVS implementation for the same application considering the decoupling between translational and rotational velocities.

$ rosrun vsc_uav_target_tracking part_vs_track_ekf_est.py

In this case we managed to extend the target motion state estimation module incorporating the Flownet 2 implementation and a hybrid model-based and data-driven framework (named KalmanNet) estimating again the velocity of the waves incorporated in our PVS controller.

$ rosrun vsc_uav_target_tracking part_vs_track_knet_est.py

This is the core of [2].

Combination of Image moments with Visual Servoing

This in implementation of IBVS for target tracking utilizing image moments as a statistical target descriptor.

$ rosrun vsc_uav_target_tracking vsc_uav_target_tracking_node

Neuromorphic implementation of perception module and control implementation

Here we implemented an event-based tracking control framework for detection, tracking and surveillance of dynamic coastlines using a multirorotor UAV. Based on interfacing of a DVS to SpiNN-3 Neuromorphic platform and a framework for DVS event streams manipulation and contour-based areas

$ rosrun vsc_uav_target_tracking part_vs_track_knet_est.py

The controller was not developed on a synthetic environment. Due to the presence of the hardware framework it was developed and implemented directly on an octorotor UAV featuring Pixhawk and Ardupilot.

This is the core of diploma thesis [3] and of paper [4] that is accepted and will be presented on IROS 2023.

References

[1] S. N. Aspragkathos, G. C. Karras, and K. J. Kyriakopoulos, “A visual servoing strategy for coastline tracking using an unmanned aerial vehicle", in 2022 30th Mediterranean Conference on Control and Automation (MED), pp. 375–381, IEEE, 2022, 10.1109/MED54222.2022.9837275

[2] S. N. Aspragkathos, G. C. Karras, and K. J. Kyriakopoulos, “A Hybrid Model and Data-Driven Vision-Based Framework for the Detection, Tracking and Surveillance of Dynamic Coastlines Using a Multirotor UAV", in 2022 30th Mediterranean Conference on Control and Automation (MED), pp. 375–381, IEEE, 2022, https://doi.org/10.3390/drones6060146

[3] E. Ntouros, “Multicopter control using dynamic vision and neuromorphic computing", Athens, October 2022, https://dspace.lib.ntua.gr/xmlui/bitstream/handle/123456789/56541/thesis.pdf?sequence=1

[4] S. N. Aspragkathos, E. Ntouros, G. C. Karras, B. Linares-Barranco, T. Serrano-Gotarredona and K. J. Kyriakopoulos, “An Event-Based Tracking Control Framework for Multirotor Aerial Vehicles Using a Dynamic Vision Sensor and Neuromorphic Hardware", Accepted on IEEE/RSJ 2023 International Conference on Intelligent Robots and Systems (IROS), IEEE, 2023

vsc_uav_target_tracking's People

Contributors

sotomotocross 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.