Question: 2 . Trajectory tracking using an open loop controller In this problem, first we will generate a trajectory using the differential flatness technique. Then, we

2. Trajectory tracking using an open loop controller
In this problem, first we will generate a trajectory using the differential flatness technique. Then, we will generate the control inputs for the robot to navigate this desired trajectory using open loop controller techniques.
Consider the equations for the dynamically extended unicycle robot,
x(t)=V(t)cos(t)
y(t)=V(t)sin(t)
V(t)=a(t)
(t)=(t)
The initial conditions are: x(0)=0,y(0)=0,V(0)=0.5,(0)=-2
x(tl)=5,y(t1)=5,v(t1)=0.5,(ti)=-2 where tl=15
Here the controls are a(t) and (t).
a) Show this system is differentially flat with flat output z=(x,y).
Introduction to Robotics
b) Generate a differentially flat trajectory using the four basis functions of problem 1(b). Plot your generated trajectory with python.
c) We will now navigate our robot along this desired trajectory. To do that we need to compute the controls a(t) and (t). Notice that differentiating the velocities x,y we get the following equations,
[x(t)y(t)]=[cos(t)-V(t)sin(t)sin(t)V(t)cos(t)][a(t)(t)]
From your generated differentially flat trajectory xd,yd(the subscript "d" refers to the desired values) you can estimate xd,yd,d,Vd,xd,yd. Then a(t) and (t) can be calculated by taking the matrix inverse in the equation above.
Once the controls a(t) and (t) are calculated, you can navigate the robot by numerically integrating the unicycle equations using Euler's method.
Integrate the unicycle equations using Euler's method, generate the control inputs as described above. Plot the result for time steps t=0.1 and 0.01 using python.
3.Open loop controller performance in the presence of noise or disturbance
In problem 2(c), your robot should track the trajectory perfectly. This is because there is no noise or disturbance in the system. If noise and disturbance is present, which is the case for real systems, the robot won't be able to track the trajectory with an open loop controller. We will see this in this exercise.
We can randomly inject noise or disturbances into the system using the Gaussian (Normal) distribution. Inject noise in the V and equations in the following way,
V(t+t)=V(t)+ta(t)+N(0,0.01)
(t+t)=(t)+t(t)+N(0,0.001)
Here N(0,0.01) is a random number generated from a Gaussian (Normal) distribution with mean 0 and standard deviation 0.01. Similarly, N(0,0.001) is a random number generated from a Gaussian distribution with mean 0 and standard deviation 0.001.
With this noise injection, integrate the unicycle equations using Euler's method and the open loop controller of problem 2(c). Plot the result for time step t=0.01. You should be able to see the robot deviate from the desired trajectory. Submit your code.
2 . Trajectory tracking using an open loop

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!