Skip to content

Instantly share code, notes, and snippets.

@mik30s
Created December 22, 2017 05:06
Show Gist options
  • Save mik30s/47e1287c43c2cc974416841f6974c301 to your computer and use it in GitHub Desktop.
Save mik30s/47e1287c43c2cc974416841f6974c301 to your computer and use it in GitHub Desktop.
Generating Trajectories with Python
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 6. -15. 10. 0. 0. 0.]\n",
"[ 0.00000000e+00 1.00000000e+00 3.20000000e+01 5.13000000e+02\n",
" 2.94400000e+03 1.06250000e+04 2.93760000e+04 6.82570000e+04\n",
" 1.40288000e+05 2.63169000e+05 4.60000000e+05 7.60001000e+05\n",
" 1.19923200e+06 1.82131300e+06 2.67814400e+06 3.83062500e+06\n",
" 5.34937600e+06 7.31545700e+06 9.82108800e+06 1.29703690e+07\n",
" 1.68800000e+07 2.16800010e+07 2.75144320e+07 3.45421130e+07\n",
" 4.29373440e+07 5.28906250e+07 6.46093760e+07 7.83186570e+07\n",
" 9.42618880e+07 1.12701569e+08 1.33920000e+08 1.58220001e+08\n",
" 1.85925632e+08 2.17382913e+08 2.52960544e+08 2.93050625e+08\n",
" 3.38069376e+08 3.88457857e+08 4.44682688e+08 5.07236769e+08\n",
" 5.76640000e+08 6.53440001e+08 7.38212832e+08 8.31563713e+08\n",
" 9.34127744e+08 1.04657062e+09 1.16958938e+09 1.30391306e+09\n",
" 1.45030349e+09 1.60955597e+09]\n"
]
},
{
"data": {
"image/png": "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\no76yIq+FjQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1c1ca9e470>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import math\n",
"import numpy as np \n",
"import matplotlib.pyplot as plt\n",
"import numpy.linalg as alg\n",
"\n",
"def solve_quintic_polynomial(coeffs, num):\n",
" points = np.zeros(num)\n",
" for i in range(num):\n",
" points[i] = (coeffs[0]*(i**5) \n",
" + coeffs[1]*(i**4)\n",
" + coeffs[2]*(i**3)\n",
" + coeffs[3]*(i**2)\n",
" + coeffs[4]*i\n",
" + coeffs[5])\n",
" return points\n",
"\n",
" \n",
"def generate_quintic_trajectory(start, end, timestep):\n",
" \"\"\"\n",
" Creates a quintic polynomial trajectory\n",
" starting from [start] to [end] with [timestep]\n",
" intervals.\n",
" \"\"\"\n",
" t = math.ceil(end)\n",
" X = np.array(\n",
" [0, 0, 0, 0, 0, 1,\n",
" t**5, t**4, t**3, t**2, t, 1,\n",
" 0, 0, 0, 0, 1, 0,\n",
" 5*(t**4), 4*(t**3), 3*(t**2), 2*t, 1, 0,\n",
" 0, 0, 0, 2, 0, 0,\n",
" 20*(t**3), 12*(t**2), 6*t, 2, 0, 0]).reshape((6,6))\n",
" coeffs = np.transpose(alg.solve(X,np.transpose(np.array([start, end, 0, 0, 0, 0]))))\n",
" print(coeffs)\n",
" return solve_quintic_polynomial(coeffs, timestep)\n",
" \n",
"s = generate_quintic_trajectory(0,1,50)\n",
"print(s)\n",
"plt.plot(range(50), s)\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment