Skip to main content

minimum snap trajectory generator

Project description

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

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

mistgen-0.2.6.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

mistgen-0.2.6-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

Details for the file mistgen-0.2.6.tar.gz.

File metadata

  • Download URL: mistgen-0.2.6.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.11

File hashes

Hashes for mistgen-0.2.6.tar.gz
Algorithm Hash digest
SHA256 bffa3a08fac35f3c7a8c987137122185907e5dac9f195e79da8f9470827e6495
MD5 2ac691d18f82c00a105111a62d8a56f7
BLAKE2b-256 879413e0d08fe443528763ab841f9ea289ff3356450b09171f5012ec058ca130

See more details on using hashes here.

File details

Details for the file mistgen-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: mistgen-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 26.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.11

File hashes

Hashes for mistgen-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 20538de846c454dc79344543c7283256cfad25442b575443566f93e42816df34
MD5 e69b4aeb773f0bb63fd14f6deb8e2926
BLAKE2b-256 f8b7b9abdbe55f4a807410f1dfd540b7f372b7978c46e1396f4fb2f30ee6095e

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