Skip to main content

A collection of tools to used to evaluate dynamical systems with nonholonomic constraints

Project description

Nonholonomics

GitHub Issues

See the AUTHORS file for the list of authors. Currently we only have one. It gets lonely so join the team!

License: New GNU License (see the LICENSE file for details) covers all files in the nonholonomics repository unless stated otherwise.

See the CONTRIBUTING file for ways to contribute.

Nonholonomics aims to become a central location for all things nonholonomic! We aim to centralize common methods for easy access and easy manipulation. Currently, the methods of solving nonholonomic systems in python are restricted to self built programs of by making use of Sympy's Lagrange multiplier method.

Currently, nonholonomics is still in development. We have implemented a module to evaluate the nonholonomic Lagrange equations. This is a first step in producing modules to be tested.

We also have a module for plotting purposes. In dynamics, we often plot the states of the system. The functions contained in this module aim to make this quick and easy.

We have made a handful of examples for users to get familliar with. The examples are located in the examples directory and are simply numbered to keep naming short and easy.

For a complte example using a holonomic linear system, take a look at example1.py for an indepth look at how to use most of the methods and classes.

Example2.py and example3.py compare the implementation of constraints. The current program will handle systems with and with out nonholonomoic constraints.

Example4.py shows the program can evaluate a nonlinear system. In this case it is the pendulum. There are comments to make the system linear to compare the results.

We are working on implementing support for Lagrange multipliers and the principal of virtual power. If you would like to help please check out the contributing documentation.

Download

The recommended installation method is through pip, we are not on pypi yet, we use test.pypi until our first launch.

to in install from test.pypi, use:

$ pip install -i https://test.pypi.org/simple/ nonholonomics

You can also get the latest version of nonholonomics from <https://test.pypi.org/simple/ nonholonomics>

To get the git version do

$ git clone https://github.com/ardiste3/nonholonomics

For other options (tarballs, debs, etc.), please wait patiently or email your request in.

Contributing

We welcome contributions from anyone, even if you are new to open source.

Clean

To clean everything (thus getting the same tree as in the repository):

$ git clean -Xdf

which will clear everything ignored by .gitignore, and:

$ git clean -df

to clear all untracked files. You can revert the most recent changes in git with:

$ git reset --hard

WARNING: The above commands will all clear changes you may have made, and you will lose them forever. Be sure to check things with git status, git diff, git clean -Xn, and git clean -n before doing any of those.

Bugs

Our issue tracker is at https://github.com/ardiste3/nonholonomics/issues. Please report any bugs that you find. Or, even better, fork the repository on GitHub and create a pull request. We welcome all changes, big or small, and we will help you make the pull request if you are new to git.

Brief History

This started out as project in graduate school.

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

nonholonomics-0.0.13.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonholonomics-0.0.13-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file nonholonomics-0.0.13.tar.gz.

File metadata

  • Download URL: nonholonomics-0.0.13.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for nonholonomics-0.0.13.tar.gz
Algorithm Hash digest
SHA256 e583163fdfee7099ace66b1ee7768c95f94c1b9514747649fd2b3d4a2fd14653
MD5 b4b2d2ef004b2b7f4f392a55967acfc3
BLAKE2b-256 23e0c9600cdf4977a471299f9cf1dbe4a0712500049559937cd5c64602ef737b

See more details on using hashes here.

File details

Details for the file nonholonomics-0.0.13-py3-none-any.whl.

File metadata

  • Download URL: nonholonomics-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for nonholonomics-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 25f48ab88e4ed433c5cc2fd4509c48e97cce43c00da2f29d537066c55c290b51
MD5 b9984dd05dbeb39aa835e20b06dd044d
BLAKE2b-256 335d91bd1dd4d96d0c8076494374d1adc2bab831f803781a9fb38e2e327ccd82

See more details on using hashes here.

Supported by

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