From 872614f571293937063d0b9c3f5ebe37854fe800 Mon Sep 17 00:00:00 2001 From: a2nr Date: Wed, 29 Jan 2020 16:52:27 +0700 Subject: [PATCH] Persiapan bimbingan --- BAB2/bab2.tex | 6 + BAB2/img/plotMotion3Robot.png | Bin 0 -> 26069 bytes BAB3/bab3.tex | 20 +- BAB4/DataOutMotion.csv | 92 +++++++++ BAB4/bab4.tex | 139 +++++++++++--- BAB4/img/implement-control.dia | Bin 4321 -> 4763 bytes BAB4/img/implement-control.tex | 340 ++++++++++++++++++++------------- gantt.sty | 263 +++++++++++++++++++++++++ thesis.tex | 4 +- uithesis.sty | 1 + 10 files changed, 688 insertions(+), 177 deletions(-) create mode 100644 BAB2/img/plotMotion3Robot.png create mode 100644 BAB4/DataOutMotion.csv create mode 100644 gantt.sty diff --git a/BAB2/bab2.tex b/BAB2/bab2.tex index 108b884..e3de4c4 100644 --- a/BAB2/bab2.tex +++ b/BAB2/bab2.tex @@ -292,6 +292,12 @@ Dengan itu dapat digabungkan menjadi persamaan \textit{state-space} menggunakan \label{eq:ss-formasi} \end{align} +\begin{figure} + \centering + \includegraphics[scale=.35]{BAB2/img/plotMotion3Robot.png} + \caption{Plot motion 3 robot dengan nilai kp=80 dan ki=1} +\end{figure} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Solusi Persamaan Differensial Secara Numerik} diff --git a/BAB2/img/plotMotion3Robot.png b/BAB2/img/plotMotion3Robot.png new file mode 100644 index 0000000000000000000000000000000000000000..b49f1fda7ecee36d97f37d14f59fb1698e737b6a GIT binary patch literal 26069 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 literal 0 HcmV?d00001 diff --git a/BAB3/bab3.tex b/BAB3/bab3.tex index f9a0013..d31e986 100644 --- a/BAB3/bab3.tex +++ b/BAB3/bab3.tex @@ -17,31 +17,33 @@ bidan kendali multi-robot, khususnya dalam kendali formasi. \section{Definisi Permasalahan Kendali Formasi} Kendali formasi adalah kendali multi-agent untuk mencapai suatu formasi yang diinginkan. -Banyak metode yang telah digunakan berdasarkan berbagai macam kategori. +% Banyak metode yang telah digunakan berdasarkan berbagai macam kategori. Dapat diperhatikan dalam gambar~\ref{fig:kerangka_pen}, dari berbagai metode teresebut -dapat disimpulkan dalam 3 kategori secara general. +dapat disimpulkan secara umum dalam 3 kategori. Yaitu berbasis posisi, pergerakan, dan jarak. -Pembagian kategori tersebut berdasarkan kemampuan sensor yang digunakan dan +Pembagian tersebut berdasarkan kemampuan sensor yang digunakan dan penggunaan komunikasi dalam metodenya. Dari ketiga kategori tersebut, kendali formati berbasis jarak sangat dibutuhkan pembahasan mengenai penerapan metode tersebut pada agent yang nyata. \textit{Simple model, Model real,} dan \textit{Real} dapat dikatakan sebuah tahap pengemabangan. + \kutip{OH2015424} menyatakan bahwa mayoritas dari hasil penelitian yang menggunakan pendekatan ini (\textit{distance-based}) berfokus pada model agent dengan integrator-tunggal di suatu bidang datar. -Gagasan agent \textit{simple model} tersebut memiliki manfaat ketika menginvestigasi karakteristik kendali secara mendasar, model agent yang lebih relistik (\textit{Model real}) perlu untuk dipelajari lebih lanjut untuk menambah kepraktisan pada metode kendali multi-agent berdasarkan jarak. -Dengan bertambahnya kepraktisan pada metode tersebut diharapkan dapat diterapkan dalam agent secara \textit{Real}. +Gagasan agent \textit{simple model} memiliki manfaat ketika menginvestigasi karakteristik kendali secara mendasar, model agent yang lebih relistik (\textit{Model real}) perlu untuk dipelajari lebih lanjut untuk menambah kepraktisan metode kendali multi-agent berdasarkan jarak. +Dengan bertambahnya kepraktisan diharapkan dapat diterapkan dalam agent secara \textit{Real}. Pada penelitian oleh \kutip{Rozenheck2015}, kendali formasi berdasarkan jarak dikendalikan menggunakan kendali PI dan menghasilkan pergerakan yang baik. Dapat diperhatikan pada persamaan~\eqref{eq:modelorde2} bahwa peneliti menggunakan \textit{Simple model} untuk mengembangkan kendali multi-robotnya. Maka, penelitian ini akan difokuskan pada kendali formasi berbasis jarak kendali PI yang telah dilakukan sebelumnya dengan menggunakan model nyata. + \section{Permasalah dan Solusi} Dapat diperhatikan pada persamaan~\eqref{eq:ss-formasi}, state yang digunakan membutuhkan koordinat relatif dari tetangganya. Akan tetapi pada batasan penelitian ini, sensor yang digunakan hanya memberikan jarak terhadap tetangganya. -Sedangkan koordinat relatif tersebut berupa kartesian. -Koordinat kartesian dapat diubah ke bentuk koordinat polar, atau sebaliknya. -Akan tetapi koordinat polar membutuhkan sudut antara agent dan tetangganya. -Oleh karena itu dibutuhkan algoritma khusus untuk menutup permasalahan tersebut. +Sedangkan koordinat relatif yang digunakan adalah kartesian. +Apabila yang diketahui adalah jarak maka koordinat yang bisa digunakanadalah polar. +Sedangkan koordinat polar membutuhkan sudut antara agent dan tetangganya. +Oleh karena itu dibutuhkan algoritma khusus untuk mendapatkan sudut tersebut. Untuk mengembangkan algoritma tersebut, dapat menggunakan hukum \textit{cosinus} segitiga untuk menentukan sudutnya. Dengan memanfaatkan komunikasi antar robot, maka robot dapat mengirimkan informasi state kecepatan kepada tetangganya. diff --git a/BAB4/DataOutMotion.csv b/BAB4/DataOutMotion.csv new file mode 100644 index 0000000..64f7dca --- /dev/null +++ b/BAB4/DataOutMotion.csv @@ -0,0 +1,92 @@ +x1,y1,x2,y2,x3,y3,dx1,dy1,dx2,dy2,dx3,dy3,xi1,xi2,xi3,xi4,xi5,xi6,xii1,xii2,xii3 +1.5,1.7,2,2.5,2.5,2.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1.660781058591101,1.868426298368491,1.983628841011567,2.482484860808699,2.410257413075477,2.696504532616002,1.27949252103798,1.240940703645519,-0.1207657640295765,-0.07062913180644501,-0.5345525093964825,-0.6568619543827603,0.1607810585911011,0.1684262983684909,-0.01637115898843293,-0.01751513919130067,-0.08974258692452401,-0.1034954673839971,0.01715695680941148,0.1194518091673519,-0.02212979885273052 +1.762259731920101,1.956881131591067,1.973912175750599,2.481742292588593,2.380894817266495,2.656245782919073,0.8427987905435247,0.6324081649631463,-0.08623766058620347,0.03441983498203231,-0.1329271024764415,-0.2345266492578352,0.2622597319201017,0.2568811315910671,-0.02608782424940144,-0.01825770741140739,-0.1191051827335051,-0.143754217080926,0.00604011529526637,0.1726653286098336,-0.05131223202037664 +1.838469547022209,2.004825469535237,1.965124965200509,2.487274516343183,2.375796656925463,2.641199662048948,0.7044046184110547,0.3499834419124177,-0.09268990031461698,0.07099964517732898,0.01114022853175356,-0.08723167196744439,0.3384695470222104,0.3048254695352389,-0.03487503479948977,-0.01272548365681468,-0.1242033430745345,-0.1588003379510486,-0.01595747132007437,0.2000254898422428,-0.08202892073930465 +1.905988580485155,2.029629565278274,1.954996213516033,2.495297146149982,2.380652951516092,2.636251660376205,0.6549263779241334,0.1542692292730244,-0.1109146721547292,0.08736994013827079,0.07806503709484043,-0.01966309888632983,0.4059885804851556,0.3296295652782739,-0.04500378648396757,-0.004702853850018163,-0.1193470484839077,-0.1637483396237943,-0.04283142101392377,0.2139268556153915,-0.1124370552023408 +1.97068215882013,2.036815265885852,1.94285584562608,2.504426085334621,2.390268545684117,2.636159435036693,0.6430358342107024,-0.006289330103531865,-0.1317869543425331,0.0938265877123021,0.1100506314770363,0.01387005298239905,0.4706821588201304,0.3368152658858526,-0.05714415437392009,0.004426085334621487,-0.1097314543158831,-0.1638405649633064,-0.07112516324777181,0.220076851533171,-0.1415616071410862 +2.035137096485135,2.02914239739211,1.928764372151133,2.513776514869423,2.401996211519521,2.638407693215095,0.647577786322888,-0.1433182125721326,-0.1488784628586073,0.09159135356457898,0.1218239274459562,0.02858538546555384,0.5351370964851362,0.3291423973921101,-0.07123562784886736,0.01377651486942294,-0.09800378848047926,-0.1615923067849057,-0.09806119893991178,0.2219244755982353,-0.1687486420128033 +2.100297740647723,2.008993135682375,1.913417604564352,2.522375254625236,2.414195887429325,2.64143721035699,0.6551531615637975,-0.2548488353646655,-0.1557731787255278,0.07817376067957668,0.1203679775078125,0.02998975388519495,0.6002977406477241,0.3089931356823755,-0.0865823954356483,0.02237525462523534,-0.08580411257067561,-0.1585627896430098,-0.1210348193013338,0.2219724740600713,-0.1935474836709309 +2.16590978313495,1.979230459286916,1.898141742570779,2.528926426760611,2.42579577880791,2.644027644667732,0.6549886477729097,-0.3344933859075956,-0.1466423714158387,0.05015267256017759,0.1106273620839004,0.01999896849152959,0.6659097831349521,0.2792304592869159,-0.1018582574292214,0.02892642676061048,-0.07420422119209134,-0.1559723553322673,-0.1375905117929351,0.2222365081394357,-0.2157159749132793 +2.230764721735275,1.943332831322246,1.884737179259308,2.53186356548038,2.436204091583303,2.645095033547921,0.6390637299681544,-0.3771563562951668,-0.1182160344298147,0.006000839638352892,0.09735258844630791,-0.0002188712785826477,0.7307647217352763,0.2433328313222455,-0.1152628207406924,0.03186356548038001,-0.06379590841669823,-0.1549049664520789,-0.1456950298880029,0.224346467924138,-0.235262212975645 +2.293107580412582,1.904994200463116,1.875076332658073,2.529692709513057,2.445303480447907,2.643717889224215,0.6049020156875001,-0.3841757288656923,-0.07262158453537157,-0.05101843116657841,0.08514746461623829,-0.02836367929340222,0.7931075804125853,0.2049942004631176,-0.1249236673419257,0.02969270951305962,-0.05469651955209161,-0.1562821107757832,-0.1441461422604541,0.2294732323462758,-0.2524644180494394 +2.351265084322334,1.867424484309745,1.870543341685298,2.521489472892765,2.453383177891685,2.639286561702831,0.556523826642131,-0.3635543683203485,-0.01721763799764953,-0.1130812411226385,0.0773502839404149,-0.0605414496251688,0.8512650843223356,0.1674244843097451,-0.1294566583147017,0.02148947289276597,-0.04661682210831591,-0.1607134382971687,-0.1328647322887049,0.2382251703558427,-0.2678251878629865 +2.40422062096104,1.832831000295771,1.871634953898417,2.507222959135171,2.460963145303663,2.631632719405903,0.5023898029832853,-0.32641590304605,0.03832384201800614,-0.1708400957707605,0.07517236822721747,-0.09205048766451078,0.9042206209610409,0.1328310002957696,-0.1283650461015843,0.00722295913516853,-0.03903685469633995,-0.1683672805941,-0.1128508122354095,0.2506371841638513,-0.2819572068801361 +2.451839446122638,1.802385801681142,1.877948395625003,2.487701516422378,2.468580996884804,2.621035984296844,0.4510101176747419,-0.2817168593338545,0.08623931087967142,-0.2173546791223866,0.07786708794057084,-0.1188377476264057,0.9518394461226404,0.1023858016811425,-0.1220516043749963,-0.01229848357762167,-0.03141900311519721,-0.1789640157031548,-0.08581288629999599,0.2662858300529162,-0.2954477625860872 +2.494702388349058,1.776592969218025,1.888498657774217,2.464228084180214,2.476641009386172,2.608110163680984,0.4078990005667126,-0.2337936133977273,0.1227562924106323,-0.2497110206954035,0.0836926882042644,-0.1383315122878398,0.9947023883490604,0.07659296921802582,-0.1115013422257823,-0.03577191581978466,-0.02335899061382852,-0.1918898363190153,-0.05369330657472807,0.2844666249624269,-0.3087606282870949 +2.533766582261464,1.755720725170628,1.902108925179787,2.438222475117296,2.485362959434811,2.593651946130923,0.3751505645375184,-0.1832135629391838,0.1476025893388289,-0.2682351802134399,0.09082725221082577,-0.1493905971559253,1.033766582261467,0.05572072517062868,-0.0978910748202118,-0.06177752488270234,-0.01463704056519005,-0.2063480538690753,-0.01831000822382698,0.3043495232479928,-0.3222000049051049 +2.570072537105451,1.74007045149961,1.917684302526492,2.41097696247053,2.494801329062245,2.57851967953079,0.3525731503864978,-0.1290425587362336,0.1624188862174434,-0.2748960335144426,0.09782175340802286,-0.1518392998907262,1.070072537105454,0.04007045149961037,-0.08231569747350755,-0.08902303752946938,-0.005198670937756182,-0.2214803204692102,0.01881527327786366,0.3250761831219551,-0.3359227825912079 +2.604578248601871,1.730053957366577,1.934333610271562,2.383557537924779,2.50488939793239,2.563557838453903,0.3388941516941741,-0.07044463444138284,0.1694624817311579,-0.272115400348435,0.1036914983324351,-0.1460829883600272,1.104578248601873,0.03005395736657779,-0.0656663897284377,-0.1164424620752207,0.004889397932388082,-0.2364421615460964,0.05649035203740642,0.3458088433831479,-0.3499724285405564 +2.638096041900457,1.726150928589636,1.951390867933503,2.356791792142694,2.515480917099257,2.549551520128997,0.3325565023734965,-0.00680108240834919,0.1709176362414607,-0.2621871441767688,0.1078092915129122,-0.1328832637802534,1.138096041900459,0.02615092858963621,-0.04860913206649638,-0.1432082078573055,0.01548091709925522,-0.250448479871003,0.09382166265157382,0.365754424569205,-0.3643150079403401 +2.671284406060851,1.72884637776423,1.968393726575278,2.331290082218291,2.526379842042906,2.537194352716788,0.3320695157175707,0.0614042958535926,0.1686605854573577,-0.2471509385175747,0.1097895827521229,-0.1132970497990029,1.171284406060852,0.02884637776422945,-0.0316062734247226,-0.1687099177817088,0.02637984204290236,-0.2628056472832114,0.1301698809015888,0.38418139695187,-0.3788690580194281 +2.704660019855323,1.738552944700538,1.98505245857038,2.307472063231872,2.537359317100769,2.527061451203732,0.3360884838009778,0.1332493764657643,0.1642833014890786,-0.2287976258993013,0.1093851066715289,-0.08864152951274284,1.204660019855325,0.03855294470053872,-0.01494754142961991,-0.1925279367681273,0.03735931710076668,-0.2729385487962666,0.1651135273278578,0.4004359815672134,-0.3935282895807106 +2.738611064059449,1.755559234951561,2.001225094475728,2.285590335269279,2.548173226304274,2.519585389018744,0.3433764955452875,0.2071688936600173,0.1591653102562715,-0.2086796832804046,0.1064532472376769,-0.06044343143855196,1.238611064059451,0.05555923495156104,0.001225094475728316,-0.2144096647307198,0.04817322630427145,-0.2804146109812555,0.1984258735695534,0.4139599362125211,-0.4081789157909763 +2.77340467601566,1.779984179819062,2.016901148840374,2.26575337221622,2.558565013006697,2.515037592657472,0.3527336954901281,0.2812908199912352,0.1545679079680994,-0.1881171211102408,0.1009325625110312,-0.03038477676342065,1.273404676015662,0.07998417981906224,0.01690114884037406,-0.2342466277837795,0.05856501300669399,-0.2849624073425271,0.2300619698237067,0.4243090328808284,-0.4227139128928903 +2.809186617068525,1.811743998165812,2.032192988311447,2.24795063841138,2.568276644342102,2.513516591693353,0.3629328127611396,0.3534183539974736,0.1516641926583976,-0.1681238000603184,0.09287722414285646,-0.0001814577651574616,1.309186617068527,0.1117439981658121,0.03219298831144609,-0.2520493615886195,0.06827664434209882,-0.2864834083066455,0.2601505910057543,0.4311716556711777,-0.4370459536906381 +2.845975184237497,1.850520444099395,2.047328883205842,2.232085357889904,2.577061647981052,2.514948148119073,0.3726425685675983,0.4211506051848416,0.1516170630206246,-0.1494325101729662,0.08245561104264816,0.02841244107728834,1.345975184237498,0.1505204440993941,0.0473288832058406,-0.2679146421100953,0.07706164798104735,-0.2850518518809265,0.2889847901737335,0.4343864348322975,-0.4511199807695532 +2.883651879038225,1.895733743754706,2.062645387223296,2.218011559806733,2.584702063596359,2.519094534531684,0.3804432522582391,0.4816501759724943,0.1554444476751909,-0.1323102430340517,0.07006950405497117,0.05386678206008349,1.383651879038227,0.1957337437547058,0.06264538722329564,-0.2819884401932659,0.08470206359635619,-0.2809054654683145,0.317005026544105,0.4339577857944565,-0.464925268603198 +2.92195538564441,1.946509636599804,2.078569736311882,2.205577625498179,2.591032065835913,2.525579791659124,0.3849602532067273,0.5318845799826202,0.1638600936090598,-0.1165709656557193,0.05637976563439296,0.07503663534343682,1.421955385644412,0.246509636599804,0.07856973631188223,-0.2944223745018197,0.09103206583591031,-0.2744202083408732,0.3447687747311845,0.4300667706596291,-0.4785058449112565 +2.960490089825631,2.001655574155274,2.095584278320254,2.194667996104088,2.595965015732727,2.533932307978861,0.3849138300021875,0.5685452244188511,0.1772265406964591,-0.10170808785589,0.04230359613423543,0.09116701809104853,1.460490089825633,0.3016555741552735,0.09558427832025421,-0.3053320038959103,0.0959650157327232,-0.2660676920211361,0.3729023375296288,0.4230738567206008,-0.4919669256052465 +2.998753155846213,2.059648021261794,2.114174618064601,2.185230570024621,2.599518238739269,2.543637672272083,0.3794580515032402,0.588333425630316,0.195247354229598,-0.08701205220423917,0.02898336022181799,0.1021382781817263,1.498753155846215,0.3596480212617945,0.1141746180646012,-0.3147694299753777,0.09951823873926574,-0.2563623277279145,0.4020341695604514,0.4135089891581437,-0.5054740429991457 +3.036190054624462,2.118650080859972,2.134758668131584,2.177281122787308,2.601828445765452,2.554201400715274,0.368412993244648,0.5882742756758103,0.2168795612019886,-0.07187711576513429,0.017641954188501,0.10845116437554,1.536190054624464,0.4186500808599717,0.134758668131584,-0.3227188772126903,0.101828445765449,-0.2457985992847236,0.4327144662523341,0.4020447609761811,-0.5192418304078505 +3.072271947063671,2.176569548015281,2.157611569246196,2.170876610039842,2.603149429479905,2.565206990824712,0.3525380618838331,0.5664136929718951,0.2402853122923667,-0.05613442585011343,0.009357819519228424,0.1111696971275078,1.572271947063673,0.4765695480152811,0.1576115692461954,-0.3291233899601568,0.1031494294799007,-0.2347930091752863,0.4653331946335824,0.3894513356002042,-0.5335108777450837 +3.106584821985636,2.231174798261047,2.182801148777547,2.166060186104839,2.603827467870812,2.576358055052934,0.3333290253196498,0.5219586747253747,0.2632270579701466,-0.04024498094200614,0.004872736668308304,0.1115789535394541,1.606584821985639,0.5311747982610471,0.1828011487775471,-0.3339398138951587,0.1038274678708084,-0.2236419449470634,0.5000538576499597,0.3765371555451539,-0.5485144993327086 +3.138897590913689,2.280243908722091,2.210161619522756,2.162795560796657,2.604259530679158,2.58748848859643,0.3128931312547205,0.4559769388639053,0.2833401642279034,-0.0253229397928792,0.00444409076459211,0.1109408290459207,1.638897590913692,0.5802439087220918,0.2101616195227552,-0.3372044392033418,0.1042595306791552,-0.2125115114035673,0.5367809493228882,0.3640857560622837,-0.5644409637744368 +3.169193176722448,2.32174020525513,2.239309857124163,2.160913857153086,2.604845913331882,2.598541257359479,0.2933056766291184,0.3710562327813879,0.2987187803664048,-0.01284274820559332,0.00790243439275707,0.1101300327439002,1.669193176722453,0.621740205255132,0.2393098571241648,-0.3390861428469107,0.1048459133318816,-0.2014587426405161,0.5751710985013905,0.3528030436359569,-0.5813996416352082 +3.197643052510718,2.353963583991709,2.269706397327022,2.160096532407688,2.605954700811479,2.60952038305703,0.2761901856421417,0.2713166493640295,0.30817764309991,-0.004251163213919363,0.01480950546622994,0.109472450368261,1.697643052510723,0.6539635839917083,0.2697063973270226,-0.3399034675923107,0.1059547008114764,-0.1904796169429678,0.6146861494968784,0.3432878710841559,-0.5993989566527943 +3.224538322167062,2.375668357582127,2.300737641780525,2.159900658226716,2.607908481289479,2.620432393453012,0.2622571715077007,0.1615546540621648,0.3114289788213743,-0.0005240300549929132,0.0247425632065946,0.1086975753493097,1.724538322167065,0.6756683575821268,0.3007376417805264,-0.3400993417732833,0.1079084812894766,-0.1795676065469852,0.6546739515251784,0.3360315266202324,-0.6183408753773358 +3.250194772915798,2.386120516157698,2.331799054590354,2.1598193468439,2.61099609702811,2.631230909220332,0.251302453121218,0.04715698867805408,0.3089053592573633,-0.001941846090357177,0.03747321582178053,0.1070414325500572,1.750194772915802,0.686120516157698,0.331799054590355,-0.3401806531560999,0.1109960970281073,-0.1687690907796658,0.6944575897480944,0.331441639083496,-0.6380320161105486 +3.274864333695392,2.385121613466239,2.362357775541447,2.159355736341926,2.615498572779254,2.641774139531885,0.242298801389834,-0.0665858020281863,0.3015611679259833,-0.008036491118430054,0.05307430771791583,0.1033829263875558,1.774864333695396,0.6851216134662388,0.3623577755414469,-0.3406442636580733,0.1154985727792526,-0.1582258604681128,0.7334152032462484,0.329877648316391,-0.6582081174266013 +3.298671752396628,2.372999034330106,2.391990115374429,2.15809029892144,2.62171494327,2.651798134105376,0.233801343602222,-0.1744720892918102,0.2905853997699072,-0.01776968381362874,0.07180171549648807,0.09643368279549987,1.798671752396633,0.672999034330106,0.39199011537443,-0.3419097010785593,0.1217149432699974,-0.1482018658946218,0.7710397829803204,0.3316812659391356,-0.6785671963198316 +3.32159272041415,2.350585615827409,2.420395065182469,2.155725061347745,2.629970619254391,2.660908829822049,0.2243620606784669,-0.2716435682683553,0.2772125073683404,-0.02980596989471647,0.09386900449250518,0.08493270660724915,1.821592720414154,0.6505856158274086,0.4203950651824694,-0.3442749386522542,0.1299706192543883,-0.1390911701779487,0.8069750333143759,0.3371871285296011,-0.6988069128729345 +3.343476043775523,2.31918275120762,2.44739186721462,2.152098149341424,2.640597645581161,2.668597523605194,0.2129494594150184,-0.3536339891703756,0.2625989970568286,-0.04280402814771171,0.1191511604097213,0.06789099500843561,1.843476043775527,0.6191827512076197,0.4473918672146205,-0.3479018506585752,0.1405976455811584,-0.1314024763948035,0.8410284115488291,0.3467051708345686,-0.7186618085031773 +3.364104227845038,2.280503300913477,2.472908360525596,2.147170536155354,2.653885770840314,2.67428579111622,0.1992860519772796,-0.4166269593526585,0.2477598726952005,-0.05566657192251639,0.1469106660601112,0.04492898522555267,1.864104227845042,0.5805033009134766,0.4729083605255966,-0.3528294638446455,0.1538857708403107,-0.1257142088837781,0.8731644707567732,0.3604757625350791,-0.7379354932049256 +3.383277441096969,2.236585139085601,2.496964313727556,2.140993605456308,2.670015150838209,2.677402446472297,0.1840010307233665,-0.4579550752340159,0.2335173663422249,-0.06769418491664685,0.1756960958654494,0.01660960802993253,1.883277441096973,0.5365851390856008,0.4969643137275571,-0.3590063945436908,0.1700151508382063,-0.1225975535277012,0.9034823143542431,0.3786088706446509,-0.7565220190355867 +3.40089808331367,2.189670035145756,2.519650950920419,2.133669870933754,2.688992254469314,2.677483964996143,0.1685098033440814,-0.476449426935693,0.2204544073647082,-0.07857260768922275,0.2035091116082321,-0.01542515054707571,1.900898083313673,0.4896700351457565,0.5196509509204205,-0.3663301290662448,0.188992254469312,-0.1225160350038547,0.9321814221050839,0.401025867054991,-0.7744111727613558 +3.41703178902341,2.142056066902576,2.541106697959776,2.125320157223898,2.710613114010585,2.674276148133541,0.1545869980625412,-0.4721873565167528,0.2089269143487555,-0.08822044717135274,0.2282191653208003,-0.04868252682027618,1.917031789023414,0.4420560669025767,0.5411066979597785,-0.3746798427761002,0.2106131140105834,-0.1257238518664561,0.9595208863297441,0.427423289364937,-0.7916755019651902 +3.431924853948112,2.095959068473626,2.561492576798407,2.116067008783925,2.734470504332371,2.667804884761433,0.1439632599593931,-0.4465301791169087,0.1990516542237558,-0.09664418914008598,0.2479788438361249,-0.08017919803026315,1.931924853948116,0.3959590684736267,0.5614925767984086,-0.3839329912160738,0.2344705043323694,-0.1321951152385644,0.9857781101756242,0.4572710354456519,-0.808442001298156 +3.445978302304961,2.053399232965966,2.580970352383256,2.106034310897703,2.760001728699959,2.658396754337629,0.1379542829016413,-0.4018874117503266,0.1907425714381709,-0.1037907382029202,0.2615585076831896,-0.1069755299485935,1.945978302304965,0.3533992329659673,0.5809703523832577,-0.3939656891022962,0.260001728699958,-0.1416032456623684,1.011213167252936,0.4898452177251453,-0.8248562879255439 +3.459691758375277,2.016125883582066,2.599687534186768,2.095357562266799,2.786559745673526,2.646645764891946,0.1372086590263909,-0.3412828141111268,0.183810114237368,-0.109483190318698,0.2684991153254127,-0.1267193291836435,1.95969175837528,0.3161258835820667,0.5996875341867701,-0.4046424377331998,0.286559745673524,-0.1533542351080515,1.036044125083245,0.5242856427778452,-0.8410487923999357 +3.473595194473384,1.985580256723382,2.617772426426638,2.084195741400226,2.813486370919648,2.63333788920786,0.1416951814423419,-0.2678456651787664,0.1780745488900493,-0.1134405831562772,0.26901160623274,-0.1379558219488126,1.973595194473388,0.2855802567233834,0.6177724264266391,-0.4158042585997728,0.3134863709196464,-0.1666621107921377,1.060436615260452,0.5596635996300887,-0.8571104325338244 +3.488186054812595,1.962890728881032,2.635339530689774,2.072737597491229,2.840169750721512,2.619355343021823,0.1508192306401799,-0.1846574665493454,0.173454031185981,-0.1153625153504733,0.263772442973487,-0.1402148233036544,1.988186054812598,0.2628907288810324,0.6353395306897746,-0.4272624025087706,0.3401697507215112,-0.1806446569781747,1.084508193785632,0.595047473431938,-0.8730810430828622 +3.503881061943152,1.948883020340669,2.652502796971453,2.061199244659365,2.866079304501954,2.60558098510139,0.1635895230027299,-0.09464807137866235,0.1700265957936972,-0.1150133925792419,0.2536948733465182,-0.1339285403949013,2.003881061943156,0.2488830203406687,0.652502796971453,-0.4388007553406349,0.3660793045019526,-0.194419014898608,1.108345366694852,0.6295586438450838,-0.8889498542807894 +3.520984533310524,1.944095420363323,2.669393161764849,2.049814753013949,2.890779870175777,2.592816554831219,0.1787706772984772,-0.0006578658525981632,0.1680547439355978,-0.112274637953978,0.2397517762125966,-0.1202553514068541,2.020984533310528,0.2440954203633231,0.6693931617648501,-0.4501852469860509,0.390779870175775,-0.2071834451687788,1.13202912479957,0.662415235382346,-0.9046650192818025 +3.539670383663255,1.94878906446136,2.68617647748539,2.038824141945717,2.913931772317697,2.581721246007071,0.1950061168542391,0.09451835096937257,0.1679687690988453,-0.1071426754823245,0.2228694336108297,-0.1008511460972296,2.039670383663259,0.2487890644613605,0.6861764774853902,-0.4611758580542812,0.4139317723176958,-0.2182787539929263,1.155663627265215,0.6929645103717861,-0.9201487063929517 +3.559973957363712,1.962948903327436,2.703068114060747,2.028463889859867,2.935284388261741,2.572772545113123,0.2109112312207032,0.1881377937102394,0.1703035508887438,-0.09968199462868423,0.2038975752397436,-0.07763153074753089,2.059973957363716,0.2629489033274362,0.7030681140607467,-0.4715361101401311,0.4352843882617395,-0.2272274548868742,1.179402250506313,0.7207060440177899,-0.9353148559053417 +3.581792444213112,1.986276441257166,2.720339389587917,2.018963498199515,2.954669301619282,2.566250632107618,0.2250492957969986,0.2774129945060009,0.175676009911228,-0.08994911960398978,0.1836560039502348,-0.05268819373049171,2.081792444213117,0.2862764412571662,0.7203393895879159,-0.4810365018004826,0.4546693016192817,-0.2337493678923782,1.203465297099377,0.7453076653818796,-0.9500875398520995 +3.604887911879067,2.018178909198658,2.738316369806629,2.010549268924076,2.971998470378239,2.562237264747246,0.2362438983351029,0.3591210199579902,0.1844859432131218,-0.07795042150034932,0.1629213338008745,-0.02776387261496147,2.104887911879071,0.3181789091986584,0.7383163698066282,-0.4894507310759222,0.4719984703782382,-0.2377627352527505,1.228144516690476,0.7666154209377741,-0.9644181668455858 +3.62890704337976,2.057744480074973,2.757359199299332,2.003451526827296,2.987265158219044,2.56064334086307,0.2433901789505788,0.4301222833892144,0.1969854102249344,-0.06360393951739095,0.142546364104403,-0.004503097028958646,2.128907043379764,0.3577444800749736,0.7573591992993304,-0.4965484731727022,0.4872651582190438,-0.2393566591369258,1.253790077609848,0.7846563814133668,-0.9783001209710431 +3.653407343051411,2.103734602100417,2.777830342640301,1.997910013814814,3.000549487398219,2.561243513633204,0.245793111177698,0.4870636911247564,0.2129755312115245,-0.04681540856824802,0.1234249999219197,0.0159784733676516,2.153407343051415,0.4037346021004178,0.7778303426402997,-0.5020899861851851,0.5005494873982184,-0.2387564863667929,1.280778872548645,0.799633422863364,-0.9917784122699278 +3.677902304765874,2.154584715562095,2.800046200073847,1.994168745092278,3.012021654852709,2.563727327241244,0.2433138212786473,0.5268406429817145,0.2317058082411223,-0.02762804245587994,0.1064466117846696,0.03312376654701323,2.177902304765877,0.4545847155620956,0.8000462000738467,-0.5058312549077209,0.5120216548527089,-0.2362726727587525,1.309465565262339,0.8119086999862117,-1.004952129754864 +3.70192234578804,2.208439474981598,2.824220574871257,1.992453259502974,3.02193753098569,2.567754958443633,0.2364123935324657,0.5467095258960722,0.2518995067107591,-0.006386178157449179,0.09242784887966146,0.04687790319445148,2.201922345788044,0.5084394749815982,0.8242205748712575,-0.5075467404970243,0.521937530985689,-0.2322450415563636,1.340122902455958,0.8219740832521913,-1.017967504954418 +3.725080023623021,2.263217063373359,2.850414393809024,1.992930699125739,3.030623722341283,2.573005696944964,0.2263092350623096,0.5450915863134024,0.2717793400668904,0.0160464563335136,0.08192558950178538,0.05767970195535828,2.225080023623025,0.5632170633733597,0.8504143938090242,-0.5070693008742591,0.5306237223412813,-0.2269943030550323,1.372882513588606,0.8304086755208283,-1.031000852613795 +3.747132937013551,2.316722197396414,2.878501604584217,1.995657245251508,3.038448773191932,2.579213490281431,0.2146520780628854,0.5213896072449915,0.2894334600725962,0.03831682104986461,0.07520394855917351,0.06614543957076305,2.247132937013555,0.6167221973964147,0.8785016045842186,-0.5043427547484902,0.5384487731919307,-0.2207865097185651,1.407689318546439,0.8378271925031583,-1.044233356796881 +3.768019856201676,2.36677521717289,2.908167808015639,2.000531253237239,3.045788403075705,2.586177622107087,0.2033062104613476,0.4763453933656207,0.3030919563220084,0.05868311200309263,0.07216754739787719,0.07290258717843691,2.26801985620168,0.6667752171728909,0.9081678080156391,-0.4994687467627584,0.5457884030757045,-0.2138223778929081,1.444281874435158,0.84482689369107,-1.057822181796837 +3.78786265535079,2.411345843832152,2.938941544000763,2.007268046220098,3.052992288417451,2.593751816870128,0.1940060446239556,0.4120915551370495,0.3114209845466334,0.07528268307719752,0.072415816788882,0.07838850414369343,2.287862655350793,0.7113458438321527,0.9389415440007626,-0.4927319537798999,0.5529922884174495,-0.206248183129868,1.482204409621363,0.8519428421199366,-1.071874283735903 +3.806932350179287,2.448668911866845,2.970250286702057,2.015407788072133,3.060362029708963,2.601818137278548,0.1879843090521753,0.3318980824496621,0.3137371447511559,0.08651946865312075,0.0753994270962017,0.08273773455051633,2.306932350179291,0.7486689118668458,0.9702502867020574,-0.4845922119278646,0.5603620297089617,-0.1981818627214486,1.520848181157853,0.8596202647713302,-1.086428804548481 +3.825587665929479,2.477329125904433,3.001486937615912,2.024358257651383,3.068146090471295,2.610256480008174,0.1857451076928057,0.2394889994404544,0.3100240737615217,0.09138532262005707,0.08063063641866682,0.08578226421221602,2.325587665929483,0.777329125904434,1.001486937615912,-0.4756417423486139,0.5681460904712939,-0.1897435199918223,1.559512758571721,0.8682086245778399,-1.101451496172539 +3.844201327738578,2.496301240764071,3.032070956244395,2.033462805158774,3.076552376212145,2.618919079824009,0.187062724096926,0.1388550470338867,0.3008053802221378,0.08962039929962257,0.08781155143378429,0.08715133443838688,2.344201327738582,0.7963012407640714,1.032070956244394,-0.466537194841223,0.5765523762121441,-0.1810809201759867,1.597474899264083,0.8779762756676655,-1.116841395713731 +3.863091201635092,2.504962015175099,3.061493613222474,2.042077039571037,3.08577184030238,2.627615258016746,0.1910896532038314,0.03397699098708482,0.2869627322806794,0.08171797330630978,0.09690800792896853,0.08637361706882946,2.363091201635096,0.8049620151751004,1.061493613222473,-0.4579229604289598,0.5857718403023793,-0.1723847419832495,1.63405373167103,0.8891394718191125,-1.132447378599717 +3.882467121060985,2.503084348095468,3.08934492067001,2.049638540196481,3.096004727102036,2.636105655207137,0.1965441295807266,-0.0712742177592135,0.2695654747429099,0.06879421824180874,0.1081324254070599,0.08295230786774055,2.382467121060989,0.8030843480954697,1.089344920670009,-0.4503614598035158,0.5960047271020349,-0.1638943447928591,1.668665058730921,0.9018964860167683,-1.14809099132044 +3.902398374638643,2.490825225957214,3.115325873725968,2.05571853595876,3.107480842659266,2.644102062480252,0.2019695850505727,-0.1730132047913718,0.2497369113732713,0.05233678982178911,0.1218180671578575,0.07643811736761445,2.402398374638647,0.7908252259572156,1.115325873725968,-0.4442814640412361,0.6074808426592649,-0.155897937519744,1.700861729803956,0.9164570119299981,-1.163591980990494 +3.922806241926436,2.46872119174339,3.139250756303115,2.060047276337606,3.120464713200231,2.651272129847185,0.2058392389742741,-0.2675620789404313,0.2286336679149487,0.03404798627347165,0.138335086955884,0.06635389617729015,2.422806241926439,0.7687211917433918,1.139250756303116,-0.4399527236623909,0.6204647132002306,-0.1487278701528105,1.730359546177311,0.9330582445707009,-1.178793546751582 +3.943474677112617,2.437679705470629,3.161046879651825,2.062517426839045,3.135245162871534,2.657243931305006,0.2070025507247548,-0.3511733259857545,0.2073458955106781,0.01540744612870968,0.1577438731654892,0.05242273489851117,2.443474677112621,0.7376797054706308,1.161046879651825,-0.4374825731609508,0.6352451628715332,-0.1427560686949888,1.757049669362539,0.9519620426232335,-1.193584452743808 +3.964088980018234,2.398972247792485,3.180749974628293,2.063159457978717,3.152101250469233,2.661622418112469,0.2046746775335679,-0.4202922856660727,0.1869463247268527,-0.002343301946450316,0.1797565368701295,0.03448721163074736,2.464088980018238,0.6989722477924872,1.180749974628293,-0.4368405420212793,0.6521012504692316,-0.1383775818875277,1.780997253593225,0.97343082685903,-1.207915509284057 +3.98428877563285,2.354210438442071,3.198497885568023,2.062104262690988,3.171255596029766,2.664014821819411,0.1987527348263413,-0.4717843722886824,0.1683893260687256,-0.01844952289151985,0.2035215910217364,0.01277683333065334,2.484288775632854,0.6542104384420737,1.198497885568023,-0.4378957373090087,0.6712555960297663,-0.1359851781805851,1.802426541621401,0.9976854044859635,-1.221807270249968 +4.003736946969026,2.305293360732214,3.214516460510206,2.059535745748209,3.192819557751246,2.664074471869646,0.1897953931755194,-0.5030442576160639,0.1524711722912106,-0.0325941037455514,0.2276840911771504,-0.01199950739305554,2.50373694696903,0.605293360732216,1.214516460510205,-0.4404642542517864,0.6928195577512463,-0.1359255281303501,1.821692089387695,1.024852294484122,-1.235346720415111 +4.022187184922084,2.254328207989068,3.229097441882701,2.055648478258567,3.216747791448844,2.661556236919863,0.1790353582119577,-0.5125572637583852,0.1396996303370055,-0.04485592116682949,0.2505035636484174,-0.03851561137427211,2.522187184922088,0.5543282079890698,1.229097441882699,-0.4443515217414286,0.716747791448844,-0.1384437630801341,1.839237830307045,1.054912786127268,-1.248672045357258 +4.039539058759098,2.203516926120701,3.242567180529252,2.05061802251816,3.242814466038717,2.656375359981078,0.1681106856469499,-0.4999537511916018,0.1302535637050621,-0.05550440593594896,0.2701630881122797,-0.06491268149013558,2.539539058759102,0.5035169261207024,1.242567180529251,-0.4493819774818356,0.7428144660387178,-0.1436246400189183,1.855548214714899,1.087666562036605,-1.261947522688867 +4.055863860497521,2.155033316798471,3.255252544720628,2.044591235387763,3.270621510148392,2.648651691667202,0.1587805805521741,-0.466315101409026,0.123954296087361,-0.06482229984352994,0.2850821346934567,-0.08899220496013499,2.555863860497525,0.455033316798474,1.255252544720627,-0.4554087646122322,0.7706215101483929,-0.1513483083327932,1.871098547377143,1.122720166487966,-1.275333357556363 +4.071397419871865,2.110895723660532,3.267449978544909,2.037694071463495,3.29963673875994,2.638726152446815,0.1525059000166246,-0.4135438726808173,0.1204031949713466,-0.07291910984852541,0.2941984777052828,-0.1086054400711803,2.571397419871868,0.4108957236605344,1.267449978544908,-0.4623059285365003,0.7996367387599407,-0.1612738475531804,1.886312949384033,1.159503663286492,-1.288957079998415 +4.086499421676609,2.072875155066856,3.279407641823645,2.03005116446676,3.329252395951031,2.627139535362423,0.150257704032751,-0.3445283424043687,0.1190701136431566,-0.07970498057150149,0.2970712027603178,-0.1219671588576669,2.586499421676612,0.3728751550668586,1.279407641823644,-0.4699488355332359,0.8292523959510311,-0.1728604646375737,1.901537428214053,1.197312104145266,-1.302892506944902 +4.101594296385295,2.042429166095487,3.291322188097341,2.021805919044992,3.358847486290501,2.614579313760438,0.1523588559838559,-0.2626133169739666,0.1194756032341028,-0.08490955816383974,0.2938568942364958,-0.1279587648626034,2.601594296385298,0.3424291660954878,1.291322188097339,-0.4781940809550049,0.8588474862905007,-0.1854206862395593,1.917032080919443,1.235362328045209,-1.317149938318213 +4.11710631106508,2.020671767662394,3.30335064729729,2.013134044462466,3.387840801252116,2.601804977159216,0.1584991664568214,-0.1712930989409336,0.1213208252146422,-0.08817514515681295,0.2851645789703989,-0.1262650995084185,2.617106311065081,0.3206717676623949,1.303350647297287,-0.4868659555375323,0.8878408012521152,-0.1981950228407828,1.932982114082289,1.272854608795853,-1.331677969413676 +4.133401525605214,2.008368838378795,3.315632468468392,2.004247175947982,3.415726920263388,2.589567436791701,0.167848921833276,-0.07402595833858051,0.1245579373740443,-0.08915478567869566,0.2718718116864356,-0.1173601429031501,2.633401525605214,0.3083688383787965,1.31563246846839,-0.4957528240520148,0.9157269202633866,-0.2104325632082968,1.949523348726456,1.309030294079407,-1.346374820600433 +4.150743599368607,2.005947383400791,3.328315259103847,1.995388363976549,3.442094664719485,2.578536084566435,0.179216337585993,0.02578203259991556,0.1293933925555549,-0.08757558529719993,0.2549639229652754,-0.10237402947579,2.650743599368609,0.3059473834007921,1.328315259103845,-0.5046116360234474,0.9420946647194842,-0.2214639154335633,1.966775359592528,1.343220191057941,-1.361105933730344 +4.169265524653733,2.013503612797058,3.34157779075354,1.986823969478043,3.466632358913058,2.569242788862552,0.1912084370403243,0.124952604068948,0.1362287397081045,-0.08324219134099195,0.2354323394306954,-0.08288475284094156,2.669265524653735,0.3135036127970594,1.341577790753539,-0.5131760305219547,0.9666323589130569,-0.2307572111374465,1.984874510946584,1.374881810613992,-1.375724678258532 +4.188956905238912,2.030810473169094,3.355644461651835,1.978836791683299,3.489126088862305,2.562048145731739,0.20234751559301,0.2202875442798587,0.1455688817420957,-0.07600175618990772,0.2142498616750072,-0.06072913040223564,2.688956905238913,0.3308104731690958,1.355644461651833,-0.5211632083166975,0.9891260888623042,-0.2379518542682593,2.003999509257336,1.40362590367774,-1.39009368673493 +4.209663940165209,2.057317124933638,3.370787779278382,1.971723335617445,3.509457235967408,2.557129074630046,0.2112914003263527,0.3083625655001147,0.1578302112253925,-0.06574043030133023,0.1923422689488478,-0.03768062554410785,2.709663940165209,0.3573171249336403,1.370787779278381,-0.5282766643825514,1.009457235967408,-0.2428709253699521,2.024383333727757,1.429233233439459,-1.404104875344341 +4.231106045453381,2.092136315717746,3.387313596794037,1.965792480217263,3.527600618857807,2.554491033031606,0.2168975674109248,0.3859550208733707,0.1732180620885398,-0.05233811504505712,0.1706467500532932,-0.01533327384281924,2.731106045453382,0.3921363157177473,1.387313596794036,-0.5342075197827334,1.027600618857807,-0.2455089669683918,2.046307054485994,1.451661727338853,-1.417696460145755 +4.252906788404806,2.134046446402236,3.405529817944287,1.961362128220061,3.543624854187967,2.553998152981262,0.2183915568628345,0.4496457383434783,0.1915597709443029,-0.03573835445646562,0.1501104272630359,0.005072709654020296,2.752906788404807,0.4340464464022384,1.405529817944286,-0.5386378717799359,1.043624854187966,-0.2460018470187359,2.070073898697054,1.471043740144368,-1.43086481269621 +4.274640604429979,2.181498364333359,3.425700763039616,1.958746383975691,3.557691273828668,2.555417002732525,0.2155704875000399,0.4962736840850481,0.2121536989928651,-0.01609272504688084,0.1316378194648663,0.02282104285666631,2.774640604429979,0.4814983643333607,1.425700763039616,-0.5412536160243058,1.057691273828668,-0.2445829972674737,2.095965539196463,1.487671582448404,-1.443668775493195 +4.295893553206928,2.232650543251788,3.447993672282453,1.958227392545702,3.57004666538178,2.558467832457725,0.2089100276482159,0.5232873633527287,0.2337496813418919,0.006069818060728193,0.116003422131741,0.03772024692330385,2.795893553206928,0.5326505432517902,1.447993672282453,-0.5417726074542948,1.07004666538178,-0.2415321675422736,2.124187048892203,1.501970138680726,-1.456224322396915 diff --git a/BAB4/bab4.tex b/BAB4/bab4.tex index bca1440..081cf14 100644 --- a/BAB4/bab4.tex +++ b/BAB4/bab4.tex @@ -17,12 +17,6 @@ Metode HIL, banyak digunakan oleh peneliti dalam proses pengembangan dengan pert Seperti yang digunakan oleh~\kutip{Irwanto2018}, mengembangkan kendali UAV menggunakan HIL; dan \kutip{QUESADA2019275}, mengembangkan prangkat pankreas buatan yang digunakan untuk mengendalikan kadar gula pada pengidap diabetes. -\begin{figure} -\centering - \input{BAB4/img/Diagram_hil_controller.tex} - \caption{HIL Kendali Multi-Robot.} - \label{fig:hil_graph_1} -\end{figure} Pada penelitian ini akan digunakan \textit{microcontroller}(MCU) STM32F466 sebagai prangkat kendalinya. MCU tersebut ber-arsitektur ARM Cortex-M4 dengan clock 180MHz, menampung ukuran program sampai 256K didalam memori Flash, serta fitur komunikasi standart MCU dengan lengkap. @@ -39,15 +33,22 @@ Sedangkan komunikasi dengan PC akan mempresentasikan aktuator dan sensor untuk s kendali. PC akan merekam setiap keluaran dari model dan masukan dari setiap prangkat kendali sebagai tampilan pergerakan robotnya. -\todo{ - Tambahkan subsection mengenai - \begin{itemize} - %% \item pengembangan data/akuisisi data ? - % \item skenario pengujian/simulasi? (lebih ke teknis seperti lapangan environtment dll) - % \item skenario Analisa hasil - \item jadwal penelitian - \end{itemize} -} +\begin{figure} +\centering + \input{BAB4/img/Diagram_hil_controller.tex} + \caption{HIL Kendali Multi-Robot.} + \label{fig:hil_graph_1} +\end{figure} + +% \todo{ +% Tambahkan subsection mengenai +% \begin{itemize} +% %% \item pengembangan data/akuisisi data ? +% % \item skenario pengujian/simulasi? (lebih ke teknis seperti lapangan environtment dll) +% % \item skenario Analisa hasil +% \item jadwal penelitian +% \end{itemize} +% } \section{Strategi Kendali Multi Robot} @@ -56,7 +57,7 @@ Kendali tingkat bawah akan membahas mengenai kendali robot secara individu, seda \subsection{Kendali Robot} Pada kendali robot akan dibahas mengenai analisis kendali robot menggunakan -state-space feedback. Kendali robot ini adalah kendali tahap akhir dari kendali ke- +state-space feedback. Kendali robot ini adalah kendali tingkat bawah dari kendali ke- seluruhan. Dapat diperhatikan pada persamaan~\eqref{eq:ss-formasi}, sebagai kendali tahap awal, bahwa state yang digunakan adalah koordinat. Maka koordinat tersebut akan men- jadi set point bagi robot. Variable yang dikendalikan pada kendali robot adalah @@ -313,7 +314,8 @@ Lalu robot $A$ berjalan secara random kesegala arah dengan jarak $l_a$. Disimpan kembali nilai jara $d_a$, atau dinotasikan dengan $d_a[k+1]$. Setalah itu dapat ditentukan sudut $\alpha[k+1]$ \begin{align} - \alpha[k+1] = cos^{-1}\Bigg[ \frac{l_a^2 + d[k+1]^2 -d_a[k]^2}{2d_a[k+1]l_a} \Bigg] + \alpha[k+1] = cos^{-1}\Bigg[ \frac{l_a^2 + d_a[k+1]^2 -d_a[k]^2}{2d_a[k+1]l_a} \Bigg] + \label{eq:algo_getAngle} \end{align} Sebelum $\alpha[k+1]$ digunakan, jarak $d_a[k+1]$ dan $d_a[k]$ berpengaruh dalam penentuan koordinat. Sehingga diperlukan sedikit algoritma @@ -345,13 +347,44 @@ mengkalkulasi koordinat robot $B$ relatif terhadap robot $A$ Dalam strategi ini akan terjadi ketidak akuratan dalam pengukuran apabila target ukur berada pada sudut $90^\circ$. Akan tetapi, \kutip{Cao2007} sudah menjelaskan mengenai kriteria posisi agent ketika dalam kondisi inisial. -Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global pada kondisi inisial. +Yaitu semua agent tidak berada pada kondisi sejajar secara koordinat global. -\todo{ buat psudo code dari algoritma ini, sehingga dapat di ambil referensi ke bab lain} \begin{algorithm} \DontPrintSemicolon - TODO: make your algo here ! - \label{algo:solution_purpose} + \KwInput{ + Integer $l_a>0$, + $\tetangga_i=getConnectionRobot()$, } + \KwOutput{$x_i^j$} + + \tcc{inisialisasi} + $dir = getRandomDirection()$\; + $d_{before} = getDistanceFromSensor(\tetangga_i)$\; + $r = \begin{bmatrix} + l_a \cos(rand(0,360)) \\ + l_a \sin(rand(0,360)) + \end{bmatrix}$\; + + \tcc{Menjalankan robot hingga mencapai setpoint} + \While{isSetpointReached()}{ + $runRobotToSetpoint(r)$\; + } + + \tcc{Mengambil jarak setelah robot mencapai setpoint} + $d_{after} = getDistanceFromSensor(\tetangga_i)$\; + + \tcc{Mengkalkulasi sudut} + $ang = cos^{-1}\Bigg[ \frac{l_a^2 + d_{after}^2 -d_{before}^2}{2d_{before}l_a} \Bigg]$\; + \If{$d_{before}u0EXKtyT}eyS)7JoB4FUIQyJWKb(L6$^SXOtR8c@@ti%+e#mc&>qU|O*8FJZ{#e`P z(GSI9`?2>A^X0_dvU+;hxuxMb^!M65)m=+>)9m)+_dnwI584Q_y3ZH4 zli4ngdpFbaML=c%z`YD9WlN${&A|wqqstb}OTEswhH$6r!bG-{&u|fe);vDyPMi$Hru?X;YoMZZI_4M`u2ToUrhOS|sI{$KWmoHXlKb-wE|9bvngg6sqGX8M>ceeSqw%6yL<`m)1 z>w1{K>?xZezi@wZ&dm0E*wrFUAlKL17z?+Ie0Do6zTpT(I7~4!LY_%}0XoyxbVMzt z#r@UId@TlX}5qu##WxNpl8Z!pC7uve2Q zG@q^NfavFEpYr?3^vQjme6~D4^IyK#kmaxbshEB)R+F22oehrv1Uph$`<-V)E+%%WZUBX#20qj(k*^(E?yOMT$<8fFX< z@eMsVPn`<3quh}rB(9&hY4Zp02N5aBKRDo1r@gr$zX+qphn=du)jus z9l0c_{~}wlSR$=NTHQ(OZ;7#nWGq%`1(Bg*DeF2AWtrYVA(I)yENOF88e#^89FnMz zxP}q3%t~pAvgkT$)-}W;TV`D$IbMmwLUGv7DeXFJRFZ64Q3k37>cnD!)2_cvW12KJ z!~JCTxU9)!^4=ZRf@Q#^k3krrV~V>odsGRejUEY}0T@L>Wn|YzsrzD;A2J}ulbcmk zi#WgwY-12R8(#?&j7!P20hC-uw1|VD`A)3X2JyGPNJt*eT9C zzoa9LzJJW8PYs42=K+dZo(m7cgZTw<_N#A-K`Wn0qy2PIR&5p!#KJO>O)(2C?N1J8isw-=fYcXIp@Z+P0{v zCCHGqV-x+vVgQz{U>FG_AA#R;Ek$i+8mhlAym?K|f7N@8A96!y~4& zC~ed*EJ--EY!agbQVS ztA8tr%#af5*15j6YaFy~z6C{zBpeduTR2kH0H+^B4UvXeW4odOl?INaqJdyV1Iyc4 zDjFEFXh3D!7{~GCeJGiV1_Boi?28|(0F?t)%Q8)_go)b}>6oiT;zEyvreZPU8n>zHm$S1;oOgFrCUvkKEAi;qu#XL#8J`5D0W{9LGNAc?R#BC z8GaWks>R2t9YB_XZp_FTN>X|;w}7$5ylItt?6*FeFNyhE6?5GynYi`a5L(RlL}#FP zo%h-tgzm#x+B$dAmktOjj2`(>Emrse3=Cw<;7sEhYX#kMZT+nXc<@$h`{{%vz5&En z^(yYuk!u0=i7!8$;3^IMR%a(a%@$-Qi31)m*(0` zON*5J))@Cl5r@P|BydPnvuEhqSJA~C#};CZX^>6I=SR-x|0QMfhdlwyYX!>YBcyEp zKqCM^gs4gL^JQ2DLfW{+r^;&Xh{GsNHEC2S#tB$j7QOhiX_>Wks)m{JR?sQ@``*I8 zvQJQSawfH6*trKj0Dzj3JWnN{Ix}P0)xySlkG6%5WJ?1nTDF5 z;DHO!yG$NTW-a)>Q>h_lnfx~-=MQR)qcvm)Y}1Jg>BNP`&6t$aDJrKBM=nUK%8Zwe zd}we9M5nP%sjO&=r-Zv!7&{{h}PKP~vWR6|k z%pq0PQ&Lrfs;b7VnN-yY9<~QIz|cf%jh~AobX4Dukg!5>_WYPz6lwEgR%DD9%&q%@=I=z}z zL*E&)6VNE*6bcwvr!;NNWM7}4eJyx^)QWYU`2|p|mWi8MF}4H})SqZF#sDus(`DqN ztb4Dp<$-F|iE5Qanr!W4YjrAv%w)C!4NW)G{ru7MC*@Q@nDJiC;n37_8Yd(LFvkw%IzCg4h zZgdj32NKo_icSi;M1L7Ip%!3;DW8^n{OD(@I1YXsnNa9QXjq9Jn1&X|o~&B8#@fLR!l>sv;n1y?NpB-+nNGcV z#Z%LHpUJ91z0N7C!i1QAuB~^UP{r-sc1U2o>%=)tMJ8D;9XTVq9u#xb1oYZE(x>epGD zbyMgy5Sp&zVUwW0SxQ$u&Qr$MnrMgpdmD5)8Qj^Q-8*>OWe=Z`WTpTuou@3A6okBa z-s77cbC8ldLne2cHfE}FIKlEON2G^hQ*=_C@2TjubLBxuNifQ(5}R6xTHPGQJF zQdGmXVAXHTq^M4?91BAfuq(?gsS7Dk$1N09SR$c8Ju36fmXcj`9W@;lVv(sNE0tuW z5eM&V(rc*}1RY)nsU&Ndt}7HFMzSgmWuX+rp2_Nw9CJuI%ig*FvWoOutxjRaK~gCL zk7cdhnaR99Mf19Mw*$8{=>om};4!-$I32Q60-+Kka_WAFvF987kZmT-z#wqhmIFG_A4WPG^F1>+DvIdn-rS2H$Jsr zH5~i=dcX0YcX^C|x#eO0vzRUC%|{^Ybxqp)n!UZvE}x^;<2>Hy>;k>(ch(+?SXOEC z422E=TIYSX^gp}6HTj^2Vp;pW-Fi>7nPhjEs~b~E7KEupW&k<)KgMu~&r~AQy22A2 zh^d63fdSlK55QER7Mz$WF;!x!x5`v9liGT<;(S*~OcjQy%Ac$`SzY5Gk_U)`7%R}9 z^u{&BP02_r%Tq0tG9zS};Kr86ULZsch14%HQd}s-LIT7>OrKE5zCcRUc^0yFQx+YW z&Y=oAu$WC*4oM^U`gX3FrX(q7Cni(}V+2H=XVJLMTA>6cL|Gfub)sMzXz^yFp7w2v zdP6;g6ahqC+VXe=RB;={pOJt@*x+alS#g`{AyPd=^JYx-5GOdrLSl$*rQ$KXaaXG`w!knTnl8~HfVo53`qnR^26GBBT7;ao-BrTPsvWHai7E&2E`fUP?M=7V4 za0>U}5c5&ocVW@efE2EoM+R{U0jAGaiy}>|7}AJt+?*-E^p>OHO%_1!Qzob~UpQK( z<{cKbOa?PB9!NUjB31RlI=_-vqsWer9_P!u!#=mz>a0-1 z@G%77W6q?duhc{~17DDUNgzJvy1cd$^a=6tmwcM&cmO)C-jz zH0N>0Ha-J!u10H@MhThfN|S18+KNdtouX#K01anM0ryt1i8>X14T(8rG+MhhLYSnR pl5T3;j7d4Ys&Xo?r}KfL*2GRwYqztbYS8M${XR(SRP?0UVv{r>#?%a<=?e!t4r z%Yw{jcVv~H|2Lb@vvarT{OrS<(dg+7CfPc}*Q!^u^}3i{-mUY|BD=}opIv5Ge@=_# z-C}Z9uBz5uE$7Q(^f{ZqKl|>J|2aFaZgakIpFQ`!&8GQfk!OE4- zynGOx7|ywS7}6R`HE8zmOpYgaIV`#Pu;hwi$<0<5x65K(WV7`y$;;((o@a}a>bkhg zyVF@+WplU1_OaE2i%+xldU@dUf6C^oHVl+6f0MRjC3jlPCi?|x-|E z9#?ty`$%{HJX_5!=Xu?ypDotGZhs%<_S@f%*WQnB@3|YwyEU4JiOFRyk2ep~yV)dP z9oS}@YZ~r!T`fC5^whW4wS6$d7-% zUjC6^tt)1KnJ>RwU1!C5^ltQV`StA432`pSZ1Vo>pLFwSZS&{u<`m)13SM_LJDvBTZy3FSn@_j*)CJo#)>u8C_B0R*ktP)-rc3{dG6W`8>b5xLOvA zU8f;5lb)2w8pNPUDpK`FVL)%<|%? zZax0P?CkB@Z^+QiALvJPQxn!I3Pr3C_ALX#wj9vo$!%K6J)sn({RlZ9bh^07>%ZQ7 zad%VWKJ0TK>TF<>9Y23GTHUP}>ubdXC)_BGw!|80BU&+}Bq~aR+OYs4w9#*w_SZ43 zSP&*#S~1}AiKjM#6^2u!kK;%wOOC>Kxi z!Icr?y^WY4$^fAALBX<^M(lx-ARvK_pHSwstGXXjr3|Z2R@q{;t3v*g&p+qu*;V#h zl}P<&d<{y3Mo=P687BXcw&mjSqlg2-7DhLTq??j%O1dfOrona7;ou(vq_B-q0{vY< zjf|Ya79}MvjU01BIAiYG`s>Ik?EXx)3;wx&n!=VgMgJ-K?`{s?{q16v!v7(2*e>kn z!n|dM2(41|KTHZ+_O)Wph8QV*iPG|zbyy@sOG3can4=Dsz6uLGY85sFhpjAFGFZuA zbvIc5NY-jdYeh??0E8);3a$fLE7dz6WPG_3l{r(I$IJ&A7x+|^nC4?(1Y1PWVBvMt zf@=sSTNYe-in)>r3uVH7P8HW-6Oxu#5M_>9fKFB{aK-i4*&?s8V!F2#Q!W%Syi6o3 z6Vr-0N}vUr63xMk(X?3ZcMO0L-6&rz7mJI0G4ULA;t(XSWyE%VPE)=PPIPz07UR@f}UZX-lm4MefA)i^EP|6O*-i zT?4O{GInsO@)Hu28J%3YXLIFP7f+5?Z#J86h9HjI;fRg(pI6jQaLU#nuA+`B;y?$M zQ3X+o@-a#>Hw-BYBTVFot%=QgpNwH+2ri{OM!?3Bls}u4(?0Rqb4fW15UFWno!Ml> zav|dyXrS64C8N2-Sd9th6E%u+8#^)6#Ap3dsms`lb@d#QoWIz_%t;D*|Ctw`8Zo6i zX`^Of9VL!~nrP2C;NT`>z)O3sV#|3Gn>9<_63Q#nFCoeK>yq(~u3bPSl#$df5UgEbHC?23 zfg#%k6fpv$dq${KGPMf?ZWq{-I%d76jRdyW%d$YOgo!%|$xK-`q)g~BQr6P==_A`U z_1ZFb+{9%4QicJvB35bGyA(6hRr0$#R!Z_h`+K2VjwC%MbdhVLcx0R(x3sSzMG0;EQO)CkZu_t<-e!Kq^>;<_rb z#q{Km5@o8)JxV)9JW^w-+@qDTYl%&K)=!yxj8dh8q}AHNC9WA}JBGP%cn>!bLRl)qFdmwhUU+bV*G zmhyec855v8=mGnnJ0MHj*iQMr0YNO2V-L?_g$G@rT*l1JH1b$0=vHa#mjZ`_ORepv z6O#A_5MSui*S9UcFr@g})5)zO&^P0|sZ~Q1r{<-lR-O1BNUa7@d`WztIkgJURNv?Q z+j0?9#sb#9HN-te#1bt_O59PxhCPGVzJ)F>1X~Cm6M#)B=SME*|1A~shb-pPQY&CF zA9yO}4>bGFS%8)_-zdf?u|nFot*3aLAySgcIh)ug#&E-MOQUz5HgQ?oq-vxomvWtw zzppL%EBfSxc=Ysd)3FLXK%GbVVJe)QkScDSr=-M*wT59Z=N<#dY5Da0uY z3RGF}(vi;zejo(?kcEe9AgpVT-0M|M|L-nT!>&w9>J*if3;^h8tSX0msbFyd9UmxB zBNbK231v!TQjMu6Fgs!_lLr?cvZGh5>1#92BzYuro!A1PGBqWT%HPsuP2S4nAoBFMo9 zile>&up;ug2h0-^)(Xr{3cLh=8MUAmfWuTzOEG@*v(i(HKWOrsmudlLo;JYl1jeTv_hfa(kD6&72+y`<-bUh~KC;;?Y zKKJ-#eS|V0UA@@AjrR)NATk1alcehaKvynqf^u6c8`nx3%|$8cR${qR%hGBa5G?+I zCiQ&QR^1eM4FskuI&2d3mn!IcjPhYQhv!1H6D9yox>YD{iZF-@6!ndgB#MK@)0733 z0x54olD}A(gH+rZvbfW4g@DuqN3smV|EH4 z2T4&4JAzfeF_WS?!FDVN(ZH@Ov#2hl03EkcR6$7z4CrxLZ?;(M!t1Ezs1Qu1maNp0 zl^_mYRcErP)B+-tah_VThMBqo7GQ2zD$UDADIOVe;C#>;^A7{JKNIG1aT0=*=}LNde1)yLp0^S5(bfLZY~~^B_&}w zAYL!`MHTI@qt5JwV6vSVla(3k*VKEY8S6(Z*_9)pbLP`!8Y+)o#&BMzqP`q2&1)-T zyx`PL@8KHv#YyOk!QRfAJW}GIVf^IU+H}-c(jt2{W6IXNDJL5%&`|IxX>(fvX8Lmx6?QCWQquKDec~6Qpp8gR@sbfhtC#DXkrjDhxo1WUQ z8jihxeb{&~xI8Aj+zK#%%NMI<^9cxhBa`-_X76CL%jc*KIFAoGyO7=uJ8REGESt0$ z0igpBtqVR|hM!%?HHDyuQd#?h-TFYZ*~so#u8x+<1hG_t7!C}>A7dDgZ>a>)x}ql- zM@uCP;sr2&J%FVO#c;Az$x7DVf2gIBYz&kL&dMSl1s*#UQp;qdyim%81jvP`KBiIk{t7P9wD7M_^S zc$IXZF=w(IB@NuSw=+#O)=0T_VuEcjM)1gR7L9z?3MHpPl&wKs0RX$9* z4ebz;1rT*<%hM4+#hnv>pu`cu2F6b)D`rzWL~4g<-i)ao;sik~BoBeM1Jr|EQ579+ z2g)*w1Vr1h&P^|OA~UCewsU_`{4q=O1Op@P)NanCtWI#!PKp4i?ZV>38zr=}KhqYq zU4Wy6lW)peMCt{J6L8F5N5)m}&t#gmOVf6PPunHiIOMDyVsB$BDI+vZM}(h_*prW! z5CF`!{PJiIbJ7}eULZs}Vu4u?Tdh6hJdSAUs2#|SOeP@tmz$-NA|$*t4A?C!WdJaF z$*K(-xm%cF_C+Ek=bBiQN=XrNh7loD)P~_kCL?L7B$Yj+lC_Y^xY=(N03D?SEn%4M zfg#{g+;?HYB0dV!)Kli-6cS9IFN!]{label}{start} - Create a gantt milestone using a diamond +% usage: \ganttmilestonecon[color=]{label}{start} - Create a gantt milestone using a diamond and conect with the previuos itemg +% fixed the issue when \ganttbarcon or \ganttmilestonecon connect in decimal positions +% +% Update 15.03.2011, Version 1.2 +% +% changes from v1.1: +% px sizes has ben changed ot pt due to problems with some LaTeX distributions (thanks to Michael Kubovy and Loïc Le Guyader!) +% Correction of the text aligned in \titleelement (thanks to Josh Hykes!) +% \unitlength was changed to \ganttunitlength (thanks to Alan Munn!) +% \RequirePackage was added (thanks to Alan Munn!) +% +% Update 05.08.2010, Version 1.1 +% +% changes from v1.0: +% \ganttbar and \ganttbarcon have been extended with the xkeyval syntax +% The pattern of the bar is now independent of the color and can be set by +% e.g. \ganttbar[pattern=horizontal lines,color=blue]{...}{1}{1} +% This syntax is incompatible with the previous ones! +% replace \ganttbar[] with \ganttbar[pattern=] + +\RequirePackage{tikz,pgffor,xkeyval,ifthen,calc,forloop} + +\usetikzlibrary{patterns} +\usetikzlibrary{arrows} + +\newcounter{ganttnum} +\newcounter{ganttwidth} + +\newlength{\ganttlastx} +\setlength{\ganttlastx}{0cm} + +\newlength{\nextganttlastx} + +\newlength{\gantttmpa} +\newlength{\gantttmpb} +\newlength{\ganttunitlength} + +\setlength{\ganttunitlength}{1cm} + +\newlength{\titleunitlength} +\setlength{\titleunitlength}{1cm} + +\newcounter{gantttitlenum} + +\define@key{ganttx}{xunitlength}{% + \setlength{\ganttunitlength}{#1} +} +\define@boolkey{ganttx}{drawledgerline}{} + +\define@key{ganttx}{fontsize}{\def\ganttfontsize{#1}} +\define@key{ganttx}{titlefontsize}{\def\gantttitlefontsize{#1}} + +\presetkeys{ganttx}{drawledgerline=false,xunitlength=1cm,titlefontsize=\small,fontsize=\normalsize}{} + +\define@key{ganttbarx}{pattern}{\def\ganttbarpattern{#1}} +\define@key{ganttbarx}{color}{\def\ganttbarcolor{#1}} + +\presetkeys{ganttbarx}{pattern=north west lines,color=black}{} + + +% The gantt environment draws the canvas of a gantt figure (realized as tikzpicture) +% The usage is \begin{gantt}[...]{no of Tasks to plot}{no of time slots} +% The optional argument [...] can be filled in a key=value syntax, using one or more of the following keys: +% +% xunitlength - length of one time slot (default: 1 cm) +% fontsize - fontsize of labels (default: \normalsize) +% titlefontsize - fontsize of title section (default: \small) +% drawledgerline - Switch to enable/disable the drawing of horizontal ledger lines (default value: false) + +\newenvironment{gantt}[3][]{% + \begin{tikzpicture}[draw=black, yscale=.7,xscale=1] + \tikzstyle{time}=[coordinate] + \setkeys{ganttx}{#1}{% + \setcounter{ganttwidth}{#3} + + \setcounter{ganttnum}{0} + \newcount\ganttx + \newcount\ganttheight + \ganttheight=#2 %define the number of Y ticks + \advance\ganttheight by 1 + + \def\ganttxstringtop{}; + \def\ganttxstringbottom{}; + + \ganttx=0 + \draw (0,0.5) node[above] {\ganttxstringtop} -- (0,1.4-\ganttheight) node[below] {\ganttxstringbottom}; + \draw (\value{ganttwidth}*\ganttunitlength,0.5) node[above] {\ganttxstringtop} -- (\value{ganttwidth}*\ganttunitlength,1.4-\ganttheight) node[below] {\ganttxstringbottom}; + + %draw grid + \foreach \t in {1,2,...,\value{ganttwidth}}{ + \ganttx=1 + \multiply\ganttx by \t + + \draw[dotted] (\ganttunitlength*\t,-0.5) node[above] {\ganttxstringtop} -- (\ganttunitlength*\t,1.4-\ganttheight) node[below] {\ganttxstringbottom}; + } + %draw x axis + \draw[] (0,-#2+0.4) -- (\value{ganttwidth}*\ganttunitlength,-#2+0.4); +} +}{\end{tikzpicture}} + + +% ganttitle is the environment for drawing the title section +\newenvironment{ganttitle}[1][]{% + \setlength{\ganttlastx}{0 cm} +}{% + \setlength{\ganttlastx}{0 cm} + \addtocounter{ganttnum}{-1}% +} + +% \titleelement draws one element of the title +% usage: \titleelement{label}{length} +\newcommand{\titleelement}[2]{ + \setlength{\gantttmpa}{\ganttunitlength*#2} + \divide\gantttmpa by 2; + + \draw (\the\ganttlastx,\value{ganttnum}) rectangle (\the\ganttlastx+#2*\ganttunitlength,\value{ganttnum}+0.6); + \node [text height=1.5ex,text depth=0.7ex] at (\the\ganttlastx+\the\gantttmpa,\value{ganttnum}+0.25) {% + \gantttitlefontsize #1% + }; + \setlength{\ganttlastx}{\ganttlastx+\ganttunitlength*\real{#2}} +} + + +% \numtitle draws a numbered sequence of title elements +% usage: \numtitle{start number}{increment}{end number}{length of each title element} +\newcommand{\numtitle}[4]{ + \forloop[#2]{gantttitlenum}{#1}{\(\value{gantttitlenum} < #3\) \or \(\value{gantttitlenum} = #3\)}% + {% + \titleelement{\thegantttitlenum}{#4} + } +} + +% \ganttbar draws a single, unconnected bar for representing a task +% usage: \ganttbar[pattern=,color=]{label}{start}{length} +% where the optional comma separated arguments are: +% pattern - is a tikz pattern (e.g. north west lines (default), north east lines, crosshatch, crosshatch dots, grid, ...) +% color - a tikz color of the pattern (e.g. red, green blue gray, dark gray) +% for more information see the tikz documentation +\newcommand{\ganttbar}[4][]{ + \setlength{\gantttmpa}{#3\ganttunitlength} + \setlength{\gantttmpb}{#4\ganttunitlength} + \setlength{\gantttmpb}{\gantttmpa+\gantttmpb} + + \ifKV@ganttx@drawledgerline + \draw[dotted] (0,\value{ganttnum}-0.2) -- (\value{ganttwidth}*\ganttunitlength,\value{ganttnum}-0.2); + \fi + \node at (0,\value{ganttnum}) [anchor=base east] {% + \ganttfontsize #2% + }; + \setkeys{ganttbarx}{#1}{% + \draw[pattern=\ganttbarpattern,pattern color=\ganttbarcolor] (\gantttmpa,\value{ganttnum}+0.1) rectangle (\gantttmpb,\value{ganttnum}+0.5); + } + \setlength{\ganttlastx}{\gantttmpb} + \addtocounter{ganttnum}{-1} +} + + +% \ganttcon draws an arrow between to bars with specified coordinates +% usage: \ganttcon{startx}{starty}{endx}{endy} +\newcommand{\ganttcon}[4]{ + \draw[-latex,rounded corners=1pt] (#1\ganttunitlength,-#2+0.1 + 0.2) -- (#1\ganttunitlength+0.4*\ganttunitlength,-#2+0.1+0.2) -- (#1\ganttunitlength+0.4*\ganttunitlength,-#2-0.4+0.2) -- (#1\ganttunitlength-0.4*\ganttunitlength,-#2-0.4+0.2) -- (#1\ganttunitlength-0.4*\ganttunitlength,-#4+0.1+0.2) -- (#3\ganttunitlength,-#4+0.1+0.2); +} + + +% \ganttbarcon draws a single bar *and* connects the bar with the previous bar for +% consecutive tasks +% usage: \ganttbarcon[pattern=,color=]{label}{start}{length} +% where the optional pattern argument are the same as for \ganttbar +\newcommand{\ganttbarcon}[4][]{ + \setlength{\nextganttlastx}{\the\ganttlastx+1\ganttunitlength} + \ifdim\nextganttlastx>#3\ganttunitlength + \draw[-latex,rounded corners=1pt] (\the\ganttlastx,\value{ganttnum}+1.1 + 0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+1.1+0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+0.6+0.2) -- (\the\ganttlastx-0.4*\ganttunitlength,\value{ganttnum}+0.6+0.2) -- (\the\ganttlastx-0.4*\ganttunitlength,\value{ganttnum}+0.1+0.2) -- (#3\ganttunitlength,\value{ganttnum}+0.1+0.2); + \else + \draw[-latex,rounded corners=1pt] (\the\ganttlastx,\value{ganttnum}+1.1 + 0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+1.1+0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+0.1+0.2) -- (#3\ganttunitlength,\value{ganttnum}+0.1+0.2); + \fi + \ganttbar[#1]{#2}{#3}{#4} +} + + +% \ganttgroup draws a bar to group tasks +% usage: \ganttgroup{label}{start}{length} +\newcommand{\ganttgroup}[3]{% + \setlength{\gantttmpa}{#2\ganttunitlength} + \setlength{\gantttmpb}{#3\ganttunitlength} + \setlength{\gantttmpb}{\gantttmpa+\gantttmpb} + + \ifKV@ganttx@drawledgerline + \draw[dotted] (0,\value{ganttnum}-0.2) -- (\value{ganttwidth}*\ganttunitlength,\value{ganttnum}-0.2); + \fi + \node at (0,\value{ganttnum}) [anchor=base east] {% + \ganttfontsize\bfseries #1% + }; + \fill[black] (\gantttmpa-0.14cm,\value{ganttnum}+0.2) rectangle (\gantttmpb+0.14cm,\value{ganttnum}+0.4); + \draw[diamond-diamond] (\gantttmpa-0.14cm,\value{ganttnum}+0.2) -- (\gantttmpb+0.14cm,\value{ganttnum}+0.2); + + \setlength{\ganttlastx}{\gantttmpb} + \addtocounter{ganttnum}{-1} +} + + +% \ganttmilestone, draw a diamond to represent a milestone +% usage: \ganttgroup[fill=]{label}{start} +% color - a tikz color of the pattern (e.g. red, green blue gray, dark gray) +% for more information see the tikz documentation + +% Declaring layers to abvoid superposition when you connect a \ganttmileston with a task +\pgfdeclarelayer{background} +\pgfdeclarelayer{foreground} +\pgfsetlayers{background,main,foreground} + +\newcommand{\ganttmilestone}[3][]{ + \setlength{\gantttmpa}{#3\ganttunitlength} + \setlength{\gantttmpb}{0\ganttunitlength} + \setlength{\gantttmpb}{\gantttmpa+\gantttmpb} + + \ifKV@ganttx@drawledgerline + \draw[dotted] (0,\value{ganttnum}-0.2) -- (\value{ganttwidth}*\ganttunitlength,\value{ganttnum}-0.2); + \fi + \node at (0,\value{ganttnum}) [anchor=base east] {% + \ganttfontsize #2% + }; + \setkeys{ganttbarx}{#1}{% + \pgfonlayer{foreground} + \draw[diamond-, color=\ganttbarcolor] (\gantttmpa,\value{ganttnum}+0.1) -- (\gantttmpb,\value{ganttnum}+0.4); + \endpgfonlayer + } + \setlength{\ganttlastx}{\gantttmpb} + \addtocounter{ganttnum}{-1} +} + + +% \ganttmilestonecon draws a single diamond *and* connects the diamond with the previous task +% usage: \ganttmilestonecon[color=]{label}{start}{length} +% where the optional color argument are the same as for \ganttbar and \ganttmilestone + +\newcommand{\ganttmilestonecon}[3][]{ + \setlength{\nextganttlastx}{\the\ganttlastx+1\ganttunitlength} + \ifdim\nextganttlastx>#3\ganttunitlength + \draw[-latex,rounded corners=1pt] (\the\ganttlastx,\value{ganttnum}+1.1 + 0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+1.1+0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+0.6+0.2) -- (\the\ganttlastx-0.4*\ganttunitlength-1.8,\value{ganttnum}+0.6+0.2) -- (\the\ganttlastx-0.4*\ganttunitlength-1.8,\value{ganttnum}+0.1+0.2) -- (#3\ganttunitlength-1.8,\value{ganttnum}+0.1+0.2); + % + \else + \draw[-latex,rounded corners=1pt] (\the\ganttlastx,\value{ganttnum}+1.1 + 0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+1.1+0.2) -- (\the\ganttlastx+0.4*\ganttunitlength,\value{ganttnum}+0.1+0.2) -- (#3\ganttunitlength-1.8,\value{ganttnum}+0.1+0.2); + \fi +% \fi + \ganttmilestone[#1]{#2}{#3} +} + + +\endinput diff --git a/thesis.tex b/thesis.tex index f6f5650..8be06a6 100644 --- a/thesis.tex +++ b/thesis.tex @@ -98,8 +98,8 @@ \include{BAB2/bab2} \include{BAB3/bab3} \include{BAB4/bab4} -\include{BAB5/bab5} -\include{BAB6/bab6} +% \include{BAB5/bab5} +% \include{BAB6/bab6} \include{OTHER/kesimpulan} % diff --git a/uithesis.sty b/uithesis.sty index b86c481..112e600 100644 --- a/uithesis.sty +++ b/uithesis.sty @@ -181,6 +181,7 @@ % \usepackage{caption} +\usepackage{gantt} %-----------------------------------------------------------------------------% % Konfigurasi %-----------------------------------------------------------------------------%