Skip to main content

MiSTGen: Minimum Snap Trajectory Generator

1 Overview

Minimum snap trajectory generators can generate smooth trajectories that have minimum snap, pass through specified waypoints and are subject to velocity and acceleration constraints.

2 How to use

3.1 Installing

pip install mistgen

3.2 Usage

from mistgen.mist import mist_generator

myMistGen = mist_generator()

xxs,yys,tts = myMistGen.mist_2d_gen(waypts_ori,v0,a0,ve,ae,T)
vaj_xy = myMistGen.mist_2d_vaj_gen(xxs,yys,tts)
myMistGen.mist_2d_vis(waypts_ori,xxs,yys,tts,vaj_xy,show_wp=True,show_mist_xy=True,show_avj=True,same_plot=False)

# or all in one:
mistTraj = myMistGen.mist_2d_gen_all(waypts_ori,v0,a0,ve,ae,T,show_wp=True,show_mist_xy=True,show_avj=False,same_plot=False)

A simple example:

def main_demo_v010():
	ax = [0.0, 5.0,5.0,0.0]
    ay = [0.0, 0.0,6.0,6.0]
    
    waypts_ori = np.array([ax,ay])
    
    T = 10
    v0 = np.array([0,0])
    a0 = np.array([0,0])
    ve = np.array([0,0])
    ae = np.array([0,0])
    
    myMistGen = mist_generator()
    xxs,yys,tts = myMistGen.mist_2d_gen(waypts_ori,v0,a0,ve,ae,T)
    vaj_xy = myMistGen.mist_2d_vaj_gen(xxs,yys,tts)
    myMistGen.mist_2d_vis(waypts_ori,xxs,yys,tts,vaj_xy,True,True,True)
    yaw_rad,yaw_deg = myMistGen.calc_yaw(vaj_xy[0],vaj_xy[3])

For more example, please do the following:

from mistgen.examples.main_demo_v010 import main_demo_v010
from mistgen.examples.main_demo_v02x import main_demo_v020
from mistgen.examples.main_demo_v02x import main_demo_v021

3 API

Some utils functions:

from utils.T_functions import arrangeT
from utils.T_functions import init_T
from utils.cvxopt_qp import quadprog
from utils.other_utils import computeQ
from utils.other_utils import calc_tvec
from utils.other_utils import re_shape_vaj
from utils.other_utils import poly_val

License

This source code is released under GNU GENERAL PUBLIC LICENSE Version 3 license.

For more questions, please contact author: Zhaoliang (zhz03@g.ucla.edu)

Reference

[1] Minimum Snap Trajectory Generation and Control for Quadrotors

Metadata

Release files for mistgen 0.2.6

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

Source distribution (sdist)

Source distribution for mistgen 0.2.6
File Size Uploaded Provenance Actions
mistgen-0.2.6.tar.gz 22.3 kB Without provenance Details for mistgen-0.2.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mistgen 0.2.6
File Interpreter ABI Platform Actions
mistgen-0.2.6-py3-none-any.whl Python 3 none any Details for mistgen-0.2.6-py3-none-any.whl

Total release size: 49.1 kB

Release files / mistgen-0.2.6.tar.gz

Download URL mistgen-0.2.6.tar.gz
Size 22.3 kB
Tags Source
SHA-256 checksum
How to use checksums
bffa3a08fac35f3c7a8c987137122185907e5dac9f195e79da8f9470827e6495
BLAKE2b-256 checksum
How to use checksums
879413e0d08fe443528763ab841f9ea289ff3356450b09171f5012ec058ca130
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.7.11

Release files / mistgen-0.2.6-py3-none-any.whl

Download URL mistgen-0.2.6-py3-none-any.whl
Size 26.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20538de846c454dc79344543c7283256cfad25442b575443566f93e42816df34
BLAKE2b-256 checksum
How to use checksums
f8b7b9abdbe55f4a807410f1dfd540b7f372b7978c46e1396f4fb2f30ee6095e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.7.11

Security for mistgen 0.2.6

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.2.6 This release

2 release files 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