cvf06035 created page: home authored by Camilla Marie Vinther Frederiksen's avatar Camilla Marie Vinther Frederiksen
......@@ -121,9 +121,14 @@ The ***Sejway.java*** program is a modification of Bagnall's Sejway program, whe
As both these programs can't run simultanously on the NXT, we also made the ***NXTSegwayRunner.java*** program which simply starts a Sejway instance, starts it, starts a PCconnection instance with a reference to the Sejway instance. This also means that the upper two classes extends Thread to enable simultaneous execution.
#### Search for good PID parameters
After implementing the programs enabling easy PID parameter search, we quickly concluded that before changing the PID values we needed to find a good offset with the specific weight distribution of our robot.
After implementing the programs enabling easy PID parameter search, we started playing around with different values for P, I and D by using a by-hand-calibrated setpoint. We quickly that this method didn't enhance either our understanding of the different variables or the robots ability to self-balance. We therefore decided to use a more systematic way of testing and deciding on variable values than this 'feelings'- and experience (which we have very little of) based approach.
To systematically observe which P, I and D values work better for our robot, we needed to have a best possible starting point, where the robot was in best possible initial balance, why we set out to find a good setpoint for the specific weight destribution of our robot.
##### Finding a good setpoint
To find the best possible setpoint we decided to use the PID values of Bagnalls initial program ([TODO insert values]) and then trying to narrow our way into the best possible value by starting with a, from our prior experience, low- and high value. This gave the observations seen in table 1.
*Table 1: *
##### Grid search
......
......