Josh Kline's solution to
short assignment 3, problem 3.
Graphs made with gnuplot. Use command "plot 'output' with lines".
For screen captures use import
The following two screen shots depict different behavior of the robot under the
same conditions. One demonstrates the desired results, the other does not.
By repeated trials I was able to reproduce both results. The following trial
barely overshot at all.
Consistent results show the robot does not overshoot at all.
I am going to choose a gain of 0.60 as my solution. Even though the robot
sometimes displayed each of the three behavior types (oscillation, overshoot
once ,
no-overshoot) it displayed the desired result (overshoot once),
the majority of the time, much more so than either 0.65 or 0.55. Graphs of the
three behaviors are below. I blame the
irregularity of behavior on the high delay value.
The best values appear to be
Setting GAIN to 0.5
Setting KD to 0.1
Here are three sample graphs.
Using the settings found in part two and changing the delay.
Delay of 3.0 oscillates and converges.
Delay of 3.5 also converges bu takes much longer to do so.
Delay of 4.0 oscillates and diverges.
Long term behavior of delay = 4.0. This may not be absolutly divergent but it
looks at least unstable.
Delay of 3.0 oscillates and converges.
My program appeared not to change behavior drastically based on the location
of the set point.
MAX_SPEED is 1000
DELAY is 1.5
Setting GAIN to 0.5
Setting KD to 0.1
Setting DELAY to 1.5
Setting x_sp to 2000
Connected to robot.
Here is an example with the set point at 2000.
An example run with the set point at -3000.
Copyright 2003 Josh Kline |