Skip to main content

Generate trajectories for soft robots from a file

Project description

sorotraj

Generate trajectories for soft robots from yaml files (accompanies the Ctrl-P project)

Installation

Install the release version

This package is on pypi, so anyone can install it with pip: pip install sorotraj

Install the most-recent development version

  1. Clone the package from the github repo
  2. Navigate into the main folder
  3. pip install .

Usage

Minimal Example

import sorotraj

file_to_use = 'traj_setup/setpoint_traj_demo'

build = sorotraj.TrajBuilder()
build.load_traj_def(file_to_use)
traj = build.get_trajectory()
print(traj)

Check out the examples folder for more detailed usage examples

How to Set Up Trajectories:

Trajectories are made of three parts:

  1. main: used in a looping trajectory
  2. prefix: happens once before the main part
  3. suffix: happens once after the main part

Here's an example of what that might look like defined in a yaml file:

config:
    setpoints:
        # [time, finger1, finger2, n/c, n/c]
        main:
            - [0.0,   10, 12, 14,  16]
            - [1.0,    20, 0, 0,  0]
            - [2.0,   0, 20, 0,  0]
            - [3.0,     0, 0, 20, 0]
            - [4.0,     0, 0, 0, 20]
            - [5.0,    10, 12, 14, 16]

        prefix:
            - [0.000,   0, 0, 0,  0]
            - [1.0,    10, 12, 14,  16]

        suffix:
            - [2.000,   10, 12, 14,  16]
            - [3.0,  0, 0, 0,  0]

There are currently three types of ways to generate the main part of a trajectory:

  1. direct: You enter waypoints directly
    • Define waypoints as a list of lists of the form: [time in sec], [a_1], [a_2], ..., [a_n]
  2. interp: Interpolate between waypoints
    • Define waypoints as a list of lists of the form: [time in sec], [a_1], [a_2], ..., [a_n]
    • Set a few more parameters:
      • interp_type: (string) The type of interpolation to use. right now types include: 'linear', 'cubic', and 'none'
      • subsample_num: (int) The total number of subsamples over the whole trajectory
  3. waveform: Generate waveforms (very basic, still just in-phase waveforms across all channels)
    • Set up the waveform:
      • waveform_type: (string) Types include: square-sampled, square, sin, cos-up, cos-down, triangle, sawtooth-f, and sawtooth-r
      • waveform_freq: (float) Frequency in Hertz
      • waveform_max: (float) A list of the maximum values for the waveform, in the form: [20, 0, 15, 5]
      • waveform_min: (float) A list of the minimum values for the waveform, in the form: [0, 20, 0, 15]
    • Set a few more parameters:
      • subsample_num: (int) The total number of subsamples over the whole trajectory
      • num_cycles: (int) The number of cycles of the waveform
      • channels: (bool) Flags to turn channels on and off. A list of the form: [1,1,0,0]

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

sorotraj-0.4.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

sorotraj-0.4-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file sorotraj-0.4.tar.gz.

File metadata

  • Download URL: sorotraj-0.4.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.9

File hashes

Hashes for sorotraj-0.4.tar.gz
Algorithm Hash digest
SHA256 3098ddd7401831da34ab848ab8ee6e3bc9e4e6ce38f748b1ffe2c331601ef1d7
MD5 ce93c86529546375c54ea8cf6b2e1d5f
BLAKE2b-256 2bd38fb02cdf17b1c1e6af3d14599323d6cda845561f739138a16cce7744e07c

See more details on using hashes here.

File details

Details for the file sorotraj-0.4-py3-none-any.whl.

File metadata

  • Download URL: sorotraj-0.4-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.9

File hashes

Hashes for sorotraj-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ceafc975af6719804bbfbea9b7b82ed147f2c143c50aebb5882a29c604ec9ed6
MD5 348cc0fb3ed5b7ffb4ad9c2be14b39b1
BLAKE2b-256 7fe96c1a2b7e1cb6516068dc475ba72eb2d1eb04947eca604b7ce16ced64aa96

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