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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.