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

  1. Download the package
  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.1.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

sorotraj-0.1-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sorotraj-0.1.tar.gz
  • Upload date:
  • Size: 5.0 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.1.tar.gz
Algorithm Hash digest
SHA256 771a05f90bfcfdcb5ea3b56963b97bc7bae1b35f1b0efe296256547464701c18
MD5 881c97cc9054bdeb29b6d16e1ebdb0e3
BLAKE2b-256 be91a88c4b948394b76cd96da68fff6381034256a2bfa1ec50ae20bd3a192716

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sorotraj-0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bb6d4a8c01a32104e55fbf4f846eefea433bc8f8ef8387d4a161d74ced91c8ea
MD5 ec42968d53c4f547522736d7ded5cf0f
BLAKE2b-256 971fadcac6bfa7844fd87f57b194dc231988900d56593e15a9dc5b2a2a6308cb

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