motor_ctrl: pid tuning
authorErik Andresen <erik@vontaene.de>
Thu, 31 Mar 2016 18:40:03 +0000 (20:40 +0200)
committerErik Andresen <erik@vontaene.de>
Thu, 31 Mar 2016 18:40:03 +0000 (20:40 +0200)
avr/motor_ctrl/main.c
avr/motor_ctrl/main.hex
data/motor_ctrl_pid_values.ods [new file with mode: 0644]
scripts/get_velocity.py [new file with mode: 0755]

index 28d254e..048fab0 100644 (file)
 #define TWI_RESET      TWCR &= ~((1 << TWSTO) | (1 << TWEN)); TWI_ACK
 #define TWI_NAK                TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE)
 
-#define KP 0.009
-#define KI 0.051429
-#define KD 0.000378
+#define KP 0.045
+#define KI 2.298
+#define KD 0.0004
 #define PID_T 0.01
 // wheel diameter=12cm, encoder=48cpr, gear ratio=1:34, real wheel diameter: 0.12454m
 #define STEP_PER_M_AVG 4171.4
@@ -674,16 +674,16 @@ static void update_motor(void) {
        error_state = ~((PIND & 0x40)>>3 | (PINB & 0x07)) & 0xf;
 
        // if error and running: stop
-       if (bit_is_set(error_state, 0) && m1_old != 0) motor1 = 0;
-       if (bit_is_set(error_state, 1) && m2_old != 0) motor2 = 0;
-       if (bit_is_set(error_state, 2) && m3_old != 0) motor3 = 0;
-       if (bit_is_set(error_state, 3) && m4_old != 0) motor4 = 0;
+       if (motor1_mode == MOTOR_PID && bit_is_set(error_state, 0) && m1_old != 0) motor1 = 0;
+       if (motor2_mode == MOTOR_PID && bit_is_set(error_state, 1) && m2_old != 0) motor2 = 0;
+       if (motor3_mode == MOTOR_PID && bit_is_set(error_state, 2) && m3_old != 0) motor3 = 0;
+       if (motor4_mode == MOTOR_PID && bit_is_set(error_state, 3) && m4_old != 0) motor4 = 0;
 
        // if we start motor in error state: start with full power
-       if (bit_is_set(error_state, 0) && m1_old == 0 && motor1 != 0) motor1 = 255;
-       if (bit_is_set(error_state, 1) && m2_old == 0 && motor2 != 0) motor2 = 255;
-       if (bit_is_set(error_state, 2) && m3_old == 0 && motor3 != 0) motor3 = 255;
-       if (bit_is_set(error_state, 3) && m4_old == 0 && motor4 != 0) motor4 = 255;
+       if (motor1_mode == MOTOR_PID && bit_is_set(error_state, 0) && m1_old == 0 && motor1 != 0) motor1 = 255;
+       if (motor2_mode == MOTOR_PID && bit_is_set(error_state, 1) && m2_old == 0 && motor2 != 0) motor2 = 255;
+       if (motor3_mode == MOTOR_PID && bit_is_set(error_state, 2) && m3_old == 0 && motor3 != 0) motor3 = 255;
+       if (motor4_mode == MOTOR_PID && bit_is_set(error_state, 3) && m4_old == 0 && motor4 != 0) motor4 = 255;
 
        if (m1_old != motor1) { // update only when changed
                if (motor1 == 0) {
@@ -844,7 +844,7 @@ static void update_pid(void) {
                } else {
                        int16_t e = speed1_wish - speed1;
                        esum1+=e;
-                       motor1 += KP*e + KI*PID_T*esum1 + KD/PID_T*(e - eold1);
+                       motor1 = KP*e + KI*PID_T*esum1 + KD/PID_T*(e - eold1);
                        eold1 = e;
 
                         if (motor1 > 255) motor1 = 255;
@@ -859,7 +859,7 @@ static void update_pid(void) {
                } else {
                        int16_t e = speed2_wish - speed2;
                        esum2+=e;
-                       motor2 += KP*e + KI*PID_T*esum2 + KD/PID_T*(e - eold2);
+                       motor2 = KP*e + KI*PID_T*esum2 + KD/PID_T*(e - eold2);
                        eold2 = e;
 
                         if (motor2 > 255) motor2 = 255;
@@ -874,7 +874,7 @@ static void update_pid(void) {
                } else {
                        int16_t e = speed3_wish - speed3;
                        esum3+=e;
-                       motor3 += KP*e + KI*PID_T*esum3 + KD/PID_T*(e - eold3);
+                       motor3 = KP*e + KI*PID_T*esum3 + KD/PID_T*(e - eold3);
                        eold3 = e;
 
                         if (motor3 > 255) motor3 = 255;
@@ -889,7 +889,7 @@ static void update_pid(void) {
                } else {
                        int16_t e = speed4_wish - speed4;
                        esum4+=e;
-                       motor4 += KP*e + KI*PID_T*esum4 + KD/PID_T*(e - eold4);
+                       motor4 = KP*e + KI*PID_T*esum4 + KD/PID_T*(e - eold4);
                        eold4 = e;
 
                         if (motor4 > 255) motor4 = 255;
index 804c0a9..72a9ae8 100644 (file)
@@ -7,10 +7,10 @@
 :100060000C50B9918688083CA6AAAA2ABE000000B6\r
 :10007000803F45464765666700202B2D2E30313284\r
 :100080003334353637383968000011241FBECFE5C8\r
-:10009000D8E0DEBFCDBF10E0A0E6B0E0E4EBF8E2D0\r
+:10009000D8E0DEBFCDBF10E0A0E6B0E0E4E5F8E2D6\r
 :1000A00002C005900D92A837B107D9F721E0A8E763\r
 :1000B000B0E001C01D92A836B207E1F70E94290600\r
-:1000C0000C9458140C9400001F920F920FB60F92CC\r
+:1000C0000C9428140C9400001F920F920FB60F92FC\r
 :1000D00011242F933F934F935F936F937F938F934D\r
 :1000E0009F93AF93BF93EF93FF9381B1887F803845\r
 :1000F00081F040F4803609F0B5C385EC86BF1092DC\r
@@ -54,7 +54,7 @@
 :10035000A2009091A300A091A400B091A500BA2F93\r
 :10036000A92F982F8827BC01CD01622B6093A20092\r
 :100370007093A3008093A4009093A50023E33BE532\r
-:1003800042E855E40E94B6100E948A0F7093CF0095\r
+:1003800042E855E40E9486100E945A0F7093CF00F5\r
 :100390006093CE007093CD006093CC0081E0809399\r
 :1003A000D7008093D6004EC283B190E0A0E0B0E0C9\r
 :1003B0000EC023B18091A2009091A300A091A4004F\r
 :100AB0000F900FBE0F901F9018959C018AB188610E\r
 :100AC0008AB9579A80B5866080BDC901A0E0B0E0C0\r
 :100AD0009C01AD0184E0220F331F441F551F8A95EE\r
-:100AE000D1F760E079E08DE390E00E947411DA01C3\r
+:100AE000D1F760E079E08DE390E00E944411DA01F3\r
 :100AF000C9010197A109B109892F9A2FAB2FBB27F3\r
 :100B0000A7FDBA9580BD215029B987EF90E0909359\r
 :100B1000F4008093F3009093F6008093F50008951D\r
 :100B5000EC01CE012196FC012081222319F00E9494\r
 :100B60009005F7CFDF91CF9108955F9BFECF8CB1B9\r
 :100B700090E008950C94B5056AEB75E086E995E080\r
-:100B80000C94F711CF93DF93FC01E253FF4FA08148\r
+:100B80000C94C711CF93DF93FC01E253FF4FA08178\r
 :100B9000B181EC01C453DF4F28813981A217B3071B\r
 :100BA000A1F05D9B12C02C912CB920813181AC0148\r
 :100BB00045535F4F2417350718F42F5F3F4F03C08D\r
 :100C800095E20E945D050E94BC0580E582B986B7A9\r
 :100C90008B7E86BF85EC86BF81EF8FBD89E08EBDE0\r
 :100CA0001BBC1ABC19BC18BC89E785BD13BC83BF2B\r
-:100CB0001CBE8EE690E00E947A1285B78F7885BFC1\r
+:100CB0001CBE8EE690E00E944A1285B78F7885BFF1\r
 :100CC00084E089BF789422242A94312C8091E90011\r
 :100CD0008F3F41F48091E800853A21F4F894E0E0F8\r
 :100CE000F8E109958091F200882309F4E7C0F894AF\r
 :100CF0008090EA009090EB00A090EC00B090ED00A6\r
 :100D00006091EE007091EF008091F0009091F10001\r
 :100D10001092F20078942BED3FE049E450E40E94F9\r
-:100D2000B61027EB3BE04DEB5EE30E94B61020E0EF\r
-:100D300030E040E05FE30E94B610A50194010E94FC\r
-:100D4000A20E6B017C01A5019401C501B4010E94B2\r
-:100D5000A20EA70196010E94A10E23E33BE542E803\r
-:100D600055E40E94B6104B015C0123E33BE542E8E9\r
-:100D700055E4C701B6010E94B6106B017C01809159\r
+:100D2000861027EB3BE04DEB5EE30E94861020E04F\r
+:100D300030E040E05FE30E948610A50194010E942C\r
+:100D4000720E6B017C01A5019401C501B4010E94E2\r
+:100D5000720EA70196010E94710E23E33BE542E863\r
+:100D600055E40E9486104B015C0123E33BE542E819\r
+:100D700055E4C701B6010E9486106B017C01809189\r
 :100D8000A8008823B9F18091A80064E670E0681B90\r
-:100D90007109072E000C880B990B0E94C20F9B0152\r
-:100DA000AC01C501B4010E94B61020E030E048EC6F\r
-:100DB00052E40E94180F0E948A0F7093CF00609334\r
+:100D90007109072E000C880B990B0E94920F9B0182\r
+:100DA000AC01C501B4010E94861020E030E048EC9F\r
+:100DB00052E40E94E80E0E945A0F7093CF00609395\r
 :100DC000CE008091A80064E670E0681B7109072ED0\r
-:100DD000000C880B990B0E94C20F9B01AC01C7014C\r
-:100DE000B6010E94B61020E030E048EC52E40E94C8\r
-:100DF000180F0AC0C501B4010E948A0F7093CF007A\r
-:100E00006093CE00C701B6010E948A0F7093C9009B\r
+:100DD000000C880B990B0E94920F9B01AC01C7017C\r
+:100DE000B6010E94861020E030E048EC52E40E94F8\r
+:100DF000E80E0AC0C501B4010E945A0F7093CF00DB\r
+:100E00006093CE00C701B6010E945A0F7093C900CB\r
 :100E10006093C8008091A9008823B9F18091A9004E\r
 :100E200064E670E0681B7109072E000C880B990BB3\r
-:100E30000E94C20F9B01AC01C501B4010E94B61013\r
-:100E400020E030E048EC52E40E94180F0E948A0F24\r
+:100E30000E94920F9B01AC01C501B4010E94861073\r
+:100E400020E030E048EC52E40E94E80E0E945A0F85\r
 :100E50007093CD006093CC008091A90064E670E0AF\r
-:100E6000681B7109072E000C880B990B0E94C20F9A\r
-:100E70009B01AC01C701B6010E94B61020E030E032\r
-:100E800048EC52E40E94180F0AC0C501B4010E9448\r
-:100E90008A0F7093CD006093CC00C701B6010E9409\r
-:100EA0008A0F7093CB006093CA00F1E0F093D700F3\r
+:100E6000681B7109072E000C880B990B0E94920FCA\r
+:100E70009B01AC01C701B6010E94861020E030E062\r
+:100E800048EC52E40E94E80E0AC0C501B4010E9479\r
+:100E90005A0F7093CD006093CC00C701B6010E9439\r
+:100EA0005A0F7093CB006093CA00F1E0F093D70023\r
 :100EB000F093D600F093D500F093D4008091C70052\r
-:100EC0008C3908F410C61092C700F8942091DE0007\r
+:100EC0008C3908F4E0C51092C700F8942091DE0038\r
 :100ED0003091DF003A8329834091DC005091DD009E\r
 :100EE0005C834B838091DA009091DB009E838D833D\r
 :100EF000E091D800F091D900F887EF837894809141\r
 :100F1000909195008A01081B190B80919200909185\r
 :100F20009300ED80FE80E81AF90A8091900090917C\r
 :100F300091006F01C81AD90AB5010B2C000C880B5F\r
-:100F4000990B0E94C20F2AE037ED43E25CE30E9456\r
-:100F5000180F0E948A0F69877A878B879C87B80150\r
-:100F6000012E000C880B990B0E94C20F2AE037ED6E\r
-:100F700043E25CE30E94180F0E948A0F6D877E8710\r
+:100F4000990B0E94920F2AE037ED43E25CE30E9486\r
+:100F5000E80E0E945A0F69877A878B879C87B801B1\r
+:100F6000012E000C880B990B0E94920F2AE037ED9E\r
+:100F700043E25CE30E94E80E0E945A0F6D877E8771\r
 :100F80008F87988BB7010F2C000C880B990B0E9450\r
-:100F9000C20F2AE037ED43E25CE30E94180F0E9483\r
-:100FA0008A0F698B7A8B8B8B9C8BB6010D2C000C76\r
-:100FB000880B990B0E94C20F2AE037ED43E25CE3F5\r
-:100FC0000E94180F0E948A0F6D8B7E8B8F8B988FDB\r
+:100F9000920F2AE037ED43E25CE30E94E80E0E94E4\r
+:100FA0005A0F698B7A8B8B8B9C8BB6010D2C000CA6\r
+:100FB000880B990B0E94920F2AE037ED43E25CE325\r
+:100FC0000E94E80E0E945A0F6D8B7E8B8F8B988F3C\r
 :100FD000B501600F711F072E000C880B990B0E9442\r
-:100FE000C20F23E33BE542E056E40E94180F4B0199\r
+:100FE000920F23E33BE542E056E40E94E80E4B01FA\r
 :100FF0005C01B7016C0D7D1D072E000C880B990B51\r
-:101000000E94C20F23E33BE542E056E40E94180F22\r
+:101000000E94920F23E33BE542E056E40E94E80E83\r
 :101010002B013C01C090B300D090B400E090B5002B\r
-:10102000F090B600A50194010E94A10E27EB3BE0D1\r
-:101030004DEB5EE30E94180F9B01AC01C701B601A6\r
-:101040000E94A20E6B017C012BED3FE049EC50E4C5\r
-:101050000E94B11018164CF42BED3FE049EC50E41F\r
-:10106000C701B6010E94A10E12C02BED3FE049EC72\r
-:1010700050ECC701B6010E940E0F87FF0AC02BED8E\r
-:101080003FE049EC50E4C701B6010E94A20E6B019B\r
-:101090007C01A3019201C501B4010E94A20E20E0CF\r
-:1010A00030E040E05FE30E94B6104B015C014090ED\r
+:10102000F090B600A50194010E94710E27EB3BE001\r
+:101030004DEB5EE30E94E80E9B01AC01C701B601D7\r
+:101040000E94720E6B017C012BED3FE049EC50E4F5\r
+:101050000E94811018164CF42BED3FE049EC50E44F\r
+:10106000C701B6010E94710E12C02BED3FE049ECA2\r
+:1010700050ECC701B6010E94DE0E87FF0AC02BEDBF\r
+:101080003FE049EC50E4C701B6010E94720E6B01CB\r
+:101090007C01A3019201C501B4010E94720E20E0FF\r
+:1010A00030E040E05FE30E9486104B015C0140901D\r
 :1010B000BB005090BC006090BD007090BE00C701A6\r
-:1010C000B6010E94130FA50194010E94B6109B0166\r
-:1010D000AC01C301B2010E94A20E698F7A8F8B8F7F\r
+:1010C000B6010E94E30EA50194010E9486109B01C7\r
+:1010D000AC01C301B2010E94720E698F7A8F8B8FAF\r
 :1010E0009C8F4090B7005090B8006090B90070900D\r
-:1010F000BA00C701B6010E942311A50194010E9404\r
-:10110000B6109B01AC01C301B2010E94A20E2B01DB\r
+:1010F000BA00C701B6010E94F310A50194010E9435\r
+:1011000086109B01AC01C301B2010E94720E2B013B\r
 :101110003C010D851E8529853A85020F131F17FF97\r
 :1011200002C00F5F1F4F159507954D895E8989890C\r
 :101130009A89480F591F57FF02C04F5F5F4FFA014E\r
 :10114000F595E795FE8FED8FBF01600F711F072E9C\r
-:10115000000C880B990B0E94C20F23E33BE542E091\r
-:1011600056E40E94180F4B015C016D8D7E8D601B53\r
-:10117000710B072E000C880B990B0E94C20F29E9F6\r
-:1011800035E347E955E40E94180FF894C092B30084\r
+:10115000000C880B990B0E94920F23E33BE542E0C1\r
+:1011600056E40E94E80E4B015C016D8D7E8D601B84\r
+:10117000710B072E000C880B990B0E94920F29E926\r
+:1011800035E347E955E40E94E80EF894C092B300B5\r
 :10119000D092B400E092B500F092B600298D3A8D5D\r
 :1011A0004B8D5C8D2093BB003093BC004093BD0001\r
 :1011B0005093BE004092B7005092B8006092B900C0\r
 :101210009093AE00789489819A81909397008093FF\r
 :101220009600EB81FC81F0939500E09394002D8172\r
 :101230003E8130939300209392004F8158855093C4\r
-:101240009100409390008091D700813009F0A8C0B0\r
+:101240009100409390008091D700813009F094C0C4\r
 :101250008091CE009091CF00892B89F41092E70005\r
 :101260001092E60010928F0010928E0010928A0069\r
-:1012700010928B0010928C0010928D0091C02091E2\r
+:1012700010928B0010928C0010928D007DC02091F6\r
 :10128000CE003091CF008091C5009091C6008901B9\r
-:10129000081B190B2801012E000C66087708C09066\r
-:1012A0008A00D0908B00E0908C00F0908D00C40CF0\r
-:1012B000D51CE61CF71CC0928A00D0928B00E092ED\r
-:1012C0008C00F0928D006091E6007091E700072E8F\r
-:1012D000000C880B990B0E94C20F4B015C01C301EB\r
-:1012E000B2010E94C20F2CEB34E743E15CE30E94A1\r
-:1012F000B6102B013C01C701B6010E94C20F2BE6BC\r
-:1013000031ED46E05AE30E94B6109B01AC01C301E7\r
-:10131000B2010E94A20E6B017C0180918E0090911F\r
-:101320008F00B801681B790B072E000C880B990BF6\r
-:101330000E94C20F2CE234ED4AE15DE30E94B61038\r
-:101340009B01AC01C701B6010E94A20E9B01AC013A\r
-:10135000C501B4010E94A20E0E948A0F7093E7009B\r
-:101360006093E60010938F0000938E008091E6005A\r
-:101370009091E7008F3F910531F02CF03092E7001B\r
-:101380002092E6000DC08091E6009091E700813048\r
-:101390009F4F34F481E09FEF9093E7008093E60045\r
-:1013A0008091D600813009F0A8C08091CC00909146\r
-:1013B000CD00892B89F41092E5001092E400109280\r
-:1013C000890010928800109284001092850010927B\r
-:1013D00086001092870091C02091CC003091CD0002\r
-:1013E0008091C3009091C4008901081B190B28014A\r
-:1013F000012E000C66087708C0908400D09085000C\r
-:10140000E0908600F0908700C40CD51CE61CF71C09\r
-:10141000C0928400D0928500E0928600F09287000E\r
-:101420006091E4007091E500072E000C880B990B89\r
-:101430000E94C20F4B015C01C301B2010E94C20FA6\r
-:101440002CEB34E743E15CE30E94B6102B013C0136\r
-:10145000C701B6010E94C20F2BE631ED46E05AE308\r
-:101460000E94B6109B01AC01C301B2010E94A20E02\r
-:101470006B017C018091880090918900B801681B04\r
-:10148000790B072E000C880B990B0E94C20F2CE2DF\r
-:1014900034ED4AE15DE30E94B6109B01AC01C70147\r
-:1014A000B6010E94A20E9B01AC01C501B4010E94CD\r
-:1014B000A20E0E948A0F7093E5006093E4001093DF\r
-:1014C0008900009388008091E4009091E5008F3FAF\r
-:1014D000910531F02CF03092E5002092E4000DC02F\r
-:1014E0008091E4009091E50081309F4F34F421E039\r
-:1014F0003FEF3093E5002093E4008091D5008130E8\r
-:1015000009F0A8C08091CA009091CB00892B89F482\r
-:101510001092E3001092E200109283001092820079\r
-:1015200010927E0010927F00109280001092810035\r
-:1015300091C02091CA003091CB008091C100909160\r
-:10154000C2008901081B190B2801012E000C660836\r
-:101550007708C0907E00D0907F00E0908000F090EF\r
-:101560008100C40CD51CE61CF71CC0927E00D092F2\r
-:101570007F00E0928000F09281006091E200709123\r
-:10158000E300072E000C880B990B0E94C20F4B0141\r
-:101590005C01C301B2010E94C20F2CEB34E743E1AE\r
-:1015A0005CE30E94B6102B013C01C701B6010E940A\r
-:1015B000C20F2BE631ED46E05AE30E94B6109B01C4\r
-:1015C000AC01C301B2010E94A20E6B017C018091AB\r
-:1015D000820090918300B801681B790B072E000CE4\r
-:1015E000880B990B0E94C20F2CE234ED4AE15DE3B7\r
-:1015F0000E94B6109B01AC01C701B6010E94A20E69\r
-:101600009B01AC01C501B4010E94A20E0E948A0F89\r
-:101610007093E3006093E2001093830000938200D4\r
-:101620008091E2009091E3008F3F910531F02CF022\r
-:101630003092E3002092E2000DC08091E200909190\r
-:10164000E30081309F4F34F441E05FEF5093E300BB\r
-:101650004093E2008091D400813009F0A8C08091CD\r
-:10166000C8009091C900892B89F41092E100109272\r
-:10167000E00010927D0010927C0010927800109291\r
-:10168000790010927A0010927B0091C02091C800DE\r
-:101690003091C9008091BF009091C0008901081B62\r
-:1016A000190B2801012E000C66087708C0907800FD\r
-:1016B000D0907900E0907A00F0907B00C40CD51CAB\r
-:1016C000E61CF71CC0927800D0927900E0927A0074\r
-:1016D000F0927B006091E0007091E100072E000C19\r
-:1016E000880B990B0E94C20F4B015C01C301B20130\r
-:1016F0000E94C20F2CEB34E743E15CE30E94B6107A\r
-:101700002B013C01C701B6010E94C20F2BE631ED4F\r
-:1017100046E05AE30E94B6109B01AC01C301B2013E\r
-:101720000E94A20E6B017C0180917C0090917D0053\r
-:10173000B801681B790B072E000C880B990B0E94CF\r
-:10174000C20F2CE234ED4AE15DE30E94B6109B012A\r
-:10175000AC01C701B6010E94A20E9B01AC01C501FC\r
-:10176000B4010E94A20E0E948A0F7093E100609360\r
-:10177000E00010937D0000937C008091E000909148\r
-:10178000E1008F3F910531F02CF03092E100209282\r
-:10179000E0000DC08091E0009091E10081309F4F0A\r
-:1017A00034F481E09FEF9093E1008093E00090B3E8\r
-:1017B00026B39074892F90E033E0959587953A95FC\r
-:1017C000E1F7922F9770892B80958F708093A700F7\r
-:1017D0002091A700809166009091670020FF06C0CD\r
-:1017E000009721F01092E7001092E6002091A700E8\r
-:1017F00021FF0AC02091640030916500232B21F065\r
-:101800001092E5001092E4002091A70022FF0AC088\r
-:101810002091620030916300232B21F01092E300AD\r
-:101820001092E2002091A70023FF0AC020916000DF\r
-:1018300030916100232B21F01092E1001092E00022\r
-:101840002091A70020FF0CC0009751F42091E600E2\r
-:101850003091E700232B21F03092E7002092E60040\r
-:101860002091A70021FF10C02091640030916500F5\r
-:10187000232B51F42091E4003091E500232B21F03B\r
-:101880003092E5002092E4002091A70022FF10C0D2\r
-:101890002091620030916300232B51F42091E200EB\r
-:1018A0003091E300232B21F03092E3002092E200FC\r
-:1018B0002091A70023FF10C02091600030916100AB\r
-:1018C000232B51F42091E0003091E100232B21F0F3\r
-:1018D0003092E1002092E0002091E6003091E70094\r
-:1018E00082179307B9F18091E6009091E700892B68\r
-:1018F00019F485B38C6017C08091D300811107C0A3\r
-:101900008091E6009091E7001816190654F0809136\r
-:10191000D300882351F08091E6009091E70097FF73\r
-:1019200004C085B3837F85BB02C0AA98AB9A80911F\r
-:10193000E6009091E70090936700809366008091A5\r
-:10194000E6009091E70097FF03C09195819591097A\r
-:101950009BBD8ABD8091E4009091E50020916400D8\r
-:101960003091650028173907B9F18091E400909112\r
-:10197000E500892B19F485B3806317C08091D200EC\r
-:10198000811107C08091E4009091E50018161906B6\r
-:1019900054F08091D200882351F08091E40090911E\r
-:1019A000E50097FF04C085B38F7C85BB02C0AC986F\r
-:1019B000AD9A8091E4009091E5009093650080934A\r
-:1019C00064008091E4009091E50097FF03C0919539\r
-:1019D0008195910999BD88BD8091E2009091E300C5\r
-:1019E000209162003091630028173907B1F180918E\r
-:1019F000E2009091E300892B19F485B3806C17C045\r
-:101A00008091D100811107C08091E2009091E300A4\r
-:101A10001816190654F08091D100882351F0809156\r
-:101A2000E2009091E30097FF04C085B38F7385BBFC\r
-:101A300002C0AE98AF9A8091E2009091E30090933B\r
-:101A40006300809362008091E2009091E30097FF31\r
-:101A500003C091958195910983BD8091E00090919B\r
-:101A6000E100209160003091610028173907B1F141\r
-:101A70008091E0009091E100892B19F482B38C6091\r
-:101A800017C08091D000811107C08091E000909133\r
-:101A9000E1001816190654F08091D000882351F007\r
-:101AA0008091E0009091E10097FF04C082B3837FB2\r
-:101AB00082BB02C09298939A8091E0009091E100DD\r
-:101AC00090936100809360008091E0009091E1002C\r
-:101AD00097FF03C09195819591098CBF8091AA00D1\r
-:101AE0008F5F8093AA0085B7806885BF889585B78A\r
-:101AF0008F7785BFEBC8ACE0B0E0E1E8FDE00C9487\r
-:101B000097116C015B017A01FC01178216828381B7\r
-:101B100081FF0EC1CE0101964C01F6010381F50152\r
-:101B200003FD159103FF11915F01112309F4FCC01E\r
-:101B3000153249F403FD159103FF11915F01153230\r
-:101B400011F020E01BC0B601812F90E00E944212EC\r
-:101B500037017301E2CF112309F4E6C0612F70E071\r
-:101B600089E790E02C870E94EC112C85892B49F0A5\r
-:101B7000F50103FD159103FF11915F0127FFEBCFE5\r
-:101B800009C0133229F01C3609F0D5C02068F0CF07\r
-:101B900020E1EECF022F112309F4C6C0612F70E0BF\r
-:101BA00082E790E02C870E94EC112C85892B41F074\r
-:101BB0003701F4E06F0E711CB6018FE390E011C0A5\r
-:101BC000133639F0133781F0133519F5022F016000\r
-:101BD0000BC0370182E0680E711CB601F7018081ED\r
-:101BE00091810E944212B5CF3701F2E06F0E711C55\r
-:101BF000F701E080F180F70100FD859100FF819100\r
-:101C00007F01882309F4A5CFB60190E00E9442121B\r
-:101C1000F2CF143611F0193629F5370127FF09C024\r
-:101C2000F4E06F0E711CF7016081718182819381F4\r
-:101C30000AC0F2E06F0E711CF70160817181072EFE\r
-:101C4000000C880B990B022F0F7E97FF08C0909510\r
-:101C50008095709561957F4F8F4F9F4F00642AE06C\r
-:101C600030E033C0103799F040F41835B1F01F362A\r
-:101C700009F05AC028E030E014C0153719F01837C1\r
-:101C800041F052C0022F0F7E2AE030E00AC0022F3E\r
-:101C90000061046220E130E004C0022F046020E112\r
-:101CA00032E0370107FF09C0F4E06F0E711CF70145\r
-:101CB000608171818281938108C0F2E06F0E711C96\r
-:101CC000F7016081718180E090E0A4010E94AA1276\r
-:101CD000182F181906FF05C0B6018DE290E00E948A\r
-:101CE000421204FF15C0FE01E10FF11D8081803317\r
-:101CF00079F0B60180E390E00E94421202FF08C032\r
-:101D00000072802F90E0B601885A9F4F0E944212C5\r
-:101D10001150F401E10FF11D8081B60190E00E94A5\r
-:101D200042121111F5CF15CFF6018681978105C0BA\r
-:101D30008FEF9FEF02C0022F31CF2C96EEE00C9474\r
-:101D4000B3115058BB27AA270E94B90E0C946310F8\r
-:101D50000E942A1038F00E94311020F039F49F3F81\r
-:101D600019F426F40C9427100EF4E095E7FB0C947C\r
-:101D70002110E92F0E94881058F3BA1762077307E1\r
-:101D80008407950720F079F4A6F50C94AA100EF4B8\r
-:101D9000E0950B2EBA2FA02D0B01B90190010C017B\r
-:101DA000CA01A0011124FF27591B99F0593F50F493\r
-:101DB000503E68F11A16F040A22F232F342F4427EB\r
-:101DC000585FF3CF469537952795A795F0405395E3\r
-:101DD000C9F77EF41F16BA0B620B730B840BBAF0B3\r
-:101DE0009150A1F0FF0FBB1F661F771F881FC2F71E\r
-:101DF0000EC0BA0F621F731F841F48F48795779532\r
-:101E00006795B795F7959E3F08F0B0CF9395880FEB\r
-:101E100008F09927EE0F9795879508950E94FD0F7A\r
-:101E200008F481E008950E943A10E3950C94741030\r
-:101E30000E942C0F0C9463100E94311058F00E94E5\r
-:101E40002A1040F029F45F3F29F00C942110511121\r
-:101E50000C94AB100C9427100E94881068F39923FF\r
-:101E6000B1F3552391F3951B550BBB27AA27621796\r
-:101E70007307840738F09F5F5F4F220F331F441FA3\r
-:101E8000AA1FA9F335D00E2E3AF0E0E832D09150D7\r
-:101E90005040E695001CCAF72BD0FE2F29D0660FC4\r
-:101EA000771F881FBB1F261737074807AB07B0E807\r
-:101EB00009F0BB0B802DBF01FF2793585F4F3AF00D\r
-:101EC0009E3F510578F00C9421100C94AB105F3FAD\r
-:101ED000E4F3983ED4F3869577956795B795F79593\r
-:101EE0009F5FC9F7880F911D9695879597F908957B\r
-:101EF000E1E0660F771F881FBB1F62177307840717\r
-:101F0000BA0720F0621B730B840BBA0BEE1F88F725\r
-:101F1000E09508950E94910F6894B1110C94AB1054\r
-:101F200008950E94901088F09F5798F0B92F992734\r
-:101F3000B751B0F0E1F0660F771F881F991F1AF0B4\r
-:101F4000BA95C9F714C0B13091F00E94AA10B1E05F\r
-:101F500008950C94AA10672F782F8827B85F39F05E\r
-:101F6000B93FCCF3869577956795B395D9F73EF44D\r
-:101F700090958095709561957F4F8F4F9F4F0895F5\r
-:101F8000E89409C097FB3EF4909580957095619513\r
-:101F90007F4F8F4F9F4F9923A9F0F92F96E9BB27C9\r
-:101FA0009395F695879577956795B795F111F8CF45\r
-:101FB000FAF4BB0F11F460FF1BC06F5F7F4F8F4FB0\r
-:101FC0009F4F16C0882311F096E911C0772321F0A6\r
-:101FD0009EE8872F762F05C0662371F096E8862F3E\r
-:101FE00070E060E02AF09A95660F771F881FDAF795\r
-:101FF000880F9695879597F90895990F0008550FC2\r
-:10200000AA0BE0E8FEEF16161706E807F907C0F07E\r
-:1020100012161306E407F50798F0621B730B840B86\r
-:10202000950B39F40A2661F0232B242B252B21F460\r
-:1020300008950A2609F4A140A6958FEF811D811D00\r
-:10204000089597F99F6780E870E060E008959FEF3A\r
-:1020500080EC089500240A9416161706180609063F\r
-:10206000089500240A94121613061406050608950E\r
-:102070000C9427100E949010D8F3E894E0E0BB275E\r
-:102080009F57F0F02AED3FE049EC06C0EE0FBB0F82\r
-:10209000661F771F881F28F0B23A6207730784070C\r
-:1020A00028F0B25A620B730B840BE3959A9572F782\r
-:1020B000803830F49A95BB0F661F771F881FD2F7C0\r
-:1020C00090480C942D11092E0394000C11F48823D0\r
-:1020D00052F0BB0F40F4BF2B11F460FF04C06F5FE0\r
-:1020E0007F4F8F4F9F4F0895EF93E0FF07C0A2EA05\r
-:1020F0002AED3FE049EC5FEB0E94B90E0E946310AD\r
-:102100000F90039401FC9058E4E5F0E00C94391131\r
-:1021100057FD9058440F551F59F05F3F71F0479598\r
-:10212000880F97FB991F61F09F3F79F0879508957D\r
-:10213000121613061406551FF2CF4695F1DF08C09C\r
-:10214000161617061806991FF1CF869571056105B9\r
-:1021500008940895E894BB2766277727CB0197F961\r
-:1021600008950E94FD0F08F48FEF08950E94C91092\r
-:102170000C9463100E942A1038F00E94311020F055\r
-:10218000952311F00C9421100C94271011240C9419\r
-:10219000AB100E94881070F3959FC1F3950F50E02B\r
-:1021A000551F629FF001729FBB27F00DB11D639F09\r
-:1021B000AA27F00DB11DAA1F649F6627B00DA11DAF\r
-:1021C000661F829F2227B00DA11D621F739FB00D55\r
-:1021D000A11D621F839FA00D611D221F749F3327C5\r
-:1021E000A00D611D231F849F600D211D822F762F5E\r
-:1021F0006A2F11249F5750409AF0F1F088234AF03B\r
-:10220000EE0FFF1FBB1F661F771F881F91505040A6\r
-:10221000A9F79E3F510580F00C9421100C94AB104F\r
-:102220005F3FE4F3983ED4F3869577956795B7952D\r
-:10223000F795E7959F5FC1F7FE2B880F911D969547\r
-:10224000879597F908959F930E943A100F9007FC85\r
-:10225000EE5F0C9474109F3F31F0915020F48795FD\r
-:1022600077956795B795880F911D9695879597F9FE\r
-:1022700008959F938F937F936F93FF93EF939B01A9\r
-:10228000AC010E94B610EF91FF910E944D112F9169\r
-:102290003F914F915F910C94B610DF93CF931F93B2\r
-:1022A0000F93FF92EF92DF927B018C01689406C03E\r
-:1022B000DA2EEF010E94C910FE01E894A591259144\r
-:1022C000359145915591A6F3EF010E94B90EFE019B\r
-:1022D0009701A801DA9469F7DF90EF90FF900F91D2\r
-:1022E0001F91CF91DF910895052E97FB1EF4009466\r
-:1022F0000E948B1157FD07D00E94CA1107FC03D022\r
-:102300004EF40C948B1150954095309521953F4F8C\r
-:102310004F4F5F4F089590958095709561957F4FD1\r
-:102320008F4F9F4F08952F923F924F925F926F92DF\r
-:102330007F928F929F92AF92BF92CF92DF92EF9255\r
-:10234000FF920F931F93CF93DF93CDB7DEB7CA1BD6\r
-:10235000DB0B0FB6F894DEBF0FBECDBF09942A8801\r
-:10236000398848885F846E847D848C849B84AA84A9\r
-:10237000B984C884DF80EE80FD800C811B81AA8136\r
-:10238000B981CE0FD11D0FB6F894DEBF0FBECDBF01\r
-:10239000ED010895A1E21A2EAA1BBB1BFD010DC081\r
-:1023A000AA1FBB1FEE1FFF1FA217B307E407F50705\r
-:1023B00020F0A21BB30BE40BF50B661F771F881FE1\r
-:1023C000991F1A9469F760957095809590959B0177\r
-:1023D000AC01BD01CF010895FC010590061621F066\r
-:1023E0000020D9F7C00108953197CF0108950F93C8\r
-:1023F0001F93CF93DF93009731F46115710519F4A2\r
-:1024000080E090E03AC08B01EC016EE070E081E08A\r
-:1024100090E00E940813FC01892B91F380E88383EC\r
-:102420000115110571F01387028781E8838380917C\r
-:102430005E0190915F01892B21F4F0935F01E0939D\r
-:102440005E012097C9F0D187C08783818260838332\r
-:102450008091600190916101892B71F4F093610189\r
-:10246000E09360018091620190916301892B21F4D6\r
-:10247000F0936301E0936201CF01DF91CF911F914F\r
-:102480000F9108950F931F93CF93DF93FB01238147\r
-:1024900021FD03C08FEF9FEF28C022FF16C04681A9\r
-:1024A0005781248135814217530744F4A081B181BB\r
-:1024B0009D012F5F3F4F318320838C93268137818D\r
-:1024C0002F5F3F4F3783268310C0EB01092F182F52\r
-:1024D0000084F185E02D0995892BE1F68E819F819D\r
-:1024E00001969F838E83812F902FDF91CF911F9133\r
-:1024F0000F9108950F931F93CF93DF93E0916001A5\r
-:10250000F0916101238121FF1BC08C01D0E0C0E06C\r
-:10251000F80181918F016091600170916101DB018F\r
-:102520001896ED91FC911997882331F00995892B24\r
-:1025300079F3DFEFCFEFECCF8AE00995892B19F023\r
-:102540008FEF9FEF02C08D2F9C2FDF91CF911F91B6\r
-:102550000F910895FA01AA27283051F1203181F115\r
-:10256000E8946F936E7F6E5F7F4F8F4F9F4FAF4F9B\r
-:10257000B1E03ED0B4E03CD0670F781F891F9A1FAE\r
-:10258000A11D680F791F8A1F911DA11D6A0F711D62\r
-:10259000811D911DA11D20D009F468943F912AE06E\r
-:1025A000269F11243019305D3193DEF6CF01089556\r
-:1025B000462F4770405D4193B3E00FD0C9F7F6CF87\r
-:1025C000462F4F70405D4A3318F0495D31FD40524F\r
-:1025D000419302D0A9F7EACFB4E0A69597958795E5\r
-:1025E00077956795BA95C9F70097610571050895C4\r
-:1025F0009B01AC010A2E0694579547953795279570\r
-:10260000BA95C9F7620F731F841F951FA01D089507\r
-:102610000F931F93CF93DF93869F8001879F100DA9\r
-:10262000969F100D1124C8010E942413EC010097FD\r
-:1026300029F0A80160E070E00E945114CE01DF9102\r
-:10264000CF911F910F910895CF93DF938230910521\r
-:1026500010F482E090E0E0916601F091670120E0E3\r
-:1026600030E0C0E0D0E0309711F14081518148174F\r
-:102670005907C0F04817590761F482819381209768\r
-:1026800019F09B838A832BC0909367018093660126\r
-:1026900026C02115310519F04217530718F49A0185\r
-:1026A000BE01DF01EF010280F381E02DDCCF2115B7\r
-:1026B000310509F1281B390B2430310590F41296AD\r
-:1026C0008D919C9113976115710521F0FB01938306\r
-:1026D000828304C09093670180936601FD01329666\r
-:1026E00044C0FD01E20FF31F819391932250310901\r
-:1026F0002D933C933AC02091640130916501232BC6\r
-:1027000041F420916A0030916B0030936501209371\r
-:10271000640120916800309169002115310541F470\r
-:102720002DB73EB740916C0050916D00241B350BC6\r
-:10273000E0916401F0916501E217F307A0F42E1B0C\r
-:102740003F0B2817390778F0AC014E5F5F4F241715\r
-:10275000350748F04E0F5F1F5093650140936401A9\r
-:102760008193919302C0E0E0F0E0CF01DF91CF913F\r
-:1027700008950F931F93CF93DF93009709F48CC0B4\r
-:10278000FC01329713821282009166011091670159\r
-:102790000115110581F420813181820F931F209151\r
-:1027A0006401309165012817390779F5F0936501C7\r
-:1027B000E093640171C0D80140E050E0AE17BF075C\r
-:1027C00050F412962D913C911397AD0121153105CE\r
-:1027D00009F1D901F3CF9D01DA01338322836081AE\r
-:1027E0007181860F971F8217930769F4EC01288186\r
-:1027F0003981260F371F2E5F3F4F318320838A8117\r
-:102800009B8193838283452B29F4F0936701E093A6\r
-:10281000660142C01396FC93EE931297ED01499125\r
-:1028200059919E01240F351FE217F30771F480813F\r
-:102830009181840F951F029611969C938E938281AD\r
-:10284000938113969C938E931297E0E0F0E0D80169\r
-:1028500012968D919C911397009719F0F8018C01B5\r
-:10286000F6CF8D919C9198012E5F3F4F820F931F61\r
-:1028700020916401309165012817390769F4309778\r
-:1028800029F4109267011092660102C0138212822D\r
-:102890001093650100936401DF91CF911F910F9117\r
-:1028A0000895DC0101C06D9341505040E0F7089558\r
-:0428B000F894FFCFCA\r
-:1028B40000800080008000800000680120000D0A74\r
-:0828C40053746172740D0000F1\r
+:10129000081B190BB801012E000C880B990BC0908C\r
+:1012A0008A00D0908B00E0908C00F0908D00C60EEC\r
+:1012B000D71EE81EF91EC0928A00D0928B00E092E1\r
+:1012C0008C00F0928D000E94920F2CEE31E548E3E5\r
+:1012D0005DE30E9486104B015C01C701B6010E94CC\r
+:1012E000920F2EE830E44CEB5CE30E9486109B01E9\r
+:1012F000AC01C501B4010E94720E6B017C018091AA\r
+:101300008E0090918F00B801681B790B072E000C9E\r
+:10131000880B990B0E94920F2AE037ED43E25DE3C0\r
+:101320000E9486109B01AC01C701B6010E94720E9B\r
+:101330000E945A0F7093E7006093E60010938F00AD\r
+:1013400000938E008091E6009091E7008F3F910519\r
+:1013500031F02CF03092E7002092E6000DC0809131\r
+:10136000E6009091E70081309F4F34F481E09FEFD9\r
+:101370009093E7008093E6008091D600813009F0D9\r
+:1013800094C08091CC009091CD00892B89F410926B\r
+:10139000E5001092E40010928900109288001092EB\r
+:1013A00084001092850010928600109287007DC004\r
+:1013B0002091CC003091CD008091C3009091C40069\r
+:1013C0008901081B190BB801012E000C880B990B21\r
+:1013D000C0908400D0908500E0908600F090870057\r
+:1013E000C60ED71EE81EF91EC0928400D09285005A\r
+:1013F000E0928600F09287000E94920F2CEE31E579\r
+:1014000048E35DE30E9486104B015C01C701B60111\r
+:101410000E94920F2EE830E44CEB5CE30E948610B1\r
+:101420009B01AC01C501B4010E94720E6B017C01ED\r
+:101430008091880090918900B801681B790B072E74\r
+:10144000000C880B990B0E94920F2AE037ED43E2C3\r
+:101450005DE30E9486109B01AC01C701B6010E94AA\r
+:10146000720E0E945A0F7093E5006093E40010938F\r
+:101470008900009388008091E4009091E5008F3FFF\r
+:10148000910531F02CF03092E5002092E4000DC07F\r
+:101490008091E4009091E50081309F4F34F421E089\r
+:1014A0003FEF3093E5002093E4008091D500813038\r
+:1014B00009F094C08091CA009091CB00892B89F4E7\r
+:1014C0001092E3001092E2001092830010928200CA\r
+:1014D00010927E0010927F00109280001092810086\r
+:1014E0007DC02091CA003091CB008091C1009091C5\r
+:1014F000C2008901081B190BB801012E000C880BD2\r
+:10150000990BC0907E00D0907F00E0908000F0901A\r
+:101510008100C60ED71EE81EF91EC0927E00D09232\r
+:101520007F00E0928000F09281000E94920F2CEEEA\r
+:1015300031E548E35DE30E9486104B015C01C70181\r
+:10154000B6010E94920F2EE830E44CEB5CE30E945F\r
+:1015500086109B01AC01C501B4010E94720E6B01A3\r
+:101560007C018091820090918300B801681B790B07\r
+:10157000072E000C880B990B0E94920F2AE037ED82\r
+:1015800043E25DE30E9486109B01AC01C701B601F6\r
+:101590000E94720E0E945A0F7093E3006093E20063\r
+:1015A00010938300009382008091E2009091E30009\r
+:1015B0008F3F910531F02CF03092E3002092E20051\r
+:1015C0000DC08091E2009091E30081309F4F34F490\r
+:1015D00041E05FEF5093E3004093E2008091D4003C\r
+:1015E000813009F094C08091C8009091C900892B86\r
+:1015F00089F41092E1001092E00010927D001092A8\r
+:101600007C00109278001092790010927A0010926B\r
+:101610007B007DC02091C8003091C9008091BF003F\r
+:101620009091C0008901081B190BB801012E000C14\r
+:10163000880B990BC0907800D0907900E0907A00E8\r
+:10164000F0907B00C60ED71EE81EF91EC0927800EF\r
+:10165000D0927900E0927A00F0927B000E94920F83\r
+:101660002CEE31E548E35DE30E9486104B015C01FE\r
+:10167000C701B6010E94920F2EE830E44CEB5CE308\r
+:101680000E9486109B01AC01C501B4010E94720E3C\r
+:101690006B017C0180917C0090917D00B801681BFA\r
+:1016A000790B072E000C880B990B0E94920F2AE0F1\r
+:1016B00037ED43E25DE30E9486109B01AC01C70158\r
+:1016C000B6010E94720E0E945A0F7093E10060935F\r
+:1016D000E00010937D0000937C008091E0009091E9\r
+:1016E000E1008F3F910531F02CF03092E100209223\r
+:1016F000E0000DC08091E0009091E10081309F4FAB\r
+:1017000034F481E09FEF9093E1008093E00090B388\r
+:1017100026B39074892F90E033E0959587953A959C\r
+:10172000E1F7922F9770892B80958F708093A70097\r
+:101730002091D7008091660090916700213051F48C\r
+:101740002091A70020FF06C0009721F01092E7002B\r
+:101750001092E6002091D600213071F42091A7006C\r
+:1017600021FF0AC02091640030916500232B21F0F5\r
+:101770001092E5001092E4002091D500213071F420\r
+:101780002091A70022FF0AC02091620030916300DF\r
+:10179000232B21F01092E3001092E2002091D4005C\r
+:1017A000213071F42091A70023FF0AC0209160002E\r
+:1017B00030916100232B21F01092E1001092E000A3\r
+:1017C0002091D700213081F42091A70020FF0CC088\r
+:1017D000009751F42091E6003091E700232B21F08F\r
+:1017E0003092E7002092E6002091D6002130A1F44B\r
+:1017F0002091A70021FF10C0209164003091650066\r
+:10180000232B51F42091E4003091E500232B21F0AB\r
+:101810003092E5002092E4002091D5002130A1F41F\r
+:101820002091A70022FF10C0209162003091630038\r
+:10183000232B51F42091E2003091E300232B21F07F\r
+:101840003092E3002092E2002091D4002130A1F4F4\r
+:101850002091A70023FF10C020916000309161000B\r
+:10186000232B51F42091E0003091E100232B21F053\r
+:101870003092E1002092E0002091E6003091E700F4\r
+:1018800082179307B9F18091E6009091E700892BC8\r
+:1018900019F485B38C6017C08091D300811107C003\r
+:1018A0008091E6009091E7001816190654F0809197\r
+:1018B000D300882351F08091E6009091E70097FFD4\r
+:1018C00004C085B3837F85BB02C0AA98AB9A809180\r
+:1018D000E6009091E7009093670080936600809106\r
+:1018E000E6009091E70097FF03C0919581959109DB\r
+:1018F0009BBD8ABD8091E4009091E5002091640039\r
+:101900003091650028173907B9F18091E400909172\r
+:10191000E500892B19F485B3806317C08091D2004C\r
+:10192000811107C08091E4009091E5001816190616\r
+:1019300054F08091D200882351F08091E40090917E\r
+:10194000E50097FF04C085B38F7C85BB02C0AC98CF\r
+:10195000AD9A8091E4009091E500909365008093AA\r
+:1019600064008091E4009091E50097FF03C0919599\r
+:101970008195910999BD88BD8091E2009091E30025\r
+:10198000209162003091630028173907B1F18091EE\r
+:10199000E2009091E300892B19F485B3806C17C0A5\r
+:1019A0008091D100811107C08091E2009091E30005\r
+:1019B0001816190654F08091D100882351F08091B7\r
+:1019C000E2009091E30097FF04C085B38F7385BB5D\r
+:1019D00002C0AE98AF9A8091E2009091E30090939C\r
+:1019E0006300809362008091E2009091E30097FF92\r
+:1019F00003C091958195910983BD8091E0009091FC\r
+:101A0000E100209160003091610028173907B1F1A1\r
+:101A10008091E0009091E100892B19F482B38C60F1\r
+:101A200017C08091D000811107C08091E000909193\r
+:101A3000E1001816190654F08091D000882351F067\r
+:101A40008091E0009091E10097FF04C082B3837F12\r
+:101A500082BB02C09298939A8091E0009091E1003D\r
+:101A600090936100809360008091E0009091E1008C\r
+:101A700097FF03C09195819591098CBF8091AA0031\r
+:101A80008F5F8093AA0085B7806885BF889585B7EA\r
+:101A90008F7785BF1BC9ACE0B0E0E1E5FDE00C94B9\r
+:101AA00067116C015B017A01FC0117821682838148\r
+:101AB00081FF0EC1CE0101964C01F6010381F501B3\r
+:101AC00003FD159103FF11915F01112309F4FCC07F\r
+:101AD000153249F403FD159103FF11915F01153291\r
+:101AE00011F020E01BC0B601812F90E00E9412127D\r
+:101AF00037017301E2CF112309F4E6C0612F70E0D2\r
+:101B000089E790E02C870E94BC112C85892B49F035\r
+:101B1000F50103FD159103FF11915F0127FFEBCF45\r
+:101B200009C0133229F01C3609F0D5C02068F0CF67\r
+:101B300020E1EECF022F112309F4C6C0612F70E01F\r
+:101B400082E790E02C870E94BC112C85892B41F004\r
+:101B50003701F4E06F0E711CB6018FE390E011C005\r
+:101B6000133639F0133781F0133519F5022F016060\r
+:101B70000BC0370182E0680E711CB601F70180814D\r
+:101B800091810E941212B5CF3701F2E06F0E711CE5\r
+:101B9000F701E080F180F70100FD859100FF819160\r
+:101BA0007F01882309F4A5CFB60190E00E941212AC\r
+:101BB000F2CF143611F0193629F5370127FF09C085\r
+:101BC000F4E06F0E711CF701608171818281938155\r
+:101BD0000AC0F2E06F0E711CF70160817181072E5F\r
+:101BE000000C880B990B022F0F7E97FF08C0909571\r
+:101BF0008095709561957F4F8F4F9F4F00642AE0CD\r
+:101C000030E033C0103799F040F41835B1F01F368A\r
+:101C100009F05AC028E030E014C0153719F0183721\r
+:101C200041F052C0022F0F7E2AE030E00AC0022F9E\r
+:101C30000061046220E130E004C0022F046020E172\r
+:101C400032E0370107FF09C0F4E06F0E711CF701A5\r
+:101C5000608171818281938108C0F2E06F0E711CF6\r
+:101C6000F7016081718180E090E0A4010E947A1206\r
+:101C7000182F181906FF05C0B6018DE290E00E94EA\r
+:101C8000121204FF15C0FE01E10FF11D80818033A7\r
+:101C900079F0B60180E390E00E94121202FF08C0C2\r
+:101CA0000072802F90E0B601885A9F4F0E94121256\r
+:101CB0001150F401E10FF11D8081B60190E00E9406\r
+:101CC00012121111F5CF15CFF6018681978105C04B\r
+:101CD0008FEF9FEF02C0022F31CF2C96EEE00C94D5\r
+:101CE00083115058BB27AA270E94890E0C943310E9\r
+:101CF0000E94FA0F38F00E94011020F039F49F3F43\r
+:101D000019F426F40C94F70F0EF4E095E7FB0C940D\r
+:101D1000F10FE92F0E94581058F3BA1762077307A2\r
+:101D20008407950720F079F4A6F50C947A100EF448\r
+:101D3000E0950B2EBA2FA02D0B01B90190010C01DB\r
+:101D4000CA01A0011124FF27591B99F0593F50F4F3\r
+:101D5000503E68F11A16F040A22F232F342F44274B\r
+:101D6000585FF3CF469537952795A795F040539543\r
+:101D7000C9F77EF41F16BA0B620B730B840BBAF013\r
+:101D80009150A1F0FF0FBB1F661F771F881FC2F77E\r
+:101D90000EC0BA0F621F731F841F48F48795779592\r
+:101DA0006795B795F7959E3F08F0B0CF9395880F4C\r
+:101DB00008F09927EE0F9795879508950E94CD0F0B\r
+:101DC00008F481E008950E940A10E3950C944410F1\r
+:101DD0000E94FC0E0C9433100E94011058F00E94D7\r
+:101DE000FA0F40F029F45F3F29F00C94F10F5111E4\r
+:101DF0000C947B100C94F70F0E94581068F39923F1\r
+:101E0000B1F3552391F3951B550BBB27AA276217F6\r
+:101E10007307840738F09F5F5F4F220F331F441F03\r
+:101E2000AA1FA9F335D00E2E3AF0E0E832D0915037\r
+:101E30005040E695001CCAF72BD0FE2F29D0660F24\r
+:101E4000771F881FBB1F261737074807AB07B0E867\r
+:101E500009F0BB0B802DBF01FF2793585F4F3AF06D\r
+:101E60009E3F510578F00C94F10F0C947B105F3F6E\r
+:101E7000E4F3983ED4F3869577956795B795F795F3\r
+:101E80009F5FC9F7880F911D9695879597F90895DB\r
+:101E9000E1E0660F771F881FBB1F62177307840777\r
+:101EA000BA0720F0621B730B840BBA0BEE1F88F786\r
+:101EB000E09508950E94610F6894B1110C947B1015\r
+:101EC00008950E94601088F09F5798F0B92F9927C5\r
+:101ED000B751B0F0E1F0660F771F881F991F1AF015\r
+:101EE000BA95C9F714C0B13091F00E947A10B1E0F0\r
+:101EF00008950C947A10672F782F8827B85F39F0EF\r
+:101F0000B93FCCF3869577956795B395D9F73EF4AD\r
+:101F100090958095709561957F4F8F4F9F4F089555\r
+:101F2000E89409C097FB3EF4909580957095619573\r
+:101F30007F4F8F4F9F4F9923A9F0F92F96E9BB2729\r
+:101F40009395F695879577956795B795F111F8CFA5\r
+:101F5000FAF4BB0F11F460FF1BC06F5F7F4F8F4F10\r
+:101F60009F4F16C0882311F096E911C0772321F006\r
+:101F70009EE8872F762F05C0662371F096E8862F9E\r
+:101F800070E060E02AF09A95660F771F881FDAF7F5\r
+:101F9000880F9695879597F90895990F0008550F22\r
+:101FA000AA0BE0E8FEEF16161706E807F907C0F0DF\r
+:101FB00012161306E407F50798F0621B730B840BE7\r
+:101FC000950B39F40A2661F0232B242B252B21F4C1\r
+:101FD00008950A2609F4A140A6958FEF811D811D61\r
+:101FE000089597F99F6780E870E060E008959FEF9B\r
+:101FF00080EC089500240A941616170618060906A0\r
+:10200000089500240A94121613061406050608956E\r
+:102010000C94F70F0E946010D8F3E894E0E0BB271F\r
+:102020009F57F0F02AED3FE049EC06C0EE0FBB0FE2\r
+:10203000661F771F881F28F0B23A6207730784076C\r
+:1020400028F0B25A620B730B840BE3959A9572F7E2\r
+:10205000803830F49A95BB0F661F771F881FD2F720\r
+:1020600090480C94FD10092E0394000C11F4882361\r
+:1020700052F0BB0F40F4BF2B11F460FF04C06F5F40\r
+:102080007F4F8F4F9F4F0895EF93E0FF07C0A2EA65\r
+:102090002AED3FE049EC5FEB0E94890E0E9433106D\r
+:1020A0000F90039401FC9058E4E5F0E00C940911C2\r
+:1020B00057FD9058440F551F59F05F3F71F04795F9\r
+:1020C000880F97FB991F61F09F3F79F087950895DE\r
+:1020D000121613061406551FF2CF4695F1DF08C0FD\r
+:1020E000161617061806991FF1CF8695710561051A\r
+:1020F00008940895E894BB2766277727CB0197F9C2\r
+:1021000008950E94CD0F08F48FEF08950E94991052\r
+:102110000C9433100E94FA0F38F00E94011020F046\r
+:10212000952311F00C94F10F0C94F70F11240C94DB\r
+:102130007B100E94581070F3959FC1F3950F50E0EB\r
+:10214000551F629FF001729FBB27F00DB11D639F69\r
+:10215000AA27F00DB11DAA1F649F6627B00DA11D0F\r
+:10216000661F829F2227B00DA11D621F739FB00DB5\r
+:10217000A11D621F839FA00D611D221F749F332725\r
+:10218000A00D611D231F849F600D211D822F762FBE\r
+:102190006A2F11249F5750409AF0F1F088234AF09B\r
+:1021A000EE0FFF1FBB1F661F771F881F9150504007\r
+:1021B000A9F79E3F510580F00C94F10F0C947B1011\r
+:1021C0005F3FE4F3983ED4F3869577956795B7958E\r
+:1021D000F795E7959F5FC1F7FE2B880F911D9695A8\r
+:1021E000879597F908959F930E940A100F9007FC16\r
+:1021F000EE5F0C9444109F3F31F0915020F487958E\r
+:1022000077956795B795880F911D9695879597F95E\r
+:1022100008959F938F937F936F93FF93EF939B0109\r
+:10222000AC010E948610EF91FF910E941D112F9129\r
+:102230003F914F915F910C948610DF93CF931F9342\r
+:102240000F93FF92EF92DF927B018C01689406C09E\r
+:10225000DA2EEF010E949910FE01E894A5912591D4\r
+:10226000359145915591A6F3EF010E94890EFE012B\r
+:102270009701A801DA9469F7DF90EF90FF900F9132\r
+:102280001F91CF91DF910895052E97FB1EF40094C6\r
+:102290000E945B1157FD07D00E949A1107FC03D0E2\r
+:1022A0004EF40C945B1150954095309521953F4F1D\r
+:1022B0004F4F5F4F089590958095709561957F4F32\r
+:1022C0008F4F9F4F08952F923F924F925F926F9240\r
+:1022D0007F928F929F92AF92BF92CF92DF92EF92B6\r
+:1022E000FF920F931F93CF93DF93CDB7DEB7CA1B37\r
+:1022F000DB0B0FB6F894DEBF0FBECDBF09942A8862\r
+:10230000398848885F846E847D848C849B84AA8409\r
+:10231000B984C884DF80EE80FD800C811B81AA8196\r
+:10232000B981CE0FD11D0FB6F894DEBF0FBECDBF61\r
+:10233000ED010895A1E21A2EAA1BBB1BFD010DC0E1\r
+:10234000AA1FBB1FEE1FFF1FA217B307E407F50765\r
+:1023500020F0A21BB30BE40BF50B661F771F881F41\r
+:10236000991F1A9469F760957095809590959B01D7\r
+:10237000AC01BD01CF010895FC010590061621F0C6\r
+:102380000020D9F7C00108953197CF0108950F9328\r
+:102390001F93CF93DF93009731F46115710519F402\r
+:1023A00080E090E03AC08B01EC016EE070E081E0EB\r
+:1023B00090E00E94D812FC01892B91F380E883837E\r
+:1023C0000115110571F01387028781E883838091DD\r
+:1023D0005E0190915F01892B21F4F0935F01E093FE\r
+:1023E0005E012097C9F0D187C08783818260838393\r
+:1023F0008091600190916101892B71F4F0936101EA\r
+:10240000E09360018091620190916301892B21F436\r
+:10241000F0936301E0936201CF01DF91CF911F91AF\r
+:102420000F9108950F931F93CF93DF93FB012381A7\r
+:1024300021FD03C08FEF9FEF28C022FF16C0468109\r
+:102440005781248135814217530744F4A081B1811B\r
+:102450009D012F5F3F4F318320838C9326813781ED\r
+:102460002F5F3F4F3783268310C0EB01092F182FB2\r
+:102470000084F185E02D0995892BE1F68E819F81FD\r
+:1024800001969F838E83812F902FDF91CF911F9193\r
+:102490000F9108950F931F93CF93DF93E091600105\r
+:1024A000F0916101238121FF1BC08C01D0E0C0E0CD\r
+:1024B000F80181918F016091600170916101DB01F0\r
+:1024C0001896ED91FC911997882331F00995892B85\r
+:1024D00079F3DFEFCFEFECCF8AE00995892B19F084\r
+:1024E0008FEF9FEF02C08D2F9C2FDF91CF911F9117\r
+:1024F0000F910895FA01AA27283051F1203181F176\r
+:10250000E8946F936E7F6E5F7F4F8F4F9F4FAF4FFB\r
+:10251000B1E03ED0B4E03CD0670F781F891F9A1F0E\r
+:10252000A11D680F791F8A1F911DA11D6A0F711DC2\r
+:10253000811D911DA11D20D009F468943F912AE0CE\r
+:10254000269F11243019305D3193DEF6CF010895B6\r
+:10255000462F4770405D4193B3E00FD0C9F7F6CFE7\r
+:10256000462F4F70405D4A3318F0495D31FD4052AF\r
+:10257000419302D0A9F7EACFB4E0A6959795879545\r
+:1025800077956795BA95C9F7009761057105089524\r
+:102590009B01AC010A2E06945795479537952795D0\r
+:1025A000BA95C9F7620F731F841F951FA01D089568\r
+:1025B0000F931F93CF93DF93869F8001879F100D0A\r
+:1025C000969F100D1124C8010E94F412EC0100978F\r
+:1025D00029F0A80160E070E00E942114CE01DF9193\r
+:1025E000CF911F910F910895CF93DF938230910582\r
+:1025F00010F482E090E0E0916601F091670120E044\r
+:1026000030E0C0E0D0E0309711F1408151814817AF\r
+:102610005907C0F04817590761F4828193812097C8\r
+:1026200019F09B838A832BC0909367018093660186\r
+:1026300026C02115310519F04217530718F49A01E5\r
+:10264000BE01DF01EF010280F381E02DDCCF211517\r
+:10265000310509F1281B390B2430310590F412960D\r
+:102660008D919C9113976115710521F0FB01938366\r
+:10267000828304C09093670180936601FD013296C6\r
+:1026800044C0FD01E20FF31F819391932250310961\r
+:102690002D933C933AC02091640130916501232B26\r
+:1026A00041F420916A0030916B00309365012093D2\r
+:1026B000640120916800309169002115310541F4D1\r
+:1026C0002DB73EB740916C0050916D00241B350B27\r
+:1026D000E0916401F0916501E217F307A0F42E1B6D\r
+:1026E0003F0B2817390778F0AC014E5F5F4F241776\r
+:1026F000350748F04E0F5F1F50936501409364010A\r
+:102700008193919302C0E0E0F0E0CF01DF91CF919F\r
+:1027100008950F931F93CF93DF93009709F48CC014\r
+:10272000FC013297138212820091660110916701B9\r
+:102730000115110581F420813181820F931F2091B1\r
+:102740006401309165012817390779F5F093650127\r
+:10275000E093640171C0D80140E050E0AE17BF07BC\r
+:1027600050F412962D913C911397AD01211531052E\r
+:1027700009F1D901F3CF9D01DA013383228360810E\r
+:102780007181860F971F8217930769F4EC012881E6\r
+:102790003981260F371F2E5F3F4F318320838A8177\r
+:1027A0009B8193838283452B29F4F0936701E09307\r
+:1027B000660142C01396FC93EE931297ED01499186\r
+:1027C00059919E01240F351FE217F30771F48081A0\r
+:1027D0009181840F951F029611969C938E9382810E\r
+:1027E000938113969C938E931297E0E0F0E0D801CA\r
+:1027F00012968D919C911397009719F0F8018C0116\r
+:10280000F6CF8D919C9198012E5F3F4F820F931FC1\r
+:1028100020916401309165012817390769F43097D8\r
+:1028200029F4109267011092660102C0138212828D\r
+:102830001093650100936401DF91CF911F910F9177\r
+:102840000895DC0101C06D9341505040E0F70895B8\r
+:04285000F894FFCF2A\r
+:1028540000800080008000800000680120000D0AD4\r
+:0828640053746172740D000051\r
 :00000001FF\r
diff --git a/data/motor_ctrl_pid_values.ods b/data/motor_ctrl_pid_values.ods
new file mode 100644 (file)
index 0000000..a02ecc9
Binary files /dev/null and b/data/motor_ctrl_pid_values.ods differ
diff --git a/scripts/get_velocity.py b/scripts/get_velocity.py
new file mode 100755 (executable)
index 0000000..4f8a77e
--- /dev/null
@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+# -*- coding: iso-8859-15 -*-
+#
+# rostopic echo /odom/twist/twist/linear/x > /tmp/velocity.txt
+
+import sys
+import numpy as np
+
+f = open(sys.argv[1])
+l = []
+for line in f:
+       if "---" in line:
+               continue
+       l.append(float(line))
+
+print "avg=%.2f, var=%f" % (sum(l)/len(l), np.var(l))