Skip to main content

Twisted String Actuator Modeling and Simulation

Overview

This repository contains a Python module for modeling, simulating, and analyzing Twisted String Actuators (TSAs). TSAs are a type of linear actuator that converts rotational motion into linear motion through the twisting of strings or cables.

Features

  • Symbolic and numerical computation support
  • Extensible data structures for representing TSA states and parameters
  • Kinematic and dynamic modeling of TSAs, Functions for calculating contraction, jacobians, dynamical components and other key properties

Installation

To install the TSA module, clone this repository and install the module in editable mode:

pip install twisted-strings

Usage

Here's a basic example of how to use the TSA module:

from tsa import Model, Data
from tsa.kinematics import contraction, jacobian

# Create a model and set parameters
model = Model()
model.kinematic.length = 0.2
model.kinematic.radius = 1e-3

# Create a data object and set state
data = Data()
data.motor.position = 100

# Calculate contraction and jacobian
x = contraction(model, data)
jac = jacobian(model, data)

print(f"Contraction: {x}")
print(f"Jacobian: {jac}")

By populating the data and module structures with more advanced data types one may build more profound models and calculations, i.e build symbolical and differentiable models with CasADi and JAX, as well as simple symbolical calculations with sympy.

For more detailed examples, please refer to the examples directory.

Citation

If you use this software in your research, please cite it as follows:

@software{tsa_modeling,
  author = {Nedelchev, Simeon and Kozlov, Lev},
  title = {Twisted String Actuator (TSA) Modeling and Simulation},
  year = {2024},
  url = {https://github.com/simeon-ned/tsa}
}

Metadata

Release files for twisted-strings 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for twisted-strings 0.0.2
File Interpreter ABI Platform
twisted_strings-0.0.2-py3-none-any.whl Python 3 none any Details

Release files / twisted_strings-0.0.2-py3-none-any.whl

Download URL twisted_strings-0.0.2-py3-none-any.whl
Size 13.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
915c54941b7e0b6e2a703f834c37d4e86f0337c4923adaa40dfa438c451b1bd5
BLAKE2b-256 checksum
How to use checksums
8c2cf3cd45530db7ac042a012052c80cb4b0674c06facf41092a81b9b155263c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.6

Security for twisted-strings 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.2 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page