Skip to main content

No project description provided

Project description

swing-trajectory-generator

Swing trajectory generation for walking robots. The implemented functions are able to generate a trajectory by interpolating between given points. It can be interpolated by using spline interpolation o polynomial interpolation.

Motivation

To enable walking robots to walk, their legs must follow trajectories in a coordinated manner to simultaneously move and maintain their balance. Such a leg trajectory is divided into two sections: stance and swing phase. In the stance phase, the leg is moved while it is placed on the ground, which results in a force being exerted on the rest of the robot, causing it to move. In the swing phase, on the other hand, the leg is lifted and moved forward in the direction of travel to its new stance point, around which the following stance phase then takes place.

Since the swinging movement takes place freely in space and is initially defined only by its start and end point, it is necessary to adapt this to the conditions of the robot and, if necessary, to define further desired parameters of the trajectory. These further parameters can be, for example, speeds, torques, minimum and maximum leg heights, impact angles or distances to obstacles. A trajectory that meets these requirements must then be defined in a mathematically describable way and calculated for each individual movement.

If the leg hits an obstacle during the swing phase, it must be possible to calculate another trajectory for this incident, which also moves within the specified framework conditions and can then avoid the obstacle.

Another crucial requirement for the calculation of these trajectories is the computing power needed for this purpose. On the one hand, it is absolutely necessary for such a mobile system that these calculations take place in real time, and on the other hand, it can happen that these calculations have to take place internally in the robot system, in which the cooling and computing power can be severely limited by the spatial conditions of the robot itself.

It is therefore necessary to find a method that generates an swing trajectory in real time with the lowest possible computational effort and taking into account the requirements specified by the robot and additional own requirements.

Installation

Run the following to install:

pip install swinggen

Development installation

To install swinggen for development, along with tools you need to develop and run tests, run the following in your virtualenv:

$ pip install -e .[dev]

Usage

A trajectory is defined by a list of point parameters:

[
    [
    {"t": 0, "pos": -1, "vel": -5, "acc": 10}, 
    {"t": 0, "pos": 0, "vel": 0.1, "acc": 0.1},
    {"t": 0, "pos": 0, "vel": -0.01, "acc": -0.01}
    ], [
    {"t": 0.5, "pos": 0, "vel": 20, "acc": 0}, 
    {"t": 0.5, "pos": 1, "vel": 0, "acc": -2},
    {"t": 0.5, "pos": 0.1, "vel": 0, "acc": 0.1}
    ], [
    {"t": 1.0, "pos": 1, "vel": -5, "acc": -0.25}, 
    {"t": 1, "pos": 0, "vel": -0.25, "acc": 0.1},
    {"t": 1, "pos": 0, "vel": 0.01, "acc": 0.01}
    ]
]

Depending on the kind of interpolation used, different numbers of values are necessary. Unnecessary values are ignored.

A trajectory can then be generated by either calling the functions gen_xy or gen_xyz for 2D or 3D trajectories respectively. Generating a Trajectory in one dimension can be done by calling one of the following generator functions: gen_spline, gen_poly_auto, gen_poly_3, gen_poly_5

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

swinggen-0.1.2.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

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

swinggen-0.1.2-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file swinggen-0.1.2.tar.gz.

File metadata

  • Download URL: swinggen-0.1.2.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/57.4.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for swinggen-0.1.2.tar.gz
Algorithm Hash digest
SHA256 61411c7f6f4045cde678753225ff95d91df8628109b141af4f67a0c91bfc71ca
MD5 6d1c8d3d43dc8a3ce6f1eefb385a5601
BLAKE2b-256 7a9b411fe3276ba8400eab07d2dfea27bd5cbf9bd6cd6606fd0f1ab2ca8dd086

See more details on using hashes here.

File details

Details for the file swinggen-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: swinggen-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/57.4.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for swinggen-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8be7058c99e36754216c4ca0f2603424583d92ece0ccbf23c564d2f7429a3bf6
MD5 aa0c9d88cc17bbaa0f43d76a85e0a99b
BLAKE2b-256 cd9e0f1d886c3070dc3d220983f487c96c121c288bee5f3518d6cdf4117a3c44

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