Code Monkey home page Code Monkey logo

pycs2's Introduction

pycs2

Python translations of Cybership II algorithms developed while working on my thesis Lindegaard (2003).

Why Python?

Matlab was everyone's main tool back in 1999-2001, and essentialy every module was drafted and tested in Matlab before porting them all to C or C++ as Simulink S-functions that could be compiled and executed on Cybership II. It worked OK, but the code is hardly readable for anyone, not even me, anymore.

However, I hope that the re-implementation in Python using standard libs like Numpy will be more accessible and encourage you to use and entend whatever I have to your projects and needs.

Installation and requirements

Python 2.7 and 3.X are supported. Dependencies are pretty basic (so far); Numpy

Tip: Use pip to install dependencies automatically.

pip install -r requirements.txt

Algorithms

This section covers the different parts comprising the final control system on Cybership II. Each module is given its own subfolder

rudderthralloc

In Lindegaard & Fossen (2002) we developed a novel thrust allocation algorithm for zero/low speed applications like dynamic positioning operations. The main objective was to make a continuous mapping from the commanded thrust over to propeller setpoints and rudder deflection angles.

The mapping consists of two steps.

  1. ForceAllocation - map commanded thrust to generalized forces.
  2. Force2Setpoint - map generalized forces to propeller/rudder setpoints.

Currently, only step 1 has been re-implemented.

For examples of use, please see the unit test file test_forcealloc.py.

License

BSD 2-Clause License

pycs2's People

Contributors

kplindegaard avatar

Stargazers

 avatar AemaethZero avatar Changyu Lee avatar

Watchers

James Cloos avatar  avatar  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.