mpc_python_learn/notebooks/3.0-MPC-with-track-constrai...

1126 lines
312 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from scipy.integrate import odeint\n",
"from scipy.interpolate import interp1d\n",
"import cvxpy as cp\n",
"\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use(\"ggplot\")\n",
"\n",
"import time"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## V3 Add track constraints\n",
"inspried from -> https://arxiv.org/pdf/1711.07300.pdf\n",
"\n",
"explanation here...\n",
"\n",
"benefits:\n",
"* add a soft form of obstacle aoidance"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f35d2a74b80>]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x720 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def generate_track_bounds(track,width=0.5):\n",
" \"\"\"\n",
" in world frame\n",
" \"\"\"\n",
" bounds_low=np.zeros((2, track.shape[1]))\n",
" bounds_upp=np.zeros((2, track.shape[1]))\n",
" \n",
" for idx in range(track.shape[1]):\n",
" x = track[0,idx]\n",
" y = track [1,idx]\n",
" th = track [2,idx]\n",
" \n",
" \"\"\"\n",
" trasform the points\n",
" \"\"\"\n",
" bounds_upp[0, idx] = 0 * np.cos(th) - width * np.sin(th) + x #X\n",
" bounds_upp[1, idx] = 0 * np.sin(th) + width * np.cos(th) + y #Y\n",
" \n",
" bounds_low[0, idx] = 0 * np.cos(th) - (-width) * np.sin(th) + x #X\n",
" bounds_low[1, idx] = 0 * np.sin(th) + (-width) * np.cos(th) + y #Y\n",
" \n",
" return bounds_low, bounds_upp\n",
"\n",
"track = compute_path_from_wp([0,3,4,6,10,12,14,6,1,0],\n",
" [0,0,2,4,3,3,-2,-6,-2,-2],0.05)\n",
"\n",
"lower, upper = generate_track_bounds(track)\n",
"\n",
"plt.figure(figsize=(15,10))\n",
"\n",
"plt.plot(track[0,:],track[1,:],\"b-\")\n",
"plt.plot(lower[0,:],lower[1,:],\"g-\")\n",
"plt.plot(upper[0,:],upper[1,:],\"r-\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"the points can be used to generate the **halfplane constrains** for each reference point.\n",
"the issues (outliers points) should be gone after we are in vehicle frame...\n",
"\n",
"the halfplane constrains are defined given the line equation:\n",
"\n",
"**lower halfplane**\n",
"$$ a1x_1 + b1x_2 = c1 \\rightarrow a1x_1 + b1x_2 \\leq c1$$\n",
"\n",
"**upper halfplane**\n",
"$$ a2x_1 - b2x_2 = c2 \\rightarrow a2x_1 + b2x_2 \\leq c2$$\n",
"\n",
"we want to combine this in matrix form:\n",
"\n",
"$$\n",
"\\begin{bmatrix}\n",
"x_1 \\\\\n",
"x_2 \n",
"\\end{bmatrix}\n",
"\\begin{bmatrix}\n",
"a_1 & a_2\\\\\n",
"b_1 & b_2\n",
"\\end{bmatrix}\n",
"\\leq\n",
"\\begin{bmatrix}\n",
"c_1 \\\\\n",
"c_2 \n",
"\\end{bmatrix}\n",
"$$\n",
"\n",
"becouse our track points have known heading the coefficients can be computed from:\n",
"\n",
"$$ y - y' = \\frac{sin(\\theta)}{cos(\\theta)}(x - x') $$"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(-2.0, 2.0)"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 360x360 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use(\"ggplot\")\n",
"\n",
"def get_coeff(x,y,theta):\n",
" m = np.sin(theta)/np.cos(theta)\n",
" return(-m,1,y-m*x)\n",
"\n",
"#test -> assume point 10,1,pi/6\n",
"coeff = get_coeff(1,-1, np.pi/2)\n",
"y = []\n",
"pts = np.linspace(0,20,100)\n",
"\n",
"for x in pts:\n",
" y.append((-coeff[0]*x+coeff[2])/coeff[1])\n",
" \n",
"plt.figure(figsize=(5,5))\n",
"plt.plot(pts,y,\"b-\")\n",
"\n",
"plt.xlim((-2, 2))\n",
"plt.ylim((-2, 2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## WARN TANGENT BREAKS AROUND PI/2?\n",
"force the equation to x = val"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(-2.0, 2.0)"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 360x360 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def get_coeff(x,y,theta):\n",
" \n",
" if (theta - np.pi/2) < 0.01:\n",
" #print (\"WARN -> theta is 90, tan is: \" + str(theta))\n",
" # eq is x = val\n",
" m = 0\n",
" return (1,1e-6,x)\n",
" else:\n",
" m = np.sin(theta)/np.cos(theta)\n",
" return(-m,1,y-m*x)\n",
" \n",
"#test -> assume point 10,1,pi/6\n",
"coeff = get_coeff(1,-1, np.pi/2)\n",
"y = []\n",
"pts = np.linspace(0,20,100)\n",
"\n",
"for x in pts:\n",
" y.append((-coeff[0]*x+coeff[2])/coeff[1])\n",
" \n",
"plt.figure(figsize=(5,5))\n",
"\n",
"plt.plot(pts,y,\"b-\")\n",
"plt.axis(\"equal\")\n",
"plt.xlim((-2, 2))\n",
"plt.ylim((-2, 2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"becouse the controller uses vhicle reference frame this rquire adapting -> the semiplane constraints must be gathetered from **x_ref points**\n",
"\n",
"*low and up are w.r.t vehicle y axis*"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"def get_track_constrains(x_ref, width=0.5):\n",
" \"\"\"\n",
" x_ref has hape (4,T) -> [x,y,v,theta]_ref \n",
" \"\"\"\n",
" \n",
" #1-> get the upper and lower points\n",
" pts_low=np.zeros((3, x_ref.shape[1]))\n",
" pts_upp=np.zeros((3, x_ref.shape[1]))\n",
" \n",
" for idx in range(x_ref.shape[1]):\n",
" x = x_ref [0, idx]\n",
" y = x_ref [1, idx]\n",
" th = x_ref [3, idx]\n",
" \n",
" \"\"\"\n",
" trasform the points\n",
" \"\"\"\n",
" pts_upp[0, idx] = 0 * np.cos(th) - width * np.sin(th) + x #X\n",
" pts_upp[1, idx] = 0 * np.sin(th) + width * np.cos(th) + y #Y\n",
" pts_upp[2, idx] = th #heading\n",
" \n",
" pts_low[0, idx] = 0 * np.cos(th) - (-width) * np.sin(th) + x #X\n",
" pts_low[1, idx] = 0 * np.sin(th) + (-width) * np.cos(th) + y #Y\n",
" pts_low[2, idx] = th #heading\n",
" \n",
" #get coefficients ->(a,b,c)\n",
" coeff_low=np.zeros((3, x_ref.shape[1]))\n",
" coeff_upp=np.zeros((3, x_ref.shape[1]))\n",
" \n",
" for idx in range(pts_upp.shape[1]):\n",
" f = get_coeff(pts_low[0,idx],pts_low[1,idx],pts_low[2,idx])\n",
" coeff_low[0,idx]=f[0]\n",
" coeff_low[1,idx]=f[1]\n",
" coeff_low[2,idx]=f[2]\n",
" \n",
" f = get_coeff(pts_upp[0,idx],pts_upp[1,idx],pts_upp[2,idx])\n",
" coeff_upp[0,idx]=f[0]\n",
" coeff_upp[1,idx]=f[1]\n",
" coeff_upp[2,idx]=f[2]\n",
" \n",
" return coeff_low, coeff_upp\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## MPC INTEGRATION\n",
"\n",
"compare the results with and without"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"\"\"\"\n",
"Control problem statement.\n",
"\"\"\"\n",
"\n",
"N = 4 #number of state variables\n",
"M = 2 #number of control variables\n",
"T = 20 #Prediction Horizon\n",
"DT = 0.2 #discretization step\n",
"\n",
"def get_linear_model(x_bar,u_bar):\n",
" \"\"\"\n",
" Computes the LTI approximated state space model x' = Ax + Bu + C\n",
" \"\"\"\n",
" \n",
" L=0.3 #vehicle wheelbase\n",
" \n",
" x = x_bar[0]\n",
" y = x_bar[1]\n",
" v = x_bar[2]\n",
" theta = x_bar[3]\n",
" \n",
" a = u_bar[0]\n",
" delta = u_bar[1]\n",
" \n",
" A = np.zeros((N,N))\n",
" A[0,2]=np.cos(theta)\n",
" A[0,3]=-v*np.sin(theta)\n",
" A[1,2]=np.sin(theta)\n",
" A[1,3]=v*np.cos(theta)\n",
" A[3,2]=v*np.tan(delta)/L\n",
" A_lin=np.eye(N)+DT*A\n",
" \n",
" B = np.zeros((N,M))\n",
" B[2,0]=1\n",
" B[3,1]=v/(L*np.cos(delta)**2)\n",
" B_lin=DT*B\n",
" \n",
" f_xu=np.array([v*np.cos(theta), v*np.sin(theta), a,v*np.tan(delta)/L]).reshape(N,1)\n",
" C_lin = DT*(f_xu - np.dot(A,x_bar.reshape(N,1)) - np.dot(B,u_bar.reshape(M,1)))\n",
" \n",
" return np.round(A_lin,4), np.round(B_lin,4), np.round(C_lin,4)\n",
"\n",
"\"\"\"\n",
"the ODE is used to update the simulation given the mpc results\n",
"I use this insted of using the LTI twice\n",
"\"\"\"\n",
"def kinematics_model(x,t,u):\n",
" \"\"\"\n",
" Returns the set of ODE of the vehicle model.\n",
" \"\"\"\n",
" \n",
" L=0.3 #vehicle wheelbase\n",
" dxdt = x[2]*np.cos(x[3])\n",
" dydt = x[2]*np.sin(x[3])\n",
" dvdt = u[0]\n",
" dthetadt = x[2]*np.tan(u[1])/L\n",
"\n",
" dqdt = [dxdt,\n",
" dydt,\n",
" dvdt,\n",
" dthetadt]\n",
"\n",
" return dqdt\n",
"\n",
"def predict(x0,u):\n",
" \"\"\"\n",
" \"\"\"\n",
" \n",
" x_ = np.zeros((N,T+1))\n",
" \n",
" x_[:,0] = x0\n",
" \n",
" # solve ODE\n",
" for t in range(1,T+1):\n",
"\n",
" tspan = [0,DT]\n",
" x_next = odeint(kinematics_model,\n",
" x0,\n",
" tspan,\n",
" args=(u[:,t-1],))\n",
"\n",
" x0 = x_next[1]\n",
" x_[:,t]=x_next[1]\n",
" \n",
" return x_\n",
"\n",
"\n",
"\"\"\"\n",
"MODIFIED TO INCLUDE FRAME TRANSFORMATION\n",
"\"\"\"\n",
"def compute_path_from_wp(start_xp, start_yp, step = 0.1):\n",
" \"\"\"\n",
" Computes a reference path given a set of waypoints\n",
" \"\"\"\n",
" \n",
" final_xp=[]\n",
" final_yp=[]\n",
" delta = step #[m]\n",
"\n",
" for idx in range(len(start_xp)-1):\n",
" section_len = np.sum(np.sqrt(np.power(np.diff(start_xp[idx:idx+2]),2)+np.power(np.diff(start_yp[idx:idx+2]),2)))\n",
"\n",
" interp_range = np.linspace(0,1,np.floor(section_len/delta).astype(int))\n",
" \n",
" fx=interp1d(np.linspace(0,1,2),start_xp[idx:idx+2],kind=1)\n",
" fy=interp1d(np.linspace(0,1,2),start_yp[idx:idx+2],kind=1)\n",
" \n",
" # watch out to duplicate points!\n",
" final_xp=np.append(final_xp,fx(interp_range)[1:])\n",
" final_yp=np.append(final_yp,fy(interp_range)[1:])\n",
" \n",
" dx = np.append(0, np.diff(final_xp))\n",
" dy = np.append(0, np.diff(final_yp))\n",
" theta = np.arctan2(dy, dx)\n",
"\n",
" return np.vstack((final_xp,final_yp,theta))\n",
"\n",
"\n",
"def get_nn_idx(state,path):\n",
" \"\"\"\n",
" Computes the index of the waypoint closest to vehicle\n",
" \"\"\"\n",
"\n",
" dx = state[0]-path[0,:]\n",
" dy = state[1]-path[1,:]\n",
" dist = np.hypot(dx,dy)\n",
" nn_idx = np.argmin(dist)\n",
"\n",
" try:\n",
" v = [path[0,nn_idx+1] - path[0,nn_idx],\n",
" path[1,nn_idx+1] - path[1,nn_idx]] \n",
" v /= np.linalg.norm(v)\n",
"\n",
" d = [path[0,nn_idx] - state[0],\n",
" path[1,nn_idx] - state[1]]\n",
"\n",
" if np.dot(d,v) > 0:\n",
" target_idx = nn_idx\n",
" else:\n",
" target_idx = nn_idx+1\n",
"\n",
" except IndexError as e:\n",
" target_idx = nn_idx\n",
"\n",
" return target_idx\n",
"\n",
"def normalize_angle(angle):\n",
" \"\"\"\n",
" Normalize an angle to [-pi, pi]\n",
" \"\"\"\n",
" while angle > np.pi:\n",
" angle -= 2.0 * np.pi\n",
"\n",
" while angle < -np.pi:\n",
" angle += 2.0 * np.pi\n",
"\n",
" return angle\n",
"\n",
"def get_ref_trajectory(state, path, target_v):\n",
" \"\"\"\n",
" modified reference in robot frame\n",
" \"\"\"\n",
" xref = np.zeros((N, T + 1))\n",
" dref = np.zeros((1, T + 1))\n",
" \n",
" #sp = np.ones((1,T +1))*target_v #speed profile\n",
" \n",
" ncourse = path.shape[1]\n",
"\n",
" ind = get_nn_idx(state, path)\n",
" dx=path[0,ind] - state[0]\n",
" dy=path[1,ind] - state[1]\n",
" \n",
" xref[0, 0] = dx * np.cos(-state[3]) - dy * np.sin(-state[3]) #X\n",
" xref[1, 0] = dy * np.cos(-state[3]) + dx * np.sin(-state[3]) #Y\n",
" xref[2, 0] = target_v #V\n",
" xref[3, 0] = normalize_angle(path[2,ind]- state[3]) #Theta\n",
" dref[0, 0] = 0.0 # steer operational point should be 0\n",
" \n",
" dl = 0.05 # Waypoints spacing [m]\n",
" travel = 0.0\n",
" \n",
" for i in range(T + 1):\n",
" travel += abs(target_v) * DT #current V or target V?\n",
" dind = int(round(travel / dl))\n",
" \n",
" if (ind + dind) < ncourse:\n",
" dx=path[0,ind + dind] - state[0]\n",
" dy=path[1,ind + dind] - state[1]\n",
" \n",
" xref[0, i] = dx * np.cos(-state[3]) - dy * np.sin(-state[3])\n",
" xref[1, i] = dy * np.cos(-state[3]) + dx * np.sin(-state[3])\n",
" xref[2, i] = target_v #sp[ind + dind]\n",
" xref[3, i] = normalize_angle(path[2,ind + dind] - state[3])\n",
" dref[0, i] = 0.0\n",
" else:\n",
" dx=path[0,ncourse - 1] - state[0]\n",
" dy=path[1,ncourse - 1] - state[1]\n",
" \n",
" xref[0, i] = dx * np.cos(-state[3]) - dy * np.sin(-state[3])\n",
" xref[1, i] = dy * np.cos(-state[3]) + dx * np.sin(-state[3])\n",
" xref[2, i] = 0.0 #stop? #sp[ncourse - 1]\n",
" xref[3, i] = normalize_angle(path[2,ncourse - 1] - state[3])\n",
" dref[0, i] = 0.0\n",
"\n",
" return xref, dref"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"simpe u-turn test\n",
"\n",
"## 1-> NO BOUNDS"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CVXPY Optimization Time: Avrg: 0.1656s Max: 0.2061s Min: 0.1480s\n"
]
}
],
"source": [
"track = compute_path_from_wp([0,3,3,0],\n",
" [0,0,1,1],0.05)\n",
"\n",
"track_lower, track_upper = generate_track_bounds(track,0.12)\n",
"\n",
"sim_duration = 50 #time steps\n",
"opt_time=[]\n",
"\n",
"x_sim = np.zeros((N,sim_duration))\n",
"u_sim = np.zeros((M,sim_duration-1))\n",
"\n",
"MAX_SPEED = 1.5 #m/s\n",
"MAX_ACC = 1.0 #m/ss\n",
"MAX_D_ACC = 1.0 #m/sss\n",
"MAX_STEER = np.radians(30) #rad\n",
"MAX_D_STEER = np.radians(30) #rad/s\n",
"\n",
"REF_VEL = 1.0 #m/s\n",
"\n",
"# Starting Condition\n",
"x0 = np.zeros(N)\n",
"x0[0] = 0 #x\n",
"x0[1] = -0.25 #y\n",
"x0[2] = 0.0 #v\n",
"x0[3] = np.radians(-0) #yaw\n",
" \n",
"#starting guess\n",
"u_bar = np.zeros((M,T))\n",
"u_bar[0,:] = MAX_ACC/2 #a\n",
"u_bar[1,:] = 0.0 #delta\n",
" \n",
"for sim_time in range(sim_duration-1):\n",
" \n",
" iter_start = time.time()\n",
" \n",
" # dynamics starting state w.r.t. robot are always null except vel \n",
" x_bar = np.zeros((N,T+1))\n",
" x_bar[2,0] = x_sim[2,sim_time]\n",
" \n",
" #prediction for linearization of costrains\n",
" for t in range (1,T+1):\n",
" xt = x_bar[:,t-1].reshape(N,1)\n",
" ut = u_bar[:,t-1].reshape(M,1)\n",
" A,B,C = get_linear_model(xt,ut)\n",
" xt_plus_one = np.squeeze(np.dot(A,xt)+np.dot(B,ut)+C)\n",
" x_bar[:,t] = xt_plus_one\n",
" \n",
" #CVXPY Linear MPC problem statement\n",
" x = cp.Variable((N, T+1))\n",
" u = cp.Variable((M, T))\n",
" cost = 0\n",
" constr = []\n",
"\n",
" # Cost Matrices\n",
" Q = np.diag([20,20,10,20]) #state error cost\n",
" Qf = np.diag([30,30,30,30]) #state final error cost\n",
" R = np.diag([10,10]) #input cost\n",
" R_ = np.diag([10,10]) #input rate of change cost\n",
"\n",
" #Get Reference_traj\n",
" #dont use x0 in this case\n",
" x_ref, d_ref = get_ref_trajectory(x_sim[:,sim_time] ,track, REF_VEL)\n",
" \n",
" #Prediction Horizon\n",
" for t in range(T):\n",
"\n",
" # Tracking Error\n",
" cost += cp.quad_form(x[:,t] - x_ref[:,t], Q)\n",
"\n",
" # Actuation effort\n",
" cost += cp.quad_form(u[:,t], R)\n",
"\n",
" # Actuation rate of change\n",
" if t < (T - 1):\n",
" cost += cp.quad_form(u[:,t+1] - u[:,t], R_)\n",
" constr+= [cp.abs(u[0, t + 1] - u[0, t])/DT <= MAX_D_ACC] #max acc rate of change\n",
" constr += [cp.abs(u[1, t + 1] - u[1, t])/DT <= MAX_D_STEER] #max steer rate of change\n",
"\n",
" # Kinrmatics Constrains (Linearized model)\n",
" A,B,C = get_linear_model(x_bar[:,t], u_bar[:,t])\n",
" constr += [x[:,t+1] == A@x[:,t] + B@u[:,t] + C.flatten()]\n",
" \n",
" #Final Point tracking\n",
" cost += cp.quad_form(x[:, T] - x_ref[:, T], Qf)\n",
"\n",
" # sums problem objectives and concatenates constraints.\n",
" constr += [x[:,0] == x_bar[:,0]] #starting condition\n",
" constr += [x[2,:] <= MAX_SPEED] #max speed\n",
" constr += [x[2,:] >= 0.0] #min_speed (not really needed)\n",
" constr += [cp.abs(u[0,:]) <= MAX_ACC] #max acc\n",
" constr += [cp.abs(u[1,:]) <= MAX_STEER] #max steer\n",
" \n",
" # Solve\n",
" prob = cp.Problem(cp.Minimize(cost), constr)\n",
" solution = prob.solve(solver=cp.OSQP, verbose=False)\n",
" \n",
" #retrieved optimized U and assign to u_bar to linearize in next step\n",
" u_bar = np.vstack((np.array(u.value[0,:]).flatten(),\n",
" (np.array(u.value[1,:]).flatten())))\n",
" \n",
" u_sim[:,sim_time] = u_bar[:,0]\n",
" \n",
" # Measure elpased time to get results from cvxpy\n",
" opt_time.append(time.time()-iter_start)\n",
" \n",
" # move simulation to t+1\n",
" tspan = [0,DT]\n",
" x_sim[:,sim_time+1] = odeint(kinematics_model,\n",
" x_sim[:,sim_time],\n",
" tspan,\n",
" args=(u_bar[:,0],))[1]\n",
" \n",
"print(\"CVXPY Optimization Time: Avrg: {:.4f}s Max: {:.4f}s Min: {:.4f}s\".format(np.mean(opt_time),\n",
" np.max(opt_time),\n",
" np.min(opt_time))) "
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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7NmzcRyHCRMm0LdvXxYtWgRATk4OACtXruSwww4jNja24dyysjIefPBBAOrq6hg3bhyHH3540Go1SanYzz4K2vWl61CAISIiIiIi0gllZmaSmZnZaN+u4GKX4447juOOO67Rvp49e/LAAw8Eu7zdklKgsgJbU4OJiuq4+0rE0RASERERERERCZ5kLaUqgaEAQ0RERERERILGJO0KMDQPhrSPAgwREREREREJnqQU/3f1wJB2UoAhIiIiIiIiwZOcAoDVSiTSTgowREREREREJHh29cBQgCHtpABDREREREREgsZ4oiAxGUoKQ12KdHIKMERERERERCS4Un1YBRjSTgowREREREREJLjSfFCsAEPaRwGGiIiIiIiIBJVJ664hJNJuCjBEREREREQkuNJ8UFWJraoMdSXSiXlCXYCIiIiIiEikWLx4cYvaud1uxo8fH+Rqwkiqz/+9uBAy+oW2Fum0FGCIiIiIiIgEyFNPPcWwYcP22y4/P79LBRgmzYcFKN6qAEPaTAGGiIiIiIhIgERHR3PXXXftt91ll13W7nutXbuWBQsW4DgOkyZNYvLkyY2Of/rpp9x///306NEDgNGjR3P22We36NyAS+0OgC3ZignunSSCKcAQEREREREJkF//+tctanffffe16z6O4zB//nymT5+O1+vl9ttvJysriz59+jRqN2zYMG677bY2nRtQKWlgXFqJRNpFk3iKiIiIiIgESO/evVvUrlevXu26T35+Pr169aJnz554PB7GjBnDqlWrgn5uWxm32x9iKMCQdlCAISIiIiIiEgQvv/wyX3/9NQDr16/n6quv5rrrrmP9+vXtvnZxcTFer7fhs9frpbi4eJ9269evZ9q0adx777189913rTo34NJ8WC2lKu2gISQiIiIiIiJB8MorrzBx4kQAnnvuOU455RTi4uJ49tlnuffee9t1bWvtPvuMaTy7xIEHHsjjjz9ObGwsq1ev5oEHHmDevHktOneXvLw88vLyAJgzZw4+n6/Jdh6Pp9lju5T2yqD2f+v32y7cteRZI0E4PqcCDBERERERkSCorKwkPj6eqqoqvv76a2bMmIHL5eIPf/hDu6/t9XopKipq+FxUVERqamqjNvHx8Q3bmZmZzJ8/n/Ly8hadu0t2djbZ2dkNnwsLm+5B4fP5mj22i9MtEVv4A1u3bm02MOkMWvKs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06rzJTy5jj8d57HZ2A+XY448tkXnOEvfgKQUzBFjg1xdcKkHhoiIiIiISCeycOFCRowYwbx58xgxYgQLFy5stu1dd93FAw880BBetPZ8CUOHjoIe6dhFC7HWYjd9i7P0dWzF9iab2+Kt8PEH/qVTPZ27D4MCDBERERERkU5k1apVjB8/HoDx48ezatWqDj1fQsu4XJjjT4Nv8nH+32U4d1+H/ePjOE/nYh1nn/b23TcBizkmp+OLDbDOHb+IiIiIiIh0MWVlZaSmpgKQmppKeXl5s21nz54NwPHHH092dnarz8/LyyMvLw+AOXPm4PP5mmzn8XiaPRZpwuFZ7annUrLmPVwJSUQfcTR2Wznb//QE8Svy6Db5gt3t6mopXLGYqMOPJHXYIa26Rzg8594UYIiIiIiIiISZmTNnUlpaus/+8847r1XXSEtLo6ysjFmzZpGens7w4a1bgSI7O7sh+AAoLCxssp3P52v2WKQJm2e9eSYOUAtYa2HdR2z/02+pzOiPOXAIAPajlThFBdSee3mraw7lc6anpze5XwGGiIiIiIhImJkxY0azx5KTkykpKSE1NZWSkhKSkpKabJeWltbQftSoUeTn5zN8+PAWny+dhzEG1yXX48y8CeepB3Bdch0MGoaz5HVITvXPmxEBNAeGiIiIiIhIJ5KVlcWSJUsAWLJkCaNG7fvDaXV1NVVVVQ3bH3/8Mf369Wvx+dL5mG4JuH7+C9hWhvPQDJwbL4BPPsSMPb7TT965S2Q8hYiIiIiISBcxefJk5s6dy+LFi/H5fNxyyy0AFBcX8+STT3L77bdTVlbGgw8+CEBdXR3jxo3j8MMP/9HzpfMzA4fieuBZWP8p9rO12C0bMRN+EuqyAsZYa22oiwi2zZs3h/T+YTNGSgJG7zQy6b1GHr3TyKT3Gpn0XiNPV3mnzY3Vj1TN/WzVVd43dJ1nDcc5MDSERERERERERETCngIMEREREREREQl7CjBEREREREREJOwpwBARERERERGRsKcAQ0RERERERETCnpZRFRERERERkRb5sVVXutKKLF3lWcPtOdUDQ0RERERERNrltttuC3UJHaarPGs4PqcCDBEREREREREJewowRERERERERCTsKcAQERERERGRdsnOzg51CR2mqzxrOD6nAgwRERERERFpl3D8YTdYusqzhuNzKsAQERERERER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3YepqAjINaVtfD4fUVFRoS4joOy39RN4KsAICtMtEXr3xX75eahLCSr1wBARERER6WRcE0/BJqfhPJ2L8+tbcd14N8bXs50XdVF2zz10P/10Eh59lG233hqYYqXVrrrqKp588knGjh1LcnJyo2PDhw9v0TXWrl3LggULcByHSZMmMXny5H3afPrppzz77LPU1dWRmJjIPffcE4jym/bNl5CYDKne4N2jizODhmE/XI51HIwrMvsqKMAQEREREemEzBFjcCUm4zw2C2fO/8N1w12YfgPadc2arCwqzzyThCefpPKCC6jr2zdA1Upr/O9//2PNmjV89tlnREc3npDxt7/97X7PdxyH+fPnM336dLxeL7fffjtZWVn06dOnoU1FRQVPP/00v/zlL/H5fJSVlQX8OfZkv/0SDhgYsMlnpQkDh8KyRfD9RkjvF+pqgkIBhoiIiIhIJ2WGHIzr//0a55G7cZ6Yg2vWbzEud7uuWX777cS+9hpJM2dS8tRTAapUWuO5557j1ltv5dBDD23T+fn5+fTq1YuePf29csaMGcOqVasaBRjvvvsuo0ePxufzAezT0yOQ7M4dsPlbzKGjgnYPATNwGJb6eTAUYIiIiIiISLgxGf1w/fRynCd+DWvehyPGtut6Tno626+9lqQHH6TivffYefTRAapUWiomJqbFQ0WaUlxcjNe7e6iG1+tlw4YNjdps2bKF2tpa7r77bqqqqjjppJMYP378PtfKy8sjLy8PgDlz5jQEHnvzeDzNHqv58guKHYek4YcR20ybzuDHnjEcWK+XrUkpxGz6iuR21BnOz6kAQ0RERESksxt5FHTvhfP6i7gyx7S7m/72q64i/rnnSL7zTra+/jq4W9+rY+ZMN1df3a4yuqyf/vSnPPvss5x99tkkJSU1OuZqwdwG1tp99u39d6Kuro6vvvqKGTNmsHPnTqZPn87gwYNJT09v1C47O5vs7OyGz4XNLC3j8/maPWa/9C/tuS22G9s78dI0P/aM4cIeOITqT9ZS0446w+E59/57uIsCDBERERGRTs643JicM7B//i2s/wTau4xiXBzl06eTdvXVxD/3HJUXXdTqS8yapQCjrXbNc/Hmm2/uc+z555/f7/ler5eioqKGz0VFRaSmpu7TJjExkdjYWGJjYxk2bBjffPNNsz84toct2urf8PUI+LWlMTNwGPaj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qWCI15XEHHpgAAAAAECEaGxs1IUXXrjfdvHx8X1QTYzatkmSZAgw+hwBBgAAAABEiEcffbRb7YwxvVxJ7LLbNknGSANYgaSvEWAAAAAAQITIz8/3uoSYZ7dukvIHyiQmel1KzGEODAAAAAAAumvbV1Ihw0e8QIABAAAAAEA32OYmaed2GZZQ9QQBBgAAAAAA3bF9s2QdqYAAwwsEGAAAAAAAdIPdGlyBhCEknmASTwAAAACIINXV1Vq+fLlWrlypr776SvX19UpJSdHQoUM1fvx4nXLKKcrIyPC6zOi09SvJ75f6FXhdSUwiwAAAAACACPHb3/5Wb7zxho466iiddtppKiwsVHJyshoaGrR161atXr1aP/nJT3TiiSfqkksu8brcqGO3bZIGDJLx81HaC/zWAQAAACBCZGdn65FHHlF8fPwe9w0bNkwnnniimpqatHTpUg+qiwFbv5IZOc7rKmIWc2AAAAAAQIT45je/2RZeVFZWdtmmvr5eZ555Zh9WFRuculqpvIQlVD1EgAEAAAAAEej666/vcvuNN97Yx5XEhpbNGyRJpvAQbwuJYQQYAAAAABCBrLV7bKuvr5fPx8e83tCyab17hR4YnmEODAAAAACIINdcc40kqampqe16q9raWn3961/3oqyo17LpSykxWcrJ97qUmEWAAQAAAAAR5LrrrpO1Vvfee6+uu+66TvdlZWWpoIAlPntDy1dfSgWDZejh4hkCDAAAAACIIOPGuatgPPnkk0pMTPS4mthgrVXLpi9ljjzW61JiGtERAAAAAESIV155Rc3NzZK01/CiublZr7zySl+WFf1qKmWrK6UC5r/wEj0wAAAAACBCVFZWasaMGTrqqKM0btw4FRQUKCkpSY2Njdq2bZtWr16tDz74QJMnT/a61OiydZMkyRQO9biQ2EaAAQAAAAAR4uKLL9Y555yj119/XUuXLtWmTZtUV1entLQ0DRkyREcddZQuuugipaene11qVLFbN7pXWIHEUwQYAAAAABBBMjIydO655+rcc8/1upTYsWmDfFk5MhnZXlcS05gDAwAAAACAfbBbNsg/bJTXZcQ8emAAAAAAQASqr6/XH/7wB61evVo1NTWy1rbdt3DhQg8riy62pVnavln+CSco4HUxMY4eGAAAAAAQgX79619rw4YNOv/881VbW6srr7xSeXl5Ovvss70u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\n",
"text/plain": [
"<Figure size 1080x720 with 5 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#plot trajectory\n",
"grid = plt.GridSpec(4, 5)\n",
"\n",
"plt.figure(figsize=(15,10))\n",
"\n",
"plt.subplot(grid[0:4, 0:4])\n",
"plt.plot(track[0,:],track[1,:],\"b+\")\n",
"plt.plot(track_lower[0,:],track_lower[1,:],\"g-\")\n",
"plt.plot(track_upper[0,:],track_upper[1,:],\"r-\")\n",
"plt.plot(x_sim[0,:],x_sim[1,:])\n",
"plt.axis(\"equal\")\n",
"plt.ylabel('y')\n",
"plt.xlabel('x')\n",
"\n",
"plt.subplot(grid[0, 4])\n",
"plt.plot(u_sim[0,:])\n",
"plt.ylabel('a(t) [m/ss]')\n",
"\n",
"plt.subplot(grid[1, 4])\n",
"plt.plot(x_sim[2,:])\n",
"plt.ylabel('v(t) [m/s]')\n",
"\n",
"plt.subplot(grid[2, 4])\n",
"plt.plot(np.degrees(u_sim[1,:]))\n",
"plt.ylabel('delta(t) [rad]')\n",
"\n",
"plt.subplot(grid[3, 4])\n",
"plt.plot(x_sim[3,:])\n",
"plt.ylabel('theta(t) [rad]')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2-> WITH BOUNDS\n",
"if there is 90 deg turn the optimization fails!\n",
"if speed is too high it also fails ..."
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"from scipy.signal import savgol_filter\n",
"def compute_path_from_wp(start_xp, start_yp, step = 0.1):\n",
" \"\"\"\n",
" Computes a reference path given a set of waypoints\n",
" \"\"\"\n",
" \n",
" final_xp=[]\n",
" final_yp=[]\n",
" delta = step #[m]\n",
"\n",
" for idx in range(len(start_xp)-1):\n",
" section_len = np.sum(np.sqrt(np.power(np.diff(start_xp[idx:idx+2]),2)+np.power(np.diff(start_yp[idx:idx+2]),2)))\n",
"\n",
" interp_range = np.linspace(0,1,np.floor(section_len/delta).astype(int))\n",
" \n",
" fx=interp1d(np.linspace(0,1,2),start_xp[idx:idx+2],kind=1)\n",
" fy=interp1d(np.linspace(0,1,2),start_yp[idx:idx+2],kind=1)\n",
" \n",
" # watch out to duplicate points!\n",
" final_xp=np.append(final_xp,fx(interp_range)[1:])\n",
" final_yp=np.append(final_yp,fy(interp_range)[1:])\n",
" \n",
" \"\"\"this smoothens up corners\"\"\"\n",
" window_size = 11 # Smoothening filter window\n",
" final_xp = savgol_filter(final_xp, window_size, 1)\n",
" final_yp = savgol_filter(final_yp, window_size, 1)\n",
" \n",
" dx = np.append(0, np.diff(final_xp))\n",
" dy = np.append(0, np.diff(final_yp))\n",
" theta = np.arctan2(dy, dx)\n",
"\n",
" return np.vstack((final_xp,final_yp,theta))\n"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/marcello/.conda/envs/jupyter/lib/python3.8/site-packages/cvxpy/problems/problem.py:1054: UserWarning: Solution may be inaccurate. Try another solver, adjusting the solver settings, or solve with verbose=True for more information.\n",
" warnings.warn(\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"CVXPY Optimization Time: Avrg: 0.1837s Max: 0.2651s Min: 0.1593s\n"
]
}
],
"source": [
"WIDTH=0.12\n",
"computed_coeff = []\n",
"\n",
"track = compute_path_from_wp([0,3,3,0],\n",
" [0,0,1,1],0.05)\n",
"\n",
"track_lower, track_upper = generate_track_bounds(track,WIDTH)\n",
"\n",
"sim_duration = 200 #time steps\n",
"opt_time=[]\n",
"\n",
"x_sim = np.zeros((N,sim_duration))\n",
"u_sim = np.zeros((M,sim_duration-1))\n",
"\n",
"MAX_SPEED = 1.5 #m/s\n",
"MAX_ACC = 1.0 #m/ss\n",
"MAX_D_ACC = 1.0 #m/sss\n",
"MAX_STEER = np.radians(30) #rad\n",
"MAX_D_STEER = np.radians(30) #rad/s\n",
"\n",
"REF_VEL = 0.4 #m/s\n",
"\n",
"# Starting Condition\n",
"x0 = np.zeros(N)\n",
"x0[0] = 0 #x\n",
"x0[1] = -WIDTH/2 #y\n",
"x0[2] = 0.0 #v\n",
"x0[3] = np.radians(-0) #yaw\n",
" \n",
"#starting guess\n",
"u_bar = np.zeros((M,T))\n",
"u_bar[0,:] = MAX_ACC/2 #a\n",
"u_bar[1,:] = 0.0 #delta\n",
" \n",
"for sim_time in range(sim_duration-1):\n",
" \n",
" iter_start = time.time()\n",
" \n",
" # dynamics starting state w.r.t. robot are always null except vel \n",
" x_bar = np.zeros((N,T+1))\n",
" x_bar[2,0] = x_sim[2,sim_time]\n",
" \n",
" #prediction for linearization of costrains\n",
" for t in range (1,T+1):\n",
" xt = x_bar[:,t-1].reshape(N,1)\n",
" ut = u_bar[:,t-1].reshape(M,1)\n",
" A,B,C = get_linear_model(xt,ut)\n",
" xt_plus_one = np.squeeze(np.dot(A,xt)+np.dot(B,ut)+C)\n",
" x_bar[:,t] = xt_plus_one\n",
" \n",
" #CVXPY Linear MPC problem statement\n",
" x = cp.Variable((N, T+1))\n",
" u = cp.Variable((M, T))\n",
" cost = 0\n",
" constr = []\n",
"\n",
" # Cost Matrices\n",
" Q = np.diag([20,20,10,20]) #state error cost\n",
" Qf = np.diag([30,30,30,30]) #state final error cost\n",
" R = np.diag([10,10]) #input cost\n",
" R_ = np.diag([10,10]) #input rate of change cost\n",
"\n",
" #Get Reference_traj\n",
" #dont use x0 in this case\n",
" x_ref, d_ref = get_ref_trajectory(x_sim[:,sim_time] ,track, REF_VEL)\n",
" \n",
" #Prediction Horizon\n",
" for t in range(T):\n",
"\n",
" # Tracking Error\n",
" cost += cp.quad_form(x[:,t] - x_ref[:,t], Q)\n",
"\n",
" # Actuation effort\n",
" cost += cp.quad_form(u[:,t], R)\n",
"\n",
" # Actuation rate of change\n",
" if t < (T - 1):\n",
" cost += cp.quad_form(u[:,t+1] - u[:,t], R_)\n",
" constr+= [cp.abs(u[0, t + 1] - u[0, t])/DT <= MAX_D_ACC] #max acc rate of change\n",
" constr += [cp.abs(u[1, t + 1] - u[1, t])/DT <= MAX_D_STEER] #max steer rate of change\n",
"\n",
" # Kinrmatics Constrains (Linearized model)\n",
" A,B,C = get_linear_model(x_bar[:,t], u_bar[:,t])\n",
" constr += [x[:,t+1] == A@x[:,t] + B@u[:,t] + C.flatten()]\n",
" \n",
" #Final Point tracking\n",
" cost += cp.quad_form(x[:, T] - x_ref[:, T], Qf)\n",
"\n",
" # sums problem objectives and concatenates constraints.\n",
" constr += [x[:,0] == x_bar[:,0]] #starting condition\n",
" constr += [x[2,:] <= MAX_SPEED] #max speed\n",
" constr += [x[2,:] >= 0.0] #min_speed (not really needed)\n",
" constr += [cp.abs(u[0,:]) <= MAX_ACC] #max acc\n",
" constr += [cp.abs(u[1,:]) <= MAX_STEER] #max steer\n",
" \n",
" #Track constrains\n",
" low,upp = get_track_constrains(x_ref,WIDTH)\n",
" computed_coeff.append((low,upp))\n",
" for ii in range(low.shape[1]):\n",
" constr += [low[0,ii]*x[0,ii] + x[1,ii] >= low[2,ii]]\n",
" #constr += [upp[0,ii]*x[0,ii] + x[1,ii] <= upp[2,ii]]\n",
" \n",
" # Solve\n",
" prob = cp.Problem(cp.Minimize(cost), constr)\n",
" solution = prob.solve(solver=cp.OSQP, verbose=False)\n",
" \n",
" #retrieved optimized U and assign to u_bar to linearize in next step\n",
" u_bar = np.vstack((np.array(u.value[0,:]).flatten(),\n",
" (np.array(u.value[1,:]).flatten())))\n",
" \n",
" u_sim[:,sim_time] = u_bar[:,0]\n",
" \n",
" # Measure elpased time to get results from cvxpy\n",
" opt_time.append(time.time()-iter_start)\n",
" \n",
" # move simulation to t+1\n",
" tspan = [0,DT]\n",
" x_sim[:,sim_time+1] = odeint(kinematics_model,\n",
" x_sim[:,sim_time],\n",
" tspan,\n",
" args=(u_bar[:,0],))[1]\n",
" \n",
"print(\"CVXPY Optimization Time: Avrg: {:.4f}s Max: {:.4f}s Min: {:.4f}s\".format(np.mean(opt_time),\n",
" np.max(opt_time),\n",
" np.min(opt_time))) "
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABDAAAALICAYAAACJhQBYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAADPvElEQVR4nOzde3xT9f0/8NfnJGna0gttAr0BKjcFRaVGIXhBpDInzrFNrXO6IducQ2UC8lUURKcoEwsK4m0y3PbdpboL7qtzsooDB/FnM8AbDqiiciktvUHpNcn5/P44TdrQtLRpkpOevp6PRx7JOed9zueTkxbNu5/P+yOklBJERERERERERHFM0bsDRERERERERESnwgQGEREREREREcU9JjCIiIiIiIiIKO4xgUFEREREREREcY8JDCIiIiIiIiKKe0xgEBEREREREVHcM+vdgVg4fPhwzNqy2+2oqqqKWXsUG/xcjYmfqzHxczUmfq7GxM/VmIz8uebm5urdhbgR6juWkT/7cPGeBAt1P3rze8URGEREREREREQU95jAICIiIiIiIqK4xwQGEREREREREcW9AVEDg4iIiIiIaKDZtWsXNmzYAFVVMX36dMyaNSvoeGNjI9asWYPq6mr4fD584xvfwLRp0/TpLFEPcAQGERERERGRwaiqivXr1+P+++/H6tWrsW3bNhw8eDAo5h//+AeGDRuGlStX4qGHHsJvfvMbeL3esNqTO7aj5oG5kI0Nkeg+UUhMYBARERERERlMWVkZsrOzkZWVBbPZjClTpqC0tDQoRgiB5uZmSCnR3NyMlJQUKEp4XxHlsTp4du8CvK0R6D1RaJxCQkREREREZDA1NTWw2WyBbZvNhn379gXFXHXVVXjiiSfwk5/8BE1NTZg/f36XCYySkhKUlJQAAFasWAG73R50vDE9HfUAMtPSYTrp2EBmNps73auBrK/3gwkMIiIiIiIig5FSdtonhAja/uCDD3DaaafhwQcfREVFBR555BGcddZZSE5O7nRuQUEBCgoKAttVVVVBx9WmZgBAzdFKCA70D7Db7Z3u1UAW6n7k5ub2+Hz+ZBERERERERmMzWZDdXV1YLu6uhoZGRlBMe+88w4mTZoEIQSys7MxdOhQHD58OLwGTSbt2ecLt8tEp8QEBhERERERkcGMGjUK5eXlqKyshNfrxfbt2+FwOIJi7HY7PvroIwBAXV0dDh8+jKFDh4bXoD+BoTKBQdHDKSREREREREQGYzKZMGfOHCxfvhyqqmLatGkYPnw4Nm3aBACYMWMGvvOd7+DZZ5/FwoULAQDf+973kJaWFlZ7wmSCBDgCg6KKCQwiIiIiIiIDys/PR35+ftC+GTNmBF5nZmZiyZIlkWnM1PbV0hfeMqxEPcEpJERERERERNQ3rIFBMcAEBhEREREREfUNR2BQDDCBQURERERERH3DERgUA0xgEBERERERUd8ERmAwgUHRwwQGERERERER9Y3CERgUfUxgEBERERERUd8EppCwBgZFDxMYRERERERE1DdtU0gkR2BQFDGBQURERERERH3DERgUA0xgEBERERERUd9wFRKKASYwiIiIiIiIqG8Cq5BwBAZFDxMYRERERERE1Df+ERgqR2BQ9DCBQURERERERH3DKSQUA0xgEBERERERUd9wCgnFABMYRERERERE1DccgUExwAQGERERERER9Q1HYFAMMIFBREREREREfaO0fbXkCAyKIrPeHSAiIiIiIqLI27VrFzZs2ABVVTF9+nTMmjWrU8wnn3yCl19+GT6fD6mpqXj44YfDaksIoU0jYQKDoogJDCIiIiIiIoNRVRXr16/HkiVLYLPZsHjxYjgcDgwbNiwQ09DQgJdeegkPPPAA7HY7jh071rdGTWYmMCiqOIWEiIiIiIjIYMrKypCdnY2srCyYzWZMmTIFpaWlQTH//ve/MWnSJNjtdgBAenp6n9oUZjNrYFBUcQQGERERERGRwdTU1MBmswW2bTYb9u3bFxRTXl4Or9eLhx56CE1NTbj66qsxderUkNcrKSlBSUkJAGDFihWBpEdHR01mWC0WpIU4NlCZzeaQ92qg6uv9YAKDiIiIiIjIYKSUnfYJIYK2fT4f9u/fj6VLl6K1tRVLlizBmDFjkJub2+ncgoICFBQUBLarqqo6N2o2o7nhBFpDHRug7HZ76Hs1QIW6H6F+3rrCBAYREREREZHB2Gw2VFdXB7arq6uRkZHRKSY1NRWJiYlITEzEuHHj8OWXX/bqC2UQ1sCgKGMNDCIiIiIiIoMZNWoUysvLUVlZCa/Xi+3bt8PhcATFOBwO/Pe//4XP50NLSwvKysqQl5cXdpvCZGINDIoqjsAgIiIiIiIyGJPJhDlz5mD58uVQVRXTpk3D8OHDsWnTJgDAjBkzMGzYMJx//vm45557oCgKrrjiCowYMaIPjZoBVY3QOyDqjAkMIiIiIiIiA8rPz0d+fn7QvhkzZgRtX3vttbj22msj06DJBMkRGBRFnEJCREREREREfaYto8oaGBQ9TGAQERERERFR35nMrIFBUcUEBhEREREREfUZR2BQtDGBQURERERERH3HERgUZUxgEBERERERUZ8JsxnwMoFB0cNVSIiIiIiIiGJk8+bNPYozmUyYOnVqlHsTYQlWwNOqdy/IwJjAICIiIiIiipEXX3wR48aNO2VcWVlZv0tgCEsC4PHo3Q0yMCYwiIiIiIiIYiQhIQHLli07Zdytt94ag95EluAIDIoy1sAgIiIiIiKKkV/84hc9inv88cej3JPIEwkJgJcjMCh6mMAgIiIiIiKKkZycnB7FZWdnR7knUWBJ4AgMiiomMIiIiIiIiHTw+uuv44svvgAA7N27Fz/96U9x5513Yu/evfp2LEwiIQFoZQKDoocJDCIiIiIiIh288cYbGDp0KADgD3/4A6655hp8+9vfxssvv6xvx8IkEqyA1wMppd5dIYNiAoOIiIiIiEgHjY2NSE5ORlNTE7744gt8/etfxxVXXIHDhw/r3bWwCEuC9oJ1MChKuAoJERERERGRDmw2G/bs2YMDBw5g3LhxUBQFjY2NUJR++nfmBKv27GnV6mEQRRgTGERERERERDq4+eabsWrVKpjNZixcuBAAsGPHDowePVrnnoVH+BMYra1Asr59IWNiAoOIiIiIiEgH+fn5eOGFF4L2TZ48GZMnT9apR30TmELClUgoSvrp2CQiIiIiIqL+7eDBg6irqwMANDc345VXXsHGjRvh8/n07ViYRAJrYFB0MYFBRERERESkg6effhqNjY0AgN/85jf49NNPsXfvXrz44osRuf6uXbvws5/9DHfddRc2btzYZVxZWRkKCwvx3nvv9a1BjsCgKOMUEiIiIiIiIh0cPXoUubm5kFKitLQURUVFSEhIwJ133tnna6uqivXr12PJkiWw2WxYvHgxHA4Hhg0b1inud7/7Hc4///w+tymsHWpgEEUBR2AQERERERHpwGKxoKmpCWVlZbDZbEhLS4PFYoHH0/cpGGVlZcjOzkZWVhbMZjOmTJmC0tLSTnFvvvkmJk2ahLS0tD63yRoYFG0cgUFERERERKSDiy++GD//+c/R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DCIiIiIiIgNxOBzYsmULAGDLli248MILO8VIKfH8888jLy8P11xzTay72GciPQMwa0kFMS0Kq6eMGNneVtrgyF+fwsIRGERERERERAYya9YsrF69Gps3b4bdbseCBQsAADU1NXjhhRewePFi7NmzB1u3bsWIESOwaNEiAMB3v/td5Ofn69n1XlEefBpQ1agkGITZAnHNjUBWTsSvTeFjAoOIiIiIiMhAUlNT8eCDD3ban5mZicWLFwMAzjrrLLzyyiux7lpEiZxhUb2+8s2bonp96j1OISEiIiIiIiKiuMcEBhERERERERHFPSYwiIiIiIiIiCjuMYFBRERERERERHGPCQwiIiIiIiIiintchYSIiIiIiIh6JTc3t1f7BzLek2B9uR8cgUFERERERER9dt999+ndhbjDexKsr/eDCQwiIiIiIiIiintMYBARERERERFR3GMCg4iIiIiIiPqsoKBA7y7EHd6TYH29H0xgEBERERERUZ/xy3pnvCfBmMAgIiIiIiIiIsPjMqpERERERETUJ7t27cKGDRugqiqmT5+OWbNm6d2lqHv22WexY8cOpKeno6ioCABw4sQJrF69GkePHsWQIUMwf/58pKSkAAD++te/YvPmzVAUBbfeeivOP/98HXsfeVVVVVi3bh3q6uoghEBBQQGuvvrqiN4TjsAgIiIiIiKisKmqivXr1+P+++/H6tWrsW3bNhw8eFDvbkXd5Zdfjvvvvz9o38aNGzFhwgSsWbMGEyZMwMaNGwEABw8exPbt27Fq1So88MADWL9+PVRV1aHX0WMymXDLLbdg9erVWL58Od566y0cPHgwoveECQwiIiIiIiIKW1lZGbKzs5GVlQWz2YwpU6agtLRU725F3fjx4wMjCfxKS0sxdepUAMDUqVMD96G0tBRTpkyBxWLB0KFDkZ2djbKyspj3OZoyMjIwcuRIAEBSUhLy8vJQU1MT0XvCBAYRERERERGFraamBjabLbBts9lQU1OjY4/0c+zYMWRkZADQvtAfP34cQOd7lJmZaeh7VFlZif3792P06NERvSdMYBAREREREVHYpJSd9gkhdOhJ/Ap1j4yqubkZRUVFmD17NpKTk7uMC+eeMIFBREREREREYbPZbKiurg5sV1dXB/7iPtCkp6ejtrYWAFBbW4u0tDQAne9RTU0NMjMzdeljNHm9XhQVFeHS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\n",
"text/plain": [
"<Figure size 1080x720 with 5 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#plot trajectory\n",
"grid = plt.GridSpec(4, 5)\n",
"\n",
"plt.figure(figsize=(15,10))\n",
"\n",
"plt.subplot(grid[0:4, 0:4])\n",
"plt.plot(track[0,:],track[1,:],\"b+\")\n",
"plt.plot(track_lower[0,:],track_lower[1,:],\"g.\")\n",
"plt.plot(track_upper[0,:],track_upper[1,:],\"r.\")\n",
"plt.plot(x_sim[0,:],x_sim[1,:])\n",
"plt.axis(\"equal\")\n",
"plt.ylabel('y')\n",
"plt.xlabel('x')\n",
"\n",
"plt.subplot(grid[0, 4])\n",
"plt.plot(u_sim[0,:])\n",
"plt.ylabel('a(t) [m/ss]')\n",
"\n",
"plt.subplot(grid[1, 4])\n",
"plt.plot(x_sim[2,:])\n",
"plt.ylabel('v(t) [m/s]')\n",
"\n",
"\n",
"plt.subplot(grid[2, 4])\n",
"plt.plot(np.degrees(u_sim[1,:]))\n",
"plt.ylabel('delta(t) [rad]')\n",
"\n",
"plt.subplot(grid[3, 4])\n",
"plt.plot(x_sim[3,:])\n",
"plt.ylabel('theta(t) [rad]')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## VISUALIZE THE COMPUTED HALF-PLANES"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 360x360 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use(\"ggplot\")\n",
"\n",
"times = np.linspace(1,len(computed_coeff)/10,4).astype(int)\n",
"\n",
"plt.figure(figsize=(5,5))\n",
"pts = np.linspace(-2,2,100)\n",
"\n",
"\"\"\"\n",
"this needs tydy up badly...\n",
"\"\"\"\n",
"\n",
"plt.subplot(2, 2, 1)\n",
"c1 = computed_coeff[times[0]][0]\n",
"c2 = computed_coeff[times[0]][1]\n",
"for idx in range(c.shape[1]):\n",
" #low\n",
" coeff = c1[:,idx]\n",
" y = []\n",
"\n",
" for x in pts:\n",
" y.append((-coeff[0]*x+coeff[2])/coeff[1])\n",
" \n",
" plt.plot(pts,y,\"b-\")\n",
" \n",
" #high\n",
" coeff = c2[:,idx]\n",
" y = []\n",
"\n",
" for x in pts:\n",
" y.append((-coeff[0]*x+coeff[2])/coeff[1])\n",
" \n",
" plt.plot(pts,y,\"r-\")\n",
" plt.xlim((-2, 2))\n",
" plt.ylim((-2, 2))\n",
"\n",
"\n",
"plt.subplot(2, 2, 2)\n",
"c1 = computed_coeff[times[1]][0]\n",
"c2 = computed_coeff[times[1]][1]\n",
"for idx in range(c.shape[1]):\n",
" #low\n",
" coeff = c1[:,idx]\n",
" y = []\n",
" for x in pts:\n",
" y.append((-coeff[0]*x+coeff[2])/coeff[1])\n",
" \n",
" plt.plot(pts,y,\"b-\")\n",
" \n",
" #high\n",
" coeff = c2[:,idx]\n",
" y = []\n",
" for x in pts:\n",
" y.append((-coeff[0]*x+coeff[2])/coeff[1])\n",
" \n",
" plt.plot(pts,y,\"r-\")\n",
" plt.xlim((-2, 2))\n",
" plt.ylim((-2, 2))\n",
"\n",
"\n",
"plt.subplot(2, 2, 3)\n",
"c1 = computed_coeff[times[2]][0]\n",
"c2 = computed_coeff[times[2]][1]\n",
"for idx in range(c.shape[1]):\n",
" #low\n",
" coeff = c1[:,idx]\n",
" y = []\n",
"\n",
" for x in pts:\n",
" y.append((-coeff[0]*x+coeff[2])/coeff[1])\n",
" \n",
" plt.plot(pts,y,\"b-\")\n",
" \n",
" #high\n",
" coeff = c2[:,idx]\n",
" y = []\n",
" for x in pts:\n",
" y.append((-coeff[0]*x+coeff[2])/coeff[1])\n",
" \n",
" plt.plot(pts,y,\"r-\")\n",
" plt.xlim((-2, 2))\n",
" plt.ylim((-2, 2))\n",
"\n",
"plt.subplot(2, 2, 4)\n",
"c1 = computed_coeff[times[3]][0]\n",
"c2 = computed_coeff[times[3]][1]\n",
"for idx in range(c.shape[1]):\n",
" #low\n",
" coeff = c1[:,idx]\n",
" y = []\n",
"\n",
" for x in pts:\n",
" y.append((-coeff[0]*x+coeff[2])/coeff[1])\n",
" \n",
" plt.plot(pts,y,\"b-\")\n",
" \n",
" #high\n",
" coeff = c2[:,idx]\n",
" y = []\n",
" for x in pts:\n",
" y.append((-coeff[0]*x+coeff[2])/coeff[1])\n",
" \n",
" plt.plot(pts,y,\"r-\")\n",
" plt.xlim((-2, 2))\n",
" plt.ylim((-2, 2))\n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:.conda-jupyter] *",
"language": "python",
"name": "conda-env-.conda-jupyter-py"
},
"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.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}