From 1755ec98811a239b8dd32d70836474ba48cf1100 Mon Sep 17 00:00:00 2001 From: hayaalsh Date: Wed, 22 Aug 2018 00:13:05 +0300 Subject: [PATCH 1/2] path correction, example file corrected the path in the example file that uses the files in config --- apps/__init__.pyc | Bin 0 -> 103 bytes apps/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 141 bytes .../fixedwing_uav_autopilot.cpython-36.pyc | Bin 0 -> 10130 bytes apps/fixedwing_uav_autopilot.pyc | Bin 0 -> 11541 bytes apps/fixedwing_uav_trim.pyc | Bin 0 -> 3598 bytes controllers/__init__.pyc | Bin 0 -> 110 bytes controllers/pid.pyc | Bin 0 -> 1341 bytes examples/__init__.pyc | Bin 0 -> 107 bytes examples/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 145 bytes .../trim_and_autopilot.cpython-36.pyc | Bin 0 -> 4592 bytes examples/trim_and_autopilot.py | 2 +- examples/trim_and_autopilot.pyc | Bin 0 -> 5526 bytes uav/__init__.pyc | Bin 0 -> 102 bytes uav/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 140 bytes uav/__pycache__/fixed_wing.cpython-36.pyc | Bin 0 -> 2611 bytes uav/autopilot.pyc | Bin 0 -> 3647 bytes uav/dynamics.pyc | Bin 0 -> 22973 bytes uav/fixed_wing.pyc | Bin 0 -> 2932 bytes viewer/__init__.pyc | Bin 0 -> 105 bytes viewer/viewer.pyc | Bin 0 -> 2415 bytes 20 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 apps/__init__.pyc create mode 100644 apps/__pycache__/__init__.cpython-36.pyc create mode 100644 apps/__pycache__/fixedwing_uav_autopilot.cpython-36.pyc create mode 100644 apps/fixedwing_uav_autopilot.pyc create mode 100644 apps/fixedwing_uav_trim.pyc create mode 100644 controllers/__init__.pyc create mode 100644 controllers/pid.pyc create mode 100644 examples/__init__.pyc create mode 100644 examples/__pycache__/__init__.cpython-36.pyc create mode 100644 examples/__pycache__/trim_and_autopilot.cpython-36.pyc create mode 100644 examples/trim_and_autopilot.pyc create mode 100644 uav/__init__.pyc create mode 100644 uav/__pycache__/__init__.cpython-36.pyc create mode 100644 uav/__pycache__/fixed_wing.cpython-36.pyc create mode 100644 uav/autopilot.pyc create mode 100644 uav/dynamics.pyc create mode 100644 uav/fixed_wing.pyc create mode 100644 viewer/__init__.pyc create mode 100644 viewer/viewer.pyc diff --git a/apps/__init__.pyc b/apps/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4fd251c5c76ad49b8b0c45cee0aaba54e85c2a9d GIT binary patch literal 103 zcmZSn%*%B&uO>Q~0SXv_v;zfk>R};+u1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnFDw1f;?$yI{luK& zjKrdhM17b1(^b literal 0 HcmV?d00001 diff --git a/apps/__pycache__/fixedwing_uav_autopilot.cpython-36.pyc b/apps/__pycache__/fixedwing_uav_autopilot.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..14da55e2e481aa391958d1ea84291f4fef790615 GIT binary patch literal 10130 zcmcgyTZ|;vS+1(CuCA`W&P>m3cfC7aJC+;F-fUuLWqH@^1}9FkBwoCMN}ycZr>3W8 z`{vU%dzsWglCiNMG4Q}kct8m8!VCBTB#@Bu1dj-b2c+V~zyn$Vl7%7>A&~gKQKk1Ix8kyx1=dY}eMcH#A|1(tDaH1@>XVEhBA3^vdOnm$oilxcF(ux$5tQJ0p2{YqH}@KiqL1 zqEp(9wjNi1x_3ViU+oRMZ@+#E>GJD);b`3Jk3uA@TfN|3AUjmf{t9ViavhOCb9Iaj zV{!|^a7|Hgi^6m*JS9fEp|>TsB5b$%fwrxSvT)wB-P#A5skwEGq7s+UcG6Tg zsl9bIjhI>F*(_pbk#kw3nMF=#ksn^^m}xf|mhrILlT(nPwyWbY#3p1x6h1T#^+@x~ zNZUo%h1o42W{RS~qP=fy8?S0eTf%}YwXiG*?Ut5ml@_#49I0h5Xq`;8PR-S2ENEpd zJ~gLRp3^Ep#mHloV36eShBxu{WnMC0^A9krQJ! zp{4EAW_r??*E>R^`H03AYMZTNX*)o(j0%VwmozlRC1~)W=sIGWF1) zppiW!;61b`N)$E)E$^X2QK6_()F|o{4T$c4eei?7``d5*&6QY}vEGgK2W>;L7Rg$& z#=if*jI=jmV>ouLfgj4={kXUv$k8OW#Axq!KXC24fed?{U=o+M_a=eYznDcX#g@vs zmxeo8!HcnV518qpK!yF-3H@IGkvPhk@9ntea5Og)}IVK_PeMlbx_-tF^WegLq&*&Ceq$K%QQZKA*G^`3v%14|^>e{TFh zw$b*d@JwEU(DV)cg#KLmJEfo2&*FDle_n-@TY42b)M(;YhxYz*4(sRgAv8Fgp+5*b zFLpd{FcN!x#;cz9?w;RIO5{^$QJ$uFnqrIM48>WBXDFVdVE^Q^6zpwWOQ)g}^!uJC z&$ED{t;=(aU!dTep1?C%gRph;h@aBwpg8}dL0rW%`7MYk>j~pM4a`>%CPI>ig-`(i zLQ6571}20VBW=@^5teDj2pyU-!U~NTVKu0URk8M-cBs2`#Mi}!iZ>A76em=?iTFuz zO2wDNQ{pt*Mh(o99g4;gI>qkY;rakMc`MhLHwPFrorMAT(5(#HeqA zAPx&UO96LbF)|f+SP^^{Q6%6U>W3gp4L5C!?i?z5k&qAwx>kX5t0YamvDO9B5coi&0mbFgnR;(+s!rZ%(#mc!|Y^g}%b z=HiX%q$wCy@YpWNSI|;y$q{EkzRZLz9>9uvok^_UPsVTUjRlGUteg|KIt=c48RRX@ zMO;aAJx()6F;R|`{;IzJ?6Gq(^UB;-BL%4GpoON>p|%>QBEs-Lw7!nX@%R+f#xZYn zFMs#KKm7WG&%W0E@L&JrcmMq_KYFcQh)cnE0+)2?7ViMH{J1>u?|VHAc+xiIYp5LH ziR~aigQ&a=kuHC1-16gM*B=ag*OI>I?M);*v@mFS9eH2IGvOj?`uCxprFht>?5E%!iu$9LE4?b}S~QziO1DR8Q#$~E@7gfD z;-PV1MHY;!d_%3h+7I2|{vQAS?207GrUnKN`ON$O{FOibooB8}MX@Nt-^SH;SrYhS ztKS>?eK5{&BnN8#PEg-_p2{i63%z51E2BE6Q+a5_TZTTiDnGhJrH$>(Z zepUSTf8y9BIjWv~i8fGGzC?cwTRm=xxEP`U%ri0RJOU)CB2vlGfMr&?AW0dQhc0xI zvXSD#C8;t}c4S33GDNm;Ry0_3IVwfvliGn3*($6k?FuxjQB_nC))3YZ))CebHV`%t zHX|phqozvKXu-`qSV9`kFw#wxUKSfsk*+8nx}<64oz%6kB+=0RxtjS(y~1V8WlWMYGv;$?X-qN{eZ4=^42Ow zuqK>n4H~O>RyMS#rMAEA)pD)1wC*}`8i(4!I>M%693myz#)#mss^i#Fw4Nj5=8QSS z))>dz0g&%ztly3ca%U79Z^Bo4b3ZP;d4FG7iCgazD}C(AQLw!|iOp+$ZyY<2BIt*{ z=OaGM<0j(c)UrOl;xx2}W6BKWrx|+{0^VM)J9JyhfEH|0zDcd5jmf(*j0^tl35-<8ukp=g zT19HX@E&2b6St9BZ#K;3$sK?*XZi#Ou>{HPXT#pake zVZQ+73E7cQQlI%XbsIlNNyg}|Zh`L4>dX4GMjhJAx@~Mcj{LJWa+ujfGdav`17@&! zwF45ruD}G?k9gsr7@E695IYQP*Pc2A3P#E~{18Tx6ye8KDMC*wm7i~uxndaV*H)(H>|n5V5EhcH7;Jr3cHRalkXEBbtB;01Cn6pe0tK7Bp7yEWz-Xp}88Z@Ld&OiwG1IuNvWm zx?A&<`NQlj@ZEZ(K;RJ9WISCTY=leUat+&~101U2(jA;p!jYUM*iWv+ zw%?PJaS#aC4tL;vg`i1p&(y%RtIA1huf(NWzDK7ac2tW=yqZ{GFqaBd>Iq=MeJ*P} zA?ka*aL3Dfkr_SuqaY%F<_P6+FYN5hY7$4>r!suV>moB}ugiBhsRdvhL~q#MOxWMV z_&RccGC8CeQH&|3=%JRQdX4LmVy+CRu}#4llRFeWid~935Uz;>=|v?kxuwLfxU1&a zHSdhQyO2G|S~8W13~|;{5FReV!Y1+X$Z;K@t@Ma%!R6;K!HX$EBpu@2Mfh$lGgQ?cTnXie7husdMt6_uin8xBwg&;=8zjId_f-;K0yvUOfU_h9 z`c5ouC$?c^Dl>MzkVHJuNhnyyHCPHEi*~j~J4?zGc%)PFJv2Arjg2B>kSu?Rft>~U znz%`7!L&9Y>-6@|Kh~@stv|P^lV~EhsXsrGh(qk5T^_5f-O>yNtAkcf!K7$grAWaf zeSH!u`iZ`ob&Qk zv3x)(F4N;zA-sNAc460vR+VLwmg&d0l2BRphSG$mFW|?Eb@XI2TEeMh6MFFbLHrv6 zab?|#?Ab%~bT*gnOFcd6o`_DsqE8%Y(Q;vH)2ROkLU}+H?)iCBm)~GkMA4@p7tEV) zev)oC7D?^|l^^TBE3=mGQZM(`-4k=hs}8>z#kNl-&UeT+7ASSfrVFE|VLyKK;Luy% zMfuBARCDl6#=ZsN+9|JIlHX?DA%#ovKE?bsS-fc5sR#5&P)!}}oId9)oMcIRe?`&e zti7Mo*M1~xPg~5boeWyUqb^{6|No0YY2!G{D;oz-l1Z`4XIYfI$8&cj<=N^S&yq)} zL7uHDo}Dk}N4u;%IUfTrU>k~SQ;w}IoX)|%w0~%&r*mKk-&lOJ8mTwead(@tG2eu< ze$WtA#l-5K0rpx;nK509WpV-%) z+^TcCP5tVRlZ&nyyHzGj_chtKJp9Tf3VvZqobV?(Y9|c5nlQ_;M{UVNrTj$-k3zNf z4q}UEYg{iNH)ZC;m>zGyYM{A=!ly|1_@ewK>Pc+1lGv&$NCtZwWwHM5qMep`JXIt4 zD=17}fOwR4ZS@IfOPzY3hjFS?FO2b&zJK;u^35yGEwF&P`6vtI2OI1I4YxN2aNH2O zT6@IuwKtNr$5r$@P)=s4koYf7?k#sDN47YuDqGKV{s{^bekRlusO*30v3<_o$}j5y z6;n5X-+`vrf>W0O1XQ>&bJ=b#dUBt^i}PZ%b7e8?%Smw5((r`(!ylpj zm3@Z=um+2c6}m-RxwW6GB>KR8PPZ|OziMwqsM7?Bfq$~ei`@W{+N@I%r! z#wblZPTWOf^~o2-lem3uVb#^U_ih4&o9;LE1()$nC-uCCz=c@4$i)FuB#+#+`|OCm3ySyVj06aV3W*b@TZi)szqPYm6;8LimE+@%e@MKT(+DEAJE?ASvCQ z(?HUeO7o*Q^Bv^y$m2ZjUNNipMtenGWW$#zUZiMKyiReQVmkhOoXN1&bZ{18o3~l` z$A$+puB5t{p#jL>pqP$J#V#=KCn0_c&xB}>v6OAoF4&H}WuLOw>@)VJU96hPPwC>{ zw@RKTMjd>_FAnzx_|E~NmRrX^6r5B4Uf}Wn3)JUbx5mu;%dq;;>(-Jly62KW(zetG eUsd~2U5xEllYbj{jW#(U0-6op$KYo)pZ{-YFT{la literal 0 HcmV?d00001 diff --git a/apps/fixedwing_uav_autopilot.pyc b/apps/fixedwing_uav_autopilot.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d4d9ba25a2757729de84b035975636eb97b5bdbc GIT binary patch literal 11541 zcmc&)U5q4E6}~my^V8k)Ki%^K2!s4Jg6qtH0vluo20<6tKy6%LK+B@Lrl)rMkFJ{C znRO;Y79uJT6MsQtcoKau`k)Cu@uZKw_~3&N5?_2!6O1I1sL}5`r>eT9ZFYAs(dntv z=iWN^*1hN6^WE>>>darq^1o>AJy9{yUk2Z6xPonnsxcdomZ=Vyx@9&7M9-Ld#x$~K zBWo<)%bNP2X$+Z-Ax#gO`mkw?n2iynhm1F3Heoevo-^jWF^_NLOm)O~S>p|vP1Kl6 zZshr#6XiS~e;Y)8z2mu|S6ys17aziP%xx|%-@dqX+tHQVk1nq)t}HEoET3OZ5+M_UXG%YHkj>cW;NSwqI|Bnl*&1lfHM> z>x8@uQ%xm~VRiT53Lb*+;287?Qe3i;VawreJ)pJb(cQFbMh_a&H3d}H z-*~LQv9_|e=JA8ZY(js-iGzl0LQecVYUbmXjP*2ovR|3^GM?&htgY#-dAgr5+a#^& zUuNclWqKxKv7a#qkPjI*h3*_I9ki^@ib>WKVHwSJl*%BDc?9bZQH)beK-B*E#dm)Dn`eK$8nWJw$ePIAveccltUM2cka^8^ z$mcZNu;cGYgU@-LRv?+x*7j3%FXYqD0P_8c7ldrj=62vY_2rblBKDGhwySQXEN+qP zvshppwGg!)vO}Tk*ZU>akawM}kbY^l0&NbTRCjBh=mvPUC2(E(Ww%fr+Ho0O-v$x$d4%Sy) zDUY;w?JHq(9j@S32xDDqU1!}AeXh4|v_6c_jn=L5P5B{f(z@Kb1D|<(O4bclnFA}1 zcbul%@Ek`R#1& zC;vLGUY2EQUpf z0pP6!UHq%}GKRSrqO2}!DFHQ^Uq%U+b@4|mrU1&yW{ww*9io0?Ijcy0Ou^SZ$iqx8KOIhWd59VrMjBi zz#7G8cHFAJ9oXFa9L_!V?I`jvu7H!qSQUP;{dAFdh)~EW;oPCMpeZ=R0*~jDo zTO&IHV*(_V=*vOlV9Llen(4_OPR+$(v#>90;}oiZ=fNRRBT5dzu?*VdGOc8))n0vt ze?MOpeh>vX_BmHQ|Hnt(_}(>Z!VaSB`86qRkFXV>6Vp6zV5I!@H=6UYy^@EPkWS(dnZPFmACuw0Uof&D0Y zbdiD8(Zjr703a-IjAb|_V-Oii{{$lzFxv6>MHw7W3}3g%2r_iUBa0j|FxW7{j&Kia zSKiFb?_(nZtDGtA=M6GNE5!8_P-N8XVI>=dHYVB_v~khKp@Gce?gTUtTGTL(s!@Ex z6zBFqZjpoS2XiKw16B;PLF5eJie~QKG-mG<(wN2j*l3`bTCjm#D_HCorD0fzr_BPp z3T?(Ll;~J=qR6F|TL;W(tXYvk5&kTxIkNLI3I&nqnG}f(QKuA+Dn(uUrF12;=;SQD zwl|BXlyJ?MdDI|bhpOQoZ4#e2mpl=^LiU6?Z_GZZJao7qy#NfD1;pN-kb2p^mtwPC=9w#ISFmb_7C72Y#(7p~*^n5yW1l z?OI~{bSIQ2xlaX(DpmV2-sA%r+7b4Ej{{`_=~aw4u}^3U_TOVF8yRIB_rXA5$o>?y zV-ycia2d28qBssAdlFeqoTZe0OG>|08nAwFuN9QS@fj0IZ5p2sf=AtC%~?kV zrmQRQJvy+cz{we(0OuRvSPU9OkFJOaONB;R0eLH9u#{m+VC^GaLe4NDpv$)+U<8eg z!Bv4V${@G``A`lS1Xf@NG$Ja39U7q&5C)AH3fO>_ho%va1gj-hYOF^YgiPJ*M;Sy; z#6BKH^dktPdejRXoCAsy|K^H-&Js-sq=ZhIB1_OTl`VS&pd*nIw~4G12I$FNfTd5O zK~uPZX#h=tByfs&Rot5bW=*32pbc0%Ze}Ef!v@8=f^pCiJ%<@HP7GcItRbNYfUp?F zfN0!Z%tX_B8otDn^6RL9BG~7T>2~K0P8n!xV*7EkMROB?LWC{?X4j*VxJ8O% zXZ>)?iQ5$e4tSBET6j%=`?eoew$jFHunRu`5hGbrBRNd`MEkQeqssx*`t3K%j6vNI z(52{o#XiHVvlKfNyA*d&2-?Yj(jDs@Q8a_=i{0S;CPj;)P4P5Eha!LwD97=|a;&U~ zzm>$DQH){}PPd&iVshGt!p)%iU1cbRBK?p6#;$S+=8!Ua@g_lqsZ39GR3*0 zK(iqnoy=O})+j#HR#DN6%SM7`=YVGaI~o{KKshHBh?CP$!M8zE0JH$KfFV3@B^SfN zJ$PObfi7ea+k;+PX)C&}l!>DEJH zpC{WGiQj`DB&Tqf03r6{Y%Dh%agF`?&|R=lQp5m?VL=|O)JyhM!~y_GD!9MIazbUk zOzjy61?Pr>v;AV6gExEZ|#U^H4<(ZX-lHWIXef zknyag1?nOPvw9fTMACFZ|Ofu+OPU!@>-Pq<2Q z5+jGjy$dyg=E4j_;KTkr?Yi40_Ur&c$jL{{8strrZhOAKay{gr%L{tk@C=PF$O@DP zoOG7$uhW+Pu)jg^O$b4ch#Rcf-)1(0THIlO2ikv+6%jT3F)E9;GRd-k05Q0YA$}Z{ zO-&j<7OjOCJ-GNMhr@sWzc2pWz5qia8h{W|8gP&TaGmB+3~(S~38QJ2Kn_3?vIO9S zvV;Q`d`})*Xy9Ox2kPrXu%D#hUSG~obORx;siHI5Xh&p!4kle*A@O-(QejJ{lekZlh~*Rr6i}~%fUpSd zJ{DyoH16p`Vn7ZBd4M5Z{}mHAL;NR2$bBQk0EGx>N zP=UTH8K|&v2O20`RT@Z7i+2Sxpy5ch1pmgZBm!$I#iJug>Zw?#61q)!@$uXzb7-owSQ0@8CM*(@`QC7*6%~-FKb?yo)P- zI;Ru6o6MmX(XXC4bl^p(zHowHPG?Q$n7B#S6O3KNhUIMqLj{Kj^rE6L7;}N_82?#w z8pp~%kZHV2VH3D)4Vn_p_ll|NKv{ctB2y@?N)|Z*|MgvFw8uTN%}bx{-!GmLshTYp@gtd1kYiz>1XV_nhXP z>8erH3u1neW{pU_@LrX#Oo?@=sMQsP)YAVcM6%LEO7b=zb7UO%d*geFdCL^{Q=q%X z{yxPK2-!!seftN@c#Yx(itj?`4+1#dZ6S~MQ2QE$98lxr%RTM2Ha8_kw`3=)%f@}Q zdzFGz&wd@^aPcAwisMvVyfAS7f#M0&k6IIe@+mpGxgOdTNRQ!rQNDR^QZ!x8uHoaa zrQmN`>{}^rr|9}2>8$o$+(K7K6L@Tix175v+RRASgS8()>vl`DfWEreZ+@!3DwhReRRn#e~K7l&fp1s;j=PuI~J=vs2%; zAK$Ob;FHJyEj;N4NQj@2M5JaiJ|}B=sTH!}gw!UL&q-30R!M3lF*M6dQkK?~)TS^l zNHir4_?VCH`>XCwy)wz-vWuUENVGUQp-!2(?pQY1mk5Q1*sL4FEQ3ynL#3h zuqX_;#5ij+;@z!s!X_SkDz^qqA!ANwOetfQGiE+xPGrm;X|i)@T9jfvLb6n zDdIiKpeV`9wlUjA9*g(|(lx}6)hI|auS4*V=+b?XlSWRiQwga}>g%FZ23$!hLlY!D z#-#K#6JYaH6KA|@79=vpWEj{O6JWpBq%6~WGsfDCY7qhFbqeW@LWBAmRU|aia5r9g zcD%BSazNlE+8j4Ak)JdT->c09#)ltRG>Miby(#wMjZj(oIHQTz2XQJT;?7ikJ8L# zJanfr9y-c5b#@;sfx>};GXxLAqAEMNGX$?40L}-7SPm2t$^(l&M`6=#NFa|_pg?tD zM2;bx0EtC9A1E(qdUHzWl^#@jNGZ%G$oLhpi((avZS>wF@>u6ua{$8U5eb*F-!rt@ zE@%h7TRnzWvKr5W#_Z~L0wlCs-DuFSAcsT-qn~cZ?3dZ-n>dG2Tp*!g%x)VONwhn& zSH)8#(R#koPL{?pbf~Bn8wVbCF*j~J; z0e=|vI;jf7PX9p?SZ^QX$UYp=SW)o?P7~j0D4SR& zWP>;vH*|`8>p!%_rQJzgIGia7nvqIrs^^hv>WIo5X+n*FffLfS-;H`6)7GSXKW@j? z_p7Q-0qB_bDv){p!egJ}#7%PG8$t{`FEeVRVIWNZTPanrM zwkUpXyJ9or`hy?37LIQya&zm|i43kAq7pq--PEgY%W(>lu>|XQ)fe~#o(cZTBt<8 literal 0 HcmV?d00001 diff --git a/controllers/__init__.pyc b/controllers/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1d0b3fdb8da82df97150f96a96d457a79271ef26 GIT binary patch literal 110 zcmZSn%*%B&uO>Q~0SXv_v;zE0vA0oA< z@@l*X@4y4VH{+B_6$l)8c7AsLKga#C>U~R347) zFAF<(%g-REicX0%7)Kb0t}qZA!a!^a1Fw;OjV3s+5oo{c9@bV1WI4q|< z$?L<^M{Id6Q!_JG6rW1z(4u<}29w%kjP|p_UV|8$(I_dB)EZGOLzNUoR_J&*;J$1F zq)euxfX5PWzJLc7us+~SK?`JnwMH5F%Q(C{+SG~F%g7dRue_tdY}`BdfiQjNA6Ow%Y&S_)PVq`-0JdN z8X?gt%AP0KBs@95lB6M$Yp7%qw0G7d zOk&dJ^`9%@J)xb2hA*zr*kNn;OrU{aXyOEYJyI}p`+Q5#0^1q`sELZC{S?L)z{2af z0L%B+1`-)w-e46Z-~rdm<5koPK@>9U#&aW)mW&i|K3YJOQ)`HCYf@~x;}y?f$7 literal 0 HcmV?d00001 diff --git a/examples/__init__.pyc b/examples/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..407dfedd264b388d5abbf1c015254819961ff1a3 GIT binary patch literal 107 zcmZSn%*%B&uO>Q~0SXv_v;zfk>R};+u1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnFFXCv;?$yI{luK& zjKrdhM17b1d<29i}aw$>XkNC;}08ga~d zY?EV;CL#2cYRgW z+AfvszjsEz{L`AEe61{8Iq*C9MZX5&ilcDG)sVGSM`gt4!dzQ(G|6kB?ii41q1m#W zyyR@B@Ic`@H(n^*7^_Z^o7{S#I3>T#^G{Xb_@%Le-r8fOZVw;Z9}C}$eO~K!YMsPP+$hLR9etg&!w`$R$C%pL3w)YN$sD{5zH?H+NL0pUd zC=NQ!OSV11#FaWr&fe|y?gs;(e-8O)cc0wt$K75Kc4NF-edFDp2->?1>Nvf0Fgy4~ zAA$Ia!>|@AU*kEhy;bYA8aNKIblr|{JlU%_{-C&nJ8 z=Zgu0u_k`Ff}Mt$atb{){65An8i9=1NO6^s3d%+~P<5n%=0-ZGHZnl<*g(rTuZ&68 zjICCFq_j-V4pi_qS6@-@!c3k!Aumql2W&yR#1+g|+np3KhdOg~9v}7m3AseQoT!7V zi5g!`3XN{(AZWThY(%1ZgGAqRqoAFrJWg^!Cr->xuZw4tsGXjp4}H;%;3nPve&{D` zkW{^}cj&qMe(bqTuif?%7T3*0i~R6FSQty>iP%I6L})gm1oBr!oW|on54S#xd=YJV zA^F3hw{@@E=(l|gx%D83ANKdRK0U&QKMvYk{=jSZLO09KM zKEt-h3bqGZ)xx&4u%#_+tQ{L8qot1+r%gtiDSu>xhuBzbsL3AP3TyVA#IQYEc1JGNlu zR3^8i6>Fhyp8969us4+B{D>Scv$~<2r8!ZnFwf#Tap?_~~f%D!MG!MxLNo=GsuhEh;?iB>N@-CF16F;?k|8=oV1!I>+& z&FMDPnRFsS7!;0z1PO702%$l|M}!662-JfYJ-5YIEo2Pf)hgRI4ApAsMk^pd5-iWWj41m zuE6sdXK^R+q1>QIf0x@Tn!6pPtQbeTk(rODvszi=~Zs zS~|DH()qVoy6{d*?=4tDP5QnT|h5 zLrxk)Y5+s<6Tl;3!qNRN`d&D+e(XhY?Mk~o%EKz zELCK5N+tDb8u(>l<(89cZ(E^LFn!Kp<^7SPpv5e zF6)VT&~(&ZkcCD$h@;E7IT}q!`~YTTM0GSDOYZ2XI8e{CVHy}u#zZ;tJ@klT5Gs*Z z(c`sVUGx%JuGH@RUU3$C;fyWgZ0S$qe{iq23 zY!IPLCeDNG)$>%~qvG;iH?du}-R1p|_@e8Qx212y8S3yuBC;UE8RkITq^3+W^OcYs z)k%UXMM_u^`2d!nXs@oXN@)WEc~PNA2NxObe+MQ;43E`Tj@1@-j1)}@se*gdg literal 0 HcmV?d00001 diff --git a/examples/trim_and_autopilot.py b/examples/trim_and_autopilot.py index 2dcadfa..ce4dd29 100644 --- a/examples/trim_and_autopilot.py +++ b/examples/trim_and_autopilot.py @@ -141,7 +141,7 @@ def main(): ax.set_zlim3d(0, 100) initial_state = [0, 0, 0, 0.0, 0., 0.0, 0, 0, 0, 0, 0, 0] - tester = Tester(initial_state, 0, '../configs/aerosonde.yaml', ax, T_sim=15.0, dt = 1.0/200.0) + tester = Tester(initial_state, 0, 'configs/aerosonde.yaml', ax, T_sim=15.0, dt = 1.0/200.0) tester.test_autopilot(72.0, 0, 500, animate = True) #tester.test_trim(35.0, 0.025, 100, 15000, animate = True) tester.plot() diff --git a/examples/trim_and_autopilot.pyc b/examples/trim_and_autopilot.pyc new file mode 100644 index 0000000000000000000000000000000000000000..762c0efdad0030a7ab7d45ac467efb5ecbc2e951 GIT binary patch literal 5526 zcmbVQTXP#p74DI2NtWf*6Rtj?l1a5) z5MGpvs#Q|kQ%BXZ+MZU?q>9i|P%o8&@Skm0R8(YTdq%|tNyu zwOKE7F`FRe`~5hyaa8MeYMDt<$qixN`#_CS9R7G%c#21@c_(|7ThEsz*ngvvybi_qjtk7|Spu|F!MpkkDv z3TO~5C8{Z&R4r)Jb(N*7sG@06S4sJs^$G-QuDpo{AHCKn;*ZY+p8I&rUqD`X>V;AP z3OOmDnwJ8q6H-8RQVOURq%f(lCpH$;;-MQ~RJNpAQ|xYGA)eaB4sz01R)?O)Ii`>E z-%9OKy)%cA5=$P5*=S?3-$G&gA{K_Yw5i*+8Q`USS-K=yCSpS@|PQEPNNySf?l zaOBb)?#sZf!05I#MAmY=?pRADb$VSCjdXQ-!uve#ca5B8)E(?3v88(V?Hp*B^!CDF zC$?eG4BPEcx@?_-ESGBHWY=fG=W2Z(zt2v;L^1_Z$K!}uM9IQ(g0K?>Fjr?}E4>3K z0%{C2j5G)?p==gFls7f@o%i0wSAPTT&ENk{KKC?Kru3JXy1|)=7)lZw_zIh_IDMR( zoMcPPpd~iYnox%mYKXHgs1}YJr{T;)+P(chd$a>NahSn_U;fb>7KIlk>cmU|syKWM zFRKujhU4~?(+5FYQ zpC0}5`OABCI!K?0ILpoj1hi=ZQa|i8W1pzRp(r)zMey5!v7oXLvGeGl6Sj53__LHL zNatF@e#3?xpP&;cCb|sg9pXM-R?h5Z+5< zVZCr*Vu>g|;U!&~>1ORVXBjVHHBP<~+m~fq3tKLOi@GJOvyUbn5Wy+#cO+*5MX$ zMu#j0h`%t7_}Np4CuBAp#{UhRx}b0yjSl>hF#Nx`hm;e}^V-#bS z%bu!37edE7Bv4j|E;x^OxM(nxgbfjVh&YpHP+@ps30Y)b41yKJM)V*a5X;%5scZ!F z@m6Pa2z9FhA3|6Z5BAK%jOr!JU-U zG~jSF)wB}@xd?5kD9q?W+gXzU4`h?Hf{}WBU$ZKjJIW8Di%eILq$1FdCdYblmtpv7`XI=^0AEgN)F+_kL7 ziNi(f>&3m34a&p;P@8pnoYd74`I0c{AD}2{L0{5>__INn80O*M3yrPS+t&>p<3_h{ z_gItUqubFx#IQ8kGW5~wiPd%x#WF&Cl5V47V%%^db6tM|{!!{CX->GWjiIj%b-!kM zG49Cq_6_iEfVYWurGB%!X6T^$-6W~iqquq9NPc!C8_YkVV7gi9>1o@*I?1Vj%pUGU zc5o0rOWS{fc43z5QQF8HQKsT;DQ(+4Vid3K8tW1bBtl3@0s%e0Y{~3(pGmHVOWmL! zOCn|lJ51@a3TN1+|Bk!xY;ucypEI`784cG$;zC^!s?s-$0-f+)8mUxQ`+#!kyzcbdeJPl_ZpI zlt~dn+_AbuIYvFckpi>(fy@1}mZL(m!cYuDVw^yu+-wog-1`zODPF$<@`tc+l=0I4fuN+U_NR?RJwV+L{$qx)us6x(=58bxLMp*Q0-N tN~Z4p?~{BCGE#$-&e25)+;<)DJ|->=uc5#Qz7=oQtK{eRr)DbNe*w4Iu8jZy literal 0 HcmV?d00001 diff --git a/uav/__init__.pyc b/uav/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4f3fcd11a9a5822bd806a95a2e20f9b140888c1c GIT binary patch literal 102 zcmZSn%*%B&uO>Q~0SXv_v;zfk>R};+u1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnFH8N<;?$yI{luK& zjKrdhM17b1NC|Tb+Kt-My9HSzd1Zl9u0Ia|!v4 z92geZH((a;gAhc}gm@G*OW2TmoL2WN&oXPaXWu4*3+pKnR^;q)uO{ey(zc(&)1=#` zdi_?s6N!g$+JErz*Ec6=FpR?@#MSv=VBCONdw^gJbaDNES{N1#7{Lcbv?dqh;N zq$LxqBm=T%!IQ2afP#0YE4Sh#YNeTK^|Dba`hPzA{nszH?tav+YdcU%7TU`4DAm>^ z7$(|EvOwtC=XW-x%%rv>Dbq|lo83E`-LE8uPrG6k*|x2%B1(Fi?QCeKHoW!uiXUca zFYfz2c(tazXGETWC;zzCc~C^M=mbfz9mwsVb2AG^!zfin=XR_<8*O#&P9Ssl<6&nM zj5|HdrvDhyc{!hG*Z1QzR=y8aM2ZywAur<%K!f>d>D&DINvvK6B41W~nEp)n2ftP0v z`w%eq4om~#6EGAR(30-aT?Q6276*%$tmK0BdC8XuWECuc2|)Y2hwGN$Ke1h_v;eZz ztsoAf@I>C_Kk$@i3{QC$l`YSKlIKyp zh~gy_FN2s9tmm-`w`UY{&5B%JKp!l}1F3WX|JCso+-Q;I$-^wc>%Y^))M4`ActT>0 zHi@-@715k(6`+nLp+ z%qNBphXU2MNusupYD2nI$b@KzOC^-F(id(46%2?Kmr5!`g~uP zZ&a;e0DbrjQpFVusZf%-$`){9pMWP&V%_Q4B2q2rcM9OO;xr$rqScFKp@7U1?5kI1 zi_pGsQ8(gLMSU44=&w|H_4&_8*Ee^dWIIZE< zi}8OC+~zPY9D%Xu8)8?*ff}cY7WTm^T2+J&VxcB)M_}}iz`(O~JdC5h-S#qm{^0*i z9(611DX|HCLqsuhV}HF+9E3&lkg=76=)>Y&&_aRtRy6o2J=oNUIo;SXWF3TdvaLZBD&v0Ko3wkqBJv@I M)>N=dn|OBlUk-^hRsaA1 literal 0 HcmV?d00001 diff --git a/uav/autopilot.pyc b/uav/autopilot.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2ea737c24f4f4feefe8073920027137da5a77261 GIT binary patch literal 3647 zcmbtXZEqVz5Z*h-udx&7rAZ3{jCiS~LYh=*fKZjTiBy5qs=A;e%!k$G?vh(`_E~r9 zpi21`KJpLvAN&LU4-!8B=9#;-T_?!F@nz>`_I7rjnVp^86#j11{_LOs^!SnEMMNwSy#Zb>O$+e(MK%9R^-&XRo!hyT7}=zq{9Zu)XuJR(s+Obr>i6 ztu%BKSBEwA5B=H}O`rkw)whQ)+cqRj{Pfwui$J@2iFo%o)rsrrUO*H0x{A+39S>9# z>yfw6d`2z(gGfN$S|T7P3-FwPXAXiXA_QPca05(P_zTQb1i6bI@{rx_)I_i-{4zQ( zEYYd6STSOQ#i|jPSgaXwnZ-pTHd(A2afQW(5m$wC)P}PjVu6Mz98gPtrx4LXoeLp} zv6o{42~QQ{fM?@X&^m_?&rV|5C~ z$fAw-t&^N9*NslYFiS?c!OBZ{f0vAr@tOSaI_|6mN_3Y&Gs6w~pEiv`8-%@>o$5ryxT7^-cR7dg&68 zp9gXfs*Lr=tYQ|4+aK^2Q2i6#AkhyZ?Mhchs;BfsPmuT2FegtWwL8T27J8jX5=W5? z2bYEyv*BkunmHwj`v?juNe4mTX9~Y49m>q!ghRQhGh^yZe|oj14wG2x zD4320&2^$q+t_40M;b&YjKkGBNi`Pa`?O6|FiD%l4c)W*RKT*Lvo(0bagkE>m6j4~ zmTp18s`68}>h%8HhIEhV-Anvko3}c=L3>Uu-5`?fRculEqup2#zuA;!$giwEI(1?- zmcomBgP|VzM`%doe01K!7{rzmPkNkPNI_U~lhc{rEl*fnZ1*ny>eN(GS3xbPOw?FQS;$)w)~U%^xgbUqgc;jI6tmm z%xzfXYBGxA%*;YLM=l$US7XC%94YxJ+jo0`lsvbTz1SbpnJyh{B)%L`AKg^E$W2q~ zZc(@M2?zq<+ylYc?CgM`7&}-@XBT7-1pmW0C^61gAp0PXh>Qcs+?DqL2W5DXTKYbb zl2x**A5;tDXSpzb+8i95EmHciM;>LTg}JJwTLa~1w>ca-{b6tL#^Iv~M%-hMU1s!r htBa4jfu|Y4b)a%EA7$ZtjNPABh?J}*T~;>ie*tWZpy2=j literal 0 HcmV?d00001 diff --git a/uav/dynamics.pyc b/uav/dynamics.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9ccd8e33bbe94b2f5f87e4394e5599c378bf135c GIT binary patch literal 22973 zcmd6vX^>pkb>DCI?E7G*d%6efU?ZCpOaWXVg@#A~Ls~Q6lpT8Mt9Gk!JY-( zJtTn4*pfkIfJ&T{VDty$S3~@-kMGNT+TS6lh440E zCe*T_nF*`e@OCz26z>bozVLRx<@JZ=Kv*3NZx50;5b8r=nG%EH!w~L;@YdVIp*9ri z!h6XyCsP$TX$zwyrHY%-7qtfh*L%(uot+Lvv zwy##&^>l8tWL)Lbeu|*Z+%iozy&q;Yu{EYM8$?6&Y3Oecgy>pnfYK{}{M&!3ThOEsg@)))QU;QgLDjlu!(S?C{2evBw7ypF zj6yWlI`tJEdcDfbD6Nl>U=dWz@y&_q4l*SYJ1_m-V`>4H5E_KU?|W^ zCQchtW_fs55%$xqli^L9K@DrEeV$MY$J{jT))$gBUvDieH(Kq^!e+a%wz9B$W=kVf zvMGx6TpdL}d%IfS=&)667q&O6)q1yb8sZNWQ{c1}qn@ih?Dx$rTw ztQjuyiFeslW-4i$IIcD?o{GxX&vZzR}JCEfmM6I|uf{u)6&!Ho|gvZ3CmHHT)w zzzs#g5RVQdFaoOsDMTTL!iOODP^cLc3!F(GG1wUi_0a(S#?{9{eJtD@4>bp3+8+}f z>B*~_d40s@wjI9?0n=%x*qX2xp~a8zowFpnu#ZiZ;*s$orD`6W3$ul0!bHKB5fHPTz8M{yS=nFC;6nfc@*S4 zkvWp7ioZ_r5kiS>=LlH~W`3R>GymXF8tWs*BE@)mP_|cU6Httg4KW$!w+*^$Q&6_r2>AJJ+ZDA#l$*73 zGf)MiX31s5)XkALV^kh0XVe^2UJ^rsg56dKv+P@a6}I36eZxu*=!nc>c&|USUe2gE zQ$nA8A+PL#uy!ikryeD;q4lKwRur(xc^G;vbo(S8MVVjj6PEw}B_Mx!Nnv5hVvtc_Iw)0_YG)b8Y z+l8=Q3|nJK%6!;99JY^yEwVnt%d!xr0l9_mEc zqWi;83t@|Hk3gLaTU4gT@vy?qq6m2>MK5Pjh!)@u#}F8|vf4KISgo|%CTXr&c-_LP zDS@pU>lUjU?p!NxwAME|!i)Dn0jW>@qQ6w$aPj|BtM!#iXO^_)`r1mPvsr7bp-xoS z>&we+(>|IgrmZxoA#QD`jfPOGA;Hm5^NnEzl8Oz}*Mt!b$(IJ7&=4wBMG3@IQ(dLVSIpFI40I9TB#_mrW_$?r2|=>O}S)jwD{V2ldX%dl`GAS8x><4BDYNQf~eJ-ol3cG zy!N^=n3XG^x2?WHL;U;wmt!Jaj){+6Hm2}CUWxm7rMHh)l0IHZ`w+V=z5>gN`4(5> zTC2UaR+Cz*NiA0z#er*Hv3`5Qo}%4YS+kZ|d%dYm^Zu2^aLqO&AK zPbf=Z6)#>?Qi7Vk6+KC)XxLAa=_q#>KvwFl^;qvpG^tq0dQ)xa;X-D#=dYM4aBzw; zFJ-%_lbN$U@yYDf>{(I_Cg-T1!epMu0V5ME`GKHP42nwRs)zs%mK%=IsNa!CQ9~m5 zR3Jf@F*?CApq2Qyn+A}GRpVv~0BZsd)=mzouRc+=z*bSHSzw|lRIHE3H`B6&z)2T^ z&|M=1A|DzlVENEU!L?l@1>9mFi%04hDl`Q{8K2N}+9-jW!<@j)VNT%YFeh*WvEq?Z zH$*E=zAy#;s} zio8{BIfA_v<3we5wABMo&A6dvPeaY5p=Q!hb9X~YwB>_Yi`!W1X=5#EV=ZZ8ZFd_< zv{e!tmBb6i${bDFo#;zMqc1CXLxK1$`ig?L2pk*kL>LM~^wSF7QSh#UKcj&2ptF24 z`l{j;1=kgb@1mN5I)TB$nq!R4MT@)jAcL9cr&Lb| z+@!PkkQPJB9dg>w5QNNR544PCZuWr6Xl8A9%mGEKFY#e|R~rIOb|4u;OE9g*KtU>w zYhXz->Pj}%d?;f!ot*1t`<9_XTn5fa4%@a}1Q;E*>M7?^<4$RF%orSA>qFV%n8KFTz!9ySA}N8#QH z5Tv^{zi66y%DTpOaV!=@HWkq(HTKSgl#cZBewnm*PDV3NGcSWaCz@`3Y)+&Xuph=)V&;YCw)vUOv6q-2Jv^ZqReb4f-Bo*O zzeiL?bVI@C73i$s>-@f==M;QGX?*q<%(8=apM&$wt<8G-+bTV*ItX2R49R$X)ZaBe zX31ov*Q~dt?!>D=8heJtw-pFR z?8vuVMyDzFsxr3^NWW`}9vWv??MX^jI=!joJ65vUn`SAy`sqkXTrN9f-YMVS6Th=3 ze%Dm-W#bqMYh~kz+vwxSU7I;1l#aaOk<~7V%pr9TBkkRJR0*XbL3C4rao8DADVs%K zP*jK?y{AALWz@cxH~zNOmF%l^smvLiXuXPanw-9UsgOj`YoBl0R?NYnw?` z{HOh@UD^IUSR=8t>6DK335=7yPAB!QO-`qEbd)$xC-z+yI#fVZMbtVSiP1=Bi>QK- zN*v_b?jgk_1*eEHH zM-ofKoCGLFA~;c&JC7bqatoG=$Ha3zdcvXz5RWb-g^O1BWK!6pr_9=ICPa+f?*PH4 z!}gi5bvnoVKtRo&{c%}Z*TP5yM;!z88I=2r$f=vOZQ8W9 zVS=RXX-aqN1|2N|xO}bsMF|O7HG_}s1 zjk<|fOEVLOD~Qq!O-r;65tUZ{F5;+dP+wc$yxy#rOk)^PSqV*(kP(_mFc6IlfPX>J zzpUUF6?~Jxl&6)->T0Fz#}%h9^rS!ALqFF;Ki@;Y&_iGBp+D6_e>(aZ_4>04zNWxL zfv`XNx&jjqsbsK8uDZ*+?O)XmOKkgB$G@t+9PK+c7p~!2r}4qz(Q?lktlg1}Iat$* zj+6U4eA>$@*CU2z5Hg4DIHE%d)Wf0(C+1XE4owTQ`QF1zwwSrf-;>$n*hh|MPSM)& z%rpASR)^?G8s01)#7}77kq`om%&CCU6xo6ZlJ^GdE>cOdNPd?%CT|f48pkAyOe|PQ zd5e%?ah|+IW*9UTAKb$tWD0&BY8u6v zK5jrJ0B_k#yXios?O1Q4l4r^Umc`_mLORA{lxNEP8I~vS6wnpt$wLJz$1%BQkil^b znIyj$F=WyM#1E7_RT&+$5J$CzP@6Scrt1un7t4gQcy=5k8BT{D!2?1B_&_9Fipww) z-Q;|4@&Q%nD8njbL*W4k$g|R1fixmeMQdRUVV+l~w0<=0bl&p1Syb*BT({ieUFBGY z1IisS#6`l*KLD2LT+TRT6O?>j=JLUVHU9u;CG7~*Vfm!)gSb4swn$F)nFlzx+`r{M zDx6{XvG7{qmnw#x`LJ_1EYpDbtMEzQp9uFtfQW0kOU$ddH;XKDXyHY}6Xq@K90@x| z!_Kj=b380#M0ZCQ`(a$IVaiu)_{rP}hj$G>8NM`pY`D{K$l+;A2g6;Z6XqvFve;mx zF_>?Ru}RFpP~!n-w)7{Y#kBjPPQrrS<9k;!MEhW>2?V#2n7VA5@{=@RMpxIU?VS2! zN_&RDAV2ymqQvX_I++CRUH{SwG5&q@a#ddvAnDOvC=1_dnK-51#}&yJ+{zigA6}N_ z4c|-QKBcg9=4A;%kBhxeP_g$3D)v4>x%Ub9LFFs5fwlHUd2VPywppA~Iru+c#H*UW zRvKame(2rLqMeT2VON7U9A3PzU+Iz#OrC$<&m}hH5?(IG%o1gX6PxJWV#K=G_iXV+ z8j!q=J@n6{z-%*GAXftu{I)N1fYltuzB;JKnJv|DU!5p7K#P*Lje!^{HV{L_24W~T z5KHSc^U;`4wJ-MWjU|e(nPW(H?;fr!cwr3h-ZktrZS};vhm{pDCv_5V zGp(C03`~fyq6b6(M9(S6?}iI{ioKQf0|!HNZ=2dyhS~+c*ch;rylwE(bn3VAcHlJ? zOM5I}ZAPpl&aJo*XuP`+%G%)GLPL8Cff1Ob$JvvUm}?I44fM=t)2Gg|X?te8jXB8% zm?0-M5s9T8J;9DvEjDuj2cCF_l6d0)2l*`}&OkMuG{@0MBLvJjH_7ci7xEHynjSBb z*EI&e@wgOylKtckrsqUGui&Brxr5w0bV1a!3gk*LE7$>!HP<}<4>uvZEG5=+z42vH zmla%5U~1%|sJjFuZSWs(G|?-n`&k7)q2O~0{xpHvF7Vd5I}isLd=nPG;%4@*B;Gl< z#(xE`on=4kU(fm1^CfXy^!F7kDLBvwVazTjc2vD3%24&Rs8o;aS{S;T=fR*L1I7h` z!g+|@UaYQ>A@OI)hvk3guo=#|#ZV@T6pFv|{~b64E3xMsEl9RnYy)U6a(J_~fo@A- z0~h2;CsSqYwhJk6HYqAYij{$ls3ngM8DejFhe(kWAq5T>-zr5CfE3uLAa4;V;uKQG zlmcTxsvTOkc2EIHacSi3z+a@O9aH?MHD@VmhZJk4AQ&2hvvS7Xc;3Y2@T0J9K9j)#n{(*V^|cDHFQ3z~LmT03TXt#sQw z>D0YOi*box$p#JKUS82yqh5Z6-vVkg&?-){ab?3M>uP-X-N={AplxNuC zOYTu3?rtUX8@cD{t4e!E!F2`Zh^mNsSAm3U3Rb4^#4(f`viwxsJ^b2Hx6*1=?nHl$ zTsr~R*4=L0)ODQ|OKPmWUlQZ}Fr#vm+Su)mOQNyou(dlkiTcf=#f|s~4bgQ!ZX_PR z4Lp7VhQ(G=tkqMjl@x1H%y97q|GH>j@B3}<_b(WTaXjE2YG;}-8BqM)Dott{3_i_} zYs%4CrJ2$8Z-|n!Bl;BuzpCI{3cju2F;%C|6ovgBK_%(;HG$?&l70|qj;6NO#O4}* z_npq1&b-LqI3QXCM)`0cF6kM2Od&^!x?KAuQQ8eI(yl<24kY@3RfN~=|y&B*N{e_e^g3M2`lf1$u^+-BaEImKj$Z?^6%o22>$75=7z zUsP~L!BYxs4NO7pF2sJ)>(PtTm2JD1X+HtCpTgTY##pNBt6XiZmpiS->T11KZsQx| zqO4zd{T>C{UnS5zfBBBOw)WJ}(I<09Hyx@E!H6N_4F0Awu?~Hd)hi_ycXH>lKQ=Uy z{p|cm_Tp1h*_mwPK0-dd1HAI{zxNNn^}T=g4_-=b9@1g@__Q^pND|cL_!^|07nf15 zGCIRONKc=34^!z`JKJ&e!9aqMonsv5A3{!Y$QBOYCP=vc{0;@iRhm7_jt8aG+5~@?SD*w;806xW2P1(P~(>96Fr(TX0ApY z3TV0ON|Z1gF2z(|xCGmy8*^CT>?NAAhy&yu*VYwBthuKdfypuBlKSLItgXU_IZna#;+4>m!W6>kjOqanIpYz+|@_d$?28qJKkRe6+lmN5!7b zsK28!Lcq24)@n&pw}%_eS+;9u8qy>wu?sNzPSVb8Ndm#dt0gt-eD*Iz84~;}s1l$3 zT}%ItjBP5nCC&m{cSf6+ja=lC_9?%nt&^u(w&m@kFw28qTk;a3KivLL(vp~V0HyUu zQl*&qg4{!PSD@goAxpCxK@=cI+rc*iQ7h{yY=^o}BdLRAE(Gy-DiXGNZpW)wq_D#}64zRHGA$wO}*{5c*=cc*8>DYQr`!hY^^ zKY42=@c+$p*yhl--QTl2YD`dDCg)dQTsXVDQ0Xi*bZb^u4i?VVO4>5ECt^XpZ0GsC zE3ZaX&2QtqdftSwA0sxJn{9jBL^8E(G3^~LL3l*_ul8!W=64m9rC9eu3K7cs4$-2U zak#$GZr}hmLGfN?W20g{tX6K9Z4?J?8Sje427vTb(=G-v`s#O8_Jr&fay<7VIX-@Wk%xCdmF|wuPjM%up~zw}k8~z!$YR zHh^N7S+HG$be_nyXfo_Fb3XRIQeBs&qBP=gl|`3+JS%a~c8v5EF3}pDR&v^Onmg!*e}~&y^@c^e8@8FYF#!e6C*DqYF06 zDLT1h^<>ySC6Apv&fnf+WymeT> z<6{3;6oz(0q=h^|qiWm1tKsoNfzBrv=h= z#Pb&9SUrYgH6FlGiX>G;C&lDg<@iUI&X1%PaWey#Scw>h9IGrE$tpxsMcmA3t{kgW zQV$fO33JLOb>&zknQ_UHTa1S*8qcP+F2^d5LzYUBDmN!*eRK65#ha=e3W!YV$gzsf zQ}8CG`>2rBWv4%(mf7c}xCc2_F%_ybMRX)(L>{v`^vGhGE0~_;SY^v6ZPQKKHf>tl z@IlhH9IH>EWXu5sJ&x4_&F2T(!G-X9U$!8r$DeA)$`Z&FpC44i{h@Z@?y90!6#P{M z3kuRRMM;R|`h#SesU*AZ9v$dOjqL2OpAP?PYVvO?_?CiiE0B@CYmj=hD>V9BD*WpT zenY`;D)`$9eoMjMQSjRe{;q=86iB?-)xkaYe4@WchRXnm{WT-$SHCV?UsjRKq4Y03 z1R&BL&)ZpyMWG4A#M^1U&RyQljJ-@OZEKK^$%?BC!1XLtRJ0Y*ZV~BE(#^%!O?N>7 z7P^LoVx7DU17q%L!Og{n%e&Ht^`b5sD$)sXedXOKK0-(&h8+*I3!%0sU)TS4dxx&L;puX?Zg|~3) zyXb3R{D8ZyMw!p09tFOic&vJKU(oQ^b*+>ixU-b9wuUFZLvm@SGi&J*9mvj*%Q3zL}e=bt$-EuiDYigmjQ06_b_bh5> zSC67!aKdeJ-cg-LZ*yxH6H>j>;w|ZqwBHw~7SR8ToCOrl+AcrNZtqf64K4ZDP8}k_ zHIn2Neq~1|32f#JOddTJyQlGAspdB&vsFESKAL{(KqgoNOd*c7E3G`zW@vMh!Yg2jPOSqv_=`SBbm|! z-%&w<-6T|Z_8SaZu|{>Z&QCbh{5r~U71E(G`p*iqbE4lTunUfMskPO)W7A^lEraH8 z(49o1_ESvlMd1Y+GNlx4d}!(~O@A z4uddgcwR4j_gR7AP#@8WD^4FxeqrL_SGvDQ4`OOteVBs{4h=BGcw}Iqr3aBz$ckbi zaAN>)2F%rf494cKbQAGkvsj7_)3&{w9UXy6jWT{jII7HJ3jVtSEvWsTguj5T-NkG8 z^`^aj?U0}?^aH*w{lB%BhN&;}lU|oj*+6`4Y|szEv;1IJm$hJB8)0`d?YEB%S#*C{ zzcWy8_E9&!#cb=(NDTzE^tSzNLY2DY?TR#8$7B4&#Q&h|VA?_UVT93~vaB#UY@e{U zJ&mgR4=$*~$3Pl8AsT>=rafkC!-?&+pf=CnfS||NE@0O&U93tdv4#3^G}ubWZ19rs zdcSP!B4od7+tq|}w>JBb1`3EqGnbe_>QkKcFcKiTU=w~g!{$`z>TeBH*Ed_>fVKed z=r{eW+vrqp*e^KPGA-CruB~?#_||2Hn)fEJR4+L zgWQjo%#yO&Uip|UEM!}$ugMlu_ia3>HMi3`m!fAexZ8*OY@->M)?MuWZ&Wt9%`a^L zlhr1#T_-=b@juCnzNf(U-ye(mLj?ou!tS7q+K;&mO#T;T?dpXr1|wX?p6VazkHl5R zVKiqZ;H!Mw3Od5FCqCTo*ER%j{0CTpVEe5e?UNKq6|s%I0D;P=4eJ03U?y90kL>KD zsAHc7W!U#aL)_6Grjuf$(@?7N@}ogA)X6ro&1uS>NG}VDl4*n!8UB@O6_TsXKGNg@#lK^_#g|$Ov=L@ zo8|IFO@{Uh?>c3C;k$rpx|5-#f#%$(Le3Tt9;t$ z2tFPpK}dAaKe-6`<9b#-Q^-`cH*`=;(fb?^4m`@f8>6G+q|niEQt0S7DRcxSfC!2$I4Rq#<0Q91cjKfGkNO~AM7u!-W>-yx)x@JEsu^+Z|`OOtMftoYj zE&A9q(x||~yQ`w5+!;l`E^1a(PC;J5W1`ke+GLJegNcPI#jkvfT8>+~q_9Fy_OEJ8 z2r29^)Vd7uv8aXf*M7n6hlVUewf!KgsD~G1JsPbdq0X1}@QzYve^e+XM0!!}_MlXj zw1-jZDJJY=QR+iGHS-H++KqqWlsJCtErlp;1PK>Cw{3_;G6hjEa12onR)Q!8D?t<- z4$BLo;N%#h9IOOU4pxFFzzWf4FB!ap%h)a=$fq=(C~#A$0>@Q&DR9$?0_X7pm0f|u zxjPb2{?OjQl32_0LUAO9C2s+tyH92TQPtX*Ae8jyM392Vq)1D<)MVfUuLHMF-NvCz|G3#scBK}Pz z;qOe)L&&?MH`@%AdAa2-{!_4kuh=rfgv%6S0^`jCC5&>_i-Bc``v`Y@Q zHf7E$ResKMih;MQjg33cbbn5iB)`PRf^OXL>m%A|`XSfO`g*e+(X!usSigR=UhUY= zd7AOp*1vMS8p(p;RtmFS+96(YD$=OB6JpeXs{JJ_G5pNvOL~B|oz^qc*iELhbNRXN QhkrkpnOm4UF?Zts0(K9ew*UYD literal 0 HcmV?d00001 diff --git a/uav/fixed_wing.pyc b/uav/fixed_wing.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6bb91c47074f1dd4f225f0fdd127dcf43b1805d8 GIT binary patch literal 2932 zcmb_e+in|G6y3*TJ8=?dX$mE%Ad3fN6ew-PO^7?B0wG+O04e5SWP8SD!gyvhbL_^F z^Fny%JNOWOfImUJBEeew_@Y8prvlrvXP^7pYhRANKOWoqHJyFem-)xT`+YoR8zRKd zNFvfPs#heb$jFn9CuTlYl}>druO^+Egq}oo8DK$GeiAts`L?scZH`(sY#INBPrGHH z+N%(^}SAAIxiH0_S!erb39F|b6(Wgp@xdl1nA7mn#vcmx$s!ip+@<*5Qp z3Z+w*u%>2)#2*qYe7oG2$;=E;vnQX_Zmrp&McmS8`T z6C>x?28RHgfIhmWT|N$ZJ5Hizn%U+c8>iv$&tHE3?epFj?IP+$3}Cy+ z=}mpvo9fcV#Gs$0gLoJWfY#D;gBFCSD4&2f?oM7A(Eq_b1i+1as^N{A~z0OC-1orWpW%H3?GU;r+w{9OAo;6sV1OBJ z0i($vxDZxHEp@RoOcRL!LOabP=Nm#xbG59WmHIB@RGm8N+9EzxHO$7n#I0~l(86i= zUQi$`xJ7@euX3u+^Vc#&6n-$dHK9XFx=-M>OXi*b#uCUNKVZYr0_iB@z$38a6P6O> zKMBo$isBl@(-eCUZdAjffo2}t{`V_7az{t*Kg+3j9vaF_A+T{Ux%CXR|A~${18Oy^ zgvJn=QH3$IE@&7p8aac!iKzMf85AT7Y~4fh zP^&;gmO%5MX;DO~FDoo6B@3yMtE>S^3ma!Onbnrr!ibKS)@w2KUqGM#JjHVmEp?fC zpQ%vfQ?-`3kQQ1UH6pb3k&KI(&Sdq2-h_vhyimk!>GwsK7u=uV)b>xHxIzY_P{e*{ zNbx2upLgoja*ecTwL5`{6nX+E}Pa}eWV zXwgugpe*l|`4kjjPVu?kauCHM8WvrPJ3{M?Wp*q&BW)d?_M_a!S?ZWo7P&sO{tdj= zrVFq9aUOPU6qFY7Wwhr>bH(hM-AbQ4Egt2Hd9~ziBOL1%bv>5R9^LoS^BG9DkRBDd>_>({i890}7Jszee#o#0r#Z5B?+J(+0+N z$)aC3jYh+3)b+d3*nsY}HZh<%osLKO)LjYc3G|Dv^-8C(C}h2psBd-C3mvZ(zwK;% Qmryj4cg$t8V|Kj10Wr|&CIA2c literal 0 HcmV?d00001 diff --git a/viewer/__init__.pyc b/viewer/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f1cd330b0aa7c7213f621be5d1f742a74859d7be GIT binary patch literal 105 zcmZSn%*%B&uO>Q~0SXv_v;z0}2(b3e0@vvDgOw%%Nf zTi=e)Tdn74hh(>Hl`atHfiky3t8USrIfC}~*rT~ro6}dKsF(~v-O=8#>7vw$SL=<&~ z)Tv9{P@^GnQ;nv?i)t)NyrjmG1V`;|j)nr@=$K?-CUOmGP*U$1tGTRYfM> z3wS*^*`qdIUnmRa&kc2>S~cb>M5hj%sLDElh*hquLd#I70y)U(VVgo&x}Vgit;AVPwCzVx^BAkGFM3hohzie9GtAml{OQ0GtF~z*}M~k zD#VfrS{Ss&c(_D*54?cgVFOQr=Yh`{g1aG}1z2=b59GF+8ky{{b$rk}H?()6eQI~@ zqb9u|hz3m*{qnku7Ww&|2jMfAXlNuwS#RqWtuB>=O+z)gCsJ)- zUWhMnB&UCNp~ts1LLyZG`t)T1@N29Q{_6UA;27}c50YO2vsL>AEdEzR=X7eU9FjyrqNhwG%EV3w(D4Nlq3w}v Date: Wed, 22 Aug 2018 00:18:31 +0300 Subject: [PATCH 2/2] added how to run the code --- README.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1a6ba1f..2611c76 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ # PyUAVSim Light weight Python simulator for small UAVs - -Completed Feature List: +## Completed Feature List: 1. Autopilot for fixed wing 2. Sensors (GPS, IMU) with error models 3. Path following and Path manager implemented @@ -10,12 +9,18 @@ Completed Feature List: The simulator is near complete with all the necessary bare minimum functional implementation. It should be straightforward to extend its functionality. Feel free to email me (av.sarath@gmail.com) if you have any questions -Extensions: +## How to run: +1) Navigate to PyUAVSim directory +2) If you are using conda environments, activate the one with python 2.7. In my case, that is `source activate py27` +2) Install requirements using `pip install -r requirements.txt` +3) Run a sample code provided with the simulator`python -m examples.trim_and_autopilot` + +## Extensions: 1. State estimation using kalman filter/variants 2. Pathplanner class with RRT 3. Wind models is not there due to their slightly complex nature - this will be added at the very end 4. support for quadrotos - -Reference: Small Unmanned Arcraft - Theory and Practice by Randal W. Beard and Timothy W. McLain +## Reference: +Small Unmanned Arcraft - Theory and Practice by Randal W. Beard and Timothy W. McLain