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