Skip to main content

The framework for algorithms engineering with Python.

Project description

Tsipor Dynamics

Algorithms Engineering and Development

Tsipor (bird) Dynamics (c4dynamics) is the open-source framework of algorithms development for objects in space and time.

My Skills

Complete Documentation: https://c4dynamics.github.io/C4dynamics/

Motivation

c4dynamics is designed to

simplify the development of algorithms for dynamic systems,

using state space representations.

It offers engineers and researchers a systematic approach to model,

simulate, and control systems in fields like robotics,

aerospace, and navigation.

The framework introduces state objects, which are foundational

data structures that encapsulate state vectors and provide

the tools for managing data, simulating system behavior,

and analyzing results.

With integrated modules for sensors,

detectors, and filters,

c4dynamics accelerates algorithm development

while maintaining flexibility and scalability.

Installation

  • PIP

>>> pip install c4dynamics

  • GitHub

To run the latest GitHub version, download c4dynamics:

https://github.com/C4dynamics/C4dynamics

      

Install the required packages:


>>> pip install -r requirements.txt

Quickstart

Import c4dynamics:


>>> import c4dynamics as c4d

Define state space object of two variables in the state space (y, vy) with initial conditions (change the state with your variables):


>>> s = c4d.state(y = 1, vy = 0.5)

Multiply the state vector by a matrix and store:


>>> F = [[1, 1],                      

         [0, 1]]              

>>> s.X += F @ s.X                     

>>> s.store(t = 1)                    

Print the state variables, the state vector, and the stored data:


>>> print(s)  

[ y  vy ]

>>> s.X 

[2.5  1]

>>> s.data('y')                      

([0,  1], [1,  2.5])

Load an object detection module (YOLO):


>>> yolodet = c4d.detectors.yolo(height = height, width = width)

Define errors to a general-purpose seeker with C4dynamics:


>>> rdr = c4d.seekers.radar(sf = 0.9, bias = 0, noisestd = 1)

Define a linear Kalman Filter, perform a prediction and an update:


>>> pt.filter = c4d.filters.kalman(np.hstack((z, np.zeros(2))), P, A, H, Q, R)

>>> pt.filter.predict()

>>> pt.filter.correct(measure)

Define a point in space (pre-defined state) with some initial conditions:


>>> pt = c4d.datapoint(x = 1000, vx = 100)

Define a body in space (pre-defined state) with some initial conditions:


>>> body = c4d.rigidbody(theta = 15 * 3.14 / 180)

Architecture

For Architecture & Roadmap, see the Wiki page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

c4dynamics-2.0.1.tar.gz (125.0 kB view details)

Uploaded Source

Built Distribution

c4dynamics-2.0.1-py3-none-any.whl (156.3 kB view details)

Uploaded Python 3

File details

Details for the file c4dynamics-2.0.1.tar.gz.

File metadata

  • Download URL: c4dynamics-2.0.1.tar.gz
  • Upload date:
  • Size: 125.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.1

File hashes

Hashes for c4dynamics-2.0.1.tar.gz
Algorithm Hash digest
SHA256 896fccf0b3a131ddc15bf3715e03edae63349b62885f32b193108afe81b142b0
MD5 34b2e96a860b319c8f1d375e4d0155ad
BLAKE2b-256 02f8cffb4e32bff084a4185e626002689c3fd6fe783cdb38798161873d02de20

See more details on using hashes here.

File details

Details for the file c4dynamics-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: c4dynamics-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 156.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.1

File hashes

Hashes for c4dynamics-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9ac13c5aba7de7f62812b97f7231a65bab3f3048e113161f0714a055337b98ac
MD5 6e89dbce6cb92142f6d588d354759737
BLAKE2b-256 1fa957feb984987c6d0f9eb1d55464b3732cd94d13501365dea0413d8c70d2de

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page