Design and control of a winch driven grasping mechanism for a quadrotor unmanned aerial vehicle

G├╝ney, Mehmet Okan
S├╝reli Yay─▒n ba┼čl─▒─č─▒
S├╝reli Yay─▒n ISSN
Cilt Ba┼čl─▒─č─▒
Institute of Science And Technology
Fen Bilimleri Enstit├╝s├╝
Technological advancements in semiconductor industry creates many new possibilities that are unreachable previously. Autonomous multirotor unmanned aerial vehicles are the one of the most attracted topics among these possibilities. There are many products developed by global companies to the mass market and also many academic researches that aim to create new areas of usage by institutes and universities. The most up-to-date areas of usage are payload grasping and transportation with multirotor unmanned aerial vehicle. Payload grasping studies began with the simple grippers attached under the multirotors, therefore they need to be almost land to grasp target payload which is not an efficient way. To solve this problem industrial robotic manipulators integrated under the vehicles, but they are not designed for aerial vehicles so they become heavy loads for these vehicles and also provide limited usage on air. Thus, different research groups develop their own context specific lightweight robotic manipulator designs that has different degrees of freedom and end-effector. In addition, some groups designed novel manipulators like using serial chain that differs from the robotic ones that has undesired inertial issues. Load transportation with rotary aerial vehicles began with the helicopters that has cable suspended load under them. This is followed by multirotors that are carried cable suspended load. Research groups studied the dynamical effects of the cable suspended load on the multirotor detailly and propose several modelling and control methodologies to handle these effects and safely transport different loads. In this thesis, a novel grasping mechanism that consists of a DC motor driven spool which works as a winch and a 4 meters long cable suspended gripper on that winch to grasp and drop payload. Therefore, proposed mechanism eliminates negative sides of these two topics like undesired inertial issues of robotic manipulators and dynamical effects of cable suspended load is proposed. Also, it associates their positive sides like aerial grasping of manipulators and load transportation without landing. Designed mechanism will have tested on H├╝ma-3 rotary wing UAV. Design of the winch driven grasping mechanism begins with the selection of a gripper mechanism that is suitable for the proposed concept. Among the different gripper mechanism options rotary linkage gripper is selected due to its lightweight, relatively small size especially in height since many gripper mechanisms has variable height when operating, and also it is easy to manufacture and assembly. This is followed by the design of the winch spool that begins with the estimation of required inner and outer radii to wind 4-meter cable on a spool. Then, with respect to these radii required motor torque to rotate this spool when pulling and releasing the 4-meter cable suspended gripper is calculated to select suitable dc motor. In addition, since gripper that is pulled and released needs 3 wire cable which is the suspended cable to operate and these wires should be connected to a microcontroller and power, a slip ring is required to eliminate cable twisting problem when spool rotates. Lastly, by using these calculations and selections final winch spool is designed. After the design process is finalized and required electrical components to operate this system is determined, mathematical model or transfer function that takes voltage or duty cycle as input and gives rpm or degree for output of the motor and winch spool is obtained by analyzing the time response of the system for both speed and position. This analysis and the controller design process is done by using Legacy MATLAB and Simulink Support for Arduino Hardware package in MATLAB that provides the possibility of taking real-time like measurements and giving commands to an Arduino hardware from Simulink. When designing a controller for the obtained model, if only a position controller is used to control the length of released or pulled cable suspended gripper, it is observed that large oscillations occur on the cable. To eliminate this problem, releasing or pulling speed should have controlled too. Therefore, controller is designed and simulated to control both position and speed of the winch spool motor for pulling and releasing the gripper at desired amount of length. But, it is achieved that not by using a cascade control scheme instead using a switch-mode scheme which provides transition between speed and position control when it is necessary for a predefined offset. Simple PI and P controller are designed and simulated individually and respectively for speed and position control of winch spool motor and its gains are calculated by using algebraic pole placement method. Then, designed speed and position controllers are applied on the real system again by using the same Simulink package and results are almost same as the simulations individually. Proposed controllers are combined in switch-mode controller and by using a logic algorithm they are designed to operate alternately with respect to the switch state that is determined by comparing the error with predefined offset. This switch-mode controller again tested for real hardware by using same package and results are satisfactory. Finally, designed switch-mode controller is embedded an Arduino Nano, and mechanism with its controller is assembled under the UAV. Some test flights are performed and results again are very satisfactory. After the test flights, to design a controller that can control both quadrotor and the location of grasping mechanism, 8 DOF coupled dynamics of the system is modelled by using Euler-Lagrange method. Change in cable length gives system an extra degree of freedom, but since dynamics of the UAV does not affect dynamics of the grasping mechanism, it can be treated as an input for the 8DOF coupled dynamics. Also, previously obtained grasping mechanism model and its controller can be used individually like a trajectory generator to produce required cable length. After equations of motion are obtained for ­ŁĹ×ÔâŚ=[­ŁĹą­ŁĹ× ­ŁĹŽ­ŁĹ× ­ŁĹž­ŁĹ× ­ŁťÖ ­Łťâ ­Łťô ­ŁŤ╝ ­ŁŤŻ]­ŁĹç, controller design process begins with linearizing these equations around hovering condition. Proposed controller is a nonlinear nested loop controller that is designed from the second order error definition and dynamic model of the system. Architecture for position control developed from the second order error definition which contains control laws for quadrotor and gripper position in 3D space. After linearizing quadrotor equations of motion in hover condition, desired roll, pitch and thrust definitons are developed from the linearized translational dynamics of quadrotor and nonlinear effects from the cable suspended gripper. Designed controllers basically behaves like a PD controller that has second order feedforward term. Attitude control architecture again developed from both second order error definition and rotational dynamics of the quadrotor. Then, obtained control laws produce desired thrust, and moment values, but designed model requires desired angular velocities for actuators which are basicly DC brushless motors. Actuator dynamics are modeled as quadratic equation which has a thrust and drag coefficient. These coefficients are estimated experimentally. Also, inertia values on the principal axis for the quadrotor with cable suspended load system is obtained from the Solidworks drawings. After design process finish and controller gains are tuned, 3 test simulations are prepared for designed controller. Firstly, an initial 0.5 radian deflection is defined for gripper cable around the body x-axis, then, both for x-axis and y-axis at the same time. Designed controller succeed to eliminate oscillations within 7 seconds, and preserved quadrotor position and orientation within 8 seconds. Finally, a trajectory is generated to go [5,5,5,1(yaw)] by using minimum jerk trajectory method. Again, designed controller succeed to track generated trajectory and reached desired position within 6 seconds and also eliminate vibrations due to suspended gripper within 10 seconds. Finally, a variable gain position controller is implemented in position control of swing angles, because when cable length is changed system dynamics will changed drastically for constant gain controller. Controller gains for swing angles are defined as polynomials that are found by tuning gains in sample cable lengths and curve fitting for these lengths. Results become similar for same test conditions that are done before when an untuned cable length is selected.
Yar─▒ iletken teknolojisindeki geli┼čmeler daha ├Ânceleri ula┼č─▒lmas─▒ g├╝├ž olan bir├žok yeni olas─▒l─▒klara yer a├žt─▒. Bunlar aras─▒nda en ├žok parlayanlardan birisi olan ├žok rotorlu otonom insans─▒z hava ara├žlar─▒ bir├žok k├╝resel ├Âl├žekli ┼čirket taraf─▒ndan piyasaya s├╝r├╝lmenin yan─▒ s─▒ra d├╝nya ├žap─▒ndaki bir├žok enstit├╝ ve ├╝niversitelerde ├žal─▒┼čan bilim insanlar─▒n─▒n akademik ara┼čt─▒rma konusu oldu. ├çok rotorlu insans─▒z hava arac─▒ yard─▒m─▒yla havadan y├╝k alma-b─▒rakma ve y├╝k ta┼č─▒nmas─▒ konular─▒ g├╝ncel olarak en ├žok ilgi ├žeken ara┼čt─▒rma konular─▒d─▒r. ─░nsans─▒z hava arac─▒ yard─▒m─▒ ile y├╝k alma ara┼čt─▒rmalar─▒ ├žok rotorlu ara├žlar─▒n altlar─▒na ├žok basit standart yakalay─▒c─▒ veya tutucu mekanizmalar─▒n entegre edilmesi ile ba┼člad─▒. Fakat g├Âr├╝ld├╝ ki bu ┼čekilde y├╝k alabilmek i├žin arac─▒n neredeyse ini┼č yapmas─▒ gerekiyordu ve bu ├žok verimli bir y├Ântem de─čildi. Ara┼čt─▒rmac─▒lar bu problemi ├ž├Âzmek amac─▒yla end├╝striyel robot kollar─▒ veya manipulat├Ârleri insans─▒z hava arac─▒ alt─▒na entegre ettiler, fakat bu ├ž├Âz├╝mde etkili de─čildi ├ž├╝nk├╝ bu manip├╝lat├Ârler hava ara├žlar─▒ i├žin tasarlanmam─▒┼čt─▒ ve bu ara├žlar i├žin a─č─▒r ve ataletli kalm─▒┼člard─▒. Bu geli┼čmeleri takiben farkl─▒ ara┼čt─▒rma gruplar─▒ kendi ├žal─▒┼čmalar─▒na ├Âzg├╝ tutucuya sahip hafif robot kollar─▒ tasarlamaya ba┼člad─▒lar. Bu tasar─▒mlar yaln─▒zca robot kollar─▒ ba┼čl─▒─č─▒nda da kalmad─▒ ve bir├žok grup ├Âzg├╝n ve hafif manipulator tasar─▒mlar─▒ yapt─▒ ve yapmaya devam ediyor. ─░nsans─▒z hava arac─▒ yard─▒m─▒ ile y├╝k ta┼č─▒ma ara┼čt─▒rmalar─▒ ise altlar─▒ndan ip ile sark─▒t─▒lm─▒┼č y├╝klerin helikopterler ile ta┼č─▒nmas─▒ ile ba┼člad─▒. Bu t├╝r sistemler y├╝k├╝n teslim edilmesi s─▒ras─▒nda b├╝y├╝k kolayl─▒k sa─člar ├ž├╝nk├╝ y├╝k├╝ teslim ederken arac─▒n inmesine gerek yoktur. Yine ├žok rotorlu ara├žlar kullan─▒larak bu konuda da ├žal─▒┼čmalar yap─▒ld─▒. Bu ├žal─▒┼čmalarda ├Âzellikle ip ile sark─▒t─▒lm─▒┼č y├╝k├╝n ├žok rotorlu ara├ž dinami─čine yapt─▒─č─▒ etkinin farkl─▒ teknikler ile modellenmesi ve bu etkinin tasarlanan kontrolc├╝ler yard─▒m─▒ ile azalt─▒larak h─▒zl─▒ ve emniyetli y├╝k ta┼č─▒nmas─▒ hedeflendi. Bu tez ├žal─▒┼čmas─▒ kapsam─▒nda DC motora ba─čl─▒ bir makaran─▒n d├Ând├╝r├╝lmesi ile ├žekilip sal─▒nabilen 4 metrelik kablonun ucundaki tutucu ile y├╝k al─▒p b─▒rakabilen ├Âzg├╝n bir mekanizma sunulmu┼čtur. Sunulan mekanizma yukar─▒da bahsedilen uygulamalardaki a─č─▒rl─▒k, atalet ve istenmeyen dinamik etkiler gibi k├Ât├╝ yanlar─▒ etkisizle┼čtirirken, y├╝k tesliminde ini┼č yap─▒lmamas─▒ ve havadan y├╝k alma-b─▒rak gibi iyi yanlar─▒ ise birle┼čtirmektedir. Makaral─▒ y├╝k alma-b─▒rak mekanizmas─▒ tasar─▒m─▒ uygun tutucu mekanizmas─▒n─▒n olas─▒ di─čer se├ženekler ile k─▒yaslanarak se├žilmesi ile ba┼člam─▒┼čt─▒r. Hafiflik, ├╝retim kolayl─▒─č─▒, ├Âzellikle tutma eylemi esnas─▒nda boyu de─či┼čmedi─či i├žin g├Ârece di─čerlerine g├Âre ufak boyutlarda olmas─▒ sebebiyle d├Âner eklemli tutucu mekanizmas─▒n─▒n kullan─▒lmas─▒na karar verilmi┼čtir. Tutucu se├žiminden sonra makaran─▒n tasar─▒m─▒na ba┼članm─▒┼čt─▒r. ─░lk olarak makara i├ž ve d─▒┼č ├žap─▒n─▒n belirlenmesi amac─▒yla 4 metrelik kablonun sar─▒laca─č─▒ i├ž ├žap ile buna ba─čl─▒ d─▒┼č ├žap aras─▒ndaki ili┼čki form├╝l├╝ze edilmi┼č ve optimum ├žap de─čerleri se├žilmi┼čtir. Daha sonra belirlenen ├žap de─čerlerini ve tutucu ile sark─▒t─▒ld─▒k├ža artan kablo a─č─▒rl─▒─č─▒n─▒ da kullanarak makaray─▒ d├Ând├╝rmek i├žin gerekli tork de─čerleri hesaplanm─▒┼č ve Pololu 12V 260RPM 25Dx50L 20.4:1 red├╝kt├Ârl├╝ ve 48 CPR enkoderli motor se├žilmi┼čtir. Tutucudan gelen kablonun bir mikrodenetleyici ile g├╝├ž giri┼čine ba─članmas─▒ gerekmektedir fakat makara d├Ând├╝k├že i├žinden ├ž─▒kan kablo burulacakt─▒r. Son olarak bu problemin ├ž├Âz├╝m├╝ i├žin makaraya d├Âner kablo mafsal─▒ tak─▒lm─▒┼č ve makara ├Âl├ž├╝lendirmeleri tamamlanm─▒┼čt─▒r. Mekanik tasar─▒m─▒n bitmesi ile bu tasar─▒m─▒n ger├žekle┼čtirilmesi i├žin gerekli s├╝r├╝c├╝ kart─▒ olarak Pololu MAX14870, ve Arduino Nano mikrodenetleyi olarak belirlenmi┼čtir. Tasarlanan makara ve motorun matematik modeli sistemin zaman cevab─▒n─▒ inceleyerek voltaj veya duty cycle girdisine h─▒z (devir/dakika) veya konum (derece) ├ž─▒kt─▒ olacak ┼čekilde transfer fonksiyon olarak elde edilmi┼čtir. Sistemin zaman cevab─▒n─▒n incelenmesi bir Simulink donan─▒m destek paketi olan "Legacy MATLAB and Simulink Support for Arduino Hardware" yard─▒m─▒ ile yap─▒lm─▒┼čt─▒r. Bu paket Simulink ├╝zerinden Arduino'dan ger├žek zamanl─▒ ├Âl├ž├╝mler yap─▒lmas─▒na ve ona kontrol sinyalleri g├Ânderilmesine olanak sa─člamaktad─▒r. Elde edilen modele kontrolc├╝ tasarlarken e─čer sadece konum kontrolc├╝s├╝ uygulan─▒rsa ├žekilen ve b─▒rak─▒lan tutucu kablosu ├╝zerinde istenmeyen ┼čiddette sal─▒n─▒mlar meydana gelmektedir. Bu sorunu engellemek i├žin ├žekme ve b─▒rakma h─▒z─▒n─▒nda control edilmesi gerekmektedir. Bu nedenle, mekanizman─▒n tutucuyu istenilen uzunlukta sal─▒p ├žekmesi i├žin tasarlanan kontrolc├╝ hem h─▒z hem de konum kontrolc├╝s├╝ i├žermektedir, fakat bu kontrolc├╝ler kademeli olarak de─čil ├Ânceden belirlenmi┼č bir e┼či─če g├Âre ge├ži┼čli olarak ayr─▒ ayr─▒ ├žal─▒┼čmaktad─▒r. Yani ayr─▒ ayr─▒ tasarlanabilirler. Standart bir PI kontrolc├╝ h─▒z, ba┼čka bir P kontrolc├╝ ise konum kontrol├╝ i├žin cebirsel pol atama y├Ântemi kullan─▒larak katsay─▒lar─▒n─▒n belirlenmesi ile tasarlanm─▒┼čt─▒r. Tasarlanan kontrolc├╝ler ├Ânceden elde edilmi┼č deneysel modellerde ayr─▒ ayr─▒ sim├╝le edilmi┼č ve belirlenen kriterlerdeki sonu├žlara ula┼č─▒lm─▒┼čt─▒r. Daha sonra bu kontrolc├╝ler ayn─▒ Simulink donan─▒m destek paketi kullan─▒larak ayr─▒ ayr─▒ ger├žek zamanl─▒ olarak sistem ├╝zerinde denenmi┼č ve elde edilen sonu├žlar yine belirlenen kriterlere ula┼čm─▒┼čt─▒r. Ayr─▒ ayr─▒ tasarlanan bu kontrolc├╝ler ├Ânceden belirlenen bir e┼čik a├ž─▒ de─čerine g├Âre hangi kontrolc├╝n├╝n aktif olaca─č─▒n─▒n da eklendi─či tek bir control ┼čemas─▒ i├žine yerle┼čtirilmi┼č ve bu ┼čemada ayn─▒ destek paketi kullan─▒larak test edilmi┼čtir. Test sonu├žlar─▒ yine beklenen kriterleri sa─člam─▒┼čt─▒r. Tasarlanan bu ge├ži┼čli kontrolc├╝ Arduino Nano i├žine g├Âm├╝lm├╝┼č ve mekanizman─▒n H├╝ma-3 ─░HA platformuna monte edilmesi ile birka├ž test u├žu┼ču yap─▒lm─▒┼čt─▒r. Test u├žu┼člar─▒ndaki sonu├žlarda yine ├Ânceden yap─▒lan sim├╝lasyon ├žal─▒┼čmalar─▒ ve testler ile ├Ârt├╝┼čmekte ve belirlenen kriterleri sa─člamaktad─▒r. Test u├žu┼člar─▒ ba┼čar─▒yla tamamland─▒ktan sonra, sistemin 8 serbestlik dereceli b├╝t├╝nle┼čik dinami─čini kontrol edebilmek i├žin Euler-Lagrange metodu kullan─▒larak sistem modellendi. Asl─▒nda kablo boyundaki de─či┼čim sisteme ekstra 1 serbestlik derecesi katmas─▒na ra─čmen, system dinami─činde olan herhangi bir de─či┼čim yakalay─▒c─▒ mekanizman─▒n dinami─činde hi├žbir de─či┼čime sebep olmamaktad─▒r. Bu y├╝zden system 8 serbestlik dereceli olarak modellenmi┼č ve kablo boyundaki de─či┼čim sisteme girdi olarak verilmi┼čtir. Bu sebeple yakalay─▒c─▒ mekanizma temelde bu sistemin modelleme yakla┼č─▒m─▒n─▒ de─či┼čtirmemektedir. Dolay─▒s─▒yla bu mekanizma ve kontrolc├╝s├╝ bireysel olarak ├žal─▒┼č─▒p sisteme arzu edilen kablo boyunu ├╝retebilir. ­ŁĹ×ÔâŚ=[­ŁĹą­ŁĹ× ­ŁĹŽ­ŁĹ× ­ŁĹž­ŁĹ× ­ŁťÖ ­Łťâ ­Łťô ­ŁŤ╝ ­ŁŤŻ]­ŁĹç olacak ┼čekilde hareket denklemleri elde edilince, kontrolc├╝ tasar─▒m s├╝reci elde edilen bu denklemlerin havada as─▒l─▒ kalma durumu kabul├╝yle lineerle┼čtirilmesi ile ba┼člam─▒┼čt─▒r. Tasarlanan kontrolc├╝ ikinci mertebe hata tan─▒m─▒ ve sistemin dinamik modeli kullan─▒larak tan─▒mlanm─▒┼č lineer olmayan i├ž i├že iki d├Âng├╝den olu┼čan bir kontrolc├╝d├╝r. Quadrotor ve yakalay─▒c─▒n─▒n konum kontrol├╝ i├žin gerekli mimari ikinci mertebe hata tan─▒m─▒nda yola ├ž─▒karak t├╝retilmi┼čtir. Havada as─▒l─▒ kalma durumu i├žin lineerle┼čtirilen do─črusal dinamik denklemleri ve bu mimariden faydalan─▒larak kumanda sinyali olarak kullan─▒lacak yuvarlanma, yunuslama ve sapma sinyalleri ├╝retilmi┼čtir. Tasarlanan kontrolc├╝ler temel olarak PD kontrolc├╝ karakteri g├Âsterse de ikinci mertebe ileri besleme terimide i├žermektedir. Y├Ânelme kontrol├╝ mimarisi yine ikinci mertebe hata tan─▒m─▒ ve sistemin a├ž─▒sal dinami─činden faydalan─▒larak tasarlanm─▒┼čt─▒r. Elde edilen kontrol mimarisi arzu edilen itki ve momentleri ├╝retmektedir. Fakat sistemin eyleyicileri olan f─▒r├žas─▒z DC motorlar arzu edilen a├ž─▒sal h─▒z verisini almak istemektedir. Bu sebeple bir motor mikser algoritmas─▒ haz─▒rlanm─▒┼č ve ├╝retilen de─čerler a├ž─▒sal h─▒z verisine ├ževrilmi┼čtir. Eyleyici dinami─či ikinci derece denklem ┼čeklinde t├╝retilmi┼č. Buradaki katsay─▒lar deneysel olarak hesaplanm─▒┼čt─▒r. Ayn─▒ ┼čekilde sistemin asal eksen tak─▒m─▒ ├╝zerindeki atalet de─čerleri Solidworks program─▒nda yap─▒lan ├žizim yard─▒m─▒yla bulunmu┼čtur. Tasar─▒m s├╝reci bitiminde kontrolc├╝ kazan├žlar─▒ ayarlanm─▒┼č ve 3 farkl─▒ senaryo i├žin test sim├╝lasyonlar─▒ yap─▒lm─▒┼čt─▒r. Bunlar─▒n ilkinde ba┼člang─▒├ž durumu olarak quadrotor x eksenine g├Âre kabloya 0.5 radyan a├ž─▒ verilmi┼č, ikinci durumda ise hem x hem y ekseninde 0.5 radyan ba┼člang─▒├ž durumu verilmi┼čtir. Sonu├ž olarak bu iki test sim├╝lasyonunda da, tasarlanan kontrolc├╝ 7 saniye i├žerisinde kablo sal─▒n─▒m─▒n─▒ s├Ân├╝mlemeyi ba┼čarm─▒┼č, 8 saniyede ise ─░HA'n─▒n konum ve y├Ânelimini ilk durumuna geitrmi┼čtir. Son olarak, hedef [5,5,5,1(sapma)] olacak ┼čekilde basit y├Âr├╝nge denklemleri minimum jerk y├Âr├╝ngesi metodu kullan─▒larak elde edilmi┼čtir. Tasarlanan kontrolc├╝ yine ba┼čar─▒l─▒ bir ┼čekilde y├Âr├╝ngeyi takip etmi┼č 6 saniye i├žerisinde istenilen konuma gelmi┼č, 10 saniye i├žerisinde ise yakalay─▒c─▒ kablosundaki sal─▒n─▒mlar─▒ s├Ân├╝mlemeyi ba┼čarm─▒┼čt─▒r. Son olarak kablo boyunun de─či┼čece─či g├Âz ├Ân├╝ne al─▒narak ve de─či┼čken kablo boyunda sistem dinami─činde olu┼čacak de─či┼čikliklerden dolay─▒ sabit katsay─▒l─▒ kontrolc├╝ yetersiz kalacakt─▒r. Bu durumu ├ž├Âzmek i├žin konum kontrolc├╝s├╝ i├žerisinde sal─▒n─▒m kontrol├╝ i├žin konulan katsay─▒lar kablo boyuna ba─čl─▒ olarak de─či┼čen polinomlar olarak tan─▒mlanm─▒┼čt─▒r. Bu polinomlar ise farkl─▒ kablo boylar─▒ i├žin belirlenen kontrolc├╝ katsay─▒lar─▒ kullan─▒larak bulunmu┼čtur. Bilinmeyen kablo boylar─▒ i├žin yap─▒lan simulasyonlar bilinen kablo boyu i├žin yap─▒lanlar ile benzer sonu├žlar vermi┼čtir.
Thesis (M.Sc.) -- ─░stanbul Technical University, Institute of Science and Technology, 2019
Tez (Y├╝ksek Lisans) -- ─░stanbul Teknik ├ťniversitesi, Fen Bilimleri Enstit├╝s├╝, 2019
Anahtar kelimeler
Nonlinear control , Suspended cable systems , Cascade control , Unmanned aerial vehicle, Do─črusal olmayan kontrol , Kablolu asma sistemler , Kaskad kontrol , ─░nsans─▒z hava arac─▒