E28 mobile robotics - fall 2015 - homework 6 write a


E28: Mobile Robotics - Fall 2015 - HOMEWORK 6

Pure pursuit overview

In class, we showed that the pure pursuit algorithm for driving along a line can be straightforward to implement if we have access to the transformation TLR from the robot frame to the line frame. We assume the line frame is defined such that the line lies on the x-axis of the coordinate frame.

We also assume the robot-to-line transformation is given by

1653_Figure.png

So the point (x, y) specifies the position of the robot in the line frame.

To run the pure pursuit controller, then:

1. Compute the point pc, the closest point on the line to the robot. In the line frame, the coordinates are simply (x, 0).

2. March ahead of pc along the line by some distance α to obtain pd, the pursuit point for the robot. The line-frame coordinates of pd are (x + α, 0).

3. Issue the controls

x· R = kx,                θ· = kθ(cy/cx)

where the point (cx, cy) are the coordinates of pd, expressed in the robot frame - that is, the coordinates obtained by mapping the point (x + α, 0) through the inverse of the transformation TLR.

Simulated pure pursuit

Write a simulator to evaluate some control strategies for pure pursuit. Assume you have a differential drive robot whose body-frame velocities x·R and 9·R can be commanded directly (note: you can probably re-use some code, and throw away the parts that deal with vL and vR).

a. Start the robot at (x, y, θ) = (0, -0.5, 0). Set the gains to α = 0.2, kx = 0.1 and kθ = 2.0, and simulate for 30 seconds using Euler's method with ?t = 0.01 second.

Graph the motion of the robot in the world frame on an (x, y) plot. Make sure your plot has equal scaling on the x and y axes (in MATLAB, for instance, use the axis equal command).

b. Simulate what happens with a look ahead distance too small (α = 0.05) and too large (α = 1.0). Submit plots for each.

c. Restore α = 0.2 and simulate what happens when you clamp the angular velocity to be in the ±0.15 rad/s range (i.e. enforce a maximum rotational velocity limit). You should see some oscillation in the robot's motion. Modify the α and/or kθ gains to fix the behavior, and submit plots of both the overshooting and fixed behavior, with the second plot labeled with the new gains.

Request for Solution File

Ask an Expert for Answer!!
Engineering Mathematics: E28 mobile robotics - fall 2015 - homework 6 write a
Reference No:- TGS01480189

Expected delivery within 24 Hours