Skip to main content

Lower limb exosuit hip controller.

Project description

hip-controller

Coverage Status Docker Image CI

Simple README.md for a Python project template.

Install

To install the library from PyPI:

uv pip install hip-controller==latest

OR

uv add git+https://github.com/TUM-Aries-Lab/hip-controller.git@<specific-tag>  # needs credentials

Development

  1. Install uv from Astral.
  2. git clone git@github.com:TUM-Aries-Lab/hip-controller.git
  3. make init to create the virtual environment and install dependencies
  4. make format to format the code and check for errors
  5. make test to run the test suite
  6. make clean to delete the temporary files and directories

Publishing

It's super easy to publish your own packages on PyPI. To build and publish this package, run:

  1. Update the version number in pyproject.toml and imu_module/init.py
  2. Commit your changes and add a git tag <new.version.number>
  3. Push the tag git push --tag

The package can then be found at: https://pypi.org/project/hip-controller

Module Usage

"""Basic docstring for my module."""

from loguru import logger

from hip_controller import definitions

def main() -> None:
    """Run a simple demonstration."""
    logger.info("Hello World!")

if __name__ == "__main__":
    main()

Program Usage

uv run python -m hip_controller

Structure

The following tree shows the important permanent files. Run make tree to update.

├── data
│   ├── logs
│   └── sensor_data
│       ├── data_input_2025_12_17.csv
│       ├── data_input_filtered_2026_01_09.csv
│       ├── data_kinematics_2026_02_16.csv
│       ├── data_raw_2025_12_17.xlsx
│       └── look_up_table_2026_02_25.csv
├── docs
│   └── paper.pdf
├── src
│   ├── data
│   │   └── logs
│   └── hip_controller
│       ├── control
│       │   ├── high_level_controller
│       │   │   ├── high_level.py
│       │   │   ├── motion_state_machine.py
│       │   │   ├── steady_state_tracker.py
│       │   │   └── stride_event_detector.py
│       │   ├── low_level_controller
│       │   │   └── low_level.py
│       │   ├── mid_level_controller
│       │   │   ├── amplitude_modulation.py
│       │   │   ├── cubic_spline_interpolation.py
│       │   │   ├── kalman.py
│       │   │   └── mid_level.py
│       │   ├── __init__.py
│       │   └── app.py
│       ├── plotter
│       │   ├── csv_player.py
│       │   ├── phase_portrait.py
│       │   ├── simulator.py
│       │   └── time_plot.py
│       ├── utils
│       │   ├── math_utils.py
│       │   ├── state_space.py
│       │   └── utils.py
│       ├── __init__.py
│       ├── __main__.py
│       └── definitions.py
├── tests
│   ├── controller_test
│   │   ├── high_level_testing
│   │   │   ├── high_level_testing_data
│   │   │   │   ├── ang_ss_2026_01_26.csv
│   │   │   │   ├── extrema_2026_01_26.csv
│   │   │   │   ├── gait_phase_left_2026_01_21.csv
│   │   │   │   ├── gait_phase_left_2026_03_03.csv
│   │   │   │   ├── stride_event_detector_2026_02_26.csv
│   │   │   │   ├── valid_trigger_left_2026_01_15.csv
│   │   │   │   ├── vel_ss_2026_01_26.csv
│   │   │   │   └── zero_crossing_left_2026_01_09.csv
│   │   │   ├── high_level_test.py
│   │   │   ├── motion_state_machine_test.py
│   │   │   └── stride_event_detector_test.py
│   │   ├── mid_level_testing
│   │   │   ├── mid_level_testing_data
│   │   │   │   ├── amplitude_modulation_2026_03_03.csv
│   │   │   │   ├── look_up_table_2026_02_25.csv
│   │   │   │   └── sinusoidal_behavior_left_2026_01_29.csv
│   │   │   ├── amplitude_test.py
│   │   │   ├── cubic_spline_interpolation_test.py
│   │   │   ├── kalman_test.py
│   │   │   └── mid_level_test.py
│   │   └── app_test.py
│   ├── utilstest
│   │   ├── csv_player_test.py
│   │   ├── math_utils_test.py
│   │   └── utils_test.py
│   ├── __init__.py
│   └── conftest.py
├── .darglint
├── .dockerignore
├── .gitignore
├── .pre-commit-config.yaml
├── .python-version
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
├── pyproject.toml
├── repo_tree.py
└── uv.lock

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

hip_controller-0.0.5.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

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

hip_controller-0.0.5-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file hip_controller-0.0.5.tar.gz.

File metadata

  • Download URL: hip_controller-0.0.5.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hip_controller-0.0.5.tar.gz
Algorithm Hash digest
SHA256 1f8dcc6758f4c9986bce855fb127d6de377964b30bb20e525f676c9ed1e93f99
MD5 9a4b6c88ace21ccd4192fbce00feb556
BLAKE2b-256 f89531df9d66861e4acb7bcce98ff2c19b657f68c05ca5995cd064ad487b5c88

See more details on using hashes here.

Provenance

The following attestation bundles were made for hip_controller-0.0.5.tar.gz:

Publisher: pypi-publish.yml on TUM-Aries-Lab/hip-controller

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hip_controller-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: hip_controller-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 31.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hip_controller-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 24a27317ff16207dc019d139247861228007670cc1d52fffae75830fddf15232
MD5 cc55f5da264379cc5a21a2988d7e2978
BLAKE2b-256 b3d4f4559dd7aa8eeba1441deb3805e677dc0b30f01ceaea0f2d1c9e1a9999ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for hip_controller-0.0.5-py3-none-any.whl:

Publisher: pypi-publish.yml on TUM-Aries-Lab/hip-controller

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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