diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 1e2babc..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.gitignore b/.gitignore index 29bfe19..1bb0e28 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ .vscode/settings.json .vscode/ipch env.h -/.history \ No newline at end of file +/.history +.DS_Store diff --git a/include/robot/control.h b/include/robot/control.h index f10a906..4c7b97b 100644 --- a/include/robot/control.h +++ b/include/robot/control.h @@ -20,8 +20,8 @@ struct ControlSetting static ControlSetting leftMotorControl; static ControlSetting rightMotorControl; -static MotionProfile profileA = {MAX_VELOCITY_TPS, MAX_ACCELERATION_TPSPS, 0, 0, 0, 0, 75.0}; // maxVelocity, maxAcceleration, currentPosition, currentVelocity, targetPosition, targetVelocity -static MotionProfile profileB = {MAX_VELOCITY_TPS, MAX_ACCELERATION_TPSPS, 0, 0, 0, 0, 75.0}; // maxVelocity, maxAcceleration, currentPosition, currentVelocity, targetPosition, targetVelocity +static MotionProfile profileA = {THEORETICAL_MAX_VELOCITY_TPS, THEORETICAL_MAX_ACCELERATION_TPSPS, 0, 0, 0, 0, 75.0}; // maxVelocity, maxAcceleration, currentPosition, currentVelocity, targetPosition, targetVelocity +static MotionProfile profileB = {THEORETICAL_MAX_VELOCITY_TPS, THEORETICAL_MAX_ACCELERATION_TPSPS, 0, 0, 0, 0, 75.0}; // maxVelocity, maxAcceleration, currentPosition, currentVelocity, targetPosition, targetVelocity void setLeftMotorControl(ControlSetting control); void setRightMotorControl(ControlSetting control); diff --git a/include/robot/profiledPIDController.h b/include/robot/profiledPIDController.h new file mode 100644 index 0000000..aa4f8a3 --- /dev/null +++ b/include/robot/profiledPIDController.h @@ -0,0 +1,40 @@ +#ifndef PROFILED_PID_CONTROLLER_H +#define PROFILED_PID_CONTROLLER_H + +#include "robot/pidController.h" +#include "robot/trapezoidalProfileNew.h" + +class ProfiledPIDController { +public: + ProfiledPIDController(double kp, double ki, double kd, + double minOutput, double maxOutput, + const TrapezoidProfile::Constraints& constraints) + : pid(kp, ki, kd, minOutput, maxOutput), profile(constraints), lastTime(0.0) {} + + // Call this every control loop + double Compute(double goalPosition, double actualPosition, double actualVelocity, double dt) { + TrapezoidProfile::State current(actualPosition, actualVelocity); + TrapezoidProfile::State goal(goalPosition, 0.0); // Assume goal velocity is zero + + // Generate profile for current time + TrapezoidProfile::State profiledSetpoint = profile.calculate(lastTime, current, goal); + + // PID tracks profiled position + double output = pid.Compute(profiledSetpoint.position, actualPosition, dt); + + lastTime += dt; + return output; + } + + void Reset() { + pid.Reset(); + lastTime = 0.0; + } + +private: + PIDController pid; + TrapezoidProfile profile; + double lastTime; +}; + +#endif // PROFILED_PID_CONTROLLER_H \ No newline at end of file diff --git a/include/robot/trapezoidalProfileNew.h b/include/robot/trapezoidalProfileNew.h new file mode 100644 index 0000000..67e551b --- /dev/null +++ b/include/robot/trapezoidalProfileNew.h @@ -0,0 +1,63 @@ +#ifndef TRAPEZOIDAL_PROFILE_NEW_H +#define TRAPEZOIDAL_PROFILE_NEW_H + +#include +#include + +class TrapezoidProfile +{ +public: + struct Constraints + { + double maxVelocity; + double maxAcceleration; + + Constraints(double maxVelocity, double maxAcceleration) + { + if (maxVelocity < 0.0 || maxAcceleration < 0.0) + { + throw std::runtime_error("Constraints must be non-negative"); + } + this->maxVelocity = maxVelocity; + this->maxAcceleration = maxAcceleration; + // Remove MathSharedStore.reportUsage for now (Java-specific) + } + }; + + struct State + { + double position = 0.0; + double velocity = 0.0; + + State() = default; + State(double position, double velocity) + : position(position), velocity(velocity) {} + + bool operator==(const State& rhs) const + { + return position == rhs.position && velocity == rhs.velocity; + } + }; + + TrapezoidProfile(const Constraints& constraints) + : m_constraints(constraints) {} + + State calculate(double t, const State& current, const State& goal); + + // bool isFinished(double t) const { return t >= totalTime(); } + +private: + static bool shouldFlipAcceleration(const State& initial, const State& goal) + { + return initial.position > goal.position; + } + + State direct(const State& in, int m_direction) const + { + return State(in.position * m_direction, in.velocity * m_direction); + } + + Constraints m_constraints; +}; + +#endif \ No newline at end of file diff --git a/include/utils/config.h b/include/utils/config.h index b98a5cb..803c9b3 100644 --- a/include/utils/config.h +++ b/include/utils/config.h @@ -33,8 +33,11 @@ extern gpio_num_t ONBOARD_LED_PIN; extern int TICKS_PER_ROTATION; extern float TRACK_WIDTH_INCHES; extern float WHEEL_DIAMETER_INCHES; -extern float MAX_VELOCITY_TPS; -extern float MAX_ACCELERATION_TPSPS; +extern float THEORETICAL_MAX_VELOCITY_TPS; +extern float VELOCITY_LIMIT_TPS; +extern float THEORETICAL_MAX_ACCELERATION_TPSPS; +extern float ACCELERATION_LIMIT_TPSPS; +extern float MIN_MOTOR_POWER; extern float TILES_TO_TICKS; extern float PID_POSITION_TOLERANCE; diff --git a/pid_test.csv b/pid_test.csv index 11adc7a..a285e3f 100644 --- a/pid_test.csv +++ b/pid_test.csv @@ -1,755 +1,716 @@ -EncoderLeft,EncoderRight,DesiredVelocityLeft,DesiredVelocityRight,CurrentVelocityLeft,CurrentVelocityRight,LeftPower,RightPower,EncoderTargetLeft,EncoderTargetRight -0,0,100.00,100.00,0.00,0.00,0.21,0.19,120000,120000 -6,5,400.00,350.00,300.00,250.00,0.21,0.19,120000,120000 -18,14,700.00,550.00,600.00,450.00,0.21,0.19,120000,120000 -26,16,500.00,200.00,400.00,100.00,0.21,0.19,120000,120000 -39,16,750.00,100.00,650.00,0.00,0.21,0.19,120000,120000 -86,16,2450.00,100.00,2350.00,0.00,0.21,0.19,120000,120000 -134,16,2500.00,100.00,2400.00,0.00,0.21,0.19,120000,120000 -191,17,2950.00,150.00,2850.00,50.00,0.21,0.19,120000,120000 -264,17,3750.00,100.00,3650.00,0.00,0.21,0.19,120000,120000 -343,17,4000.00,100.00,3950.00,0.00,0.10,0.19,120000,120000 -420,17,3950.00,100.00,3850.00,0.00,0.21,0.19,120000,120000 -487,17,3450.00,100.00,3350.00,0.00,0.21,0.19,120000,120000 -570,17,4000.00,100.00,4150.00,0.00,-0.31,0.19,120000,120000 -624,18,2800.00,150.00,2700.00,50.00,0.21,0.19,120000,120000 -616,18,-300.00,100.00,-400.00,0.00,0.21,0.19,120000,120000 -618,19,200.00,150.00,100.00,50.00,0.21,0.19,120000,120000 -619,19,150.00,100.00,50.00,0.00,0.21,0.19,120000,120000 -621,19,200.00,100.00,100.00,0.00,0.21,0.19,120000,120000 -625,19,300.00,100.00,200.00,0.00,0.21,0.19,120000,120000 -635,19,600.00,100.00,500.00,0.00,0.21,0.19,120000,120000 -675,19,2100.00,100.00,2000.00,0.00,0.21,0.19,120000,120000 -726,19,2650.00,100.00,2550.00,0.00,0.21,0.19,120000,120000 -787,20,3150.00,150.00,3050.00,50.00,0.21,0.19,120000,120000 -857,21,3600.00,150.00,3500.00,50.00,0.21,0.19,120000,120000 -933,21,3900.00,100.00,3800.00,0.00,0.21,0.19,120000,120000 -1018,21,4000.00,100.00,4250.00,0.00,-0.52,0.19,120000,120000 -1066,23,2500.00,200.00,2400.00,100.00,0.21,0.19,120000,120000 -1049,25,-750.00,200.00,-850.00,100.00,0.21,0.19,120000,120000 -1074,32,1350.00,450.00,1250.00,350.00,0.21,0.19,120000,120000 -1098,55,1300.00,1250.00,1200.00,1150.00,0.21,0.19,120000,120000 -1141,96,2250.00,2150.00,2150.00,2050.00,0.21,0.19,120000,120000 -1196,145,2850.00,2550.00,2750.00,2450.00,0.21,0.19,120000,120000 -1260,197,3300.00,2700.00,3200.00,2600.00,0.21,0.19,120000,120000 -1338,267,4000.00,3600.00,3900.00,3500.00,0.21,0.19,120000,120000 -1419,337,4000.00,3600.00,4050.00,3500.00,-0.10,0.19,120000,120000 -1502,415,4000.00,4000.00,4150.00,3900.00,-0.31,0.19,120000,120000 -1550,496,2500.00,4000.00,2400.00,4050.00,0.21,-0.10,120000,120000 -1535,580,-650.00,4000.00,-750.00,4200.00,0.21,-0.38,120000,120000 -1546,613,650.00,1750.00,550.00,1650.00,0.21,0.19,120000,120000 -1553,579,450.00,-1600.00,350.00,-1700.00,0.21,0.19,120000,120000 -1556,597,250.00,1000.00,150.00,900.00,0.21,0.19,120000,120000 -1559,632,250.00,1850.00,150.00,1750.00,0.21,0.19,120000,120000 -1568,684,550.00,2700.00,450.00,2600.00,0.21,0.19,120000,120000 -1600,739,1700.00,2850.00,1600.00,2750.00,0.21,0.19,120000,120000 -1644,805,2300.00,3400.00,2200.00,3300.00,0.21,0.19,120000,120000 -1702,875,3000.00,3600.00,2900.00,3500.00,0.21,0.19,120000,120000 -1770,956,3500.00,4000.00,3400.00,4050.00,0.21,-0.10,120000,120000 -1847,1035,3950.00,4000.00,3850.00,3950.00,0.21,0.10,120000,120000 -1934,1100,4000.00,3350.00,4350.00,3250.00,-0.72,0.19,120000,120000 -1960,1156,1400.00,2900.00,1300.00,2800.00,0.21,0.19,120000,120000 -1880,1223,-4000.00,3450.00,-4000.00,3350.00,0.00,0.19,120000,120000 -1838,1297,-2000.00,3800.00,-2100.00,3700.00,0.21,0.19,120000,120000 -1820,1373,-800.00,3900.00,-900.00,3800.00,0.21,0.19,120000,120000 -1823,1458,250.00,4000.00,150.00,4250.00,0.21,-0.48,120000,120000 -1840,1506,950.00,2500.00,850.00,2400.00,0.21,0.19,120000,120000 -1882,1473,2200.00,-1550.00,2100.00,-1650.00,0.21,0.19,120000,120000 -1934,1466,2700.00,-250.00,2600.00,-350.00,0.21,0.19,120000,120000 -1993,1481,3050.00,850.00,2950.00,750.00,0.21,0.19,120000,120000 -2065,1492,3700.00,650.00,3600.00,550.00,0.21,0.19,120000,120000 -2144,1505,4000.00,750.00,3950.00,650.00,0.10,0.19,120000,120000 -2226,1541,4000.00,1900.00,4100.00,1800.00,-0.21,0.19,120000,120000 -2281,1585,2850.00,2300.00,2750.00,2200.00,0.21,0.19,120000,120000 -2290,1639,550.00,2800.00,450.00,2700.00,0.21,0.19,120000,120000 -2304,1707,800.00,3500.00,700.00,3400.00,0.21,0.19,120000,120000 -2341,1776,1950.00,3550.00,1850.00,3450.00,0.21,0.19,120000,120000 -2388,1852,2450.00,3900.00,2350.00,3800.00,0.21,0.19,120000,120000 -2447,1937,3050.00,4000.00,2950.00,4250.00,0.21,-0.48,120000,120000 -2514,1980,3450.00,2250.00,3350.00,2150.00,0.21,0.19,120000,120000 -2593,1956,4000.00,-1100.00,3950.00,-1200.00,0.10,0.19,120000,120000 -2678,1953,4000.00,-50.00,4250.00,-150.00,-0.52,0.19,120000,120000 -2700,1961,1200.00,500.00,1100.00,400.00,0.21,0.19,120000,120000 -2642,1983,-2800.00,1200.00,-2900.00,1100.00,0.21,0.19,120000,120000 -2646,2028,300.00,2350.00,200.00,2250.00,0.21,0.19,120000,120000 -2686,2077,2100.00,2550.00,2000.00,2450.00,0.21,0.19,120000,120000 -2736,2134,2600.00,2950.00,2500.00,2850.00,0.21,0.19,120000,120000 -2797,2205,3150.00,3650.00,3050.00,3550.00,0.21,0.19,120000,120000 -2868,2279,3650.00,3800.00,3550.00,3700.00,0.21,0.19,120000,120000 -2948,2361,4000.00,4000.00,4000.00,4100.00,0.00,-0.19,120000,120000 -3027,2425,4000.00,3300.00,3950.00,3200.00,0.10,0.19,120000,120000 -3097,2450,3600.00,1350.00,3500.00,1250.00,0.21,0.19,120000,120000 -3157,2490,3100.00,2100.00,3000.00,2000.00,0.21,0.19,120000,120000 -3239,2549,4000.00,3050.00,4100.00,2950.00,-0.21,0.19,120000,120000 -3294,2604,2850.00,2850.00,2750.00,2750.00,0.21,0.19,120000,120000 -3307,2673,750.00,3550.00,650.00,3450.00,0.21,0.19,120000,120000 -3348,2744,2150.00,3650.00,2050.00,3550.00,0.21,0.19,120000,120000 -3390,2825,2200.00,4000.00,2100.00,4050.00,0.21,-0.10,120000,120000 -3458,2905,3500.00,4000.00,3400.00,4000.00,0.21,0.00,120000,120000 -3534,2970,3900.00,3350.00,3800.00,3250.00,0.21,0.19,120000,120000 -3615,3026,4000.00,2900.00,4050.00,2800.00,-0.10,0.19,120000,120000 -3696,3094,4000.00,3500.00,4050.00,3400.00,-0.10,0.19,120000,120000 -3762,3167,3400.00,3750.00,3300.00,3650.00,0.21,0.19,120000,120000 -3821,3243,3050.00,3900.00,2950.00,3800.00,0.21,0.19,120000,120000 -3896,3327,3850.00,4000.00,3750.00,4200.00,0.21,-0.38,120000,120000 -3974,3374,4000.00,2450.00,3900.00,2350.00,0.21,0.19,120000,120000 -4056,3363,4000.00,-450.00,4100.00,-550.00,-0.21,0.19,120000,120000 -4126,3371,3600.00,500.00,3500.00,400.00,0.21,0.19,120000,120000 -4159,3405,1750.00,1800.00,1650.00,1700.00,0.21,0.19,120000,120000 -4202,3447,2250.00,2200.00,2150.00,2100.00,0.21,0.19,120000,120000 -4251,3504,2550.00,2950.00,2450.00,2850.00,0.21,0.19,120000,120000 -4322,3571,3650.00,3450.00,3550.00,3350.00,0.21,0.19,120000,120000 -4396,3643,3800.00,3700.00,3700.00,3600.00,0.21,0.19,120000,120000 -4478,3722,4000.00,4000.00,4100.00,3950.00,-0.21,0.10,120000,120000 -4544,3797,3400.00,3850.00,3300.00,3750.00,0.21,0.19,120000,120000 -4566,3863,1200.00,3400.00,1100.00,3300.00,0.21,0.19,120000,120000 -4602,3941,1900.00,4000.00,1800.00,3900.00,0.21,0.19,120000,120000 -4652,4021,2600.00,4000.00,2500.00,4000.00,0.21,0.00,120000,120000 -4718,4101,3400.00,4000.00,3300.00,4000.00,0.21,0.00,120000,120000 -4790,4164,3700.00,3250.00,3600.00,3150.00,0.21,0.19,120000,120000 -4870,4220,4000.00,2900.00,4000.00,2800.00,0.00,0.19,120000,120000 -4952,4291,4000.00,3650.00,4100.00,3550.00,-0.21,0.19,120000,120000 -5005,4361,2750.00,3600.00,2650.00,3500.00,0.21,0.19,120000,120000 -5021,4441,900.00,4000.00,800.00,4000.00,0.21,0.00,120000,120000 -5038,4520,950.00,4000.00,850.00,3950.00,0.21,0.10,120000,120000 -5081,4585,2250.00,3350.00,2150.00,3250.00,0.21,0.19,120000,120000 -5135,4643,2800.00,3000.00,2700.00,2900.00,0.21,0.19,120000,120000 -5196,4709,3150.00,3400.00,3050.00,3300.00,0.21,0.19,120000,120000 -5267,4781,3650.00,3700.00,3550.00,3600.00,0.21,0.19,120000,120000 -5346,4857,4000.00,3900.00,3950.00,3800.00,0.10,0.19,120000,120000 -5426,4940,4000.00,4000.00,4000.00,4150.00,0.00,-0.29,120000,120000 -5493,4999,3450.00,3050.00,3350.00,2950.00,0.21,0.19,120000,120000 -5555,5005,3200.00,400.00,3100.00,300.00,0.21,0.19,120000,120000 -5628,5011,3750.00,400.00,3650.00,300.00,0.21,0.19,120000,120000 -5704,5013,3900.00,200.00,3800.00,100.00,0.21,0.19,120000,120000 -5789,5013,4000.00,100.00,4250.00,0.00,-0.52,0.19,120000,120000 -5831,5013,2200.00,100.00,2100.00,0.00,0.21,0.19,120000,120000 -5785,5015,-2200.00,200.00,-2300.00,100.00,0.21,0.19,120000,120000 -5792,5017,450.00,200.00,350.00,100.00,0.21,0.19,120000,120000 -5826,5023,1800.00,400.00,1700.00,300.00,0.21,0.19,120000,120000 -5875,5041,2550.00,1000.00,2450.00,900.00,0.21,0.19,120000,120000 -5934,5083,3050.00,2200.00,2950.00,2100.00,0.21,0.19,120000,120000 -6003,5134,3550.00,2650.00,3450.00,2550.00,0.21,0.19,120000,120000 -6082,5190,4000.00,2900.00,3950.00,2800.00,0.10,0.19,120000,120000 -6160,5261,4000.00,3650.00,3900.00,3550.00,0.21,0.19,120000,120000 -6231,5333,3650.00,3700.00,3550.00,3600.00,0.21,0.19,120000,120000 -6309,5413,4000.00,4000.00,3900.00,4000.00,0.21,0.00,120000,120000 -6395,5493,4000.00,4000.00,4300.00,4000.00,-0.62,0.00,120000,120000 -6430,5559,1850.00,3400.00,1750.00,3300.00,0.21,0.19,120000,120000 -6362,5618,-3300.00,3050.00,-3400.00,2950.00,0.21,0.19,120000,120000 -6336,5685,-1200.00,3450.00,-1300.00,3350.00,0.21,0.19,120000,120000 -6343,5755,450.00,3600.00,350.00,3500.00,0.21,0.19,120000,120000 -6354,5832,650.00,3950.00,550.00,3850.00,0.21,0.19,120000,120000 -6366,5917,700.00,4000.00,600.00,4250.00,0.21,-0.48,120000,120000 -6400,5960,1800.00,2250.00,1700.00,2150.00,0.21,0.19,120000,120000 -6442,5916,2200.00,-2100.00,2100.00,-2200.00,0.21,0.19,120000,120000 -6504,5924,3200.00,500.00,3100.00,400.00,0.21,0.19,120000,120000 -6570,5957,3400.00,1750.00,3300.00,1650.00,0.21,0.19,120000,120000 -6650,6000,4000.00,2250.00,4000.00,2150.00,0.00,0.19,120000,120000 -6732,6052,4000.00,2700.00,4100.00,2600.00,-0.21,0.19,120000,120000 -6780,6110,2500.00,3000.00,2400.00,2900.00,0.21,0.19,120000,120000 -6813,6179,1750.00,3550.00,1650.00,3450.00,0.21,0.19,120000,120000 -6846,6253,1750.00,3800.00,1650.00,3700.00,0.21,0.19,120000,120000 -6898,6333,2700.00,4000.00,2600.00,4000.00,0.21,0.00,120000,120000 -6959,6415,3150.00,4000.00,3050.00,4100.00,0.21,-0.19,120000,120000 -7031,6465,3700.00,2600.00,3600.00,2500.00,0.21,0.19,120000,120000 -7114,6483,4000.00,1000.00,4150.00,900.00,-0.31,0.19,120000,120000 -7172,6501,3000.00,1000.00,2900.00,900.00,0.21,0.19,120000,120000 -7175,6535,250.00,1800.00,150.00,1700.00,0.21,0.19,120000,120000 -7218,6585,2250.00,2600.00,2150.00,2500.00,0.21,0.19,120000,120000 -7259,6639,2150.00,2800.00,2050.00,2700.00,0.21,0.19,120000,120000 -7319,6704,3100.00,3350.00,3000.00,3250.00,0.21,0.19,120000,120000 -7386,6773,3450.00,3550.00,3350.00,3450.00,0.21,0.19,120000,120000 -7462,6847,3900.00,3800.00,3800.00,3700.00,0.21,0.19,120000,120000 -7550,6929,4000.00,4000.00,4400.00,4100.00,-0.83,-0.19,120000,120000 -7586,7000,1900.00,3650.00,1800.00,3550.00,0.21,0.19,120000,120000 -7504,7029,-4000.00,1550.00,-4100.00,1450.00,0.21,0.19,120000,120000 -7475,7076,-1350.00,2450.00,-1450.00,2350.00,0.21,0.19,120000,120000 -7476,7123,150.00,2450.00,50.00,2350.00,0.21,0.19,120000,120000 -7484,7182,500.00,3050.00,400.00,2950.00,0.21,0.19,120000,120000 -7494,7247,600.00,3350.00,500.00,3250.00,0.21,0.19,120000,120000 -7513,7318,1050.00,3650.00,950.00,3550.00,0.21,0.19,120000,120000 -7558,7400,2350.00,4000.00,2250.00,4100.00,0.21,-0.19,120000,120000 -7612,7463,2800.00,3250.00,2700.00,3150.00,0.21,0.19,120000,120000 -7677,7491,3350.00,1500.00,3250.00,1400.00,0.21,0.19,120000,120000 -7748,7525,3650.00,1800.00,3550.00,1700.00,0.21,0.19,120000,120000 -7826,7563,4000.00,2000.00,3900.00,1900.00,0.21,0.19,120000,120000 -7914,7614,4000.00,2650.00,4400.00,2550.00,-0.83,0.19,120000,120000 -7937,7675,1250.00,3150.00,1150.00,3050.00,0.21,0.19,120000,120000 -7840,7735,-4000.00,3100.00,-4850.00,3000.00,1.00,0.19,120000,120000 -7846,7806,400.00,3650.00,300.00,3550.00,0.21,0.19,120000,120000 -8014,7886,4000.00,4000.00,8400.00,4000.00,-1.00,0.00,120000,120000 -8110,7957,4000.00,3650.00,4800.00,3550.00,-1.00,0.19,120000,120000 -7954,8021,-4000.00,3300.00,-7800.00,3200.00,1.00,0.19,120000,120000 -7718,8092,-4000.00,3650.00,-11800.00,3550.00,1.00,0.19,120000,120000 -7768,8165,2600.00,3750.00,2500.00,3650.00,0.21,0.19,120000,120000 -7988,8235,4000.00,3600.00,11000.00,3500.00,-1.00,0.19,120000,120000 -8138,8314,4000.00,4000.00,7500.00,3950.00,-1.00,0.10,120000,120000 -8031,8387,-4000.00,3750.00,-5350.00,3650.00,1.00,0.19,120000,120000 -7839,8452,-4000.00,3350.00,-9600.00,3250.00,1.00,0.19,120000,120000 -7924,8520,4000.00,3500.00,4250.00,3400.00,-0.52,0.19,120000,120000 -8117,8590,4000.00,3600.00,9650.00,3500.00,-1.00,0.19,120000,120000 -8118,8661,150.00,3650.00,50.00,3550.00,0.21,0.19,120000,120000 -7970,8739,-4000.00,4000.00,-7400.00,3900.00,1.00,0.19,120000,120000 -7938,8822,-1500.00,4000.00,-1600.00,4150.00,0.21,-0.29,120000,120000 -8074,8876,4000.00,2800.00,6800.00,2700.00,-1.00,0.19,120000,120000 -8148,8873,3800.00,-50.00,3700.00,-150.00,0.21,0.19,120000,120000 -8062,8872,-4000.00,50.00,-4300.00,-50.00,0.62,0.19,120000,120000 -8067,8877,350.00,350.00,250.00,250.00,0.21,0.19,120000,120000 -8170,8879,4000.00,200.00,5150.00,100.00,-1.00,0.19,120000,120000 -8212,8880,2200.00,150.00,2100.00,50.00,0.21,0.19,120000,120000 -8096,8880,-4000.00,100.00,-5800.00,0.00,1.00,0.19,120000,120000 -8082,8882,-600.00,200.00,-700.00,100.00,0.21,0.19,120000,120000 -8227,8883,4000.00,150.00,7250.00,50.00,-1.00,0.19,120000,120000 -8304,8885,3950.00,200.00,3850.00,100.00,0.21,0.19,120000,120000 -8214,8890,-4000.00,350.00,-4500.00,250.00,1.00,0.19,120000,120000 -8224,8904,600.00,800.00,500.00,700.00,0.21,0.19,120000,120000 -8382,8936,4000.00,1700.00,7900.00,1600.00,-1.00,0.19,120000,120000 -8477,8971,4000.00,1850.00,4750.00,1750.00,-1.00,0.19,120000,120000 -8339,9017,-4000.00,2400.00,-6900.00,2300.00,1.00,0.19,120000,120000 -8138,9067,-4000.00,2600.00,-10050.00,2500.00,1.00,0.19,120000,120000 -8188,9121,2600.00,2800.00,2500.00,2700.00,0.21,0.19,120000,120000 -8405,9174,4000.00,2750.00,10850.00,2650.00,-1.00,0.19,120000,120000 -8550,9237,4000.00,3250.00,7250.00,3150.00,-1.00,0.19,120000,120000 -8443,9301,-4000.00,3300.00,-5350.00,3200.00,1.00,0.19,120000,120000 -8266,9366,-4000.00,3350.00,-8850.00,3250.00,1.00,0.19,120000,120000 -8338,9433,3700.00,3450.00,3600.00,3350.00,0.21,0.19,120000,120000 -8566,9505,4000.00,3700.00,11400.00,3600.00,-1.00,0.19,120000,120000 -8712,9577,4000.00,3700.00,7300.00,3600.00,-1.00,0.19,120000,120000 -8604,9653,-4000.00,3900.00,-5400.00,3800.00,1.00,0.19,120000,120000 -8417,9729,-4000.00,3900.00,-9350.00,3800.00,1.00,0.19,120000,120000 -8464,9805,2450.00,3900.00,2350.00,3800.00,0.21,0.19,120000,120000 -8672,9883,4000.00,4000.00,10400.00,3900.00,-1.00,0.19,120000,120000 -8810,9965,4000.00,4000.00,6900.00,4100.00,-1.00,-0.19,120000,120000 -8700,10033,-4000.00,3500.00,-5500.00,3400.00,1.00,0.19,120000,120000 -8513,10069,-4000.00,1900.00,-9350.00,1800.00,1.00,0.19,120000,120000 -8599,10111,4000.00,2200.00,4300.00,2100.00,-0.62,0.19,120000,120000 -8786,10158,4000.00,2450.00,9350.00,2350.00,-1.00,0.19,120000,120000 -8775,10207,-450.00,2550.00,-550.00,2450.00,0.21,0.19,120000,120000 -8630,10265,-4000.00,3000.00,-7250.00,2900.00,1.00,0.19,120000,120000 -8602,10326,-1300.00,3150.00,-1400.00,3050.00,0.21,0.19,120000,120000 -8745,10397,4000.00,3650.00,7150.00,3550.00,-1.00,0.19,120000,120000 -8819,10467,3800.00,3600.00,3700.00,3500.00,0.21,0.19,120000,120000 -8734,10542,-4000.00,3850.00,-4250.00,3750.00,0.52,0.19,120000,120000 -8730,10629,-100.00,4000.00,-200.00,4350.00,0.21,-0.67,120000,120000 -8829,10653,4000.00,1300.00,4950.00,1200.00,-1.00,0.19,120000,120000 -8860,10560,1650.00,-4000.00,1550.00,-4650.00,0.21,1.00,120000,120000 -8747,10551,-4000.00,-350.00,-5650.00,-450.00,1.00,0.19,120000,120000 -8735,10714,-500.00,4000.00,-600.00,8150.00,0.21,-1.00,120000,120000 -8894,10809,4000.00,4000.00,7950.00,4750.00,-1.00,-1.00,120000,120000 -8995,10665,4000.00,-4000.00,5050.00,-7200.00,-1.00,1.00,120000,120000 -8913,10491,-4000.00,-4000.00,-4100.00,-8700.00,0.21,1.00,120000,120000 -8746,10551,-4000.00,3100.00,-8350.00,3000.00,1.00,0.19,120000,120000 -8696,10783,-2400.00,4000.00,-2500.00,11600.00,0.21,-1.00,120000,120000 -8819,10939,4000.00,4000.00,6150.00,7800.00,-1.00,-1.00,120000,120000 -8894,10854,3850.00,-4000.00,3750.00,-4250.00,0.21,0.48,120000,120000 -8832,10711,-3000.00,-4000.00,-3100.00,-7150.00,0.21,1.00,120000,120000 -8808,10761,-1100.00,2600.00,-1200.00,2500.00,0.21,0.19,120000,120000 -8808,10988,100.00,4000.00,0.00,11350.00,0.21,-1.00,120000,120000 -8817,11141,550.00,4000.00,450.00,7650.00,0.21,-1.00,120000,120000 -8817,11034,100.00,-4000.00,0.00,-5350.00,0.21,1.00,120000,120000 -8817,10849,100.00,-4000.00,0.00,-9250.00,0.21,1.00,120000,120000 -8816,10945,50.00,4000.00,-50.00,4800.00,0.21,-1.00,120000,120000 -8817,11133,150.00,4000.00,50.00,9400.00,0.21,-1.00,120000,120000 -8816,11078,50.00,-2650.00,-50.00,-2750.00,0.21,0.19,120000,120000 -8819,10877,250.00,-4000.00,150.00,-10050.00,0.21,1.00,120000,120000 -8824,10807,350.00,-3400.00,250.00,-3500.00,0.21,0.19,120000,120000 -8828,10923,300.00,4000.00,200.00,5800.00,0.21,-1.00,120000,120000 -8846,10984,1000.00,3150.00,900.00,3050.00,0.21,0.19,120000,120000 -8886,10890,2100.00,-4000.00,2000.00,-4700.00,0.21,1.00,120000,120000 -8932,10893,2400.00,250.00,2300.00,150.00,0.21,0.19,120000,120000 -8984,11074,2700.00,4000.00,2600.00,9050.00,0.21,-1.00,120000,120000 -9045,11186,3150.00,4000.00,3050.00,5600.00,0.21,-1.00,120000,120000 -9114,11052,3550.00,-4000.00,3450.00,-6700.00,0.21,1.00,120000,120000 -9186,10851,3700.00,-4000.00,3600.00,-10050.00,0.21,1.00,120000,120000 -9262,10923,3900.00,3700.00,3800.00,3600.00,0.21,0.19,120000,120000 -9338,11161,3900.00,4000.00,3800.00,11900.00,0.21,-1.00,120000,120000 -9420,11330,4000.00,4000.00,4100.00,8450.00,-0.21,-1.00,120000,120000 -9489,11253,3550.00,-3750.00,3450.00,-3850.00,0.21,0.19,120000,120000 -9525,11045,1900.00,-4000.00,1800.00,-10400.00,0.21,1.00,120000,120000 -9570,10975,2350.00,-3400.00,2250.00,-3500.00,0.21,0.19,120000,120000 -9625,11112,2850.00,4000.00,2750.00,6850.00,0.21,-1.00,120000,120000 -9686,11191,3150.00,4000.00,3050.00,3950.00,0.21,0.10,120000,120000 -9756,11097,3600.00,-4000.00,3500.00,-4700.00,0.21,1.00,120000,120000 -9833,11068,3950.00,-1350.00,3850.00,-1450.00,0.21,0.19,120000,120000 -9914,11211,4000.00,4000.00,4050.00,7150.00,-0.10,-1.00,120000,120000 -9996,11294,4000.00,4000.00,4100.00,4150.00,-0.21,-0.29,120000,120000 -10050,11179,2800.00,-4000.00,2700.00,-5750.00,0.21,1.00,120000,120000 -10078,11110,1500.00,-3350.00,1400.00,-3450.00,0.21,0.19,120000,120000 -10096,11246,1000.00,4000.00,900.00,6800.00,0.21,-1.00,120000,120000 -10124,11327,1500.00,4000.00,1400.00,4050.00,0.21,-0.10,120000,120000 -10166,11234,2200.00,-4000.00,2100.00,-4650.00,0.21,1.00,120000,120000 -10223,11200,2950.00,-1600.00,2850.00,-1700.00,0.21,0.19,120000,120000 -10287,11356,3300.00,4000.00,3200.00,7800.00,0.21,-1.00,120000,120000 -10356,11443,3550.00,4000.00,3450.00,4350.00,0.21,-0.67,120000,120000 -10427,11307,3650.00,-4000.00,3550.00,-6800.00,0.21,1.00,120000,120000 -10509,11145,4000.00,-4000.00,4100.00,-8100.00,-0.21,1.00,120000,120000 -10570,11255,3150.00,4000.00,3050.00,5500.00,0.21,-1.00,120000,120000 -10610,11451,2100.00,4000.00,2000.00,9800.00,0.21,-1.00,120000,120000 -10642,11389,1700.00,-3000.00,1600.00,-3100.00,0.21,0.19,120000,120000 -10697,11189,2850.00,-4000.00,2750.00,-10000.00,0.21,1.00,120000,120000 -10756,11123,3050.00,-3200.00,2950.00,-3300.00,0.21,0.19,120000,120000 -10819,11267,3250.00,4000.00,3150.00,7200.00,0.21,-1.00,120000,120000 -10890,11352,3650.00,4000.00,3550.00,4250.00,0.21,-0.48,120000,120000 -10964,11226,3800.00,-4000.00,3700.00,-6300.00,0.21,1.00,120000,120000 -11050,11113,4000.00,-4000.00,4300.00,-5650.00,-0.62,1.00,120000,120000 -11094,11265,2300.00,4000.00,2200.00,7600.00,0.21,-1.00,120000,120000 -11052,11478,-2000.00,4000.00,-2100.00,10650.00,0.21,-1.00,120000,120000 -11058,11420,400.00,-2800.00,300.00,-2900.00,0.21,0.19,120000,120000 -11088,11223,1600.00,-4000.00,1500.00,-9850.00,0.21,1.00,120000,120000 -11122,11159,1800.00,-3100.00,1700.00,-3200.00,0.21,0.19,120000,120000 -11166,11292,2300.00,4000.00,2200.00,6650.00,0.21,-1.00,120000,120000 -11221,11375,2850.00,4000.00,2750.00,4150.00,0.21,-0.29,120000,120000 -11277,11261,2900.00,-4000.00,2800.00,-5700.00,0.21,1.00,120000,120000 -11350,11189,3750.00,-3500.00,3650.00,-3600.00,0.21,0.19,120000,120000 -11421,11315,3650.00,4000.00,3550.00,6300.00,0.21,-1.00,120000,120000 -11498,11381,3950.00,3400.00,3850.00,3300.00,0.21,0.19,120000,120000 -11579,11293,4000.00,-4000.00,4050.00,-4400.00,-0.10,0.76,120000,120000 -11668,11291,4000.00,0.00,4450.00,-100.00,-0.93,0.19,120000,120000 -11664,11424,-100.00,4000.00,-200.00,6650.00,0.21,-1.00,120000,120000 -11504,11493,-4000.00,3550.00,-8000.00,3450.00,1.00,0.19,120000,120000 -11478,11371,-1200.00,-4000.00,-1300.00,-6100.00,0.21,1.00,120000,120000 -11606,11346,4000.00,-1150.00,6400.00,-1250.00,-1.00,0.19,120000,120000 -11672,11489,3400.00,4000.00,3300.00,7150.00,0.21,-1.00,120000,120000 -11580,11572,-4000.00,4000.00,-4600.00,4150.00,1.00,-0.29,120000,120000 -11586,11459,400.00,-4000.00,300.00,-5650.00,0.21,1.00,120000,120000 -11736,11395,4000.00,-3100.00,7500.00,-3200.00,-1.00,0.19,120000,120000 -11823,11528,4000.00,4000.00,4350.00,6650.00,-0.72,-1.00,120000,120000 -11699,11605,-4000.00,3950.00,-6200.00,3850.00,1.00,0.19,120000,120000 -11588,11541,-4000.00,-3100.00,-5550.00,-3200.00,1.00,0.19,120000,120000 -11697,11505,4000.00,-1700.00,5450.00,-1800.00,-1.00,0.19,120000,120000 -11882,11521,4000.00,900.00,9250.00,800.00,-1.00,0.19,120000,120000 -11805,11553,-3750.00,1700.00,-3850.00,1600.00,0.21,0.19,120000,120000 -11585,11585,-4000.00,1700.00,-11000.00,1600.00,1.00,0.19,120000,120000 -11506,11640,-3850.00,2850.00,-3950.00,2750.00,0.21,0.19,120000,120000 -11622,11693,4000.00,2750.00,5800.00,2650.00,-1.00,0.19,120000,120000 -11676,11754,2800.00,3150.00,2700.00,3050.00,0.21,0.19,120000,120000 -11586,11817,-4000.00,3250.00,-4500.00,3150.00,1.00,0.19,120000,120000 -11608,11886,1200.00,3550.00,1100.00,3450.00,0.21,0.19,120000,120000 -11766,11957,4000.00,3650.00,7900.00,3550.00,-1.00,0.19,120000,120000 -11868,12035,4000.00,4000.00,5100.00,3900.00,-1.00,0.19,120000,120000 -11744,12111,-4000.00,3900.00,-6200.00,3800.00,1.00,0.19,120000,120000 -11548,12195,-4000.00,4000.00,-9800.00,4200.00,1.00,-0.38,120000,120000 -11588,12247,2100.00,2700.00,2000.00,2600.00,0.21,0.19,120000,120000 -11779,12265,4000.00,1000.00,9550.00,900.00,-1.00,0.19,120000,120000 -11898,12286,4000.00,1150.00,5950.00,1050.00,-1.00,0.19,120000,120000 -11760,12298,-4000.00,700.00,-6900.00,600.00,1.00,0.19,120000,120000 -11559,12325,-4000.00,1450.00,-10050.00,1350.00,1.00,0.19,120000,120000 -11592,12355,1750.00,1600.00,1650.00,1500.00,0.21,0.19,120000,120000 -11787,12384,4000.00,1550.00,9750.00,1450.00,-1.00,0.19,120000,120000 -11909,12435,4000.00,2650.00,6100.00,2550.00,-1.00,0.19,120000,120000 -11780,12485,-4000.00,2600.00,-6450.00,2500.00,1.00,0.19,120000,120000 -11581,12541,-4000.00,2900.00,-9950.00,2800.00,1.00,0.19,120000,120000 -11634,12591,2750.00,2600.00,2650.00,2500.00,0.21,0.19,120000,120000 -11846,12653,4000.00,3200.00,10600.00,3100.00,-1.00,0.19,120000,120000 -11993,12727,4000.00,3800.00,7350.00,3700.00,-1.00,0.19,120000,120000 -11906,12795,-4000.00,3500.00,-4350.00,3400.00,0.72,0.19,120000,120000 -11724,12873,-4000.00,4000.00,-9100.00,3900.00,1.00,0.19,120000,120000 -11774,12952,2600.00,4000.00,2500.00,3950.00,0.21,0.10,120000,120000 -11986,13021,4000.00,3550.00,10600.00,3450.00,-1.00,0.19,120000,120000 -12126,13083,4000.00,3200.00,7000.00,3100.00,-1.00,0.19,120000,120000 -12029,13151,-4000.00,3500.00,-4850.00,3400.00,1.00,0.19,120000,120000 -11856,13221,-4000.00,3600.00,-8650.00,3500.00,1.00,0.19,120000,120000 -11930,13293,3800.00,3700.00,3700.00,3600.00,0.21,0.19,120000,120000 -12163,13364,4000.00,3650.00,11650.00,3550.00,-1.00,0.19,120000,120000 -12320,13439,4000.00,3850.00,7850.00,3750.00,-1.00,0.19,120000,120000 -12229,13521,-4000.00,4000.00,-4550.00,4100.00,1.00,-0.19,120000,120000 -12056,13588,-4000.00,3450.00,-8650.00,3350.00,1.00,0.19,120000,120000 -12136,13625,4000.00,1950.00,4000.00,1850.00,0.00,0.19,120000,120000 -12362,13662,4000.00,1950.00,11300.00,1850.00,-1.00,0.19,120000,120000 -12488,13702,4000.00,2100.00,6300.00,2000.00,-1.00,0.19,120000,120000 -12360,13755,-4000.00,2750.00,-6400.00,2650.00,1.00,0.19,120000,120000 -12166,13811,-4000.00,2900.00,-9700.00,2800.00,1.00,0.19,120000,120000 -12214,13869,2500.00,3000.00,2400.00,2900.00,0.21,0.19,120000,120000 -12422,13928,4000.00,3050.00,10400.00,2950.00,-1.00,0.19,120000,120000 -12553,13993,4000.00,3350.00,6550.00,3250.00,-1.00,0.19,120000,120000 -12436,14059,-4000.00,3400.00,-5850.00,3300.00,1.00,0.19,120000,120000 -12250,14130,-4000.00,3650.00,-9300.00,3550.00,1.00,0.19,120000,120000 -12314,14204,3300.00,3800.00,3200.00,3700.00,0.21,0.19,120000,120000 -12540,14277,4000.00,3750.00,11300.00,3650.00,-1.00,0.19,120000,120000 -12690,14353,4000.00,3900.00,7500.00,3800.00,-1.00,0.19,120000,120000 -12580,14433,-4000.00,4000.00,-5500.00,4000.00,1.00,0.00,120000,120000 -12384,14513,-4000.00,4000.00,-9800.00,4000.00,1.00,0.00,120000,120000 -12454,14577,3600.00,3300.00,3500.00,3200.00,0.21,0.19,120000,120000 -12686,14632,4000.00,2850.00,11600.00,2750.00,-1.00,0.19,120000,120000 -12845,14697,4000.00,3350.00,7950.00,3250.00,-1.00,0.19,120000,120000 -12731,14761,-4000.00,3300.00,-5700.00,3200.00,1.00,0.19,120000,120000 -12538,14832,-4000.00,3650.00,-9650.00,3550.00,1.00,0.19,120000,120000 -12590,14900,2700.00,3500.00,2600.00,3400.00,0.21,0.19,120000,120000 -12806,14970,4000.00,3600.00,10800.00,3500.00,-1.00,0.19,120000,120000 -12950,15046,4000.00,3900.00,7200.00,3800.00,-1.00,0.19,120000,120000 -12830,15125,-4000.00,4000.00,-6000.00,3950.00,1.00,0.10,120000,120000 -12639,15201,-4000.00,3900.00,-9550.00,3800.00,1.00,0.19,120000,120000 -12716,15264,3950.00,3250.00,3850.00,3150.00,0.21,0.19,120000,120000 -12953,15333,4000.00,3550.00,11850.00,3450.00,-1.00,0.19,120000,120000 -13110,15401,4000.00,3500.00,7850.00,3400.00,-1.00,0.19,120000,120000 -12972,15487,-4000.00,4000.00,-6900.00,4300.00,1.00,-0.57,120000,120000 -12747,15531,-4000.00,2300.00,-11250.00,2200.00,1.00,0.19,120000,120000 -12766,15521,1050.00,-400.00,950.00,-500.00,0.21,0.19,120000,120000 -12954,15539,4000.00,1000.00,9400.00,900.00,-1.00,0.19,120000,120000 -13074,15564,4000.00,1350.00,6000.00,1250.00,-1.00,0.19,120000,120000 -12963,15596,-4000.00,1700.00,-5550.00,1600.00,1.00,0.19,120000,120000 -12782,15633,-4000.00,1950.00,-9050.00,1850.00,1.00,0.19,120000,120000 -12857,15677,3850.00,2300.00,3750.00,2200.00,0.21,0.19,120000,120000 -13090,15721,4000.00,2300.00,11650.00,2200.00,-1.00,0.19,120000,120000 -13252,15776,4000.00,2850.00,8100.00,2750.00,-1.00,0.19,120000,120000 -13162,15833,-4000.00,2950.00,-4500.00,2850.00,1.00,0.19,120000,120000 -12999,15895,-4000.00,3200.00,-8150.00,3100.00,1.00,0.19,120000,120000 -13060,15955,3150.00,3100.00,3050.00,3000.00,0.21,0.19,120000,120000 -13286,16021,4000.00,3400.00,11300.00,3300.00,-1.00,0.19,120000,120000 -13426,16087,4000.00,3400.00,7000.00,3300.00,-1.00,0.19,120000,120000 -13313,16159,-4000.00,3700.00,-5650.00,3600.00,1.00,0.19,120000,120000 -13118,16232,-4000.00,3750.00,-9750.00,3650.00,1.00,0.19,120000,120000 -13185,16304,3450.00,3700.00,3350.00,3600.00,0.21,0.19,120000,120000 -13422,16381,4000.00,3950.00,11850.00,3850.00,-1.00,0.19,120000,120000 -13578,16464,4000.00,4000.00,7800.00,4150.00,-1.00,-0.29,120000,120000 -13478,16524,-4000.00,3100.00,-5000.00,3000.00,1.00,0.19,120000,120000 -13307,16545,-4000.00,1150.00,-8550.00,1050.00,1.00,0.19,120000,120000 -13376,16548,3550.00,250.00,3450.00,150.00,0.21,0.19,120000,120000 -13602,16546,4000.00,0.00,11300.00,-100.00,-1.00,0.19,120000,120000 -13754,16545,4000.00,50.00,7600.00,-50.00,-1.00,0.19,120000,120000 -13646,16542,-4000.00,-50.00,-5400.00,-150.00,1.00,0.19,120000,120000 -13454,16541,-4000.00,50.00,-9600.00,-50.00,1.00,0.19,120000,120000 -13514,16541,3100.00,100.00,3000.00,0.00,0.21,0.19,120000,120000 -13731,16543,4000.00,200.00,10850.00,100.00,-1.00,0.19,120000,120000 -13874,16543,4000.00,100.00,7150.00,0.00,-1.00,0.19,120000,120000 -13784,16541,-4000.00,0.00,-4500.00,-100.00,1.00,0.19,120000,120000 -13610,16541,-4000.00,100.00,-8700.00,0.00,1.00,0.19,120000,120000 -13666,16541,2900.00,100.00,2800.00,0.00,0.21,0.19,120000,120000 -13878,16543,4000.00,200.00,10600.00,100.00,-1.00,0.19,120000,120000 -14018,16544,4000.00,150.00,7000.00,50.00,-1.00,0.19,120000,120000 -13902,16542,-4000.00,0.00,-5800.00,-100.00,1.00,0.19,120000,120000 -13702,16542,-4000.00,100.00,-10000.00,0.00,1.00,0.19,120000,120000 -13765,16541,3250.00,50.00,3150.00,-50.00,0.21,0.19,120000,120000 -13988,16543,4000.00,200.00,11150.00,100.00,-1.00,0.19,120000,120000 -14141,16544,4000.00,150.00,7650.00,50.00,-1.00,0.19,120000,120000 -14046,16542,-4000.00,0.00,-4750.00,-100.00,1.00,0.19,120000,120000 -13871,16541,-4000.00,50.00,-8750.00,-50.00,1.00,0.19,120000,120000 -13924,16541,2750.00,100.00,2650.00,0.00,0.21,0.19,120000,120000 -14144,16544,4000.00,250.00,11000.00,150.00,-1.00,0.19,120000,120000 -14287,16545,4000.00,150.00,7150.00,50.00,-1.00,0.19,120000,120000 -14170,16542,-4000.00,-50.00,-5850.00,-150.00,1.00,0.19,120000,120000 -13970,16542,-4000.00,100.00,-10000.00,0.00,1.00,0.19,120000,120000 -14023,16541,2750.00,50.00,2650.00,-50.00,0.21,0.19,120000,120000 -14239,16543,4000.00,200.00,10800.00,100.00,-1.00,0.19,120000,120000 -14388,16544,4000.00,150.00,7450.00,50.00,-1.00,0.19,120000,120000 -14301,16542,-4000.00,0.00,-4350.00,-100.00,0.72,0.19,120000,120000 -14130,16543,-4000.00,150.00,-8550.00,50.00,1.00,0.19,120000,120000 -14167,16543,1950.00,100.00,1850.00,0.00,0.21,0.19,120000,120000 -14362,16543,4000.00,100.00,9750.00,0.00,-1.00,0.19,120000,120000 -14489,16544,4000.00,150.00,6350.00,50.00,-1.00,0.19,120000,120000 -14357,16542,-4000.00,0.00,-6600.00,-100.00,1.00,0.19,120000,120000 -14154,16542,-4000.00,100.00,-10150.00,0.00,1.00,0.19,120000,120000 -14198,16542,2300.00,100.00,2200.00,0.00,0.21,0.19,120000,120000 -14410,16543,4000.00,150.00,10600.00,50.00,-1.00,0.19,120000,120000 -14546,16544,4000.00,150.00,6800.00,50.00,-1.00,0.19,120000,120000 -14428,16542,-4000.00,0.00,-5900.00,-100.00,1.00,0.19,120000,120000 -14232,16542,-4000.00,100.00,-9800.00,0.00,1.00,0.19,120000,120000 -14291,16541,3050.00,50.00,2950.00,-50.00,0.21,0.19,120000,120000 -14520,16543,4000.00,200.00,11450.00,100.00,-1.00,0.19,120000,120000 -14674,16544,4000.00,150.00,7700.00,50.00,-1.00,0.19,120000,120000 -14584,16542,-4000.00,0.00,-4500.00,-100.00,1.00,0.19,120000,120000 -14418,16542,-4000.00,100.00,-8300.00,0.00,1.00,0.19,120000,120000 -14489,16541,3650.00,50.00,3550.00,-50.00,0.21,0.19,120000,120000 -14726,16544,4000.00,250.00,11850.00,150.00,-1.00,0.19,120000,120000 -14884,16544,4000.00,100.00,7900.00,0.00,-1.00,0.19,120000,120000 -14786,16542,-4000.00,0.00,-4900.00,-100.00,1.00,0.19,120000,120000 -14612,16541,-4000.00,50.00,-8700.00,-50.00,1.00,0.19,120000,120000 -14676,16541,3300.00,100.00,3200.00,0.00,0.21,0.19,120000,120000 -14904,16544,4000.00,250.00,11400.00,150.00,-1.00,0.19,120000,120000 -15054,16544,4000.00,100.00,7500.00,0.00,-1.00,0.19,120000,120000 -14966,16541,-4000.00,-50.00,-4400.00,-150.00,0.83,0.19,120000,120000 -14782,16542,-4000.00,150.00,-9200.00,50.00,1.00,0.19,120000,120000 -14877,16542,4000.00,100.00,4750.00,0.00,-1.00,0.19,120000,120000 -15055,16541,4000.00,50.00,8900.00,-50.00,-1.00,0.19,120000,120000 -15002,16541,-2550.00,100.00,-2650.00,0.00,0.21,0.19,120000,120000 -14822,16544,-4000.00,250.00,-9000.00,150.00,1.00,0.19,120000,120000 -14766,16545,-2700.00,150.00,-2800.00,50.00,0.21,0.19,120000,120000 -14878,16544,4000.00,50.00,5600.00,-50.00,-1.00,0.19,120000,120000 -14934,16545,2900.00,150.00,2800.00,50.00,0.21,0.19,120000,120000 -14846,16544,-4000.00,50.00,-4400.00,-50.00,0.83,0.19,120000,120000 -14863,16545,950.00,150.00,850.00,50.00,0.21,0.19,120000,120000 -14993,16546,4000.00,150.00,6500.00,50.00,-1.00,0.19,120000,120000 -15071,16545,4000.00,50.00,3900.00,-50.00,0.21,0.19,120000,120000 -15000,16545,-3450.00,100.00,-3550.00,0.00,0.21,0.19,120000,120000 -14987,16548,-550.00,250.00,-650.00,150.00,0.21,0.19,120000,120000 -15018,16549,1650.00,150.00,1550.00,50.00,0.21,0.19,120000,120000 -15063,16549,2350.00,100.00,2250.00,0.00,0.21,0.19,120000,120000 -15122,16551,3050.00,200.00,2950.00,100.00,0.21,0.19,120000,120000 -15194,16551,3700.00,100.00,3600.00,0.00,0.21,0.19,120000,120000 -15275,16552,4000.00,150.00,4050.00,50.00,-0.10,0.19,120000,120000 -15360,16553,4000.00,150.00,4250.00,50.00,-0.52,0.19,120000,120000 -15394,16555,1800.00,200.00,1700.00,100.00,0.21,0.19,120000,120000 -15378,16555,-700.00,100.00,-800.00,0.00,0.21,0.19,120000,120000 -15406,16557,1500.00,200.00,1400.00,100.00,0.21,0.19,120000,120000 -15442,16558,1900.00,150.00,1800.00,50.00,0.21,0.19,120000,120000 -15494,16564,2700.00,400.00,2600.00,300.00,0.21,0.19,120000,120000 -15558,16585,3300.00,1150.00,3200.00,1050.00,0.21,0.19,120000,120000 -15632,16629,3800.00,2300.00,3700.00,2200.00,0.21,0.19,120000,120000 -15710,16681,4000.00,2700.00,3900.00,2600.00,0.21,0.19,120000,120000 -15800,16742,4000.00,3150.00,4500.00,3050.00,-1.00,0.19,120000,120000 -15826,16813,1400.00,3650.00,1300.00,3550.00,0.21,0.19,120000,120000 -15720,16882,-4000.00,3550.00,-5300.00,3450.00,1.00,0.19,120000,120000 -15727,16962,450.00,4000.00,350.00,4000.00,0.21,0.00,120000,120000 -15897,17035,4000.00,3750.00,8500.00,3650.00,-1.00,0.19,120000,120000 -16003,17101,4000.00,3400.00,5300.00,3300.00,-1.00,0.19,120000,120000 -15880,17167,-4000.00,3400.00,-6150.00,3300.00,1.00,0.19,120000,120000 -15691,17233,-4000.00,3400.00,-9450.00,3300.00,1.00,0.19,120000,120000 -15740,17303,2550.00,3600.00,2450.00,3500.00,0.21,0.19,120000,120000 -15951,17373,4000.00,3600.00,10550.00,3500.00,-1.00,0.19,120000,120000 -16086,17447,4000.00,3800.00,6750.00,3700.00,-1.00,0.19,120000,120000 -15962,17528,-4000.00,4000.00,-6200.00,4050.00,1.00,-0.10,120000,120000 -15756,17604,-4000.00,3900.00,-10300.00,3800.00,1.00,0.19,120000,120000 -15806,17668,2600.00,3300.00,2500.00,3200.00,0.21,0.19,120000,120000 -16029,17740,4000.00,3700.00,11150.00,3600.00,-1.00,0.19,120000,120000 -16172,17816,4000.00,3900.00,7150.00,3800.00,-1.00,0.19,120000,120000 -16051,17888,-4000.00,3700.00,-6050.00,3600.00,1.00,0.19,120000,120000 -15850,17964,-4000.00,3900.00,-10050.00,3800.00,1.00,0.19,120000,120000 -15916,18037,3400.00,3750.00,3300.00,3650.00,0.21,0.19,120000,120000 -16142,18114,4000.00,3950.00,11300.00,3850.00,-1.00,0.19,120000,120000 -16300,18195,4000.00,4000.00,7900.00,4050.00,-1.00,-0.10,120000,120000 -16187,18273,-4000.00,4000.00,-5650.00,3900.00,1.00,0.19,120000,120000 -15996,18339,-4000.00,3400.00,-9550.00,3300.00,1.00,0.19,120000,120000 -16058,18408,3200.00,3550.00,3100.00,3450.00,0.21,0.19,120000,120000 -16284,18474,4000.00,3400.00,11300.00,3300.00,-1.00,0.19,120000,120000 -16438,18549,4000.00,3850.00,7700.00,3750.00,-1.00,0.19,120000,120000 -16326,18621,-4000.00,3700.00,-5600.00,3600.00,1.00,0.19,120000,120000 -16145,18696,-4000.00,3850.00,-9050.00,3750.00,1.00,0.19,120000,120000 -16198,18772,2750.00,3900.00,2650.00,3800.00,0.21,0.19,120000,120000 -16410,18846,4000.00,3800.00,10600.00,3700.00,-1.00,0.19,120000,120000 -16553,18929,4000.00,4000.00,7150.00,4150.00,-1.00,-0.29,120000,120000 -16442,18987,-4000.00,3000.00,-5550.00,2900.00,1.00,0.19,120000,120000 -16256,19008,-4000.00,1150.00,-9300.00,1050.00,1.00,0.19,120000,120000 -16328,19018,3700.00,600.00,3600.00,500.00,0.21,0.19,120000,120000 -16554,19025,4000.00,450.00,11300.00,350.00,-1.00,0.19,120000,120000 -16702,19042,4000.00,950.00,7400.00,850.00,-1.00,0.19,120000,120000 -16595,19080,-4000.00,2000.00,-5350.00,1900.00,1.00,0.19,120000,120000 -16415,19115,-4000.00,1850.00,-9000.00,1750.00,1.00,0.19,120000,120000 -16473,19159,3000.00,2300.00,2900.00,2200.00,0.21,0.19,120000,120000 -16686,19205,4000.00,2400.00,10650.00,2300.00,-1.00,0.19,120000,120000 -16828,19255,4000.00,2600.00,7100.00,2500.00,-1.00,0.19,120000,120000 -16710,19310,-4000.00,2850.00,-5900.00,2750.00,1.00,0.19,120000,120000 -16511,19375,-4000.00,3350.00,-9950.00,3250.00,1.00,0.19,120000,120000 -16571,19435,3100.00,3100.00,3000.00,3000.00,0.21,0.19,120000,120000 -16794,19499,4000.00,3300.00,11150.00,3200.00,-1.00,0.19,120000,120000 -16945,19570,4000.00,3650.00,7550.00,3550.00,-1.00,0.19,120000,120000 -16838,19641,-4000.00,3650.00,-5350.00,3550.00,1.00,0.19,120000,120000 -16651,19715,-4000.00,3800.00,-9350.00,3700.00,1.00,0.19,120000,120000 -16768,19802,4000.00,4000.00,5850.00,4350.00,-1.00,-0.67,120000,120000 -16976,19833,4000.00,1650.00,10400.00,1550.00,-1.00,0.19,120000,120000 -16958,19797,-800.00,-1700.00,-900.00,-1800.00,0.21,0.19,120000,120000 -16799,19794,-4000.00,-50.00,-7950.00,-150.00,1.00,0.19,120000,120000 -16761,19817,-1800.00,1250.00,-1900.00,1150.00,0.21,0.19,120000,120000 -16887,19834,4000.00,950.00,6300.00,850.00,-1.00,0.19,120000,120000 -16952,19873,3350.00,2050.00,3250.00,1950.00,0.21,0.19,120000,120000 -16857,19912,-4000.00,2050.00,-4750.00,1950.00,1.00,0.19,120000,120000 -16876,19968,1050.00,2900.00,950.00,2800.00,0.21,0.19,120000,120000 -17036,20023,4000.00,2850.00,8000.00,2750.00,-1.00,0.19,120000,120000 -17141,20085,4000.00,3200.00,5250.00,3100.00,-1.00,0.19,120000,120000 -17004,20150,-4000.00,3350.00,-6850.00,3250.00,1.00,0.19,120000,120000 -16795,20219,-4000.00,3550.00,-10450.00,3450.00,1.00,0.19,120000,120000 -16854,20288,3050.00,3550.00,2950.00,3450.00,0.21,0.19,120000,120000 -17074,20355,4000.00,3450.00,11000.00,3350.00,-1.00,0.19,120000,120000 -17223,20428,4000.00,3750.00,7450.00,3650.00,-1.00,0.19,120000,120000 -17119,20498,-4000.00,3600.00,-5200.00,3500.00,1.00,0.19,120000,120000 -16934,20576,-4000.00,4000.00,-9250.00,3900.00,1.00,0.19,120000,120000 -16990,20651,2900.00,3850.00,2800.00,3750.00,0.21,0.19,120000,120000 -17202,20726,4000.00,3850.00,10600.00,3750.00,-1.00,0.19,120000,120000 -17341,20807,4000.00,4000.00,6950.00,4050.00,-1.00,-0.10,120000,120000 -17241,20881,-4000.00,3800.00,-5000.00,3700.00,1.00,0.19,120000,120000 -17056,20947,-4000.00,3400.00,-9250.00,3300.00,1.00,0.19,120000,120000 -17128,21016,3700.00,3550.00,3600.00,3450.00,0.21,0.19,120000,120000 -17354,21089,4000.00,3750.00,11300.00,3650.00,-1.00,0.19,120000,120000 -17509,21163,4000.00,3800.00,7750.00,3700.00,-1.00,0.19,120000,120000 -17404,21240,-4000.00,3950.00,-5250.00,3850.00,1.00,0.19,120000,120000 -17218,21318,-4000.00,4000.00,-9300.00,3900.00,1.00,0.19,120000,120000 -17278,21398,3100.00,4000.00,3000.00,4000.00,0.21,0.00,120000,120000 -17506,21472,4000.00,3800.00,11400.00,3700.00,-1.00,0.19,120000,120000 -17651,21533,4000.00,3150.00,7250.00,3050.00,-1.00,0.19,120000,120000 -17557,21595,-4000.00,3200.00,-4700.00,3100.00,1.00,0.19,120000,120000 -17379,21665,-4000.00,3600.00,-8900.00,3500.00,1.00,0.19,120000,120000 -17456,21734,3950.00,3550.00,3850.00,3450.00,0.21,0.19,120000,120000 -17698,21804,4000.00,3600.00,12100.00,3500.00,-1.00,0.19,120000,120000 -17857,21878,4000.00,3800.00,7950.00,3700.00,-1.00,0.19,120000,120000 -17786,21950,-3450.00,3700.00,-3550.00,3600.00,0.21,0.19,120000,120000 -17594,22027,-4000.00,3950.00,-9600.00,3850.00,1.00,0.19,120000,120000 -17531,22106,-3050.00,4000.00,-3150.00,3950.00,0.21,0.10,120000,120000 -17642,22185,4000.00,4000.00,5550.00,3950.00,-1.00,0.10,120000,120000 -17692,22245,2600.00,3100.00,2500.00,3000.00,0.21,0.19,120000,120000 -17598,22302,-4000.00,2950.00,-4700.00,2850.00,1.00,0.19,120000,120000 -17614,22373,900.00,3650.00,800.00,3550.00,0.21,0.19,120000,120000 -17783,22441,4000.00,3500.00,8450.00,3400.00,-1.00,0.19,120000,120000 -17885,22513,4000.00,3700.00,5100.00,3600.00,-1.00,0.19,120000,120000 -17752,22585,-4000.00,3700.00,-6650.00,3600.00,1.00,0.19,120000,120000 -17542,22662,-4000.00,3950.00,-10500.00,3850.00,1.00,0.19,120000,120000 -17577,22741,1850.00,4000.00,1750.00,3950.00,0.21,0.10,120000,120000 -17773,22813,4000.00,3700.00,9800.00,3600.00,-1.00,0.19,120000,120000 -17900,22871,4000.00,3000.00,6350.00,2900.00,-1.00,0.19,120000,120000 -17772,22937,-4000.00,3400.00,-6400.00,3300.00,1.00,0.19,120000,120000 -17571,23009,-4000.00,3700.00,-10050.00,3600.00,1.00,0.19,120000,120000 -17632,23079,3150.00,3600.00,3050.00,3500.00,0.21,0.19,120000,120000 -17852,23149,4000.00,3600.00,11000.00,3500.00,-1.00,0.19,120000,120000 -18000,23223,4000.00,3800.00,7400.00,3700.00,-1.00,0.19,120000,120000 -17910,23299,-4000.00,3900.00,-4500.00,3800.00,1.00,0.19,120000,120000 -17748,23377,-4000.00,4000.00,-8100.00,3900.00,1.00,0.19,120000,120000 -17815,23458,3450.00,4000.00,3350.00,4050.00,0.21,-0.10,120000,120000 -18048,23533,4000.00,3850.00,11650.00,3750.00,-1.00,0.19,120000,120000 -18202,23597,4000.00,3300.00,7700.00,3200.00,-1.00,0.19,120000,120000 -18106,23663,-4000.00,3400.00,-4800.00,3300.00,1.00,0.19,120000,120000 -17930,23736,-4000.00,3750.00,-8800.00,3650.00,1.00,0.19,120000,120000 -18004,23801,3800.00,3350.00,3700.00,3250.00,0.21,0.19,120000,120000 -18231,23873,4000.00,3700.00,11350.00,3600.00,-1.00,0.19,120000,120000 -18391,23950,4000.00,3950.00,8000.00,3850.00,-1.00,0.19,120000,120000 -18307,24028,-4000.00,4000.00,-4200.00,3900.00,0.41,0.19,120000,120000 -18106,24110,-4000.00,4000.00,-10050.00,4100.00,1.00,-0.19,120000,120000 -18079,24177,-1250.00,3450.00,-1350.00,3350.00,0.21,0.19,120000,120000 -18222,24222,4000.00,2350.00,7150.00,2250.00,-1.00,0.19,120000,120000 -18298,24273,3900.00,2650.00,3800.00,2550.00,0.21,0.19,120000,120000 -18208,24324,-4000.00,2650.00,-4500.00,2550.00,1.00,0.19,120000,120000 -18223,24389,850.00,3350.00,750.00,3250.00,0.21,0.19,120000,120000 -18382,24454,4000.00,3350.00,7950.00,3250.00,-1.00,0.19,120000,120000 -18479,24525,4000.00,3650.00,4850.00,3550.00,-1.00,0.19,120000,120000 -18342,24599,-4000.00,3800.00,-6850.00,3700.00,1.00,0.19,120000,120000 -18132,24677,-4000.00,4000.00,-10500.00,3900.00,1.00,0.19,120000,120000 -18221,24772,4000.00,4000.00,4450.00,4750.00,-0.93,-1.00,120000,120000 -18418,24798,4000.00,1400.00,9850.00,1300.00,-1.00,0.19,120000,120000 -18396,24720,-1000.00,-3800.00,-1100.00,-3900.00,0.21,0.19,120000,120000 -18228,24689,-4000.00,-1450.00,-8400.00,-1550.00,1.00,0.19,120000,120000 -18188,24685,-1900.00,-100.00,-2000.00,-200.00,0.21,0.19,120000,120000 -18322,24687,4000.00,200.00,6700.00,100.00,-1.00,0.19,120000,120000 -18397,24689,3850.00,200.00,3750.00,100.00,0.21,0.19,120000,120000 -18328,24692,-3350.00,250.00,-3450.00,150.00,0.21,0.19,120000,120000 -18317,24704,-450.00,700.00,-550.00,600.00,0.21,0.19,120000,120000 -18350,24742,1750.00,2000.00,1650.00,1900.00,0.21,0.19,120000,120000 -18397,24787,2450.00,2350.00,2350.00,2250.00,0.21,0.19,120000,120000 -18458,24850,3150.00,3250.00,3050.00,3150.00,0.21,0.19,120000,120000 -18531,24917,3750.00,3450.00,3650.00,3350.00,0.21,0.19,120000,120000 -18612,24997,4000.00,4000.00,4050.00,4000.00,-0.10,0.00,120000,120000 -18696,25076,4000.00,4000.00,4200.00,3950.00,-0.41,0.10,120000,120000 -18738,25139,2200.00,3250.00,2100.00,3150.00,0.21,0.19,120000,120000 -18725,25193,-550.00,2800.00,-650.00,2700.00,0.21,0.19,120000,120000 -18748,25261,1250.00,3500.00,1150.00,3400.00,0.21,0.19,120000,120000 -18766,25334,1000.00,3750.00,900.00,3650.00,0.21,0.19,120000,120000 -18809,25418,2250.00,4000.00,2150.00,4200.00,0.21,-0.38,120000,120000 -18856,25472,2450.00,2800.00,2350.00,2700.00,0.21,0.19,120000,120000 -18919,25463,3250.00,-350.00,3150.00,-450.00,0.21,0.19,120000,120000 -18994,25478,3850.00,850.00,3750.00,750.00,0.21,0.19,120000,120000 -19078,25496,4000.00,1000.00,4200.00,900.00,-0.41,0.19,120000,120000 -19133,25525,2850.00,1550.00,2750.00,1450.00,0.21,0.19,120000,120000 -19134,25566,150.00,2150.00,50.00,2050.00,0.21,0.19,120000,120000 -19150,25622,900.00,2900.00,800.00,2800.00,0.21,0.19,120000,120000 -19162,25688,700.00,3400.00,600.00,3300.00,0.21,0.19,120000,120000 -19191,25759,1550.00,3650.00,1450.00,3550.00,0.21,0.19,120000,120000 -19240,25839,2550.00,4000.00,2450.00,4000.00,0.21,0.00,120000,120000 -19298,25922,3000.00,4000.00,2900.00,4150.00,0.21,-0.29,120000,120000 -19368,25963,3600.00,2150.00,3500.00,2050.00,0.21,0.19,120000,120000 -19450,25956,4000.00,-250.00,4100.00,-350.00,-0.21,0.19,120000,120000 -19519,25965,3550.00,550.00,3450.00,450.00,0.21,0.19,120000,120000 -19556,25995,1950.00,1600.00,1850.00,1500.00,0.21,0.19,120000,120000 -19594,26042,2000.00,2450.00,1900.00,2350.00,0.21,0.19,120000,120000 -19648,26099,2800.00,2950.00,2700.00,2850.00,0.21,0.19,120000,120000 -19711,26166,3250.00,3450.00,3150.00,3350.00,0.21,0.19,120000,120000 -19790,26241,4000.00,3850.00,3950.00,3750.00,0.10,0.19,120000,120000 -19867,26322,3950.00,4000.00,3850.00,4050.00,0.21,-0.10,120000,120000 -19942,26409,3850.00,4000.00,3750.00,4350.00,0.21,-0.67,120000,120000 -20028,26427,4000.00,1000.00,4300.00,900.00,-0.62,0.19,120000,120000 -20064,26325,1900.00,-4000.00,1800.00,-5100.00,0.21,1.00,120000,120000 -20008,26342,-2700.00,950.00,-2800.00,850.00,0.21,0.19,120000,120000 -19992,26544,-700.00,4000.00,-800.00,10100.00,0.21,-1.00,120000,120000 -20015,26679,1250.00,4000.00,1150.00,6750.00,0.21,-1.00,120000,120000 -20030,26561,850.00,-4000.00,750.00,-5900.00,0.21,1.00,120000,120000 -20054,26371,1300.00,-4000.00,1200.00,-9500.00,0.21,1.00,120000,120000 -20090,26454,1900.00,4000.00,1800.00,4150.00,0.21,-0.29,120000,120000 -20121,26679,1650.00,4000.00,1550.00,11250.00,0.21,-1.00,120000,120000 -20174,26742,2750.00,3250.00,2650.00,3150.00,0.21,0.19,120000,120000 -20232,26635,3000.00,-4000.00,2900.00,-5350.00,0.21,1.00,120000,120000 -20302,26631,3600.00,-100.00,3500.00,-200.00,0.21,0.19,120000,120000 -20375,26806,3750.00,4000.00,3650.00,8750.00,0.21,-1.00,120000,120000 -20454,26921,4000.00,4000.00,3950.00,5750.00,0.10,-1.00,120000,120000 -20530,26793,3900.00,-4000.00,3800.00,-6400.00,0.21,1.00,120000,120000 -20595,26592,3350.00,-4000.00,3250.00,-10050.00,0.21,1.00,120000,120000 -20670,26662,3850.00,3600.00,3750.00,3500.00,0.21,0.19,120000,120000 -20747,26909,3950.00,4000.00,3850.00,12350.00,0.21,-1.00,120000,120000 -20828,27080,4000.00,4000.00,4050.00,8550.00,-0.10,-1.00,120000,120000 -20903,26981,3850.00,-4000.00,3750.00,-4950.00,0.21,1.00,120000,120000 -20968,26804,3350.00,-4000.00,3250.00,-8850.00,0.21,1.00,120000,120000 -21040,26869,3700.00,3350.00,3600.00,3250.00,0.21,0.19,120000,120000 -21114,27099,3800.00,4000.00,3700.00,11500.00,0.21,-1.00,120000,120000 -21198,27260,4000.00,4000.00,4200.00,8050.00,-0.41,-1.00,120000,120000 -21250,27173,2700.00,-4000.00,2600.00,-4350.00,0.21,0.67,120000,120000 -21264,27001,800.00,-4000.00,700.00,-8600.00,0.21,1.00,120000,120000 -21288,27047,1300.00,2400.00,1200.00,2300.00,0.21,0.19,120000,120000 -21295,27268,450.00,4000.00,350.00,11050.00,0.21,-1.00,120000,120000 -21323,27418,1500.00,4000.00,1400.00,7500.00,0.21,-1.00,120000,120000 -21358,27301,1850.00,-4000.00,1750.00,-5850.00,0.21,1.00,120000,120000 -21395,27104,1950.00,-4000.00,1850.00,-9850.00,0.21,1.00,120000,120000 -21446,27178,2650.00,3800.00,2550.00,3700.00,0.21,0.19,120000,120000 -21502,27411,2900.00,4000.00,2800.00,11650.00,0.21,-1.00,120000,120000 -21568,27578,3400.00,4000.00,3300.00,8350.00,0.21,-1.00,120000,120000 -21634,27487,3400.00,-4000.00,3300.00,-4550.00,0.21,1.00,120000,120000 -21724,27306,4000.00,-4000.00,4500.00,-9050.00,-1.00,1.00,120000,120000 -21739,27428,850.00,4000.00,750.00,6100.00,0.21,-1.00,120000,120000 -21648,27589,-4000.00,4000.00,-4550.00,8050.00,1.00,-1.00,120000,120000 -21636,27513,-500.00,-3700.00,-600.00,-3800.00,0.21,0.19,120000,120000 -21749,27341,4000.00,-4000.00,5650.00,-8600.00,-1.00,1.00,120000,120000 -21815,27290,3400.00,-2450.00,3300.00,-2550.00,0.21,0.19,120000,120000 -21764,27385,-2450.00,4000.00,-2550.00,4750.00,0.21,-1.00,120000,120000 -21754,27425,-400.00,2100.00,-500.00,2000.00,0.21,0.19,120000,120000 -21755,27313,150.00,-4000.00,50.00,-5600.00,0.21,1.00,120000,120000 -21765,27307,600.00,-200.00,500.00,-300.00,0.21,0.19,120000,120000 -21788,27481,1250.00,4000.00,1150.00,8700.00,0.21,-1.00,120000,120000 -21834,27593,2400.00,4000.00,2300.00,5600.00,0.21,-1.00,120000,120000 -21887,27465,2750.00,-4000.00,2650.00,-6400.00,0.21,1.00,120000,120000 -21944,27261,2950.00,-4000.00,2850.00,-10200.00,0.21,1.00,120000,120000 -22002,27325,3000.00,3300.00,2900.00,3200.00,0.21,0.19,120000,120000 -22064,27551,3200.00,4000.00,3100.00,11300.00,0.21,-1.00,120000,120000 -22141,27707,3950.00,4000.00,3850.00,7800.00,0.21,-1.00,120000,120000 -22217,27600,3900.00,-4000.00,3800.00,-5350.00,0.21,1.00,120000,120000 -22298,27412,4000.00,-4000.00,4050.00,-9400.00,-0.10,1.00,120000,120000 -22370,27481,3700.00,3550.00,3600.00,3450.00,0.21,0.19,120000,120000 -22435,27709,3350.00,4000.00,3250.00,11400.00,0.21,-1.00,120000,120000 -22515,27869,4000.00,4000.00,4000.00,8000.00,0.00,-1.00,120000,120000 -22584,27779,3550.00,-4000.00,3450.00,-4500.00,0.21,0.95,120000,120000 -22649,27610,3350.00,-4000.00,3250.00,-8450.00,0.21,1.00,120000,120000 -22722,27676,3750.00,3400.00,3650.00,3300.00,0.21,0.19,120000,120000 -22796,27897,3800.00,4000.00,3700.00,11050.00,0.21,-1.00,120000,120000 -22878,28043,4000.00,4000.00,4100.00,7300.00,-0.21,-1.00,120000,120000 -22940,27945,3200.00,-4000.00,3100.00,-4900.00,0.21,1.00,120000,120000 -22970,27765,1600.00,-4000.00,1500.00,-9000.00,0.21,1.00,120000,120000 -23009,27848,2050.00,4000.00,1950.00,4150.00,0.21,-0.29,120000,120000 -23046,28053,1950.00,4000.00,1850.00,10250.00,0.21,-1.00,120000,120000 -23099,28108,2750.00,2850.00,2650.00,2750.00,0.21,0.19,120000,120000 -23159,28021,3100.00,-4000.00,3000.00,-4350.00,0.21,0.67,120000,120000 -23230,28012,3650.00,-350.00,3550.00,-450.00,0.21,0.19,120000,120000 -23302,28124,3700.00,4000.00,3600.00,5600.00,0.21,-1.00,120000,120000 -23382,28184,4000.00,3100.00,4000.00,3000.00,0.00,0.19,120000,120000 -23460,28100,4000.00,-4000.00,3900.00,-4200.00,0.21,0.38,120000,120000 -23532,28076,3700.00,-1100.00,3600.00,-1200.00,0.21,0.19,120000,120000 -23614,28116,4000.00,2100.00,4100.00,2000.00,-0.21,0.19,120000,120000 -23678,28177,3300.00,3150.00,3200.00,3050.00,0.21,0.19,120000,120000 -23694,28248,900.00,3650.00,800.00,3550.00,0.21,0.19,120000,120000 -23725,28325,1650.00,3950.00,1550.00,3850.00,0.21,0.19,120000,120000 -23769,28411,2300.00,4000.00,2200.00,4300.00,0.21,-0.57,120000,120000 -23830,28452,3150.00,2150.00,3050.00,2050.00,0.21,0.19,120000,120000 -23897,28407,3450.00,-2150.00,3350.00,-2250.00,0.21,0.19,120000,120000 -23978,28398,4000.00,-350.00,4050.00,-450.00,-0.10,0.19,120000,120000 -24056,28417,4000.00,1050.00,3900.00,950.00,0.21,0.19,120000,120000 -24127,28431,3650.00,800.00,3550.00,700.00,0.21,0.19,120000,120000 -24212,28464,4000.00,1750.00,4250.00,1650.00,-0.52,0.19,120000,120000 -24262,28507,2600.00,2250.00,2500.00,2150.00,0.21,0.19,120000,120000 -24248,28565,-600.00,3000.00,-700.00,2900.00,0.21,0.19,120000,120000 -24277,28631,1550.00,3400.00,1450.00,3300.00,0.21,0.19,120000,120000 -24303,28701,1400.00,3600.00,1300.00,3500.00,0.21,0.19,120000,120000 -24355,28778,2700.00,3950.00,2600.00,3850.00,0.21,0.19,120000,120000 -24413,28862,3000.00,4000.00,2900.00,4200.00,0.21,-0.38,120000,120000 -24482,28911,3550.00,2550.00,3450.00,2450.00,0.21,0.19,120000,120000 -24560,28908,4000.00,-50.00,3900.00,-150.00,0.21,0.19,120000,120000 -24650,28937,4000.00,1550.00,4500.00,1450.00,-1.00,0.19,120000,120000 -24669,28971,1050.00,1800.00,950.00,1700.00,0.21,0.19,120000,120000 -24544,29019,-4000.00,2500.00,-6250.00,2400.00,1.00,0.19,120000,120000 -24535,29076,-350.00,2950.00,-450.00,2850.00,0.21,0.19,120000,120000 -24694,29137,4000.00,3150.00,7950.00,3050.00,-1.00,0.19,120000,120000 -24786,29201,4000.00,3300.00,4600.00,3200.00,-1.00,0.19,120000,120000 -24650,29273,-4000.00,3700.00,-6800.00,3600.00,1.00,0.19,120000,120000 -24437,29346,-4000.00,3750.00,-10650.00,3650.00,1.00,0.19,120000,120000 -24488,29417,2650.00,3650.00,2550.00,3550.00,0.21,0.19,120000,120000 \ No newline at end of file +LeftSetpoint,LeftVelocity,LeftError,RightSetpoint,RightVelocity,RightError,Heading +0.00,0.00,0.00,0.00,0.00,0.00,221.03 +0.00,0.00,0.00,0.00,0.00,0.00,221.03 +0.00,0.00,0.00,0.00,0.00,0.00,220.77 +0.00,0.00,0.00,0.00,0.00,0.00,220.63 +0.00,0.00,0.00,0.00,0.00,0.00,220.63 +0.00,0.00,0.00,0.00,0.00,0.00,221.08 +0.00,0.00,0.00,0.00,0.00,0.00,220.77 +0.00,0.00,0.00,0.00,0.00,0.00,220.77 +0.00,0.00,0.00,0.00,0.00,0.00,220.90 +0.00,0.00,0.00,0.00,0.00,0.00,220.74 +0.00,0.00,0.00,0.00,0.00,0.00,220.74 +0.00,0.00,0.00,0.00,0.00,0.00,220.86 +0.00,0.00,0.00,0.00,0.00,0.00,220.90 +0.00,0.00,0.00,0.00,0.00,0.00,220.90 +0.00,0.00,0.00,0.00,0.00,0.00,220.72 +0.00,0.00,0.00,0.00,0.00,0.00,221.12 +0.00,0.00,0.00,0.00,0.00,0.00,221.12 +0.00,0.00,0.00,0.00,0.00,0.00,221.09 +0.00,0.00,0.00,0.00,0.00,0.00,220.94 +0.00,0.00,0.00,0.00,0.00,0.00,220.92 +0.00,0.00,0.00,0.00,0.00,0.00,220.92 +0.00,0.00,0.00,0.00,0.00,0.00,221.17 +0.00,0.00,0.00,0.00,0.00,0.00,221.07 +0.00,0.00,0.00,0.00,0.00,0.00,221.07 +0.00,0.00,0.00,0.00,0.00,0.00,220.83 +0.00,0.00,0.00,0.00,0.00,0.00,220.93 +0.00,0.00,0.00,0.00,0.00,0.00,220.93 +0.00,0.00,0.00,0.00,0.00,0.00,221.38 +0.00,0.00,0.00,0.00,0.00,0.00,221.15 +0.00,0.00,0.00,0.00,0.00,0.00,220.72 +0.00,0.00,0.00,0.00,0.00,0.00,220.72 +0.00,0.00,0.00,0.00,0.00,0.00,221.12 +-200.00,0.00,-200.00,-200.00,0.00,-200.00,221.16 +-400.00,0.00,-400.00,-400.00,0.00,-400.00,221.16 +-600.00,0.00,-600.00,-600.00,0.00,-600.00,220.43 +-800.00,0.00,-800.00,-800.00,0.00,-800.00,220.85 +-1000.00,0.00,-1000.00,-1000.00,0.00,-1000.00,220.85 +-1200.00,0.00,-1200.00,-1200.00,0.00,-1200.00,220.83 +-1400.00,0.00,-1400.00,-1400.00,0.00,-1400.00,220.95 +-1600.00,0.00,-1600.00,-1600.00,0.00,-1600.00,220.45 +-1800.00,0.00,-1800.00,-1800.00,0.00,-1800.00,220.45 +-2000.00,0.00,-2000.00,-2000.00,0.00,-2000.00,220.83 +-2200.00,0.00,-2200.00,-2200.00,0.00,-2200.00,221.02 +-2400.00,0.00,-2400.00,-2400.00,0.00,-2400.00,221.02 +-2600.00,0.00,-2600.00,-2600.00,0.00,-2600.00,220.84 +-2800.00,0.00,-2800.00,-2800.00,0.00,-2800.00,220.62 +-3000.00,0.00,-3000.00,-3000.00,0.00,-3000.00,220.96 +-3200.00,0.00,-3200.00,-3200.00,0.00,-3200.00,220.96 +-3400.00,0.00,-3400.00,-3400.00,0.00,-3400.00,221.11 +-3600.00,0.00,-3600.00,-3600.00,0.00,-3600.00,220.88 +-3800.00,0.00,-3800.00,-3800.00,0.00,-3800.00,220.88 +-4000.00,0.00,-4000.00,-4000.00,0.00,-4000.00,220.78 +-4200.00,0.00,-4200.00,-4200.00,0.00,-4200.00,221.04 +-4400.00,0.00,-4400.00,-4400.00,0.00,-4400.00,221.04 +-4600.00,0.00,-4600.00,-4600.00,0.00,-4600.00,220.71 +-4800.00,-400.00,-4400.00,-4800.00,-400.00,-4400.00,220.73 +-5000.00,-1050.00,-3950.00,-5000.00,-1000.00,-4000.00,222.67 +-5200.00,-2050.00,-3150.00,-5200.00,-1900.00,-3300.00,222.67 +-5400.00,-700.00,-4700.00,-5400.00,-850.00,-4550.00,221.18 +-5600.00,-150.00,-5450.00,-5600.00,200.00,-5800.00,220.35 +-5800.00,-2050.00,-3750.00,-5800.00,-1500.00,-4300.00,220.35 +-6000.00,-3750.00,-2250.00,-6000.00,-3100.00,-2900.00,221.60 +-6200.00,-4200.00,-2000.00,-6200.00,-3350.00,-2850.00,221.05 +-6400.00,-3300.00,-3100.00,-6400.00,-2400.00,-4000.00,221.66 +-6600.00,-3050.00,-3550.00,-6600.00,-1650.00,-4950.00,221.66 +-6800.00,-3800.00,-3000.00,-6800.00,-3250.00,-3550.00,221.92 +-7000.00,-4750.00,-2250.00,-7000.00,-4750.00,-2250.00,221.88 +-7200.00,-5300.00,-1900.00,-7200.00,-4800.00,-2400.00,221.88 +-7400.00,-3900.00,-3500.00,-7400.00,-3950.00,-3450.00,221.67 +-7600.00,-3900.00,-3700.00,-7600.00,-4450.00,-3150.00,221.56 +-7800.00,-4900.00,-2900.00,-7800.00,-5000.00,-2800.00,221.78 +-8000.00,-5950.00,-2050.00,-8000.00,-5650.00,-2350.00,221.78 +-8200.00,-6900.00,-1300.00,-8200.00,-6100.00,-2100.00,221.36 +-8400.00,-6800.00,-1600.00,-8400.00,-6050.00,-2350.00,221.84 +-8600.00,-6050.00,-2550.00,-8600.00,-6350.00,-2250.00,221.84 +-8800.00,-6900.00,-1900.00,-8800.00,-6900.00,-1900.00,222.03 +-9000.00,-7350.00,-1650.00,-9000.00,-6900.00,-2100.00,222.03 +-9200.00,-8050.00,-1150.00,-9200.00,-7400.00,-1800.00,221.63 +-9400.00,-8550.00,-850.00,-9400.00,-7600.00,-1800.00,221.63 +-9600.00,-8750.00,-850.00,-9600.00,-7900.00,-1700.00,221.25 +-9800.00,-8900.00,-900.00,-9800.00,-8050.00,-1750.00,221.63 +-10000.00,-8750.00,-1250.00,-10000.00,-7950.00,-2050.00,221.63 +-10200.00,-9300.00,-900.00,-10200.00,-8600.00,-1600.00,221.90 +-10400.00,-9700.00,-700.00,-10400.00,-8800.00,-1600.00,221.59 +-10600.00,-9850.00,-750.00,-10600.00,-9100.00,-1500.00,221.51 +-10800.00,-10200.00,-600.00,-10800.00,-9350.00,-1450.00,221.51 +-11000.00,-10250.00,-750.00,-11000.00,-9650.00,-1350.00,221.42 +-11200.00,-10550.00,-650.00,-11200.00,-9800.00,-1400.00,221.27 +-11400.00,-10800.00,-600.00,-11400.00,-10100.00,-1300.00,221.27 +-11600.00,-10950.00,-650.00,-11600.00,-10250.00,-1350.00,221.32 +-11800.00,-11100.00,-700.00,-11800.00,-10500.00,-1300.00,221.12 +-12000.00,-11450.00,-550.00,-12000.00,-10800.00,-1200.00,220.94 +-12200.00,-11700.00,-500.00,-12200.00,-11150.00,-1050.00,220.94 +-12400.00,-11900.00,-500.00,-12400.00,-11250.00,-1150.00,221.20 +-12600.00,-12100.00,-500.00,-12600.00,-11550.00,-1050.00,221.09 +-12800.00,-12250.00,-550.00,-12800.00,-11700.00,-1100.00,221.04 +-13000.00,-12550.00,-450.00,-13000.00,-11950.00,-1050.00,221.04 +-13200.00,-12800.00,-400.00,-13200.00,-12150.00,-1050.00,220.94 +-13400.00,-12550.00,-850.00,-13400.00,-11950.00,-1450.00,220.88 +-13600.00,-13200.00,-400.00,-13600.00,-12650.00,-950.00,220.88 +-13800.00,-13500.00,-300.00,-13800.00,-13050.00,-750.00,220.60 +-14000.00,-13700.00,-300.00,-14000.00,-13150.00,-850.00,220.47 +-14200.00,-13950.00,-250.00,-14200.00,-13500.00,-700.00,220.29 +-14400.00,-14000.00,-400.00,-14400.00,-13700.00,-700.00,220.29 +-14600.00,-14150.00,-450.00,-14600.00,-13950.00,-650.00,220.52 +-14800.00,-14350.00,-450.00,-14800.00,-14200.00,-600.00,220.63 +-15000.00,-14600.00,-400.00,-15000.00,-14350.00,-650.00,221.10 +-15200.00,-14950.00,-250.00,-15200.00,-14550.00,-650.00,221.10 +-15400.00,-15250.00,-150.00,-15400.00,-14850.00,-550.00,221.38 +-15600.00,-18150.00,2550.00,-15600.00,-17700.00,2100.00,220.75 +-15800.00,-15550.00,-250.00,-15800.00,-15100.00,-700.00,221.06 +-16000.00,-15250.00,-750.00,-16000.00,-14900.00,-1100.00,221.06 +-16200.00,-15500.00,-700.00,-16200.00,-15100.00,-1100.00,220.84 +-16400.00,-16000.00,-400.00,-16400.00,-15500.00,-900.00,221.07 +-16600.00,-16550.00,-50.00,-16600.00,-16000.00,-600.00,221.07 +-16800.00,-16800.00,0.00,-16800.00,-16200.00,-600.00,221.03 +-17000.00,-17050.00,50.00,-17000.00,-16500.00,-500.00,221.26 +-17200.00,-17250.00,50.00,-17200.00,-16750.00,-450.00,221.05 +-17400.00,-17500.00,100.00,-17400.00,-16900.00,-500.00,221.05 +-17600.00,-17900.00,300.00,-17600.00,-17100.00,-500.00,221.35 +-17800.00,-18200.00,400.00,-17800.00,-17450.00,-350.00,221.61 +-18000.00,-18300.00,300.00,-18000.00,-17650.00,-350.00,221.43 +-18200.00,-18550.00,350.00,-18200.00,-17750.00,-450.00,221.43 +-18400.00,-18750.00,350.00,-18400.00,-18000.00,-400.00,221.05 +-18600.00,-19650.00,1050.00,-18600.00,-18900.00,300.00,221.02 +-18800.00,-19250.00,450.00,-18800.00,-18450.00,-350.00,221.02 +-19000.00,-19300.00,300.00,-19000.00,-18650.00,-350.00,221.30 +-19200.00,-19550.00,350.00,-19200.00,-18700.00,-500.00,221.37 +-19400.00,-19800.00,400.00,-19400.00,-18900.00,-500.00,221.20 +-19600.00,-19950.00,350.00,-19600.00,-19200.00,-400.00,221.20 +-19800.00,-20300.00,500.00,-19800.00,-19500.00,-300.00,220.71 +-20000.00,-20400.00,400.00,-20000.00,-19800.00,-200.00,220.65 +-20200.00,-20600.00,400.00,-20200.00,-19900.00,-300.00,220.71 +-20400.00,-21600.00,1200.00,-20400.00,-20900.00,500.00,220.71 +-20600.00,-21000.00,400.00,-20600.00,-20400.00,-200.00,220.44 +-20800.00,-21850.00,1050.00,-20800.00,-21150.00,350.00,220.61 +-21000.00,-21250.00,250.00,-21000.00,-20750.00,-250.00,220.61 +-21200.00,-22250.00,1050.00,-21200.00,-21600.00,400.00,220.68 +-21400.00,-21700.00,300.00,-21400.00,-21250.00,-150.00,220.30 +-21600.00,-21800.00,200.00,-21600.00,-21450.00,-150.00,220.71 +-21800.00,-22950.00,1150.00,-21800.00,-22600.00,800.00,220.71 +-22000.00,-22350.00,350.00,-22000.00,-22200.00,200.00,221.00 +-22200.00,-22650.00,450.00,-22200.00,-22200.00,0.00,221.13 +-22400.00,-22850.00,450.00,-22400.00,-22500.00,100.00,220.68 +-22600.00,-23450.00,850.00,-22600.00,-22700.00,100.00,220.68 +-22800.00,-23500.00,700.00,-22800.00,-23050.00,250.00,221.56 +-23000.00,-24650.00,1650.00,-23000.00,-24000.00,1000.00,221.36 +-23200.00,-24750.00,1550.00,-23200.00,-24200.00,1000.00,221.33 +-23400.00,-24000.00,600.00,-23334.14,-23250.00,-84.14,221.33 +-23600.00,-25100.00,1500.00,-23134.14,-24200.00,1065.86,221.70 +-23723.05,-25250.00,1526.95,-22934.14,-24300.00,1365.86,221.14 +-23523.05,-24500.00,976.95,-22734.14,-23450.00,715.86,220.94 +-23323.05,-24800.00,1476.95,-22534.14,-23250.00,715.86,220.94 +-23123.05,-24650.00,1526.95,-22334.14,-23150.00,815.86,221.25 +-22923.05,-24750.00,1826.95,-22134.14,-23150.00,1015.86,220.90 +-22723.05,-25400.00,2676.95,-21934.14,-23900.00,1965.86,220.90 +-22523.05,-24500.00,1976.95,-21734.14,-22900.00,1165.86,220.55 +-22323.05,-23750.00,1426.95,-21534.14,-22450.00,915.86,220.64 +-22123.05,-23650.00,1526.95,-21334.14,-22200.00,865.86,220.79 +-21923.05,-23450.00,1526.95,-21134.14,-22050.00,915.86,220.79 +-21723.05,-23350.00,1626.95,-20934.14,-21900.00,965.86,220.73 +-21523.05,-23250.00,1726.95,-20734.14,-21600.00,865.86,220.30 +-21323.05,-22950.00,1626.95,-20534.14,-21500.00,965.86,220.37 +-21123.05,-22750.00,1626.95,-20334.14,-21500.00,1165.86,220.37 +-20923.05,-23100.00,2176.95,-20134.14,-22000.00,1865.86,220.46 +-20723.05,-22250.00,1526.95,-19934.14,-21000.00,1065.86,220.55 +-20523.05,-21600.00,1076.95,-19734.14,-20600.00,865.86,220.55 +-20323.05,-21700.00,1376.95,-19534.14,-20500.00,965.86,220.64 +-20123.05,-21600.00,1476.95,-19334.14,-20350.00,1015.86,220.78 +-19923.05,-21400.00,1476.95,-19134.14,-20250.00,1115.86,221.21 +-19723.05,-21400.00,1676.95,-18934.14,-20050.00,1115.86,221.21 +-19523.05,-21150.00,1626.95,-18734.14,-19700.00,965.86,220.91 +-19323.05,-20800.00,1476.95,-18534.14,-19400.00,865.86,220.73 +-19123.05,-20650.00,1526.95,-18334.14,-19150.00,815.86,220.78 +-18923.05,-20450.00,1526.95,-18134.14,-18900.00,765.86,220.78 +-18723.05,-20300.00,1576.95,-17934.14,-18750.00,815.86,221.03 +-18523.05,-20100.00,1576.95,-17734.14,-18400.00,665.86,220.85 +-18323.05,-19850.00,1526.95,-17534.14,-18150.00,615.86,220.85 +-18123.05,-23000.00,4876.95,-17334.14,-20850.00,3515.86,220.95 +-17923.05,-19100.00,1176.95,-17134.14,-17350.00,215.86,220.85 +-17723.05,-18200.00,476.95,-16934.14,-16750.00,-184.14,220.65 +-17523.05,-18350.00,826.95,-16734.14,-16650.00,-84.14,220.65 +-17323.05,-18350.00,1026.95,-16534.14,-16800.00,265.86,220.96 +-17123.05,-18250.00,1126.95,-16334.14,-16850.00,515.86,220.90 +-16923.05,-18050.00,1126.95,-16134.14,-16750.00,615.86,220.94 +-16723.05,-17950.00,1226.95,-15934.14,-16400.00,465.86,220.94 +-16523.05,-17750.00,1226.95,-15734.14,-16200.00,465.86,220.76 +-16323.05,-17350.00,1026.95,-15534.14,-16000.00,465.86,220.88 +-16123.05,-17150.00,1026.95,-15334.14,-15800.00,465.86,220.99 +-15923.05,-16950.00,1026.95,-15134.14,-15750.00,615.86,220.99 +-15723.05,-16800.00,1076.95,-14934.14,-15400.00,465.86,220.43 +-15523.05,-16550.00,1026.95,-14734.14,-15050.00,315.86,220.59 +-15323.05,-16300.00,976.95,-14534.14,-14800.00,265.86,220.59 +-15123.05,-16100.00,976.95,-14334.14,-14750.00,415.86,220.59 +-14923.05,-15950.00,1026.95,-14134.14,-14450.00,315.86,220.63 +-14723.05,-15550.00,826.95,-13934.14,-14300.00,365.86,220.95 +-14523.05,-15400.00,876.95,-13734.14,-14050.00,315.86,220.95 +-14323.05,-15100.00,776.95,-13534.14,-13850.00,315.86,220.70 +-14123.05,-14850.00,726.95,-13334.14,-13600.00,265.86,220.80 +-13923.05,-14750.00,826.95,-13134.14,-13400.00,265.86,221.13 +-13723.05,-14450.00,726.95,-12934.14,-13300.00,365.86,221.13 +-13523.05,-14350.00,826.95,-12734.14,-13150.00,415.86,220.94 +-13323.05,-13500.00,176.95,-12534.14,-12500.00,-34.14,221.28 +-13123.05,-13900.00,776.95,-12334.14,-12800.00,465.86,221.28 +-12923.05,-13900.00,976.95,-12134.14,-12600.00,465.86,220.79 +-12723.05,-13500.00,776.95,-11934.14,-12350.00,415.86,221.00 +-12523.05,-13300.00,776.95,-11734.14,-12000.00,265.86,221.05 +-12323.05,-13100.00,776.95,-11534.14,-11850.00,315.86,221.05 +-12123.05,-12450.00,326.95,-11334.14,-11250.00,-84.14,221.04 +-11923.05,-12700.00,776.95,-11134.14,-11400.00,265.86,221.05 +-11723.05,-12600.00,876.95,-10934.14,-11100.00,165.86,221.05 +-11523.05,-12300.00,776.95,-10734.14,-10900.00,165.86,221.30 +-11323.05,-12050.00,726.95,-10534.14,-10700.00,165.86,221.74 +-11123.05,-11850.00,726.95,-10334.14,-10350.00,15.86,221.96 +-10923.05,-11550.00,626.95,-10134.14,-10150.00,15.86,221.96 +-10723.05,-11350.00,626.95,-9934.14,-9850.00,-84.14,221.04 +-10523.05,-10650.00,126.95,-9734.14,-9300.00,-434.14,221.56 +-10323.05,-8950.00,-1373.05,-9534.14,-7650.00,-1884.14,221.56 +-10123.05,-9650.00,-473.05,-9334.14,-8400.00,-934.14,221.69 +-9923.05,-9800.00,-123.05,-9134.14,-8500.00,-634.14,221.60 +-9723.05,-9600.00,-123.05,-8934.14,-8250.00,-684.14,221.72 +-9523.05,-7950.00,-1573.05,-8734.14,-6800.00,-1934.14,221.72 +-9323.05,-7100.00,-2223.05,-8534.14,-5700.00,-2834.14,221.74 +-9123.05,-7700.00,-1423.05,-8334.14,-6250.00,-2084.14,221.14 +-8923.05,-8550.00,-373.05,-8134.14,-7050.00,-1084.14,221.57 +-8723.05,-8300.00,-423.05,-7934.14,-6650.00,-1284.14,221.57 +-8523.05,-7150.00,-1373.05,-7734.14,-5800.00,-1934.14,221.55 +-8323.05,-6600.00,-1723.05,-7534.14,-5000.00,-2534.14,221.78 +-8123.05,-6900.00,-1223.05,-7334.14,-5150.00,-2184.14,221.78 +-7923.05,-6950.00,-973.05,-7134.14,-5500.00,-1634.14,221.27 +-7723.05,-5750.00,-1973.05,-6934.14,-5550.00,-1384.14,221.92 +-7523.05,-5450.00,-2073.05,-6734.14,-4550.00,-2184.14,221.34 +-7323.05,-5800.00,-1523.05,-6534.14,-3250.00,-3284.14,221.34 +-7123.05,-5750.00,-1373.05,-6334.14,-2450.00,-3884.14,221.06 +-6923.05,-4950.00,-1973.05,-6134.14,-3500.00,-2634.14,221.21 +-6723.05,-3900.00,-2823.05,-5934.14,-4100.00,-1834.14,221.21 +-6523.05,-3850.00,-2673.05,-5734.14,-3000.00,-2734.14,221.75 +-6323.05,-4150.00,-2173.05,-5534.14,-1850.00,-3684.14,221.41 +-6123.05,-2850.00,-3273.05,-5334.14,-1900.00,-3434.14,222.11 +-5923.05,-2850.00,-3073.05,-5134.14,-1950.00,-3184.14,222.11 +-5723.05,-3100.00,-2623.05,-4934.14,-1350.00,-3584.14,221.27 +-5523.05,-2350.00,-3173.05,-4734.14,350.00,-5084.14,221.04 +-5323.05,-850.00,-4473.05,-4534.14,-300.00,-4234.14,221.04 +-5123.05,-1300.00,-3823.05,-4334.14,-500.00,-3834.14,221.31 +-4923.05,-2200.00,-2723.05,-4134.14,750.00,-4884.14,220.41 +-4723.05,-1850.00,-2873.05,-3934.14,-100.00,-3834.14,220.81 +-4523.05,-300.00,-4223.05,-3734.14,-650.00,-3084.14,220.81 +-4323.05,950.00,-5273.05,-3534.14,900.00,-4434.14,220.67 +-4123.05,-750.00,-3373.05,-3334.14,200.00,-3534.14,219.77 +-3923.05,-1000.00,-2923.05,-3134.14,-50.00,-3084.14,220.88 +-3723.05,0.00,-3723.05,-2934.14,0.00,-2934.14,220.88 +-3523.05,50.00,-3573.05,-2734.14,0.00,-2734.14,220.98 +-3323.05,0.00,-3323.05,-2534.14,0.00,-2534.14,220.92 +-3123.05,0.00,-3123.05,-2334.14,0.00,-2334.14,220.92 +-2923.05,0.00,-2923.05,-2134.14,0.00,-2134.14,220.88 +-2723.05,0.00,-2723.05,-1934.14,0.00,-1934.14,221.08 +-2523.05,0.00,-2523.05,-1734.14,0.00,-1734.14,221.25 +-2323.05,0.00,-2323.05,-1534.14,0.00,-1534.14,221.25 +-2123.05,0.00,-2123.05,-1334.14,0.00,-1334.14,221.05 +-1923.05,0.00,-1923.05,-1134.14,0.00,-1134.14,221.02 +-1723.05,0.00,-1723.05,-934.14,0.00,-934.14,221.02 +-1523.05,0.00,-1523.05,-734.14,0.00,-734.14,220.87 +-1323.05,0.00,-1323.05,-534.14,0.00,-534.14,220.39 +-1123.05,0.00,-1123.05,-334.14,0.00,-334.14,220.39 +-923.05,0.00,-923.05,-134.14,0.00,-134.14,220.99 +-723.05,0.00,-723.05,0.00,0.00,0.00,220.82 +-523.05,0.00,-523.05,0.00,0.00,0.00,221.14 +-323.05,0.00,-323.05,0.00,0.00,0.00,221.14 +-123.05,0.00,-123.05,0.00,0.00,0.00,221.06 +0.00,0.00,0.00,0.00,0.00,0.00,220.87 +0.00,0.00,0.00,0.00,0.00,0.00,220.87 +0.00,0.00,0.00,0.00,0.00,0.00,220.54 +0.00,0.00,0.00,0.00,0.00,0.00,221.22 +0.00,0.00,0.00,0.00,0.00,0.00,221.22 +0.00,0.00,0.00,0.00,0.00,0.00,221.18 +0.00,0.00,0.00,0.00,0.00,0.00,220.86 +0.00,0.00,0.00,0.00,0.00,0.00,220.86 +0.00,0.00,0.00,0.00,0.00,0.00,220.45 +0.00,0.00,0.00,0.00,0.00,0.00,220.94 +0.00,0.00,0.00,0.00,0.00,0.00,220.94 +0.00,0.00,0.00,0.00,0.00,0.00,220.68 +0.00,0.00,0.00,0.00,0.00,0.00,220.62 +0.00,0.00,0.00,0.00,0.00,0.00,220.66 +0.00,0.00,0.00,0.00,0.00,0.00,220.66 +0.00,0.00,0.00,0.00,0.00,0.00,220.36 +0.00,0.00,0.00,0.00,0.00,0.00,220.26 +0.00,0.00,0.00,0.00,0.00,0.00,220.26 +0.00,0.00,0.00,0.00,0.00,0.00,220.65 +0.00,0.00,0.00,0.00,0.00,0.00,220.80 +0.00,0.00,0.00,0.00,0.00,0.00,220.80 +0.00,0.00,0.00,0.00,0.00,0.00,220.35 +0.00,0.00,0.00,0.00,0.00,0.00,220.46 +0.00,0.00,0.00,0.00,0.00,0.00,220.69 +0.00,0.00,0.00,0.00,0.00,0.00,220.69 +0.00,0.00,0.00,0.00,0.00,0.00,220.78 +0.00,0.00,0.00,0.00,0.00,0.00,220.50 +0.00,0.00,0.00,0.00,0.00,0.00,220.50 +0.00,0.00,0.00,0.00,0.00,0.00,220.88 +0.00,0.00,0.00,0.00,0.00,0.00,220.90 +0.00,0.00,0.00,0.00,0.00,0.00,220.90 +0.00,0.00,0.00,0.00,0.00,0.00,220.95 +0.00,0.00,0.00,0.00,0.00,0.00,221.08 +0.00,0.00,0.00,0.00,0.00,0.00,221.08 +0.00,0.00,0.00,0.00,0.00,0.00,221.06 +0.00,0.00,0.00,0.00,0.00,0.00,220.44 +0.00,0.00,0.00,0.00,0.00,0.00,220.62 +0.00,0.00,0.00,0.00,0.00,0.00,220.62 +0.00,0.00,0.00,0.00,0.00,0.00,220.60 +0.00,0.00,0.00,0.00,0.00,0.00,220.66 +0.00,0.00,0.00,0.00,0.00,0.00,220.66 +0.00,0.00,0.00,0.00,0.00,0.00,220.40 +0.00,0.00,0.00,0.00,0.00,0.00,221.17 +0.00,0.00,0.00,0.00,0.00,0.00,221.17 +0.00,0.00,0.00,0.00,0.00,0.00,220.69 +0.00,0.00,0.00,0.00,0.00,0.00,220.99 +0.00,0.00,0.00,0.00,0.00,0.00,220.99 +0.00,0.00,0.00,0.00,0.00,0.00,220.95 +0.00,0.00,0.00,0.00,0.00,0.00,220.54 +0.00,0.00,0.00,0.00,0.00,0.00,220.62 +0.00,0.00,0.00,0.00,0.00,0.00,220.62 +0.00,0.00,0.00,0.00,0.00,0.00,220.87 +0.00,0.00,0.00,0.00,0.00,0.00,220.73 +0.00,0.00,0.00,0.00,0.00,0.00,220.73 +0.00,0.00,0.00,0.00,0.00,0.00,220.82 +0.00,0.00,0.00,0.00,0.00,0.00,220.81 +0.00,0.00,0.00,0.00,0.00,0.00,221.15 +0.00,0.00,0.00,0.00,0.00,0.00,221.15 +0.00,0.00,0.00,0.00,0.00,0.00,221.08 +0.00,0.00,0.00,0.00,0.00,0.00,220.86 +0.00,0.00,0.00,0.00,0.00,0.00,220.86 +0.00,0.00,0.00,0.00,0.00,0.00,220.94 +0.00,0.00,0.00,0.00,0.00,0.00,221.10 +0.00,0.00,0.00,0.00,0.00,0.00,221.10 +0.00,0.00,0.00,0.00,0.00,0.00,220.86 +0.00,0.00,0.00,0.00,0.00,0.00,220.85 +0.00,0.00,0.00,0.00,0.00,0.00,220.85 +0.00,0.00,0.00,0.00,0.00,0.00,220.77 +0.00,0.00,0.00,0.00,0.00,0.00,220.95 +0.00,0.00,0.00,0.00,0.00,0.00,220.27 +0.00,0.00,0.00,0.00,0.00,0.00,220.27 +0.00,0.00,0.00,0.00,0.00,0.00,220.59 +0.00,0.00,0.00,0.00,0.00,0.00,220.84 +0.00,0.00,0.00,0.00,0.00,0.00,220.84 +0.00,0.00,0.00,0.00,0.00,0.00,220.88 +0.00,0.00,0.00,0.00,0.00,0.00,220.83 +0.00,0.00,0.00,0.00,0.00,0.00,220.83 +0.00,0.00,0.00,0.00,0.00,0.00,220.43 +0.00,0.00,0.00,0.00,0.00,0.00,220.42 +0.00,0.00,0.00,0.00,0.00,0.00,220.42 +0.00,0.00,0.00,0.00,0.00,0.00,220.51 +0.00,0.00,0.00,0.00,0.00,0.00,220.52 +0.00,0.00,0.00,0.00,0.00,0.00,220.58 +0.00,0.00,0.00,0.00,0.00,0.00,220.58 +0.00,0.00,0.00,0.00,0.00,0.00,220.81 +0.00,0.00,0.00,0.00,0.00,0.00,220.52 +0.00,0.00,0.00,0.00,0.00,0.00,220.52 +0.00,0.00,0.00,0.00,0.00,0.00,220.69 +0.00,0.00,0.00,0.00,0.00,0.00,220.79 +0.00,0.00,0.00,0.00,0.00,0.00,220.79 +0.00,0.00,0.00,0.00,0.00,0.00,220.19 +0.00,0.00,0.00,0.00,0.00,0.00,220.34 +0.00,0.00,0.00,0.00,0.00,0.00,220.34 +0.00,0.00,0.00,0.00,0.00,0.00,220.61 +0.00,0.00,0.00,0.00,0.00,0.00,220.90 +0.00,0.00,0.00,0.00,0.00,0.00,220.51 +0.00,0.00,0.00,0.00,0.00,0.00,220.51 +0.00,0.00,0.00,0.00,0.00,0.00,220.68 +0.00,0.00,0.00,0.00,0.00,0.00,220.87 +0.00,0.00,0.00,0.00,0.00,0.00,220.87 +0.00,0.00,0.00,0.00,0.00,0.00,221.11 +0.00,0.00,0.00,0.00,0.00,0.00,220.77 +0.00,0.00,0.00,0.00,0.00,0.00,220.77 +0.00,0.00,0.00,0.00,0.00,0.00,220.87 +0.00,0.00,0.00,0.00,0.00,0.00,220.82 +0.00,0.00,0.00,0.00,0.00,0.00,220.74 +0.00,0.00,0.00,0.00,0.00,0.00,220.74 +0.00,0.00,0.00,0.00,0.00,0.00,220.82 +0.00,0.00,0.00,0.00,0.00,0.00,221.13 +0.00,0.00,0.00,0.00,0.00,0.00,221.13 +0.00,0.00,0.00,0.00,0.00,0.00,221.15 +0.00,0.00,0.00,0.00,0.00,0.00,220.98 +0.00,0.00,0.00,0.00,0.00,0.00,220.98 +0.00,0.00,0.00,0.00,0.00,0.00,221.16 +0.00,0.00,0.00,0.00,0.00,0.00,221.10 +0.00,0.00,0.00,0.00,0.00,0.00,220.85 +0.00,0.00,0.00,0.00,0.00,0.00,220.85 +0.00,0.00,0.00,0.00,0.00,0.00,220.73 +0.00,0.00,0.00,0.00,0.00,0.00,220.54 +0.00,0.00,0.00,0.00,0.00,0.00,220.54 +0.00,0.00,0.00,0.00,0.00,0.00,220.60 +0.00,0.00,0.00,0.00,0.00,0.00,221.06 +0.00,0.00,0.00,0.00,0.00,0.00,221.06 +0.00,0.00,0.00,0.00,0.00,0.00,220.69 +0.00,0.00,0.00,0.00,0.00,0.00,220.90 +0.00,0.00,0.00,0.00,0.00,0.00,220.84 +0.00,0.00,0.00,0.00,0.00,0.00,220.84 +0.00,0.00,0.00,0.00,0.00,0.00,220.99 +0.00,0.00,0.00,0.00,0.00,0.00,220.75 +0.00,0.00,0.00,0.00,0.00,0.00,220.75 +0.00,0.00,0.00,0.00,0.00,0.00,221.20 +0.00,0.00,0.00,0.00,0.00,0.00,220.90 +0.00,0.00,0.00,0.00,0.00,0.00,220.90 +0.00,0.00,0.00,0.00,0.00,0.00,220.78 +0.00,0.00,0.00,0.00,0.00,0.00,220.44 +0.00,0.00,0.00,0.00,0.00,0.00,220.44 +0.00,0.00,0.00,0.00,0.00,0.00,220.93 +0.00,0.00,0.00,0.00,0.00,0.00,220.63 +0.00,0.00,0.00,0.00,0.00,0.00,220.88 +0.00,0.00,0.00,0.00,0.00,0.00,220.88 +0.00,0.00,0.00,0.00,0.00,0.00,220.45 +0.00,0.00,0.00,0.00,0.00,0.00,220.23 +0.00,0.00,0.00,0.00,0.00,0.00,220.23 +0.00,0.00,0.00,0.00,0.00,0.00,220.74 +0.00,0.00,0.00,0.00,0.00,0.00,220.55 +0.00,0.00,0.00,0.00,0.00,0.00,220.55 +0.00,0.00,0.00,0.00,0.00,0.00,220.56 +0.00,0.00,0.00,0.00,0.00,0.00,220.37 +0.00,0.00,0.00,0.00,0.00,0.00,220.59 +0.00,0.00,0.00,0.00,0.00,0.00,220.59 +0.00,0.00,0.00,0.00,0.00,0.00,220.09 +0.00,0.00,0.00,0.00,0.00,0.00,220.26 +0.00,0.00,0.00,0.00,0.00,0.00,220.26 +0.00,0.00,0.00,0.00,0.00,0.00,220.21 +0.00,0.00,0.00,0.00,0.00,0.00,220.86 +0.00,0.00,0.00,0.00,0.00,0.00,220.86 +0.00,0.00,0.00,0.00,0.00,0.00,220.88 +0.00,0.00,0.00,0.00,0.00,0.00,220.56 +0.00,0.00,0.00,0.00,0.00,0.00,220.56 +0.00,0.00,0.00,0.00,0.00,0.00,220.82 +0.00,0.00,0.00,0.00,0.00,0.00,220.44 +0.00,0.00,0.00,0.00,0.00,0.00,220.72 +0.00,0.00,0.00,0.00,0.00,0.00,220.72 +0.00,0.00,0.00,0.00,0.00,0.00,220.29 +0.00,0.00,0.00,0.00,0.00,0.00,220.26 +0.00,0.00,0.00,0.00,0.00,0.00,220.26 +0.00,0.00,0.00,0.00,0.00,0.00,220.45 +0.00,0.00,0.00,0.00,0.00,0.00,220.56 +0.00,0.00,0.00,0.00,0.00,0.00,220.56 +0.00,0.00,0.00,0.00,0.00,0.00,220.30 +0.00,0.00,0.00,0.00,0.00,0.00,220.41 +0.00,0.00,0.00,0.00,0.00,0.00,221.04 +0.00,0.00,0.00,0.00,0.00,0.00,221.04 +0.00,0.00,0.00,0.00,0.00,0.00,220.58 +0.00,0.00,0.00,0.00,0.00,0.00,220.74 +0.00,0.00,0.00,0.00,0.00,0.00,220.74 +0.00,0.00,0.00,0.00,0.00,0.00,220.43 +0.00,0.00,0.00,0.00,0.00,0.00,220.70 +0.00,0.00,0.00,0.00,0.00,0.00,220.70 +0.00,0.00,0.00,0.00,0.00,0.00,220.89 +0.00,0.00,0.00,0.00,0.00,0.00,220.55 +0.00,0.00,0.00,0.00,0.00,0.00,220.55 +0.00,0.00,0.00,0.00,0.00,0.00,220.69 +0.00,0.00,0.00,0.00,0.00,0.00,220.62 +0.00,0.00,0.00,0.00,0.00,0.00,220.62 +0.00,0.00,0.00,0.00,0.00,0.00,220.42 +200.00,0.00,200.00,200.00,0.00,200.00,220.62 +400.00,0.00,400.00,400.00,0.00,400.00,220.39 +600.00,0.00,600.00,600.00,0.00,600.00,220.39 +800.00,0.00,800.00,800.00,0.00,800.00,220.65 +1000.00,0.00,1000.00,1000.00,0.00,1000.00,221.22 +1200.00,0.00,1200.00,1200.00,0.00,1200.00,221.22 +1400.00,0.00,1400.00,1400.00,0.00,1400.00,221.12 +1600.00,0.00,1600.00,1600.00,0.00,1600.00,221.23 +1800.00,0.00,1800.00,1800.00,0.00,1800.00,221.23 +2000.00,0.00,2000.00,2000.00,0.00,2000.00,220.89 +2200.00,0.00,2200.00,2200.00,0.00,2200.00,220.74 +2400.00,0.00,2400.00,2400.00,0.00,2400.00,220.55 +2600.00,0.00,2600.00,2600.00,0.00,2600.00,220.55 +2800.00,0.00,2800.00,2800.00,0.00,2800.00,220.50 +3000.00,0.00,3000.00,3000.00,0.00,3000.00,220.87 +3200.00,0.00,3200.00,3200.00,0.00,3200.00,220.87 +3400.00,0.00,3400.00,3400.00,0.00,3400.00,220.84 +3600.00,0.00,3600.00,3600.00,0.00,3600.00,220.73 +3800.00,0.00,3800.00,3800.00,0.00,3800.00,220.57 +4000.00,0.00,4000.00,4000.00,0.00,4000.00,220.57 +4200.00,0.00,4200.00,4200.00,0.00,4200.00,220.63 +4400.00,0.00,4400.00,4400.00,0.00,4400.00,220.80 +4600.00,0.00,4600.00,4600.00,0.00,4600.00,220.80 +4800.00,500.00,4300.00,4800.00,350.00,4450.00,220.97 +5000.00,2450.00,2550.00,5000.00,1050.00,3950.00,220.88 +5200.00,2850.00,2350.00,5200.00,1600.00,3600.00,220.88 +5400.00,1500.00,3900.00,5400.00,900.00,4500.00,220.68 +5600.00,2200.00,3400.00,5600.00,0.00,5600.00,219.66 +5800.00,2350.00,3450.00,5800.00,1400.00,4400.00,219.66 +6000.00,1400.00,4600.00,6000.00,3100.00,2900.00,220.45 +6200.00,2800.00,3400.00,6200.00,3250.00,2950.00,221.57 +6400.00,4050.00,2350.00,6400.00,2350.00,4050.00,221.57 +6600.00,4500.00,2100.00,6600.00,1600.00,5000.00,220.62 +6800.00,3400.00,3400.00,6800.00,3100.00,3700.00,220.53 +7000.00,3200.00,3800.00,7000.00,4600.00,2400.00,221.47 +7200.00,4150.00,3050.00,7200.00,4600.00,2600.00,221.47 +7400.00,5050.00,2350.00,7400.00,3950.00,3450.00,221.32 +7600.00,5750.00,1850.00,7600.00,4450.00,3150.00,220.87 +7800.00,5550.00,2250.00,7800.00,5000.00,2800.00,220.87 +8000.00,4850.00,3150.00,8000.00,5400.00,2600.00,221.20 +8200.00,5800.00,2400.00,8200.00,5750.00,2450.00,221.05 +8400.00,6200.00,2200.00,8400.00,6050.00,2350.00,221.05 +8600.00,6650.00,1950.00,8600.00,6350.00,2250.00,221.17 +8800.00,7350.00,1450.00,8800.00,6800.00,2000.00,221.22 +9000.00,7650.00,1350.00,9000.00,7050.00,1950.00,221.22 +9200.00,7650.00,1550.00,9200.00,7050.00,2150.00,220.66 +9400.00,7850.00,1550.00,9400.00,7350.00,2050.00,220.78 +9600.00,8100.00,1500.00,9600.00,7650.00,1950.00,220.78 +9800.00,8350.00,1450.00,9800.00,7950.00,1850.00,221.04 +10000.00,8550.00,1450.00,10000.00,8100.00,1900.00,221.34 +10200.00,9050.00,1150.00,10200.00,8700.00,1500.00,221.21 +10400.00,8950.00,1450.00,10400.00,8600.00,1800.00,221.21 +10600.00,9450.00,1150.00,10600.00,9150.00,1450.00,221.46 +10800.00,9700.00,1100.00,10800.00,9350.00,1450.00,220.90 +11000.00,9950.00,1050.00,11000.00,9500.00,1500.00,220.90 +11200.00,10100.00,1100.00,11200.00,9800.00,1400.00,221.04 +11400.00,10300.00,1100.00,11400.00,9900.00,1500.00,221.39 +11600.00,10450.00,1150.00,11600.00,10150.00,1450.00,221.39 +11800.00,10750.00,1050.00,11800.00,10350.00,1450.00,221.18 +12000.00,10950.00,1050.00,12000.00,10600.00,1400.00,221.05 +12200.00,11300.00,900.00,12200.00,10900.00,1300.00,221.05 +12400.00,11550.00,850.00,12400.00,11050.00,1350.00,220.65 +12600.00,11800.00,800.00,12600.00,11250.00,1350.00,220.93 +12800.00,12100.00,700.00,12800.00,11700.00,1100.00,220.94 +13000.00,12300.00,700.00,13000.00,11850.00,1150.00,220.94 +13200.00,12450.00,750.00,13200.00,11900.00,1300.00,221.15 +13400.00,12650.00,750.00,13400.00,12100.00,1300.00,220.63 +13600.00,12950.00,650.00,13600.00,12350.00,1250.00,220.63 +13800.00,13200.00,600.00,13800.00,12650.00,1150.00,221.14 +14000.00,13350.00,650.00,14000.00,12750.00,1250.00,220.89 +14200.00,13650.00,550.00,14200.00,12950.00,1250.00,220.89 +14400.00,13950.00,450.00,14400.00,13150.00,1250.00,221.05 +14600.00,14050.00,550.00,14600.00,13450.00,1150.00,220.88 +14800.00,14300.00,500.00,14800.00,13600.00,1200.00,220.85 +15000.00,14550.00,450.00,15000.00,13750.00,1250.00,220.85 +15200.00,14800.00,400.00,15200.00,13900.00,1300.00,220.83 +15400.00,15000.00,400.00,15400.00,14200.00,1200.00,220.77 +15600.00,15300.00,300.00,15600.00,14500.00,1100.00,220.77 +15800.00,15550.00,250.00,15800.00,14750.00,1050.00,220.86 +16000.00,15750.00,250.00,16000.00,15000.00,1000.00,221.00 +16200.00,16550.00,-350.00,16200.00,15800.00,400.00,220.55 +16400.00,19700.00,-3300.00,16400.00,18850.00,-2450.00,220.55 +16600.00,16600.00,0.00,16600.00,16200.00,400.00,220.60 +16800.00,16050.00,750.00,16800.00,15750.00,1050.00,220.80 +17000.00,16100.00,900.00,17000.00,15600.00,1400.00,220.71 +17200.00,16550.00,650.00,17200.00,16100.00,1100.00,220.71 +17400.00,16850.00,550.00,17400.00,16500.00,900.00,220.92 +17600.00,17250.00,350.00,17600.00,16900.00,700.00,220.99 +17800.00,17450.00,350.00,17800.00,17200.00,600.00,220.99 +18000.00,17750.00,250.00,18000.00,17450.00,550.00,221.58 +18200.00,17950.00,250.00,18200.00,17700.00,500.00,221.40 +18400.00,18800.00,-400.00,18400.00,18600.00,-200.00,221.40 +18600.00,18350.00,250.00,18600.00,18000.00,600.00,221.31 +18800.00,19100.00,-300.00,18800.00,19000.00,-200.00,221.49 +19000.00,19400.00,-400.00,19000.00,19150.00,-150.00,221.72 +19200.00,18850.00,350.00,19200.00,18400.00,800.00,221.72 +19400.00,19600.00,-200.00,19400.00,19550.00,-150.00,221.62 +19600.00,19900.00,-300.00,19600.00,19700.00,-100.00,221.66 +19800.00,20100.00,-300.00,19800.00,19900.00,-100.00,220.94 +20000.00,20150.00,-150.00,20000.00,20000.00,0.00,220.94 +20200.00,20450.00,-250.00,20200.00,20000.00,200.00,221.49 +20400.00,20600.00,-200.00,20400.00,20300.00,100.00,220.95 +20600.00,20900.00,-300.00,20600.00,20450.00,150.00,220.95 +20800.00,21150.00,-350.00,20800.00,20450.00,350.00,221.12 +21000.00,21400.00,-400.00,21000.00,20900.00,100.00,221.24 +21200.00,21800.00,-600.00,21200.00,21100.00,100.00,221.17 +21400.00,21800.00,-400.00,21400.00,21300.00,100.00,221.17 +21600.00,22100.00,-500.00,21600.00,21600.00,0.00,220.86 +21800.00,21650.00,150.00,21800.00,21400.00,400.00,220.87 +22000.00,22800.00,-800.00,22000.00,22350.00,-350.00,220.87 +22200.00,23250.00,-1050.00,22200.00,22650.00,-450.00,220.88 +22400.00,23050.00,-650.00,22400.00,22450.00,-50.00,221.11 +22600.00,23300.00,-700.00,22600.00,22900.00,-300.00,221.20 +22800.00,23300.00,-500.00,22800.00,23200.00,-400.00,221.20 +23000.00,23700.00,-700.00,23000.00,23350.00,-350.00,220.83 +23200.00,23850.00,-650.00,23200.00,23600.00,-400.00,221.40 +23400.00,24050.00,-650.00,23400.00,23750.00,-350.00,221.28 +23600.00,24200.00,-600.00,23388.51,23850.00,-461.49,221.28 +23800.00,24450.00,-650.00,23188.51,24200.00,-1011.49,221.48 +23786.61,24600.00,-813.39,22988.51,24300.00,-1311.49,221.53 +23586.61,24850.00,-1263.39,22788.51,24200.00,-1411.49,221.53 +23386.61,24600.00,-1213.39,22588.51,24050.00,-1461.49,221.35 +23186.61,24500.00,-1313.39,22388.51,23950.00,-1561.49,221.55 +22986.61,24450.00,-1463.39,22188.51,23700.00,-1511.49,221.79 +22786.61,24500.00,-1713.39,21988.51,23350.00,-1361.49,221.79 +22586.61,24200.00,-1613.39,21788.51,23150.00,-1361.49,221.66 +22386.61,23850.00,-1463.39,21588.51,22900.00,-1311.49,221.51 +22186.61,23850.00,-1663.39,21388.51,22700.00,-1311.49,221.45 +21986.61,23650.00,-1663.39,21188.51,22350.00,-1161.49,221.45 +21786.61,23300.00,-1513.39,20988.51,22050.00,-1061.49,221.13 +21586.61,23150.00,-1563.39,20788.51,21850.00,-1061.49,221.44 +21386.61,23000.00,-1613.39,20588.51,21700.00,-1111.49,221.44 +21186.61,22600.00,-1413.39,20388.51,21250.00,-861.49,220.83 +20986.61,22550.00,-1563.39,20188.51,21200.00,-1011.49,220.90 +20786.61,21650.00,-863.39,19988.51,20200.00,-211.49,221.04 +20586.61,22250.00,-1663.39,19788.51,20850.00,-1061.49,221.04 +20386.61,22300.00,-1913.39,19588.51,20750.00,-1161.49,220.68 +20186.61,21950.00,-1763.39,19388.51,20600.00,-1211.49,220.92 +19986.61,21550.00,-1563.39,19188.51,19900.00,-711.49,220.92 +19786.61,21100.00,-1313.39,18988.51,20100.00,-1111.49,220.48 +19586.61,21050.00,-1463.39,18788.51,19800.00,-1011.49,220.80 +19386.61,20850.00,-1463.39,18588.51,19400.00,-811.49,221.40 +19186.61,20650.00,-1463.39,18388.51,19400.00,-1011.49,221.40 +18986.61,20150.00,-1163.39,18188.51,19000.00,-811.49,221.43 +18786.61,19400.00,-613.39,17988.51,18200.00,-211.49,221.80 +18586.61,19850.00,-1263.39,17788.51,18750.00,-961.49,221.62 +18386.61,19700.00,-1313.39,17588.51,18400.00,-811.49,221.62 +18186.61,18850.00,-663.39,17388.51,17700.00,-311.49,221.84 +17986.61,19250.00,-1263.39,17188.51,18100.00,-911.49,221.58 +17786.61,19200.00,-1413.39,16988.51,17750.00,-761.49,221.58 +17586.61,18800.00,-1213.39,16788.51,17700.00,-911.49,221.39 +17386.61,21600.00,-4213.39,16588.51,19900.00,-3311.49,221.62 +17186.61,17900.00,-713.39,16388.51,16800.00,-411.49,221.36 +16986.61,16600.00,386.61,16188.51,15500.00,688.51,221.36 +16786.61,16750.00,36.61,15988.51,15400.00,588.51,221.73 +16586.61,17550.00,-963.39,15788.51,16250.00,-461.49,221.70 +16386.61,17550.00,-1163.39,15588.51,16350.00,-761.49,221.37 +16186.61,17400.00,-1213.39,15388.51,16100.00,-711.49,221.37 +15986.61,16550.00,-563.39,15188.51,15250.00,-61.49,221.18 +15786.61,16850.00,-1063.39,14988.51,15650.00,-661.49,221.37 +15586.61,16750.00,-1163.39,14788.51,15350.00,-561.49,221.37 +15386.61,16000.00,-613.39,14588.51,14600.00,-11.49,221.21 +15186.61,16300.00,-1113.39,14388.51,14850.00,-461.49,221.13 +14986.61,16100.00,-1113.39,14188.51,14600.00,-411.49,220.88 +14786.61,15400.00,-613.39,13988.51,13900.00,88.51,220.88 +14586.61,15700.00,-1113.39,13788.51,14100.00,-311.49,220.58 +14386.61,15550.00,-1163.39,13588.51,13950.00,-361.49,220.36 +14186.61,14800.00,-613.39,13388.51,13200.00,188.51,220.36 +13986.61,14550.00,-563.39,13188.51,13000.00,188.51,220.37 +13786.61,14400.00,-613.39,12988.51,12850.00,138.51,220.65 +13586.61,14750.00,-1163.39,12788.51,13150.00,-361.49,220.77 +13386.61,14450.00,-1063.39,12588.51,12850.00,-261.49,220.77 +13186.61,13550.00,-363.39,12388.51,12150.00,238.51,220.46 +12986.61,13400.00,-413.39,12188.51,11950.00,238.51,220.81 +12786.61,13400.00,-613.39,11988.51,11800.00,188.51,220.81 +12586.61,13250.00,-663.39,11788.51,11600.00,188.51,220.20 +12386.61,12850.00,-463.39,11588.51,11450.00,138.51,220.73 +12186.61,12650.00,-463.39,11388.51,11250.00,138.51,220.73 +11986.61,12550.00,-563.39,11188.51,11150.00,38.51,220.51 +11786.61,12150.00,-363.39,10988.51,10850.00,138.51,220.91 +11586.61,11900.00,-313.39,10788.51,10550.00,238.51,221.04 +11386.61,11800.00,-413.39,10588.51,10300.00,288.51,221.04 +11186.61,11700.00,-513.39,10388.51,10150.00,238.51,220.83 +10986.61,11300.00,-313.39,10188.51,9900.00,288.51,221.14 +10786.61,11450.00,-663.39,9988.51,10000.00,-11.49,221.14 +10586.61,10650.00,-63.39,9788.51,9400.00,388.51,221.26 +10386.61,8800.00,1586.61,9588.51,7700.00,1888.51,221.43 +10186.61,9150.00,1036.61,9388.51,8150.00,1238.51,221.33 +9986.61,9400.00,586.61,9188.51,8100.00,1088.51,221.33 +9786.61,9500.00,286.61,8988.51,8350.00,638.51,221.18 +9586.61,9200.00,386.61,8788.51,7700.00,1088.51,221.62 +9386.61,8950.00,436.61,8588.51,6900.00,1688.51,221.62 +9186.61,7400.00,1786.61,8388.51,7300.00,1088.51,221.43 +8986.61,6400.00,2586.61,8188.51,6350.00,1838.51,221.05 +8786.61,7250.00,1536.61,7988.51,6100.00,1888.51,221.05 +8586.61,7550.00,1036.61,7788.51,6450.00,1338.51,221.44 +8386.61,7750.00,636.61,7588.51,6200.00,1388.51,221.30 +8186.61,6450.00,1736.61,7388.51,5100.00,2288.51,221.30 +7986.61,5950.00,2036.61,7188.51,4700.00,2488.51,221.44 +7786.61,6250.00,1536.61,6988.51,5200.00,1788.51,221.57 +7586.61,6350.00,1236.61,6788.51,5000.00,1788.51,221.36 +7386.61,5100.00,2286.61,6588.51,3900.00,2688.51,221.36 +7186.61,4950.00,2236.61,6388.51,3050.00,3338.51,221.68 +6986.61,4950.00,2036.61,6188.51,2900.00,3288.51,221.59 +6786.61,3800.00,2986.61,5988.51,3550.00,2438.51,221.59 +6586.61,3600.00,2986.61,5788.51,3700.00,2088.51,221.69 +6386.61,4500.00,1886.61,5588.51,2800.00,2788.51,221.60 +6186.61,4550.00,1636.61,5388.51,2050.00,3338.51,221.60 +5986.61,3850.00,2136.61,5188.51,450.00,4738.51,221.56 +5786.61,3000.00,2786.61,4988.51,200.00,4788.51,221.93 +5586.61,2300.00,3286.61,4788.51,2400.00,2388.51,221.93 +5386.61,1000.00,4386.61,4588.51,2700.00,1888.51,221.02 +5186.61,650.00,4536.61,4388.51,1800.00,2588.51,222.40 +4986.61,2550.00,2436.61,4188.51,1300.00,2888.51,222.40 +4786.61,3250.00,1536.61,3988.51,1050.00,2938.51,221.88 +4586.61,2650.00,1936.61,3788.51,-600.00,4388.51,221.71 +4386.61,1050.00,3336.61,3588.51,-150.00,3738.51,221.98 +4186.61,650.00,3536.61,3388.51,0.00,3388.51,221.98 +3986.61,1050.00,2936.61,3188.51,0.00,3188.51,221.31 +3786.61,100.00,3686.61,2988.51,0.00,2988.51,220.91 +3586.61,-100.00,3686.61,2788.51,0.00,2788.51,220.91 +3386.61,0.00,3386.61,2588.51,0.00,2588.51,221.35 +3186.61,0.00,3186.61,2388.51,0.00,2388.51,220.72 +2986.61,0.00,2986.61,2188.51,0.00,2188.51,220.62 +2786.61,0.00,2786.61,1988.51,0.00,1988.51,220.62 +2586.61,0.00,2586.61,1788.51,0.00,1788.51,220.88 +2386.61,0.00,2386.61,1588.51,0.00,1588.51,221.06 +2186.61,0.00,2186.61,1388.51,0.00,1388.51,221.06 +1986.61,0.00,1986.61,1188.51,0.00,1188.51,220.99 +1786.61,0.00,1786.61,988.51,0.00,988.51,220.77 +1586.61,0.00,1586.61,788.51,0.00,788.51,220.77 +1386.61,0.00,1386.61,588.51,0.00,588.51,220.73 +1186.61,0.00,1186.61,388.51,0.00,388.51,220.52 +986.61,0.00,986.61,188.51,0.00,188.51,220.52 +786.61,0.00,786.61,0.00,0.00,0.00,220.94 +586.61,0.00,586.61,0.00,0.00,0.00,221.05 +386.61,0.00,386.61,0.00,0.00,0.00,221.20 +186.61,0.00,186.61,0.00,0.00,0.00,221.20 +0.00,0.00,0.00,0.00,0.00,0.00,221.03 +0.00,0.00,0.00,0.00,0.00,0.00,221.16 +0.00,0.00,0.00,0.00,0.00,0.00,221.16 +0.00,0.00,0.00,0.00,0.00,0.00,220.68 +0.00,0.00,0.00,0.00,0.00,0.00,221.08 +0.00,0.00,0.00,0.00,0.00,0.00,221.08 +0.00,0.00,0.00,0.00,0.00,0.00,220.48 +0.00,0.00,0.00,0.00,0.00,0.00,220.21 +0.00,0.00,0.00,0.00,0.00,0.00,220.21 +0.00,0.00,0.00,0.00,0.00,0.00,220.58 +0.00,0.00,0.00,0.00,0.00,0.00,220.51 +0.00,0.00,0.00,0.00,0.00,0.00,220.51 +0.00,0.00,0.00,0.00,0.00,0.00,220.60 +0.00,0.00,0.00,0.00,0.00,0.00,220.66 +0.00,0.00,0.00,0.00,0.00,0.00,220.45 +0.00,0.00,0.00,0.00,0.00,0.00,220.45 +0.00,0.00,0.00,0.00,0.00,0.00,220.25 +0.00,0.00,0.00,0.00,0.00,0.00,220.38 +0.00,0.00,0.00,0.00,0.00,0.00,220.38 +0.00,0.00,0.00,0.00,0.00,0.00,220.32 +0.00,0.00,0.00,0.00,0.00,0.00,220.39 +0.00,0.00,0.00,0.00,0.00,0.00,220.39 diff --git a/pid_vis.py b/pid_vis.py index da21df8..fa3a18f 100644 --- a/pid_vis.py +++ b/pid_vis.py @@ -6,33 +6,37 @@ with Path('pid_test.csv').open('r') as f: reader = csv.DictReader(filter(lambda line: not line.startswith('#'), f)) lists = defaultdict(list) - header = "EncoderLeft,EncoderRight,DesiredVelocityLeft,DesiredVelocityRight,CurrentVelocityLeft,CurrentVelocityRight,LeftPower,RightPower,EncoderTargetLeft,EncoderTargetRight" + # header = "EncoderLeft,EncoderRight,DesiredVelocityLeft,DesiredVelocityRight,CurrentVelocityLeft,CurrentVelocityRight,LeftPower,RightPower,EncoderTargetLeft,EncoderTargetRight" + header = "LeftSetpoint,LeftVelocity,LeftError,RightSetpoint,RightVelocity,RightError" keys = header.split(",") for row in reader: for k in keys: val = int(row[k]) if "." not in row[k] else float(row[k]) - if "Left" in k: - val *= -1 # Correct for rotation test + # if "Left" in k: + # val *= -1 # Correct for rotation test lists[k].append(val) - power_deadzone = [0.15] * len(lists["EncoderLeft"]) - neg_power_deadzone = [-0.15] * len(lists["EncoderLeft"]) + # power_deadzone = [0.15] * len(lists["EncoderLeft"]) + # neg_power_deadzone = [-0.15] * len(lists["EncoderLeft"]) - fig, (ax_enc, ax_vel, ax_pow) = plt.subplots(3, 1) - ax_enc.set_title("Encoder Values") - ax_enc.plot( - lists["EncoderLeft"], "-b", - lists["EncoderRight"], "-r", - lists["EncoderTargetLeft"], "--c", - lists["EncoderTargetRight"], "--m", - ) - ax_vel.set_title("Velocity Values") - ax_vel.plot( - lists["CurrentVelocityLeft"], "-b", - lists["CurrentVelocityRight"], "-r", - lists["DesiredVelocityLeft"], "--c", - lists["DesiredVelocityRight"], "--m", - ) - ax_pow.set_title("Motor Powers") - ax_pow.plot(power_deadzone, "--k", neg_power_deadzone, "--k", lists["LeftPower"], "-g", lists["RightPower"], "-y") + # fig, (ax_enc, ax_vel, ax_pow) = plt.subplots(3, 1) + # ax_enc.set_title("Encoder Values") + # ax_enc.plot( + # lists["EncoderLeft"], "-b", + # lists["EncoderRight"], "-r", + # lists["EncoderTargetLeft"], "--c", + # lists["EncoderTargetRight"], "--m", + # ) + # ax_vel.set_title("Velocity Values") + # ax_vel.plot( + # lists["CurrentVelocityLeft"], "-b", + # lists["CurrentVelocityRight"], "-r", + # lists["DesiredVelocityLeft"], "--c", + # lists["DesiredVelocityRight"], "--m", + # ) + # ax_pow.set_title("Motor Powers") + # ax_pow.plot(power_deadzone, "--k", neg_power_deadzone, "--k", lists["LeftPower"], "-g", lists["RightPower"], "-y") + # plt.show() + + plt.plot(lists["LeftSetpoint"], "-b", lists["LeftVelocity"], "-r", lists["LeftError"], "-g", lists["RightSetpoint"], "--c", lists["RightVelocity"], "--m", lists["RightError"], "--y") plt.show() diff --git a/src/robot/control.cpp b/src/robot/control.cpp index 5631c5a..abf3d4a 100644 --- a/src/robot/control.cpp +++ b/src/robot/control.cpp @@ -3,7 +3,6 @@ // Associated Header File #include "robot/control.h" -#include "robot/trapezoidalProfile.h" // Built-In Libraries #include "Arduino.h" @@ -24,9 +23,17 @@ #include #include "utils/functions.h" -//PLEASE ONLY USE CHESSBOT #4 FOR TESTING -PIDController encoderAVelocityController(0.00008, 0.0000035, 0.000001, -1, +1); //Blue -PIDController encoderBVelocityController(0.00008, 0.0000035, 0.000001, -1, +1); //Red +#include "robot/profiledPIDController.h" +#include "robot/trapezoidalProfileNew.h" + + +// pid constants +TrapezoidProfile::Constraints profileConstraints(VELOCITY_LIMIT_TPS, ACCELERATION_LIMIT_TPSPS); +TrapezoidProfile leftProfile(profileConstraints); +TrapezoidProfile rightProfile(profileConstraints); +TrapezoidProfile::State leftSetpoint, rightSetpoint; +PIDController encoderAVelocityController(0.00006, 0.000001, 0.00000, -1, +1); // Blue +PIDController encoderBVelocityController(0.00006, 0.000001, 0.00000, -1, +1); //Red //put this in manually for each bot. Dist between the two front encoders, or the two back encoders. In meters. const float lightDist = 0.07; @@ -244,27 +251,30 @@ void controlLoop(int loopDelayMs, int8_t framesUntilPrint) { profileB.currentPosition = currentPositionEncoderB; profileB.currentVelocity = currentVelocityB; - double desiredVelocityA, desiredVelocityB; - + // Generate trapezoidal profile setpoints if (getLeftMotorControl().mode == POSITION) { - desiredVelocityA = updateTrapezoidalProfile(profileA, loopDelaySeconds, framesUntilPrint); + leftSetpoint = leftProfile.calculate(loopDelaySeconds, + leftSetpoint, + TrapezoidProfile::State(getLeftMotorControl().value, 0.0)); } else { - desiredVelocityA = getLeftMotorControl().value; + leftSetpoint = TrapezoidProfile::State(currentPositionEncoderA, getLeftMotorControl().value); } if (getRightMotorControl().mode == POSITION) { - desiredVelocityB = updateTrapezoidalProfile(profileB, loopDelaySeconds, framesUntilPrint); + rightSetpoint = rightProfile.calculate(loopDelaySeconds, + rightSetpoint, + TrapezoidProfile::State(getRightMotorControl().value, 0.0)); } else { - desiredVelocityB = getRightMotorControl().value; + rightSetpoint = TrapezoidProfile::State(currentPositionEncoderB, getRightMotorControl().value); } prevPositionA = currentPositionEncoderA; prevPositionB = currentPositionEncoderB; - double leftFeedForward = desiredVelocityA / MAX_VELOCITY_TPS; - double rightFeedForward = desiredVelocityB / MAX_VELOCITY_TPS; + double leftFeedForward = leftSetpoint.velocity / THEORETICAL_MAX_VELOCITY_TPS; + double rightFeedForward = rightSetpoint.velocity / THEORETICAL_MAX_VELOCITY_TPS; - double leftMotorPower = encoderAVelocityController.Compute(desiredVelocityA, currentVelocityA, loopDelaySeconds) + leftFeedForward; - double rightMotorPower = encoderBVelocityController.Compute(desiredVelocityB, currentVelocityB, loopDelaySeconds) + rightFeedForward; + double leftMotorPower = encoderAVelocityController.Compute(leftSetpoint.velocity, currentVelocityA, loopDelaySeconds) + leftFeedForward; + double rightMotorPower = encoderBVelocityController.Compute(rightSetpoint.velocity, currentVelocityB, loopDelaySeconds) + rightFeedForward; if (leftMotorPower > 1) leftMotorPower = 1; if (leftMotorPower < -1) leftMotorPower = -1; @@ -272,46 +282,58 @@ void controlLoop(int loopDelayMs, int8_t framesUntilPrint) { if (rightMotorPower < -1) rightMotorPower = -1; //using macros this code isn't uploaded if not proper loging levels - #if LOGGING_LEVEL >= 4 + #if LOGGING_LEVEL >= 3 if(framesUntilPrint == 0) { - serialLog("Current encoder A pos: ", 2); - serialLog(currentEncoderA, 2); - serialLog(", ", 2); - serialLog("Current encoder B pos: ", 2); - serialLog(currentEncoderB, 2); - serialLog(", ", 2); - serialLog("Desired encoder A speed: ", 2); - serialLog(desiredVelocityA, 2); - serialLog(", ", 2); - serialLog("Desired encoder B speed: ", 2); - serialLog(desiredVelocityB, 2); - serialLog(", ", 2); - serialLog("current encoder a speed: ", 2); - serialLog(currentVelocityA, 2); - serialLog(", ", 2); - serialLog("current encoder b speed: ", 2); - serialLog(currentVelocityB, 2); - serialLog(", ", 2); - serialLog("current left motor power: ", 2); - serialLog(leftMotorPower, 2); - serialLog(", ", 2); - serialLog("current right motor power: ", 2); - serialLog(rightMotorPower, 2); - serialLog(", ", 2); - serialLog("current encoder a target: ", 2); - serialLog(leftMotorControl.mode == POSITION ? leftMotorControl.value : 0, 2); - serialLog(", ", 2); - serialLog("current encoder b target: ", 2); - serialLog(rightMotorControl.mode == POSITION ? rightMotorControl.value : 0, 2); // TODO log results of trapezoidal profile into csv (on motor value graph) - serialLog(", ", 2); - serialLog("is robot pid at target? ", 2); - serialLog(isRobotPidAtTarget(), 2); - serialLog(", ", 2); - serialLogln(loopDelaySeconds, 2); + // serialLog("Current encoder A pos: ", 2); + // serialLog(currentPositionEncoderA, 2); + // serialLog(", ", 2); + // serialLog("Current encoder B pos: ", 2); + // serialLog(currentPositionEncoderB, 2); + // serialLog(", ", 2); + // serialLog("Desired encoder A speed: ", 2); + // serialLog(leftSetpoint.velocity, 2); + // serialLog(", ", 2); + // serialLog("Desired encoder B speed: ", 2); + // serialLog(rightSetpoint.velocity, 2); + // serialLog(", ", 2); + // serialLog("current encoder a speed: ", 2); + // serialLog(currentVelocityA, 2); + // serialLog(", ", 2); + // serialLog("current encoder b speed: ", 2); + // serialLog(currentVelocityB, 2); + // serialLog(", ", 2); + // serialLog("current left motor power: ", 2); + // serialLog(leftMotorPower, 2); + // serialLog(", ", 2); + // serialLog("current right motor power: ", 2); + // serialLog(rightMotorPower, 2); + // serialLog(", ", 2); + // serialLog("current encoder a target: ", 2); + // serialLog(leftMotorControl.mode == POSITION ? leftMotorControl.value : 0, 2); + // serialLog(", ", 2); + // serialLog("current encoder b target: ", 2); + // serialLog(rightMotorControl.mode == POSITION ? rightMotorControl.value : 0, 2); // TODO log results of trapezoidal profile into csv (on motor value graph) + // serialLog(", ", 2); + // serialLog("is robot pid at target? ", 2); + // serialLog(isRobotPidAtTarget(), 2); + // serialLog(", ", 2); + // serialLogln(loopDelaySeconds, 2); } - + + serialLog(leftSetpoint.velocity, 3); + serialLog(",", 3); + serialLog(currentVelocityA, 3); + serialLog(",", 3); + serialLog(leftSetpoint.velocity - currentVelocityA, 3); + serialLog(",", 3); + serialLog(rightSetpoint.velocity, 3); + serialLog(",", 3); + serialLog(currentVelocityB, 3); + serialLog(",", 3); + serialLogln(rightSetpoint.velocity - currentVelocityB, 3); + #endif drive( @@ -483,6 +505,7 @@ bool checkIfCanUpdateMovement() void setLeftMotorControl(ControlSetting control) { leftMotorControl = control; + leftSetpoint = TrapezoidProfile::State(readLeftEncoder(), profileA.currentVelocity); if (control.mode == POSITION) profileA.targetPosition = control.value; else @@ -491,6 +514,7 @@ void setLeftMotorControl(ControlSetting control) { void setRightMotorControl(ControlSetting control) { rightMotorControl = control; + rightSetpoint = TrapezoidProfile::State(readRightEncoder(), profileB.currentVelocity); if (control.mode == POSITION) profileB.targetPosition = control.value; else @@ -535,10 +559,9 @@ void driveTicks(int tickDistance, std::string id) void drive(float leftPower, float rightPower, std::string id) { if (!getStoppedStatus()) { // TODO: maybe move to motor.cpp? - float minPower = 0.16; - if (leftPower < minPower && leftPower > -minPower) { + if (leftPower < MIN_MOTOR_POWER && leftPower > -MIN_MOTOR_POWER) { leftPower = 0; - } if (rightPower < minPower && rightPower > -minPower) { + } if (rightPower < MIN_MOTOR_POWER && rightPower > -MIN_MOTOR_POWER) { rightPower = 0; } diff --git a/src/robot/trapezoidalProfileNew.cpp b/src/robot/trapezoidalProfileNew.cpp new file mode 100644 index 0000000..962fe6f --- /dev/null +++ b/src/robot/trapezoidalProfileNew.cpp @@ -0,0 +1,61 @@ +#include "robot/trapezoidalProfileNew.h" + +TrapezoidProfile::State TrapezoidProfile::calculate(double t, const State ¤t, const State &goal) +{ + int m_direction = shouldFlipAcceleration(current, goal) ? -1 : 1; + State m_current = direct(current, m_direction); + State goalDir = direct(goal, m_direction); + + if (std::abs(m_current.velocity) > m_constraints.maxVelocity) + { + m_current.velocity = std::copysign(m_constraints.maxVelocity, m_current.velocity); + } + + double cutoffBegin = m_current.velocity / m_constraints.maxAcceleration; + double cutoffDistBegin = cutoffBegin * cutoffBegin * m_constraints.maxAcceleration / 2.0; + + double cutoffEnd = goalDir.velocity / m_constraints.maxAcceleration; + double cutoffDistEnd = cutoffEnd * cutoffEnd * m_constraints.maxAcceleration / 2.0; + + double fullTrapezoidDist = cutoffDistBegin + (goalDir.position - m_current.position) + cutoffDistEnd; + double accelerationTime = m_constraints.maxVelocity / m_constraints.maxAcceleration; + + double fullSpeedDist = fullTrapezoidDist - accelerationTime * accelerationTime * m_constraints.maxAcceleration; + + if (fullSpeedDist < 0) + { + accelerationTime = std::sqrt(fullTrapezoidDist / m_constraints.maxAcceleration); + fullSpeedDist = 0; + } + + double m_endAccel = accelerationTime - cutoffBegin; + double m_endFullSpeed = m_endAccel + fullSpeedDist / m_constraints.maxVelocity; + double m_endDecel = m_endFullSpeed + accelerationTime - cutoffEnd; + State result(m_current.position, m_current.velocity); + + if (t < m_endAccel) + { + result.velocity += t * m_constraints.maxAcceleration; + result.position += (m_current.velocity + t * m_constraints.maxAcceleration / 2.0) * t; + } + else if (t < m_endFullSpeed) + { + result.velocity = m_constraints.maxVelocity; + result.position += + (m_current.velocity + m_endAccel * m_constraints.maxAcceleration / 2.0) * m_endAccel + + m_constraints.maxVelocity * (t - m_endAccel); + } + else if (t <= m_endDecel) + { + result.velocity = goalDir.velocity + (m_endDecel - t) * m_constraints.maxAcceleration; + double timeLeft = m_endDecel - t; + result.position = + goalDir.position - (goalDir.velocity + timeLeft * m_constraints.maxAcceleration / 2.0) * timeLeft; + } + else + { + result = goalDir; + } + + return direct(result, m_direction); +} diff --git a/src/utils/config.cpp b/src/utils/config.cpp index 6049e39..2f9aebc 100644 --- a/src/utils/config.cpp +++ b/src/utils/config.cpp @@ -37,8 +37,11 @@ gpio_num_t BATTERY_VOLTAGE_PIN = GPIO_NUM_10; int TICKS_PER_ROTATION = 12000; float TRACK_WIDTH_INCHES = 8.29; float WHEEL_DIAMETER_INCHES = 4.75; -float MAX_VELOCITY_TPS = 39000; -float MAX_ACCELERATION_TPSPS = 5000; +float THEORETICAL_MAX_VELOCITY_TPS = 63000; +float THEORETICAL_MAX_ACCELERATION_TPSPS = 16000; +float VELOCITY_LIMIT_TPS = 40000; +float ACCELERATION_LIMIT_TPSPS = 10000; +float MIN_MOTOR_POWER = 0.12; // Minimum motor power to elicit motor response, empirically determined float TILES_TO_TICKS = 2*12*TICKS_PER_ROTATION/(WHEEL_DIAMETER_INCHES*M_PI); float PID_POSITION_TOLERANCE = 100; @@ -68,8 +71,9 @@ void setConfig(JsonObject config) { if (config["TICKS_PER_ROTATION"].is()) TICKS_PER_ROTATION = config["TICKS_PER_ROTATION"]; if (config["TRACK_WIDTH_INCHES"].is()) TRACK_WIDTH_INCHES = config["TRACK_WIDTH_INCHES"]; if (config["WHEEL_DIAMETER_INCHES"].is()) WHEEL_DIAMETER_INCHES = config["WHEEL_DIAMETER_INCHES"]; - if (config["MAX_VELOCITY_TPS"].is()) MAX_VELOCITY_TPS = config["MAX_VELOCITY_TPS"]; - if (config["MAX_ACCELERATION_TPSPS"].is()) MAX_ACCELERATION_TPSPS = config["MAX_ACCELERATION_TPSPS"]; + if (config["THEORETICAL_MAX_VELOCITY_TPS"].is()) THEORETICAL_MAX_VELOCITY_TPS = config["THEORETICAL_MAX_VELOCITY_TPS"]; + if (config["THEORETICAL_MAX_ACCELERATION_TPSPS"].is()) THEORETICAL_MAX_ACCELERATION_TPSPS = config["THEORETICAL_MAX_ACCELERATION_TPSPS"]; + if (config["MIN_MOTOR_POWER"].is()) MIN_MOTOR_POWER = config["MIN_MOTOR_POWER"]; serialLogln("Config Set!", 2); }