Giter VIP home page Giter VIP logo

br2_nmpc_cbf's Introduction

BlueRov2 - Unified NMPC & CBF

Videos of BlueRov2 Simulation, with Nonlinear Model Predictive Control for 6DOF Trajectory Tracking & Control Barrier Functions for Collision Avoidance. This is a companion of the Paper 'A Unified NMPC-CBF Approach to Kino-Dynamic, Collision-Avoidant Trajectory Tracking of Autonomous Underwater Vehicles' authored by J. Closea, M. Vana, N. Nguyena, S. McIlvannaa, Y. Suna, K. Olayemia and C. Weib
aSchool of Electronics, Electrical Engineering & Computer Science, Queen's University Belfast, Northern Ireland
bSchool of Mechanical & Aerospace Engineering, Queen's University Belfast, Northern Ireland


Point Stabilisation Tasks (MPC only)

1 Axis Reference

In the following examples showcasing Model Predictive Control for Point Stabilisation, the target point is only defined in 1 Axis. Due to the gravitational component, Z has Upwards & Downwards versions for comparison.

Reference in X

Reference in Y

Reference in Z (Upwards)

Reference in Z (Downwards)

2 Axis Reference

In the following examples showcasing Model Predictive Control for Point Stabilisation, the target point is defined in 2 Axis. This shows how the controller adapts when handling targets in multiple different DOF. Directly below is a good test for maintainining depth during a horizontal translation, and the latter two examples in this section allow comparison between working with and against gravity.

Reference in (X,Y)

Reference in (X,Z) (Upwards)

Reference in (Y,Z) (Downwards)

3 Axis Reference

In the following examples showcasing Model Predictive Control for Point Stabilisation, the target point is defined in 3 Axis. This shows how the controller adapts when handling targets in multiple different DOF. In the first example below, the Reference Angles are consistent and it is only moving in 3DOF (X,Y,Z). In the second example, all 6DOF are changed, giving it a rigorous test with multiple simultaneous variables.

Reference in (X,Y,Z) (Upwards)

Reference in 6DOF (Flip)


Trajectory (Circle) Tracking Tasks (MPC only)

Reference Circle Aligned

The BlueRov2 is lined up with the circular path that acts as a reference before the controller starts.

Reference Circle Aligned (Above/Below)

The BlueRov2 is only lined up with the circular path, that acts as a reference, in (X,Y) before the controller starts. The circle is then placed either Above or Below for comparison of gravitational effects.

Reference Circle placed Above

Reference Circle placed Below

Reference Circle Offset (Above/Below)

The BlueRov2 is not lined up with the circular path that acts as a reference before the controller starts. The starting point of the circle is offset in (X,Y) and then placed either Above or Below for comparison of gravitational effects.

Reference Circle Offset and placed Above

Reference Circle Offset and placed Below


Point Stabilisation & Collision Avoidance Tasks (MPC and CBF)

Static Obstacle Avoidance

Introducing a single static obstacle demonstrates how the CBF acts as a safety factor to avoid collision. The CBF ensures that a radius of safety around both the BlueRov2 and the Obstacle never cross, which can be observed.

Moving Obstacle Avoidance

Since the controller is contstantly provided live data on the location and size of an obstacle, it can adapt and respond to obstacles that aren't in a fixed location and are moving around the environment.

Static & Moving Obstacle Avoidance

Assuming that the BlueRov2 can detect and track any obstacles within range using SONAR or HD Camera footage, the CBF can enable multiple obstacles - both static and moving - to be avoided during the task. An advantageous feature for dynamic ocean envrironments.


Trajectory (Circle) Tracking & Collision Avoidance Tasks (MPC and CBF)

Static & Moving Obstacle Avoidance

Carrying on from the previous example with multiple static and moving obstacles, it is observed below that the same functionality is available for path tracking tasks.

br2_nmpc_cbf's People

Contributors

ethetic avatar

Stargazers

binarycopycode avatar LinHong avatar

Watchers

 avatar

br2_nmpc_cbf's Issues

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.