Costache Andrei -Mihai [615121]
UNIVERSITATEA „LUCIAN BLAGA” DIN SIBIU
FACULTATEA DE INGINERIE
SPECIALIZAREA ROBOTICA
Studiul si proiectarea unui robot subacvatic
Conducator stiintific:
Conf. Univ. Dr. Ing. Ilie Octavian Popp
Absolvent: [anonimizat] 2019 –
2
Cuprins
REZUMAT ………………………….. ………………………….. ………………………….. ………………………….. ……….. 3
ABSTRACT ………………………….. ………………………….. ………………………….. ………………………….. ……….. 4
CAPITOLUL 1 – STUDIUL ROBO TICII SUBACVATICE ………………………….. ………………………….. …………… 4
1.1. Definiții și informații de baza ………………………….. ………………………….. ………………………….. ….5
1.2. Istorie ………………………….. ………………………….. ………………………….. ………………………….. ….. 14
1.3. Considerații tehnice in robotica subacvatica ………………………….. ………………………….. ……….. 16
1.3.1. Introducere ………………………….. ………………………….. ………………………….. ………………… 16
1.3.3. Mediul Acvatic ………………………….. ………………………….. ………………………….. …………….. 18
1.3.2. Presiune și adâncime ………………………….. ………………………….. ………………………….. …… 19
1.3.3. Flotabilitatea și Principiul lui Archimedes ………………………….. ………………………….. ……… 19
1.3.4. Densitatea și flotabilitatea ………………………….. ………………………….. ………………………… 20
1.3.5. Densitatea și rezistența ………………………….. ………. Eroare! Marcaj în document nedefinit.
1.3.6. Parte teoretică și calcul ………………………….. ………………………….. ………………………….. …. 21
CAPITOLUL 2 – PROIECTAREA UNUI ROBOT SUBACVATIC ………………………….. ………………………….. .. 40
2.1. Specificații pentru proiectarea cadrului ROV -ului ………………………….. ………………………….. …. 40
2.2. Senzori și echipamente ………………………….. ………………………….. ………………………….. ……….. 44
2.3. Propulsia robotului subacvatic ………………………….. ………………………….. ………………………….. 46
CAPITOLUL 3 – BRAȚUL ROBOTIC MANIPULATOR ………………………….. ………………………….. ………….. 49
3.1 Motoarele brațului robotic manipulator ………………………….. ………………………….. ……………… 51
3.2. Studiul cinematic al brațului prin cinematica directa ………………………….. …………………………. 52
3.3. Studiul cinematic al brațului prin cinematica inversa ………………………….. ………………………… 54
CAPITOLUL 4 – COMANDA ȘI CONTROLUL ROBOTULUI ………………………….. ………………………….. ….. 56
4.1. Cablajul ………………………….. ………………………….. ………………………….. ………………………….. .. 57
4.2. Programarea ………………………….. ………………………….. ………………………….. …………………….. 58
CAPITOLUL 5 – CONCLUZII ȘI CONTRIBUȚII ………………………….. ………………………….. …………………… 64
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ………………………….. … 65
ANEXE ………………………….. ………………………….. ………………………….. ………………………….. …………… 66
OPIS ………………………….. ………………………….. ………………………….. ………………………….. ……………… 88
3
REZUMAT
Lucrarea de licenta „Studiul si proiectarea unui robot subacvatic” este impartita in 5 capitole,
in care sunt tratate subiecte precum mediul subacvatic si tot ce tine de robotic a in domeniul
subacvatic, respectiv partea practica in care am proiectat un robot subacvatic de tip ROUV.
Lucrarea este structurata in cinci capitole astfel:
Primul capito l prezinta definitii si notiuni de baza din domeniul roboticii , aceasta fiind partea
de studiu al licentei .
Al doilea capitol prezin ta proiectarea unui robot subacvatic in programul de proiectare
asistata Catia V5, si lucruri care tin de proiectarea unui astfel de robot .
In cel de -al treilea capitol este prezentata proiectarea si calculele unui brat robotic
manipulator, care urmeaza a fi montat pe robotul subacvatic .
Capitolul patru este partea de programare a robotului subacvatic .
Capitolul cinci este partea de final al proiectului de licenta in care sunt integrate cateva
concluzii .
Aceasta lucrare are scopul de a introduce si chiar de a starni interesul cititorului in legatura
cu domeniul studiului roboticii subacvatice.
4
ABSTRACT
The bachelor's thesis "Study and Design of an Underwater Robot" is divided into 5 chapters,
dealing with topics such as the underwater environment and everything related to robotics in
the underwater field, namely the practical part in which we d esigned a ROUV underwater
robot.
The paper is structured in five chapters as follows:
The first chapter presents definitions and basic notions in the field of robotics, this being the
study part of the license.
The second chapter presents the desig n of an underwater robot in the assisted design
program Catia V5, and the design of such a robot.
In the third chapter is presented the design and calculations of a robotic manipulator arm,
which is to be mounted on the underwater robot.
Chapter four is the programming part of the underwater robot.
Chapter Five is the end of the license project that incorporates some conclusions.
This paper is intended to introduce and even excite the reader's interest in the field of
underwater robotics.
5
CAPITOLUL 1 – STUDIUL ROBOTICII SUBACVATICE
Domeniul subacvatic este si el un domeniu al roboticii, de altfel, un domeniu destul de
provocator pentru roboticieni avand in vedere ca apa si circuitele electrice nu s -au inteles
niciodata foarte bine.
Oamenii au dorit dintotdeauna sa exploreze marile si oceanele, dar avand in vedere natura
mediului, de altfel un mediu ostil, acestia s -au adaptat, creand roboti capabili sa reziste
provocarilor pe care le prezinta mediul subacvatic.
Astfel, avem doua mari categorii de roboti subacvatici. Acestia sunt ROUV/ROV (Remotely
Operated Underwater Vehicle – robot subacvatic telecomandat) si AUV/UUV (Autonomous
Underwater Vehicle – robot subacvatic atonom).
1.1. Definiț ii și informații de baz ă
Un robot este un sistem automatizat si un operator mecanic, compus din mai multe elemente
precum senzori, actuatori, mecanica si mecanism de ghidare, fiind astfel capabil de o serie de
actiuni dirijate, actionand pe baza unui program de lucru stabilit si reactionand la ex citatii
exterioare.
Un robot subacva tic face parte din cate goria robotilor care opereaza in medii dificile. Acestia
sunt folositi in mare in scopuri stiintifice pentru explorare si culegere de date din mari, oceane
si chiar lacuri de acumulare (Ex: mapare, adancime, temperaturi, curenti, biosfera acvatica,
biofauna acvatica, formatiuni de roci, etc.) , dar nu numai. Mai sunt folositi si la detectarea
defectelor si reparatii in domeniul acvatic (Ex: tevi, baraje, nave, etc.), salvare (Ex: echipaj ul
unui submarin avariat), descoperiri (Ex: epave scufundate, mine, descoperiri arheologice),
filmari (Ex: domeniul televiziunii), etc.. Astfel, robotii subacvatici se impart in doua mari
categorii precum ROUV /ROV (Remotely Operated Underwater Vehicle = vehicul s ubacvatic
Telecomandat) si AUV /UUV (Autonomous Underwater Vehicle = vehicul subacvatic
autonom) .
ROV -urile sunt neocupate, foarte manevrabile, operate de un echipaj de la bordul unei nave.
Ele sunt legate de navă printr -un cablu ombilical, reziste nt în condiții nefavorabile și la
adâncimi mari, deseori folosit împreună cu TMS (Tether Management System). TMS -ul poate
fi un dispozitiv tip garaj care cuprinde ROV -ul în timpul scufundării sale, sau poate fi un
dispozitiv tip sanie care doar transportă cablul de stabilire . Prin cablul blindat sunt trecuți
6
conductori electrici și fibre optice care transportă energie elctrică, video și semnale de date
între operator și TMS. Odată ajunsă la ROV, energia electrică este distrubuită între
componentele ROV -ului. Cu toate acestea, în aplicații de mare putere, cea mai mare parte a
puterii electrice acționează un motor electric de mare putere, care acționează la rândul său o
pompă hidraulică. Pompa hidraulică este apoi utilizată pentru propulsie și alimentare a
echipamentelor precum instrumentele de cuplu și brațele de manipulare, unde motoarele
electrice ar fi mult pr ea greu de implementat sub apă. Cele mai multe ROV -uri sunt echipate
cu cel puțin o cameră video și lumini. Echipamentele suplimentare sunt de obicei adăugate
pentru a ex tinde capacitățile vehiculului. Acestea pot include sonare, magnetometre, aparat de
fotografiat, braț manipulator sau de tăiere, instrumente care măsoară claritatea apei,
temperatura sau densitatea ei.
ROV -urile sunt folosite in mai m ulte domenii precum:
-domeniul militar in care ROV -urile au fost folosite în armată de decenii, pentru vânarea și
oprirea minelor . În octombrie 2008, US Navy a început să înlocuiască sistemele sale de
salvare (cu echipaj uman), bazate pe Mystic DSRV și ambarcațiuni sport, cu un sistem
modular, SRDRS (Fig. 1.1 ), bazat pe tehnologia ROV, numit modul de salvare sub presiune
(PRM = Pressurized Rescue Module) . Au urmat ani de teste și exerciții cu submarinele din
flotele mai multor națiuni . În ziua de 19 a lu nii August, anul 2011, un submarin robotic făcut
de Boeing a fost testat pentru eventuala utilizare de către armata Statelor Unite ale Americii
spre investigarea apelor inamice, patrularea în porturile locale pentru o mai bună securitate
națională și explo rarea oceanului pentru prevenirea riscurilor de mediu . Cum capacitățile lor
cresc, numărul ROV -urilor mici crește și el, fiind adoptate de flote, paza de coastă și
autoritățile portuare din întreaga lume, inclusiv US Coast Goard și US Navy, Marina
Regatulu i Țărilor de Jos, Marina Norvegiană, Marina Regală și Garda de Frontieră a Arabiei.
Ele au fost adoptate pe scară largă și de către departamentele de poliție și echipele de căutare
și recuperare. Utile pentru o varietate de sarcini de inspecții subacvatice , spre exemplu:
eliminarea muniției explozive (EOD = explosive ordnance disposal), meteorologie,
securitatea portuară, contramăsuri mine (MCM = mine countermeasures), și maritime ISR
(Intelligence, Surveillance, Reconnaissance).
7
Fig. 1.1
-Domeniul stii ntific in care ROV -urile sunt folosite extensiv de comunitatea științifică în
explorarea oceanului . Un număr mare de animale și plante din adâncul mărilor au fost
descoperite sau studiate în mediul lor natural cu ajutorul ROV -urilor. Exemple: meduza
Bumpy (Fig. 1.2), anghila Halosaur (Fig. 1.3). ROV -urile de știință au multe forme și mărimi.
De când înregistrarea video de bună calitate este o componentă de bază în cercetările
subacvatice, ROV -urile tind să fie echipate cu sistem de ilmunat de mare putere ș i camere de
calitate superioară (Fig. 1.4). În funcție de cercetările ce se vor desfășura, un ROV de știință
va fi echipat cu diverse dispozitive senzoriale și de eșantionare. Multe dintre aceste
dispozitive sunt unice, au componente experimentale de ultim ă oră, configurate pentru a lucra
în mediul extern din adâncul oceanelor (Fig. 1.5). ROV -urile de cercetare sunt, de asemenea,
o afacere bună de tehnologie care a fost dezvoltat pentru sectorul ROV Comercial, cum ar fi
manipulatoare hidraulice și sisteme d e navigație foarte precise, cum ar fi proiectul Mardi Gras
Shipwreck, în Golful Mexic.
Fig. 1.2 Fig. 1.3
8
Fig. 1.4
Fig. 1.5
-Domeniul comercial in care datorita evolutiei camerel or și a senzori lor, iar vehiculele au
devenit mai rapide și mai ușor de manevrat, ROV -urile au devenit mai populare cu filmele
documentare datorită abilităților sale de scufundare la adâncimi foarte mari, periculoase,
neputând fi atinse de către scafandri . Nu exista limită de scufundare pentru un ROV, astfel el
surprinde imagini imposibile pentru scafandri . ROV -urile au fost folosite pentru filmarea a
numeroase documentare, cum ar fi Nat Geo’s Shark Men, The Dark Secrets of the Lusitania și
BBC Wildlife Special Spy in the Huddl e. Datorită utilizării extensive de către armată, de
9
aplicare a legii precum și servicii de pază, ROV -urile au prezentat, de asemenea, progres în
drame criminale cum ar fi populara serie CSI.
-Domeniul educational unde programul educațional SeaPerch ROV pe rmite tuturor elevilor să
construiască un simplu vehicul subacvatic telecomandat (ROV), din țeavă de PVC și alte
materiale ușor de procurat/confecționat. Programul SeaPerch învață elevii competențele de
bază în proiectarea navelor și submarinelor, și încur ajează elevii să exploreze arhitectura și
conceptele inginerești navale (Fig. 1.6). SeaPerch este sponsorizat de către Oficiul de
Cercetări Navale, ca parte a Responsabilității pentru Ingineria Navală Națională (NNRNE =
National Naval Responsibility for Na val Engineering), iar programul este gestionat de către
Societatea de Arhitecți Navali și Ingineri Marini ( Society of Naval Architects and Marine
Engineers). Centrul MATE (Marine Advanced Technology Education) folosește ROV -urile
pentru a -i învăța pe cei din școala generală, liceu și facultate, să -și îmbunătățească abilitățile
științifice, tehnologice, inginerești, și de matematică, în domeniul naval. MATE organizează
anual o competiție care provoacă echipe de elevi din toată lumea să concureze cu ROV -uri pe
care ei și le imaginează și le construiesc. Competiția simulează misiuni realistice pentru ROV –
urile competitoare, pentru a le analiza comportamentul în situații de înaltă performanță, cu
accent pe o temă diferită, care expune elevii la mai multe aspect e diferite de competențe și
ocupații tehnice legate de marină. Concursul este organizat de MATE și Marine Technology
Society’s ROV Comitee și fondat de organizații ca National Aeronautics and Space
Administration (NASA), National Oceanic and Atmospheric Ad ministration (NOAA), și
Oceaneering, și multe alte organizații care recunosc valoarea studenților bine pregătiți cu
abilități tehnologice, cum ar fi proiectarea ROV -urilor, inginerie și pilotare. MATE a fost
stabilit cu finanțare de la National Science Fou ndation și are sediul la Monterey Peninsula
College din Monterey, California.
10
Fig. 1.6
ROV -urile sunt clasificate în categorii bazate pe dimensiune, greutate, abilitate sau putere.
Cele mai comune evaluări sunt:
-Micro – foarte mici și foarte ușoare (cântăresc mai puțin de 3kg). Sunt folosite ca o
alternativă pentru scafandri, mai ales în locurile unde un scafandru n -ar putea avea acces, cum
ar fi un canal, conducte sau alte cavități mici. (Fig. 1.7)
Fig. 1.7
-Mini – cântăresc aproximativ 15kg. Sunt folosite tot ca o alternativă pentru scafandri. O
persoană poate fi capabilă să transporte ROV -ul complet, într -o navă de mici dimensiuni;
poate chiar implementa și finaliza lucrarea, fără ajutor din exterior. Unele Micro și Mini
ROV -uri sunt denumite “ochi” pentru a le diferenția de ROV -urile care pot fi în măsură să
îndeplinească sarcinile de intervenție. (Fig. 1.8)
11
Fig. 1.8
-General – de obicei, cu mai puțin de 5 cai putere (propulsie); ocazional este dotat cu 3 mici
degete manipulatoare tip cleș te, cum ar fi pe RCV 225. Aceste ROV -uri ar putea avea instalat
și un sonar folosit în aplicații ușoare. De obicei, adâncimea maximă de lucru este mai mică de
1,000 metri, deși unul a fost construit să reziste până la 7,000 metri. (Fig. 1.9)
Fig. 1.9
-Light Workclass – cu mai puțin de 50 cai putere; aceste ROV -uri sunt în stare să folosească
câteva manipulatoare. Șasiul acestora poate fi făcut din polimeri, cum ar fi polietilen, decât
din oțel inoxidabil sau aliaje convenționale de aluminiu. Acestea pot lucra la o adâncime de
maximum 2,000 metri. (Fig. 1.10)
Fig. 1.10
12
-Heavy Workclass – de obicei, cu mai puțin de 220 cai putere, cu o capacitate de a controla
cel puțin două manipulatoare. Acestea pot lucra la o adâncime de până la 3,500 metri. (Fig.
1.11)
Fig. 1.11
-Trenching & Burial – cu mai mult de 200 cai putere, dar deseori nu mai mulți de 500 (unele
depășesc totuși această limită). Au abilitatea de a transporta o sanie plină de cablu de stabilire,
și de a lucra la adâncimi de până la 6,000 metri , în unele cazuri. (Fig. 1.12)
Fig. 1.12
AUV -urile sunt robot i care calatoreste sub apa fara a fi controlat e de un operator . Acestea
sunt preprogramate pentru a realiza anumite sarcini si sunt complet autonome, fiind capabile
sa ia anumite decizii singure.
In domeniul militar, un AUV este numit UUV (Unmanned Undersea V ehicle).
Pana de curand, AUV -urile au fost folosite pent ru un numar limitat de operatii, din cauza
avansului tehnologic lent. Odata cu avansarea tehnologiei de procesare a informatiilor si de
energie, AUV -urile au inceput sa fie folosite la din ce in ce mai multe operatii cu roluri si
misiuni care evolueaza con stant . Astfel AUV -urile sunt folosite in domenii precum:
13
-domeniul comercial in care industria gazului si a petrolului folosesc AUV -urile pentru a crea
harti detaliate a solului oceanic inainte de a construi infrastructuri subacvatice precum tevi
(Fig. 1.13).
Fig. 1.13
-Domeniul stiintific in care oamenii de stiinta folosesc AUV -uri pentru a studia lacuri, oceane,
si solul oceanic. O varietate de senzori pot fi fixati pe un AUV pentru a masura concentratia
diferitelor elemente si compusi, absortia si reflectia luminii si prezenta vietii microscopice.
Exemplele includ senzori de conductivitate -temperatura -adancime, fluoro metri, si senzori de
pH (Fig. 1.14).
Fig. 1.14
-Aplicatii militare unde UUV -urile sunt folosite in misiuni precum inteligenta, survo lare si
recunoastere, masur i anti -mine, masuri impotriva submarinelor inamice, inspectii si
14
identificari, oceanografie, comunicatie/ noduri de navigatie, livrari, op eratii informative, etc
(Fig. 1.15).
Fig. 1.15
-Investigatii legate de prabusiri de avio ane unde AUV -urile sunt folosite pentru a gasi epave
ale avioanelor prab usite precum Air France (Fig. 1.16) si Bluefin -21.
Fig. 1.16
-Domeniul transporturilor in care AUV -urile sunt folosite pentru a transporta obiecte la o
destinatie stabilita prin sisteme de navigatie GPS.
1.2. Istorie
Barcile au fost folosite de oameni de la inceputul istoriei inregistrate, dar vehiculele capabile
sa intre sub apa sunt mai recente. Poate că prima idee despre o mașină suba cvatică a venit de
la Aristotel, unde conform legendei, el a construit skaphe andros (barca -om), care a permis
Alexandriei Grecia (Alexandria al II -lea din Macedonia, 356 -323 i.Hr.) să rămână scufundată
timp de cel puțin o jumătate de zi în timpul războiului din Tiro în 325 î.Hr. . Aces t lucru este
probabil nerealist, caci dacă ar fi adevărat, ar preceda legea lui Arhimede, care a fost în primul
rând articulată în aproximativ 250 î.Hr. . Leonardo Da Vinci poate fi fost primul proiectant
pentru un vehicul subacvatic. Eforturile sale au fost înregistra te în Codice Atlantico (Codex
15
Atlanticus), scris între 1480 și 1518. Legendele spun că Leonardo a lucrat la ideea unei mașini
militare subacvatice, dar el a distrus rezultatele pe care le considera a fi prea periculoase .
Prima utilizare a teoriei feedback -ului pentru controlul marin a fost probabil dispozitivul
Northseeking, brevetat în 1908, care a folosit principii giroscopice pentru a d ezvolta primul
autopilot . Din acel moment, utilizarea teoriei feedback -ului în con trolul marin a crescut
continuu. E ste interesant de observat că controlul proporțional -integral -derivat (PID) folosit în
prezent în numeroase aplicații industriale a fost inițial analizat f ormal în 1929 de Minorsky .
Primul vehicul subacvatic comandat de la distanță, POODLE, a fost construit în 1953, iar
ROV a evoluat în anii 1960 și 1970, în special în scopuri militare. În anii 1980, ROV -urile au
devenit stabilite pentru utilizarea în industria off -shore comercială și au început să apară
pentru aplicații științifice. Primele autovehicule fără bandă adezive au fost construite în
scopuri experimentale în anii 1970. În prezent, AUV -urile devin din ce în ce mai obișnuite
pentru aplicații științifice, militare și comerciale. Sistemele AUV la cheie pentru o serie de
sarcini sunt disponibile de la fu rnizorii comerciali, iar serviciile AUV pot fi achiziționate de la
un număr mare de companii.
US Navy (Forțele Navale ale Statelor Unite) a finanțat mare parte din dezvoltarea
tehnologiei ROV în anul 1960, care pe atunci era numită CURV (Cable -Controlled
Underwater Recovery Vehicle). Era folosit pentru salvarea și recuperarea obiectelor aflate la o
mare adâncime, precum bombele nucleare pierdute în Marea Mediterană după prăbușirea
avionului bombardier B -52 în anul 1966 (recunoscut drept „Palomares inciden t”) . Industriile
de petrol și de gaz lichefiat au văzut potențial în acest proiect, așa că l -au modificat după
propriile nevoie, dând naștere unei noi clase de ROV -uri (work -class), care asistau
dezvoltarea platformelor petroliere . În anii 1980, adică pest e mai bine de un deceniu de când
au fost introduse, ROV -urile au devenit esențiale deoarece mare parte din necesitățile
platformelor petroliere au depășit posibilitățile scafandrilor . Pe la mijlocul anilor 1980,
industria ROV a suferit o stagnare serioasă în dezvoltarea tehnologiei, provocată de scăderea
prețului petrolului și declanșarea unei recesiuni economice la nivel global . De atunci,
dezvoltarea industriei ROV a fost accelerată, iar astăzi ROV -urile pot performa numeroase
sarcini, în numeroase domeni i. Sarcinile lor variază de la o simplă inspecție a structurilor
submarine, conducte și platforme, la conectarea conductelor și plasarea varietăților necesare
sub apă. Sunt utilizate extensiv în inițierea construcții lor subacvatice și repararea și
întrețin erea lor ulterioară (Fig. 1.7). ROV -urile submersibile au fost folosite și la localizarea
epavelor istorice, precum RMS Titanic (Fig. 1.18), Bismarck, USS Yorktown, SS Central
16
America, dar și la recuperarea materialelor de pe fundul oceanului și aducerea l or la suprafață .
În timp ce majoritatea ROV -urilor sunt folosite în industria petrolieră și de gaze, altele și -au
găsit întrebuințare în armată (deminare, inspecție) (Fig. 1.19) și știință (explorarea oceanului) .
Fig. 1.17 Fig. 1.18 Fig. 1.19
Primul AUV a fost proiectat la Universitatea din Washington in 1957 de catre Stan Murphy,
Bob Francois si mai apoi de Terry Ewart. SPURV (Special Purpose Underwater Researc h
Vehicle) era folosit pentru a studia difuzia, transmisia acustica si semnalele s ubmarinelor.
Alte AUV -uri mai recente au fost proiectate la Institutul de Tehnologie din Massachusetts in
1970. Unul dintre acestea este expus l a muzeul Hart Nautical Gallery . In acelasi timp, erau
create AUV -uri si in Uniunea Sovietica (desi asta nu s -a aflat decat mai tarziu).
1.3. Consideraț ii tehnice in robotica subacvatica
1.3.1. Introducere
Oceanele lumii acoperă 2/3 din suprafața Pământului și au fost critice pentru bunăstarea
umană de -a lungul istoriei. Ca și în cele mai vechi timpuri, ele permit transportul bunurilor
între națiuni. În prezent, mările reprezintă surse valoroase de hrană și alte resurse, cum ar fi
petrolul și gazul. Pe termen scurt, s -ar putea să vedem în curând apariția mineritului off -shore
pentru metale, precum și exploatarea hidraților de gaze. Dimpotrivă, oceanul poate, de
asemenea, amenința securitatea uman ă și infrastructura de deteriorare prin fenomene naturale,
cum ar fi uraganele și tsunami -urile.
Înțelegerea noastră științifică a mării adânci se extinde rapid prin utilizarea unei varietăți de
tehnologii. Primele explorări științifice au fost efectuate în primul rând prin utilizarea de
scufundări și submersibile ocupate de oameni, completate de o varietate de alte tehnologii,
cum ar fi instrumentele remorcate sau coborâte, traule, drage, instrumente maritime fluviale
autonome și instrumente de foraj sub acvatica . Vehiculele recent operate de la distanță și
autonome au început să revoluționeze explorarea fluvialului marin, revenind adesea date
superioare la costuri reduse. În viitorul apropiat, observatoarele maritime care sunt legate de
17
cablurile și satel iții cu fibră optică vor returna cantități masive de date de la locațiile de coastă
și adâncime. Aceste observații le vor completa de la investigații expediționare convenționale
și va necesita intervenție teleoperată sau robotică în timpul instalării și pe ntru service.
Instalațiile petroliere și gazeif ere off -shore sunt în prezent deservite aproape exclusiv de
vehiculele acționate de la distanță (ROV) , conectate fizic printr -un cablu pentru a primi
energie și date, cu scafandri umani folosiți numai pentru cele mai puțin adânci instalații.
Sistemele submarine necesită capacități extinse de lucru în timpul instalării și necesită
inspecții și intervenții frecvente pentru a sprijini opera țiunile de foraj, acționarea supapelor,
repararea sau înlocuirea componentelor submarine și îndeplinirea diverselor sarcini necesare
pentru a menține ratele de producție și calitatea produselor. Tendința spre intervenția
submarină robotizată și teleoperată este sigur că va continua ca producția de petrol și gaze off –
shore să se deplaseze în ape mai adânci, iar considerentele economice împing pașii de
producție cheie de la platformele de suprafață până la fluviul maritim. Dispozitivele de
manipulare de la di stanță permit acestor sisteme să execute sarcini complexe, cum ar fi
îndepărtarea resturilor, curățarea cu unelte abrazive și să opereze o varietate de unelte de
testare nedistructivă. Eficacitatea utilizării ROVs scade în profunzime, în principal datorită
creșterii costurilor și a dificultăților de manipulare a legăturii lungi.
Autovehiculele subacvatice (AUV) sunt vehicule subacvatice care nu depășesc limitele
impuse de legăturile ROV pentru unele sarcini. Astfel de vehicule își poartă propria lor sursă
de energie (în prezent baterii, probabil, celulele de combustibil în viitor ) și comunică numai
prin acustică și, probabil, legături optice în viitorul apropiat. Comunicațiile limitate necesită
ca aceste vehicule să funcționeze independent de controlul uma n continuu, în multe cazuri
vehiculele funcționează complet autonom. AUV -urile sunt în prezent utilizate în scopuri
statistice, oceanografice, arheologie subacvatică și anchetă subterană. Aplicațiile militare,
cum ar fi ancheta de detectare a minelor și a sondajului privind amplasarea la sol , sunt în
prezent operaționale, iar aplicații mai ambițioase, cum ar fi supravegherea submarină pe
termen lung, se află în dezvoltarea tehnologică. În prezent, AUV -urile nu sunt capabile să
preleveze sau să manipuleze sa rcini precum cele realizate în mod obișnuit de ROV -uri,
deoarece mediile de lucru tipice tind să fie complexe și provocatoare chiar și pentru piloții
umani calificați.
Astăzi, aproximativ 200 de AUV -uri sunt operaționale, multe dintre ele experimentale. Cu
toate acestea, se maturizează rapid. Recent, mai multe companii oferă acum servicii
18
comerciale cu AUV -uri. De exemplu, pentru industria petrolului și a gazelor, reducerea
costurilor unui studiu realizat cu un AUV în loc de un vehicul remorcat este de pâ nă la 30%,
iar calitatea datelor este în general mai mare. De asemenea, producătorii comerciali din mai
multe țări oferă acum sisteme AUV la cheie pentru sarcini specifice și bine definite. În
prezent, manipulatoarele de la distanță sunt standard echipamen te pentru majoritatea ROV –
urilor, în timp ce, dimpotrivă, manipularea autonomă este înc ă o provocare pentru cercetare.
1.3.3. Mediul Acvatic
Trecand de la construirea de roboți care sa functioneaza pe uscat sau în aer este substanțial
diferită de construirea de roboți care sa funcționa în apă. Este un mediu complet diferit.
Apa se difera de aer dupa cum urmeaza [Tabelul 1.1]:
[Tabelul 1.1]
Aer Apa
Aerul este un fluid Apa este un fluid
Aerul este un gaz Apa este un lichid
Aerul este lumina Apa este grea
Aerul nu este foarte dens Apa este de aproximativ 750x mai densa
Aerul este comprimabil Apa nu este comprimabila
Aerul este un bun insulator de caldura Apa ajuta la pierderi de caldura
Aerul nu este un bun conducator de curent Apa sarata conduce electricitatea bine
Aerul nu dizolva lucruri Apa este formata din molecule polare
Aerul este format din mai multe gaze Apa este formata din o singura molecula
Toate aceste lucruri afectează designul și alte caracteristici ale componentelor utilizate
pentru un robot subacvatic, uneori în moduri neașteptate.
19
1.3.2 . Presiune și adâncime
În acest moment vă deplasați printr -o mare de aer. Coloana de aer deasupra fiecărui
centimetru patrat de suprafață cântărește 6,66 kg la nivelul mării. Echivalentul metric este de
101 KiloPascali (kPa) sau 101 millibari. Aceasta se numește o atmosferă (1 ATM) de
presiune.
Pentru fiecare 10 metri coborâți în ocean, presiunea crește cu o valoare suplimentară de 6,66
kg/ , o atmosferă (ATM) suplimentară de presiune [Tabelul 1.2].
[Tabelul 1.2]
Nivelul mării 1 atmosfera
10 de metri adâncime 2 atmosfere
20 de metri adâncime 3 atmosfere
30 de metri adâncime 4 atmosfere
n+10 metri adâncime +1 atmosfere
Aceasta este gândire în termeni de presiune absolută. Manometrele sunt setate la 0 la nivelul
mării, ceea ce înseamnă că vor citi 101 kPa la o adâncime de 10 metri .
Cu cât roborul subacvatic merge mai adânc, cu atât mai multă presiune exercitată de coloana
de apă pe spațiile umplut cu gaz, cum ar fi motoarele ș i carcasele camerei. Cu cât robotul
subacvatic este mai adânc, cu atât este mai mare presiune a ca apa să pătrundă în aceste spații
și să comprime orice conținut de gaze.
1.3.3 . Flotabilitatea ș i Principiul lui Archimedes
Filozoful grec Archimedes, care a trăit între 287 și 212 î.H., a descoperit o lege a fizicii care
a devenit cunoscută sub nume le de P rincipiul lui Archimedes.
Principiul lui Archimedes afirmă că un obiect, în întregime sau parțial, scufundat într -un
lichid, este menținut de o forță (flotabilitate) egală cu cea a greutății apei pe care o înlocuiește.
Deplasarea pur și simplu înseamnă împingerea apei deoparte. Dacă împingeți o găleată
goală într -o piscină, ea împinge apa deoparte, înlocuind -o (Ex: deplaseaza mai multă apă =
forță plutitoare mai puternică și m ai dificil de a se scufunda; deplaseaza mai puțină apă = forță
plutitoare mai mica și mai ușor de scufundat).
20
Există două forțe care acționează asu pra vehiculului de la distanță: f lotabilitatea este o forță
de împingere ascendent ă; gravitatia este o forță care împinge în jos (Fig. 1.20 ).
Gravitatie
Flotabilitate
Fig. 1.20
Flotabilitatea neutră este atinsă atunci când ambele forțe sunt egale.
Există „centre imaginare” în care aceste două forțe sunt concentrate , într-un fluid , în orice
obiect , denumite Centrul de flotabilitate (COB = Center of Buoyancy) și Centr ul de Gravitatie
(COG = Center of Gravity) . COB este întotdeauna deasupra lui COG, dacă nu, vehiculul este
instabil și se va rasturna.
Distanța dintre COB și COG se numește BG (Gradient de flotabilitate). Cu cât este mai mare
distanța dintre COB și COG, cu atât este mai stabil vehiculul și cu atât este mai probabil să
rămâna în poziție verticală. Cu toate acestea, cu cât este mai mică d istanța BG, cu atât este
mai puțin stabilă, dar mai ușor de manevrat.
1.3.4. Densitatea , flotabilitatea și rezistența
Legat de principiul lui Archimedes este conceptul de Densitate. De ce baloanele pline cu gaz
de heliu plutesc în aer, dar cele de aceeași mărime, care sunt umplute cu aer, nu?
Ea se referă la cât de mult cântăresc gazele diferite pentru același volum d e balon. Balonul
umplut cu gaz de heliu cântărește mai puțin decât aerul pe care îl înlocuiește. Cu alte cuvinte,
este un gaz mai ușor pentru același volum, care este un alt mod de a spune că este mai puțin
dens. Densitatea, deci, a oricărei substanțe este greutatea unui volum specific.
Poți să te plimbi repede, chiar să alergi prin aer, dar ai încercat vreodată să te plimbi în
picioare când apa era până la piept? Este foarte greu pentru că apa este atât de mult mai densă
decât aerul incat este greu de împins. Este mult mai ușor să înoți prin ea decât să împingi apa
deoparte în timp ce mergi. În același mod, cu cât suprafața robotului subacvatic este mai mică,
21
cu atât mai puțină rezistență pe care o va exercita apa și o cantitate mai mică de energie va fi
necesară pentru a se mișca mai rep ede.
1.3.5 . Parte teoretică și de calcul
Intrand in partea teoretica a roboticii subacvatice, un corp rigid este descris complet prin
poziția și orientarea acestuia față de un cadru de referință Σi, Oi -xyz care se
presupune a fi fixat și inerțial. Fie ca:
,
vectorul poziției corpului se coordonează într -un cadru de referință al pământului. Vectorul ˙
η1 este derivatul de timp corespunzător (exprimat în cadrul cu cadru l fix). Da că se defineste:
ca viteza liniară a originii cadrulu i fixat corpului în ceea ce privește originea
cadrului fixat pe pământ exprimat în cadrul cadrului fixat (de acum încolo: viteza liniară
fixată de corp) urmatoarea re latie dintre vitezele liniare de finite detine :
̇ ,
unde este matricea de rotatie care exprima transformarea de la cadrul inertial la cadrul fixat
corpului.
Fie ca:
,
vectorul coordonatelor unghiului Euler al corpului într -un cadru de referință fixat de Pământ.
În domeniul nautic, acestea sunt desem nate în mod obișnuit drept rot ire, pas și răsturnare.
Rotirea este definită ca rotație î n jurul axei z a cadrului fixat, pas este definit ca rotație în
jurul axei y care rezultă după mișcarea de rotire și rasturnarea este definită ca rotație în jurul
axei x care rezultă după miscarile de rasturnare si pas . Vectorul ˙ η2 este derivatul timpului
corespunzător (exprimat în cad rul inerțial). Să se definească:
ca viteza unghiulară a cadrului fixat corpului în raport cu cadrul fixat la pământ , exprimat în
cadrul fixat d e corp (de acum înainte viteza unghiul ară fixată pe corp). Vectorul ˙ η2 nu are o
22
interpretare fizică și este legat de viteza unghiulară fixată de corp printr -o ma trice J acobiană
corespunzătoare :
.
Fig. 3.2, Notatii comune pentru miscarea unui vehicul marin
Fig. 3.3, Variabile pentru miscarile unui vehicul subacvatic
Matricea poate fi exprimată în termenii unghiurilor Euler ca :
,
23
unde cα și sα sunt abrevieri pentru cos (α) și sin (α), respectiv. Matricea nu este
inversibilă pentru fiecare valoare a lui . În detaliu, es te:
,
fiind unic pentr u , cu , adică pentru u n unghi de pantă de
.
Matricea de rotație , necesară pentru a transforma vitezele liniare, este exprimată în
termeni de unghiuri Euler prin
În ceea ce privește orice reprezentare a orientării unui corp rigid, apar mai multe posibilități,
între acestea, utilizarea a unei descrieri cu patru parametri date de quaternioane. Termenul de
quaternion a fost introdus de Hamilton în 1840, după 70 de ani de la introducerea unei
reprezentări atitudine riguroasă a corpului cu patru parametri de către Euler. Fie vectorul:
ca
și vectorul
ca
24
și, definind matricea :
ca
,
unde matricea de rotație si este
.
Cartografia inversă, dată de structura bloc -diagonal a lui , este dată de
.
Dete rmini nd ca
,
vectorul forțelor generalizate, unde
,
forțele rezultante care acționează asupra corpului rigid exprimat într -un cadru caroseristic și
,
25
momentul rezultant corespunzător polului , este posibilă rescrierea ecuațiilor de mișcare
Newton -Euler ale unui corp rigid care se mișcă în spațiu ca:
.
Matricea este defi nită constantă, simetrică și pozitivă, și anume,
și
.
Parametrizarea sa unică este de forma
,
unde este vectorul de distanță 3 × 1 față de centrul de greutate (CG) exprimat în cadrul
caroseriei fixate, este matricea de identitate 3 × 3 și este tensorul de inerție exprimat
în cadrul fixat de corp S (x) este operatorul matricei care execută produsul încrucișat între doi
vectori (3×1)
Pe de altă parte, nu există o parametrizare unică a matricei , care reprezintă termenii
Coriolis și cent ripetal. Se poate demonstra că matricea poate fi întotdeauna
parametrizată astfel încât să fie simetrică oblică, adică
Ecuația forțelor generalizate hidrodinamice reprezintă mișcarea unui corp rigid într -un spațiu
gol, în timp ce se ocupă de nave sau v ehicule subacvatice necesită luarea în considerare a
prezenței forțele generalizate de hidrodinamică, adică forțele și m omentele cauzate de
prezența fl uidului. În cazul hidrodinamicii, este normal să presupunem că forțele
26
hidrodinamice generalizate pe un c orp rigid pot fi suprapuse liniar , în special, acestea sunt
separate în forțe induse de radiații, perturbații de mediu și restabilirea forțelor datorate
gravitației și flotabilității. Forțele induse de radiație sunt definite ca forțele asupra corp ului
atunci când corpul este forțat să oscileze cu frecvența de excitație a undelor și nu există unde
de incidență . Acestea pot fi identificate ca suma mase i adăugate datorată inerției fl uidului
înconjurător și amortizării potențiale induse de radiație datorată energiei disipată d e undele de
suprafață generate.
Distorsiunile de mediu pot fi identificate ca forțe generalizate cauzate de vânt, valuri și
curentul oceanic. Ecuațiile globale ale mișcărilor pot fi așadar scrise sub formă de matrice ca :
unde si includ, de asemenea, termenii de masă
adăugați.
În următoarele subsecțiuni, aceste forțe generalizate, medii specifice ale mediului, vor fi
discutate .
Când un corp rigid se mișcă într -un fluid, trebuie luată în considerare inerția suplimentară a
fluidului care înconjoară corpul care este accelerat de mișcarea corpului. Acest efect poate fi
neglijat în robotica industrială, deoarece densitatea aerului este mult mai mică decât densitatea
unui sistem mecanic în mișcare. Cu toate acestea, în aplica țiile subacvatice, densitatea apei,
ρ ≈ 1000kg / m3, este comparabilă cu densitatea vehiculelor. În special, la 0 ° C, densitatea
apei dulci este de 1002,68 kg / m3. P entru apa de mare cu salinitate 3,5% este ρ = 1028,48 kg
/ m3. Fluidul care înconjoară corpul este accelerat cu corpul, astfel încât este necesară o forță
pentru realizarea acestei accelerații, în timp ce fluxul exercită o forță de reacție egală în
mărime și opusă direcției. Această forță de reacție este contribuția de masă adăugată. Masa
adăugată nu este o cantitate de fluid care se adaugă la sistem astfel încât să aibă o masă
mărită. Diferitele proprietăți sunt legate de matricea de inerție 6 × 6 a unui corp rigid, datorită
faptului că masa adăugată este o funcție a geometriei suprafeței co rpului. Forța hidrodinamică
de-a lungul datorată accelerației liniare în direcția este definită ca:
unde
27
.
În mod obișnuit, toate elementele matricei sunt nenuloase. In general, plus masă și potențial
de amortizare va fi dependent de frecvență ș i depinde de viteza de transmitere. Acest lucru
este valabil și pentru anumiți termeni de amortizare vâscoasă (frecarea pielii, amortizarea rolei
etc.). Aceasta oferă o ecuație pseudo -diferențială care descrie răspunsul de frecvență al
vehiculului. Deoarec e unele dintre coeficienții depind de frecvență, aceasta nu este o ecuație
diferențială obișnuită .
Acest rezultat este bine cuno scut de la hidrodinamica navei . Ecuația rezultată este o ecuatie
diferentiala obijnuita în care matricea de inerție adițională MA este constantă, inde pendentă
de viteză și definitiv pozit ivă.
Coeficienții de masă adăugați pot fi teoretic derivați prin exploatarea geometriei corpului
rigid s au numeric prin teoria benzilor. Acești coeficienț i au fost derivați experimental, iar
geometria dă o matrice non -axială MA. Pentru a furniza un ordin de mărime pentru termenii
de masă adăugați, pentru masa vehiculului de aproximativ 5000 kg , X˙u este de aproximativ –
500 kg. Masa adăugată aduce și o contr ibuție Coriolis și centripetală. Se poate demonstra că
exprimația matricei poate fi paramată cu atât mai mult
( ) = ( ), ∀ ν ∈ .
Amortizarea hidrodinamică pentru vehiculele marine este cauzată în principal de: potențial
de amortizare, frecare la nivelul pielii, amortizare prin deviație de undă. amortizare pri n
vărsare si amortizare vâscoasă.
Degradarea potențială indusă de radiații datorată oscilațiilor forțate ale corpului este
cunoscută în mod ob ișnuit ca amortizare potențială. Contribuția sa dinamică este de obicei
neglijabilă în ceea ce privește, de exemplu, frecarea vâscoasă a vehiculelor subacvatice, în
timp ce aceasta poate fi semnificativă pentru vasele de suprafață. Protecția la nivel cutanat
afectează straturile de bandă lim ită superioară și poate afecta mișcarea de joasă frecvență a
vehiculului. Împreună cu acest efect, la frecvențe înalte, este posibil să se observe un fenomen
patrat, sau neliniar, de frecare a pielii cauzat de straturi de graniță turbulente. Anularea
amort izării de undă este efectul dominant de amortizare dinamică a mișcărilor de
supratensiune a vaselor de suprafață în mare. Aceasta poate fi considerată o rezistență
28
suplimentară pentru b ărcile care avansează în valuri. D eviația sa este proporțională cu pătr atul
înălțimii semnificative a valurilor. În leganare și răsturnare , direcțiile, totuși, contribuția sa
dinamică este neglijabilă în ceea ce privește efectul vărsării de vârfuri. Un corp care se
deplasează într -un fluid produce o separare a fluxului; acest lucru poate fi considerat în
continuare laminar în amonte, în timp ce două vîrf uri antisimetrice pot fi observate în aval. În
cazul în care corpul este îndreptat spre direcții de acționare în mod obișnuit, acest lucru se
datorează apariției unor erori normale în ceea ce privește dimensiunea și axa. Acest efect
poate provoca oscilația cablurilor și a altor structuri subacvatice. Cu toate acestea, în ceea ce
privește vehiculele subacvatice, acest efect este neglijabil pentru ROV -uri și poate fi
contracarat prin proiectarea unor suprafețe mici de control ade cvate pentru AUV -urile torpilă .
Vărsa rea cu turbionare este o miscare instabilă care are loc la viteze speciale de scurgere (în
funcție de mărimea și forma corpului cilindric). În acest flux vortexurile sunt create în partea
din spate a corpului, periodic din fiecare parte.
Viscozi tatea fl uidului determină, de asemenea, forțe disipative. Acestea sunt compuse din
forțe de tracțiune și de ridicare, prima fiind paralelă cu viteza relativă a vehiculului față de
apă, în timp ce acestea din u rmă sunt normale.
Pentru unghiuri mici de ata c, adică, | α | <10◦, coeficientul de ridicare este proporțional
proporțional cu α și se descompune rapid la zero, pe măsură ce α crește.
[Tabelul 1.2]
Când un corp rigid este complet s au parțial scufundat într -un fl uid sub efectul gravitației,
trebuie luate în considerare două forțe: forța gravitațională și flotabilitatea.
Acest efect nu este constant, dar variază în funcție de adâncime, longitudine și latitudine;
totuși, această valoare este de obicei suficient d e precisă pentru majoritatea aplicațiilor, cu
excepția sistemelor de navigație inerțiale. Pentru un corp complet scufundat, calculul acest or
efecte dinamice este simplu.
29
Curenții oceanici actuali sunt cauzați în principal de mișcarea mareelor, de sistemu l vântului
atmosferic deasupra suprafeței mării, de schimbul de căldură la suprafața mării, de
schimbările de salinitate, de forța Coriolis datorată rotației Pământului, de undele neliniare, de
marile circulații oceanice, cum ar fi curentul g olfului , efec tul fenomenelor de instalare sau
supratensiunile de furtună și gradientele de densitate puternică în oceanul superior. Curenții
pot fi foarte diferiți datorită caracteristicilor clima tice și / sau geografice locale. C a exemplu,
în fiorduri, efectul mareelo r poate produce curenți de până la 3 m / s; în plus, există modele
matematice specifi ce pentru diferitele componente.
Modelul matematic al unui robot subacvatic, este de o mare importanță. C hiar și atunci când
este simplificată, surprinde cea mai importantă parte a dinamicii. Mai mult decât atât, acesta
este într -o formă adecvată pentru proiectarea controlului. Există un avertisment despre
existența unui AUV / ROV controler a cărui stabilitate se bazează pe proprietățile raportate
mai sus. Pe de al tă parte, există condiții de lucru în care aceste presupuneri nu mai sunt
valabile, adică atunci când AUV se deplasează cu viteză ridicată sau aproape de suprafață sau
atunci când forma sa nu permite simplificări geometrice. Acesta din urmă este cazul, de
exemplu, mai multe ROV -uri. În plus, este încă obișnuit să se proiecteze controlerele pentru
AUV bazate pe modele liniarizate și să se controleze ROV -urile cu controlere simple PID.
Aceste considerații au drept scop să calculeze cu mai multă precizie terme nii hidrodinamici cu
scopul de a anticipa, de a simula și de a analiza performanțele, mai degrabă decât de a
controla semnalele. În acest caz, se trece la o abordare bazată pe teoria dinamică a fluidelor
computerizate, așa cum este prezentată mai sus. În d etaliu, fiecare geometrie a vehiculului, cu
unghiul specific de atașare și unghiul lateral, este luată în considerare la calcularea forțelor /
momentelor hidrodinamice. Acest efort sporit de calcul face posibilă capturarea unor efecte
dinamice, cum ar fi m omentul de rotație indus de vârfuri, care nu este justificat de abordarea
bazată pe criterii coeficiente.
Modelul de monitorizare a instalației are un model simplu care capturează cele mai
importante părți ale dinamicii. Cel mai precis model al vehiculul ui ar trebui să fie utilizat
pentru predicție și simulare de mișcare.
Vehiculele subacvatice sunt echipate cu un sistem de senzori dedicat controlului mișcării și
realizării misiunii specifice pe care a fost comandată să o finalizeze. În acest din urmă c az, pot
fi instalate senzori dezvoltați pentru măsurători chimice / biologice sau cartografiere, ceea ce
depășește domeniul de aplicare al acestui capitol. AUV trebuie să funcționeze în cea ma i mare
30
parte a timpului sub apă. U na dintre problemele majore cu robotica subacvatică se află în
sarcina de localizare datorită absenței unui singur senzor proprioceptiv pentru măsurarea
poziției vehiculului. Sistemul global de poziționare (GPS) nu poate fi utilizat sub apă.
Sistemele multisenzor redundante sunt în mod obișnuit combinate utilizând tehnici de
estimare a stării sau de fuziune a senzorilor pentru a asigura detectarea defecțiunilor și
capacitatea de toleranță a vehiculului prezintă tipurile de senzori și variabila corespunzătoare
măsurată în mod obișnuit pe ntru vehiculele submarine fără pilot (UUVs).
Senzorii care se găsesc pe un vehicul subacvatic sunt: Compas – O giroscopică poate oferi o
estimare a nordului geodezic cu o fracțiune de grad. Compasurile magnetice pot furniza
estimări ale nordului magneti c cu o precizie mai mică de 1◦, dacă sunt calibrate cu grijă
pentru a compensa perturbațiile magnetice generate de vehiculul însuși. Tabelele sau
modelele pot fi folosite pentru a se converti de la nord ul magnetic la nordul geod ezic; U nitate
de măsurare in erțială (IMU) – Un IMU furnizează informații despre accelerația liniară și
viteza unghiulară a vehiculului. Aceste măsurători sunt combinate pentru a forma estimări ale
atitudinii vehiculului, inclusiv o estimare a nordului (adevărat) geodezic față de cele mai
complexe unități. În majoritatea cazurilor, pentru vehiculele subacvatice care se mișcă lent,
este necesară, de asemenea, o măsurare independentă a vitezei vehiculului pentru a obține
estimări precise ale vitezei de translaț ie sau a deplasării relativ e; Senzor de adâncime –
Măsurarea presiunii apei determină adâncimea vehiculului. La adâncimi de peste câteva sute
de metri, ecuația de stare a apei de mare trebuie invocată pentru a obține o estimare precisă a
adâncimii bazată pe presiunea ambiantă . Cu o calitate înaltă a senzor ului, aceste estimări sunt
fiabile și exacte, dând o eroare mică de ordinul 0,01%; Sonar de altitudine și î n perspectivă –
Acestea sunt folosite pentru a detecta prezența obstacolelor și a d istanței de la flota maritimă;
Jurnal de viteză Doppler (DVL) – Prin p relucrarea energiei acustice fl uxate din flota maritimă
și coloana de apă de la trei sau mai multe grinzi, se pot obține estimări ale vite zei vehiculului
în raport cu fl uorul mării și mișcarea relativă a apei. Estimăr ile vitezei de urmărire a fundului
pot fi corecte la ≈ 1 mm / s; Sistem de poziționare globală (GPS) – Acesta se utilizează pentru
a localiza vehiculul în timp ce se află la suprafață pentru a inițializa sau reduce scăderea
estimărilor dintr -o combinație I MU / DVL. GPS fu ncționează numai la suprafață;
Poziționarea acustică – Există o varietate de scheme pentru determinarea poziției vehiculului
utilizând acustică. Navigarea longitudinală poate determina poziția vehiculului în raport cu un
set de balize acust ice ancorate la nivelul fluviului marin sau la suprafață prin estimări de
distanță obținute din timpul de călătorie acustic. Navigarea ultra -scurtă de bază utilizează
31
informații de fază pentru a determina direcț ia dintr -un grup de hidrofoane. A cest lucru e ste cel
mai adesea folosit pentru a determina direcția vehiculului (în două dimensiuni) de la un vas de
susținere a suprafeței, care este apoi combinat cu o durată de acomodare a distanței, pentru a
determina o estimare a poziției relative a vehi culului în coordonatele sferice; Sisteme de
viziune – Camerele pot fi folosite pentru a obține estimarea unor mișcări esențiale și
incomplete, însoțite de un algoritm de localizare și mapare simultană (SLAM) și utilizate
pentru a efectua sarcini cum ar fi urmărirea vizuală a conductelor, păstrarea stațiilor, servo
vizual sau mozaicarea imaginilor.
Vehiculele marine sunt în general propulsate cu ajutorul unor propulsoare sau hidrogeluri. În
cazul ROV cu stabilitate la înclinare structurală, sunt de obicei patru prop ulsoare care asigură
mobilitate holonomică celor patru DOF -uri rămase, în special, adâncimea este adesea
decuplată și vehiculul este controlat pe un avion în deplasare, în mișcare și răsturnarea DOF –
urilor. Vehiculele respective, care nu sunt precise , nu p ot fi utilizate cu ușurință pentru control
interactiv prin intermediul unui manipulator datorită imposibilității de a contracara forțele
generalizate schi mbate cu baza manipulatorului. I n acest caz, sunt necesare șase sau mai
multe propulsoare. AUV -urile a u în general o formă torpilă și sunt utilizate pentru
cartografiere / explorare. Acestea sunt propulsate folosind unul sau două propulsoare paralele
cu direcția înainte și înapoi o aripioara și o cârma. A cest tip de propulsie este în mod evident
non-homono mic și are o pierdere de mobilitate la viteze reduse. Hidrojoarele, cunoscute și ca
jeturi de pompare sau jeturi de apă, sunt sisteme care creează un jet de apă pentru propulsie;
acestea au anumite avantaje în raport cu propulsoarele, cum ar fi o densitate mai mare de
putere și o utilizare mai mare în apa de mică adâncime, dar pot asigura o împingere într -o
singură direcție .
Sistemul de control al misiunii (MCS) poate fi considerat cel mai înalt nivel în timpul
misiunii AUV; este responsabil pentru reali zarea mai multor obiective de control. La cel mai
înalt nivel, funcționează ca o interfață între operator, acceptând instrucțiunile sale într -un
limbaj superior și descompunând aceste instrucțiuni în sarcini de misiune în conformitate cu
arhitectura softwa re implementată. Sarcinile misiunii sunt, în general, concurentă, iar
manipularea acestora depinde de starea vehiculului și de condițiile de mediu; este, prin
urmare, MCS care gestionează sarcinile, eventual suprimând, secvențându -le, modificând și
priorit izându -le. De asemenea, un MCS este echipat, de obicei, cu o interfață grafică (GUI)
pentru a raporta starea misiunii către operator.
32
În ceea ce privește aplicațiile cele mai avansate de robotică, un MCS eficient ar trebui să
permită utilizarea sistemelo r complexe robotizate de către utilizatori care nu cunosc neapărat
toate detaliile lor tehnice. O privire de ansamblu relevantă pentru controlul misiunii
subacvatice este prezentată în care include o clasificare interesantă a MSC -urilor utilizate în
mai mu lte laboratoare, conform cărora au fost identificate patru arhitecturi majore de control
AUV: ierarhice, heterarhice, subsumption și hibride. Din punct de vedere matematic, MCS
trebuie în general proiectat pentru a putea să abordeze sistemele dinamice hibr ide, și anume să
se ocupe atât de procese de tip eventdriven, cât și de procese determinate de timp.
Orientarea este acțiunea de determinare a cursului, atitudinii ș i vitezei vehiculului față de un
anumit cadru de referință (de obicei Pământul), care urmează să fie urmat de vehicul,
Controlul este dezvoltarea și aplicarea pe un vehicul a forțelor și momentelor potrivite pentru
controlul, urmărirea și stabilizarea punctelor de operare. Aceasta i mplică elaborarea legilor de
control și feedback.
Algoritmii de orientare pot beneficia de o gamă largă de intrări, informații generale despre
misiuni, intrări în timp real ale operatorului, date măsurate în mediul înconjurător, cum ar fi
curentul oceani c, informații topologice de mediu, cum ar fi o hartă batimetrică, senzori
exteroceptivi pentru evitarea obstacolelor și, evident, sistemul de navigație. Vehiculului i se
poate cere să urmeze o cale, adică o curbă reprezentată geometric în două sau trei dim ensiuni
sau o traiectorie, adică o cale cu o lege specifică a timpului atribuită. Mai mult, atunci când
poziția dorită este constantă, problema se numește reglarea punctului de setare sau
manevrarea. Problema de orientare este în mod obișnuit descompusă în sub-sarcini simple de
dimensiuni mai mici: o problemă de control al atitudinii și un control al traseului. Mai mult
decât atât, atitudinea este de obicei considerată ca un punct de setare simplu de adâncime cu
valțuri și pasuri nul e și calea este, de obic ei, o linie în plan orizontal. Una dintre cele mai
comune abordări de orientare se bazează pe generațiile punctelor. Acestea sunt de obicei
stocate într -o bază de date și sunt folosite pentru a genera calea / traiectoria vehiculului; o
viteză de trecere, d e fapt, poate fi definită împreună cu coordonatele cartesiene ale punctelor.
Cea mai simplă modalitate de a conecta punctele de parcurs este utilizarea segmentelor care
leagă două puncte succesive. Metodologiile de orientare bazate pe punctual de abordare
trebuie să țină seama de prezența prezentei și a eventualei nonholonomicități a vehiculului . O
tehnică pentru urmărirea adaptivă a contururilor batimetrice prin generarea corectă a punctelor
de trecere este prezentată în .
33
Informațiile despre mediu sunt obținute prin intermediul unui singur sonar vertical. O
metodă alternativă se bazează pe orientarea liniei de vedere. În acest caz, controlul poziției se
calculează luând în considerare unghiul format de vectorul de la vehicul la următoarea
punctură de cal e, mai degrabă decât necesitatea ca vehiculul să urmeze exact segmentul de
linie între punctul curent și următorul punct. Trebuie acordată o atenție deosebită manevra de
andocare cu algoritmi proiectați pe domeniul de aplicare . Prin combinarea orientării bazate pe
viziune cu un neurocontroler instruit prin învățarea armăturii, în , a fost prezentat un algoritm
care vizează o stație de reținere pe un recif sau o înotătoare de -a lungul unei țevi. În
instrucțiunile se indică orientarea pentru AUV -urile implica te în mod specific într -un sondaj
de pregătire a fundului mării și inspecția vizuală a conductelor. Referința raportează un sistem
specific de orientare destinat evitării minelor pentru AUV -uri. Bazându -se pe o discretizare
tridimensională a mediului, tehn ica de planificare a traseului constă în calcularea unei căi
sigure evitând celulele nesigure ale hărții. Datorită slabei manevrabilități la viteză mică în
anumite condiții, vehiculul trebuie să facă o rotație de 360 ° pentru a evita oprirea și pentru a
cartografia mediul apropiat de acesta înainte de a genera o cale sigură. O discuție profundă
privind orientarea pentru vehiculele de suprafață și subacvatice poate fi găsită în .
Controlucratele vehiculelor de transport maritim nu au avut în vedere condi ții diferite de
funcționare și de configurație de acționare în care un vehicul scufundat trebuie să funcționeze.
În special, există trei probleme principale de control : Un AUV care călătorește la viteză mare
(> 1 m / s), echipat în general cu cel puțin un propulsor aliniat în direcția înainte și cel puțin
două suprafeț e de comandă (pupa și cârma); Un ROV subevaluat, cu o stabilitate metacentrică
ridicată, adică stabilă structural în role și pas și echipat cu cel puțin patru propulsoare; Un
AUV complet acțio nat, echipat cu cel puțin șase remorci.
AUV -urile echipate cu suprafețe de comandă sunt vehicule subacvatice utilizate în principal
pentru misiuni de cercetare / explorare. Moștenind practica obișnuită de control submarin, nu
li se permite să efectueze m ișcări arbitrare în șase DOF -uri, ci sunt mai degrabă proiectate
pentru a efectua mișcări specifice cum ar fi: croazieră de -a lungul unei direcții date la o
adâncime constantă, direcție la o adâ ncime constantă sau scufundări.
Experiența marină și înțeleg erea matematică demonstrează că aceste mișcări sunt cuplate
ușor în termeni dinamici. Pentru aceste vehicule, în plus, manevre specifice cum ar fi homing
sau andocare necesită capacități speciale . Acest lucru necesită proiectarea vehiculelor care
sunt stab ile din punct de vedere structural în rola DOF.
34
Cea mai simplă configurare a servomotoarelor care pot controla un AUV prin aceste mișcări
este compusă dintr -un propulsor aliniat de -a lungul direcției din față, a unei pupe și al unei
cârme. V ariabilele de control, astfel, sunt viteza de propulsie și deformarea . Mai multe
abordări pot fi luate în considerare pentru a rezolva această problemă de control, printre
acestea, în se propune controlul modului de alunecare, în timp ce prezintă un mod de adaptare
a modului de alunecare pentru manevra de scufu ndări . Deoarece modelul unui AUV care
călătorește la viteză mare este neliniar și cuplat, reglarea parametrilor se bazează în principal
pe un model linearizat în jurul condițiilor de lucru. Din punct de vedere des criptiv, un ROV
este în principal un vehicul subacvatic în formă de cutie echipat cu unelte cum ar fi o cameră
video sau un manipulator de robot, în timp ce sarcina sa utilă este adesea variabilă în funcție
de sarcină. Acesta este operat de la distanță și conectat fizic la un alt vehicul, fie un vas
subacvatic sau de suprafață. Este proiectat în principal pentru a călători la viteză redusă și este
stabil din punct de vedere structural în rolă și înălțime, în timp ce adâncimea, turația, mișcarea
și înclinare a sunt controlate independent. Datorită absenței unei forme specifice, a sarcinii
utile variabile și a performanțelor relativ scăzute necesare, este obișnuit să se controleze un
ROV prin intermediul controlorilor single -output (SISO). În plus, abordarea PI D este adesea
folosită datorită simplității sale . Controlul unui AUV complet acționat în șase DOF este
necesar în cazul, de exemplu, a unei sarcini de interacțiune efectuate de un m anipulator
montat pe un vehicul. A cesta din urmă, de fapt, trebuie să furni zeze toate componentele forței
/ momentului pentru a contracara dinamic prezența manipulatorului. Această problemă este
cinematic similară cu problema de control al unui satelit în șase DOF -uri. M ediul subacvatic,
totuși, îl face semnificativ diferit de ce l dinamic. Din punct de vedere cinematic, problema
principală este implementarea unei politici adecvat e pentru controlul orientării. O rice
reprezentare a orientării în trei parametri, de fapt, trăieșt e singularități de reprezentare .
Această problemă poate fi depășită prin recurgerea la o reprezentare redundantă a orientării,
cum ar fi quaternionul.
Localizarea în mediul subacvatic poate fi o sarcină complexă, în principal datorită absenței
unui singur senzor extern care oferă poziția vehiculului, cum ar fi, de exemplu, GPS -ul pentru
vehiculele de teren în aer liber. I n plus, mediul este deseori slab structurat. Una dintre cele
mai fiabile metode se bazează pe utilizarea sistemelor acustice, cum ar fi sistemele de bază:
sistemul bazal de lungă durată (LBL) , sistemul de scurtă durată (SBL) și sistemul ultrascurt de
bază (USBL). Aceste sisteme se bazează pe prezența unui transmițător montat pe vehicul și a
unui număr variabil de transpondere amplasate în poziții cunoscute. Diferența de transmisie a
35
transmițăt orului de transmițător poate fi măsurată prin măsurarea unei întârzieri a ecoului; din
aceste informații poziția vehiculului poate fi calculată prin operații de triangulare de bază.
USBL poate fi utilizat cu un singur transponder, care este de obicei monta t pe o navă de
suprafață a cărei poziție este măsurată prin GPS. Un alt sistem de localizare se numește
navigație asistată de teren și se bazează pe folosirea hărților de înălțime a terenului; sunt
disponibile hărți batimetrice, în special în cazul locații lor bine cunoscute, cum ar fi porturile
unde au de obicei o rezoluție de ≈ 1m. În acest caz, poziția vehiculului este obținută prin
filtrarea informațiilor provenind dintr -un punct de vedere descendent.
Localizarea relativă poate fi obținută prin recurge rea la orice dispozitiv care oferă informații
despre poziția relativă a vehiculului în ceea ce privește mediul, chiar și în absența unei hărți.
În acest caz, prin filtrarea măsurătorilor de distanță realizate de -a lungul mișcării, poziția
vehiculului poate fi măsurată. Aceasta este cazul, de exemplu, a tehnicilor de localizare bazate
pe sonar sau viziune [43.52]. Adesea, tehnicile prezentate mai sus sunt utilizate împreună într –
un sistem redundant, iar poziția efectivă este obținută prin recurgerea la tehni ci de fuziune a
senzorilor, cum ar fi metoda de filtrare Kalman.
Localizarea și cartografiere simultană (SLAM), cunoscută și sub denumirea de cartografierea
și localizarea simultană (CML), este un subiect larg în robotica mobilă. Problema poate fi
formul ată ca cerința ca un robot mobil să fie plasat într -un mediu necunoscut și să
construiască progresiv o hartă în timp ce se află în interiorul hărții. Pentru mediul marin, o
problemă suplimentară apare datorită hărții pe scară largă care trebuie utilizat ă pentru misiuni
pe termen lung. Un manipulator poate fi montat pe un AUV sau un ROV pentru a realiza
operații de interacțiune. In acest caz, vehiculul trebuie acționat complet pentru a contracara
forțele și momentele generate de baza manipulatorului.
Vehiculele subacvatice sunt în prezent echipate cu mai mulți senzori pentru a oferi informații
despre localizarea și viteza lor. Problema nu este ușoară. Nu este disponibil un singur senzor
fiabil care să ofere măsurarea necesară a poziției / vitezei sau i nformații despre mediu, cum ar
fi prezența unor obstacole. Pentru a se putea folosi regulatorul cu variabilele necesare, este de
părere că, de exemplu, folosirea unei metode de filtrare prin metoda KALMAN este o tehnică
comună. Această redundanță structura lă poate fi utilizată pentru a oferi capabilități de
detectare a erorilor la sistem. Pentru fiecare dintre senzorii enumerați în secțiunea , eșecul
poate consta într -o ieșire de zero dacă, de exemplu, există o problemă electrică sau o pierdere
de semnificaț ie. Se poate considera că o defecțiune a senzorului este de asemenea o perturbare
36
externă, cum ar fi o citire multiplă a sonarului, care poate fi interpretată ca o defecțiune a
senzorului și detectată în mod corespunzător. Blocarea agitatorului are loc atu nci când un corp
solid este prezent între lamele de elice. Acesta poate fi verificat prin monitorizarea c urentului
solicitat de propulsor.
Un efort de cercetare în creștere a fost recent dedicat elaborării strategiilor de proiectare a
controlului coordon at al vehiculelor subacvatice. Utilizarea mai multor AUV -uri ar putea, de
fapt, să îmbunătățească performanța generală a misiunii, precum și să ofere o mai mare
toleranță la eșecuri . Aplicațiile specifice acestei metode în mediul subacvatic ar putea includ e
problema contracarării minelor navale, monitorizarea porturilor și inspecția, explorarea și
cartografierea zonelor mari. AUV -urile ar putea fi coordonate cu unul sau mai multe vase de
suprafață sau conectate la vehicule terestre sau aeriene pentru a form a o rețea coordonată de
roboți auton omi eterogeni. În afară de mai multe instituții care au dezvoltat pachete de
simulare pentru operațiuni multi -AUV, utilizarea unui număr real de AUV reali este luată în
considerare pentru planul de eșantionare și prognoz are adaptiv al Rețelei de Sampling
Autonomous Ocean, format de mai multe instituții de cercetare precum (pentru componentele
robotice) Caltech, MBARI, Princeton și WHOI . Eșantionarea adaptivă este, de asemenea,
investigată la Laboratorul de Sisteme și Cont roluri Autonome Virginia Tec h, care a dezvoltat
fișiere AUV. Universitatea Națională australiană lucrează în momentul de față pe un șanț de
roboți mici, autonome, numit Serafi na. La Instituto Superior Técnico (IST), se lucrează la
coordonarea dintre un AUV și un catamaran , adică un sistem multi -robot constituit din
vehicule autonome eterogene.
Încă de la început, vehiculele operate au fost înființate în toate aceste domenii și devin din ce
în ce mai mult automatizate pentru a ușura sarcina asupra operator ilor umani și pentru a
îmbunătăți performanța. Din ce în ce mai mult, autovehiculele subacvatice autonome se
găsesc și în aceste zone. În prezent, AUV -urile sunt folosite aproape exclusiv pentru munca
de sondaj, însă eșantionarea și alte sarcini de interve nție devin din ce în ce mai fezabile. În
plus, linia dintre ROV -uri și AUV -uri continuă să se estompeze, deoarece sistemele care au
cele mai bune proprietăți ale ambelor evoluții. Industria de petrol și gaze offshore se bazează
în mare măsură pe ROV -uri pe ntru instalarea, inspecția și service -ul platformelor, conductelor
și subsectoarelor de producție. În ceea ce privește căutarea petrolului și a gazelor merge mai
adânc, această tendință poate continua. Marine Technology Society estimează că există peste
435 de locuri de muncă, clasa ROVs care operează în industria offshore comercială astăzi.
AUV -urile încep să apară în industria offshore comercială pentru sarcinile de sondaj, iar
37
conceptele pentru sistemele hibride care p ot efectua sarcini de intervenție apar acum. Scopul
nu este numai ca aceste vehicule robotizate să înlocuiască scafandrii umani sau vehiculele
ocupate de oameni, ci să permită o nouă generație de echipamente submarine care să fie
întreținută fără intervenț ia unor nave de foraj sau a altor nave grele de ridicare. Aceasta
menține perspectiva unui cost mult redus. Cererea științifică pentru ROV și AUV este, de
asemenea, în creștere dramatic. Aplicațiile științifice pentru ROV includ activități de
supraveghere, inspecție și eșantionare efectuate anterior de către submersibile ocupate de
oameni sau vehicule tractate. În timp ce ROV -urile care operează pentru știință nu sunt la fel
de numeroase ca cele din industria offshore de petrol și gaze, ele devin obișnuite. Majoritatea
națiunilor implicate în studiile globale asupra mării au mai multe vehicule. Ca și vehiculele
pentru sectorul offshore comercial, aceste vehicule devin tot mai automatizate. Imaginile
electronice de înaltă calitate, inclusiv televiziunea de în altă definiție, devin tot mai frecvente.
ROV -urile științifice sunt acum echipate cu dispozitive sofisticate de prelevare a probelor
pentru prelevarea de probe de animale, microbi, caustice, drojdii și fluctuații ale probelor. Mai
mult, ROV și operațiunile de experimentare, care pot implica sarcini de lucru precum găurirea
și plasarea delicată a instrumentelor. ROV -urile au fost asimilate ca instrumente puternice
pentru investigarea naufragiilor subacvatice și a altor situri culturale. Aplicațiile includ
investigațiile medico -legale ale naufragiilor moderne pentru a determina cauza scufundării,
arheologiei și salvării. Pentru arheologie, scopurile sunt aceleași ca și pentru excavarea pe
uscat: cartografierea det aliată urmată de excavări atente . În general, m etodele preferate pentru
aceste cercetări sunt ROV -urile. Au fost făcute progrese importante în faza detaliată de
cartografiere, iar capacitățile de excavare sunt în evoluție. Din nefericire, aceeași tehnologie
deschide, de asemenea, posibilitatea ca naufr agii să fie jupuite pentru câștiguri financiare,
ceea ce duce, de obicei, la pierderea celor mai valoroase informații istorice. După o lungă
perioadă de scepticism, AUV -urile sunt acum acceptate pentru sarcini științifice. În prezent,
AUV -urile îndeplinesc cel mai adesea sarcinile de cartografiere, în timp ce au tendința de a
avea o navă. Caracteristicile specifice de cartografiere includ batimetria florei maritime,
imaginile cu sonar lateral, maparea campurilor magnetice, localizarea vântului hidrotermic ș i
anchetele foto. AUV -urile s -au dovedit a îmbunătăți productivitatea și calitatea datelor
comparativ cu sistemele remorcate și legate. De asemenea, au funcționat în medii în care nu
este posibilă nici o altă modalitate de colectare a datelor, cum ar fi ra fturile de gheață. De
asemenea, disponibilitatea crescândă a senzorilor chimici sofisticați in situ, a senzorilor
biologici și a spectrometrelor de masă permite acum AUV -urile să construiască hărți spațiale
și temporale ale caracteristicilor de mediu care ar putea fi studiate anterior doar prin aducerea
38
probelor în laborator. Planurile sunt în curs de desfășurare pentru AUV -uri care pot acosta la
submarine sau noduri de observare pentru a reîncărca bateriile și a primi noi instrucțiuni.
Mijloacele militare au fost create în scopul dezvoltării capabilităților robotice subacvatice. Ei
au pionierat ROV -urile pentru sarcini cum ar fi recuperarea armelor de test și a salvării de
mare adâncime, iar ROV -urile comerciale și științifice actuale au coborât direct din aceste
sisteme timpurii. De asemenea, interesele militare imping în prezent tehnologia universitară.
Multe țări operează AUV -uri pentru sondaje militare, colectând date despre mediu și cău tând
pericole cum ar fi minele.
Sunt în curs de dezvoltare concept e din ce in ce mai inovatoare. Acestea includ rețele de
AUV care pot acționa ca extensii ale navelor de suprafață și submarinelor convenționale,
permițând supravegherea suprafețelor largi pe perioade extinse de timp cu costuri mult mai
mici decât ar putea fi realizate cu nave de suprafață convenționale, submarine și aeronave.
Aceste evoluții se vor baza pe îmbunătățirea comunicațiilor acustice, a sistemelor energetice,
a senzorilor și a inteligenței la bord care se vor dovedi probabil în practica comercială și
științifică.
Mediul subacvatic este extrem de ostil pentru activitățile de inginerie umană. Pe lângă
presiunile mari și forțele hidrodinamice care sunt atât neliniare, cât și imprevizibile, apa nu
este un mediu adecvat pentru comunicarea electromagne tică, cu excepția celor pe termen
scurt. Aceasta împinge tehnologia subacvatică să se bazeze pe sisteme de comunicații acustice
și de poziționare care sunt caracterizate de o lățime de bandă redusă. Pe de altă parte, oceanul
este extrem de important pentru numeroase activități umane din punct de vedere comercial,
cultural și de mediu. Cercetarea aplicațiilor robotice subacvatice este activă atât din punct de
vedere tehnologic, cât și din punct de vedere metodologic. Rezistența la putere a AUV
comercial este în prez ent de până la 50 de ore. A cest lucru va crește odată cu îmbunătățirea
dispozitivelor de stocare a energiei. Capacitatea îmbunătățită a energiei și a puterii va permite
mișcări mai lungi, viteze mai mari sau senzori mai buni / adiționali, cum ar fi , de exemplu,
iluminarea mai puternică pentru video / fotografie subacvat ice. Tendința actuală a prețurilor
pentru AUV este scăzută, mai multe instituții de cercetare construind sau cumpărând AUV -uri
pentru a -și îmbogăți rezultatele cercetării . In plus, co nfigurarea sistemelor cu mai multe
sisteme AUV devine rentabilă. Scopul este de a dezvolta AUV -uri complet autonome, fiabile,
robuste și de decizie. Există o serie de probleme tehnologice care sunt necesare pentru a
îmbunătăți capacitățile AUV: creșterea l ățimii de bandă subacvatice a modemurilor acustice
curente, creșterea puterii la bord pentru a manipula unelte mai mari și pentru a interacționa
39
mai puternic cu mediul, pentru a crea AUV cu capacitate semnificativă de hovering (plutire)
pentru a permite o interacțiune mai bună și pentru a permite lansarea și recuperarea mai
ușoară. În viitorul apropiat, dihotomia ROV / AUV va deveni probabil mai puțin proeminentă,
cu o varietate de sisteme care apar cu atribute ale ambelor sisteme:
• Pentru sarcinile de in tervenție petroliere și gaze offshore, un vehicul ar putea tranzita la
locul de muncă ca auto – alimentat, pe deplin autoturisme, la locul de muncă. Folosind
infrastructura energetică și de comunicații la locul de muncă, vehiculul ar putea funcționa la
fel ca un ROV convențional.
• ROV -urile acționate de baterii pot comunica cu suprafața prin legături fier -optice foarte
ușoare, permițând mobilitatea unui AUV, dar cu o conexiune de mare bandă la operatorii
umani calificați, pentru sarcini complexe de interve nție sau eșantionare științifică. • Legăturile
de date acustice și optice pot furniza lățimi de bandă moderate până la ridicate pe intervale
scurte de timp, permițând supravegherea umană fără restricții legate de acestea Dezvoltarea
problemelor tehnice de inginerie cu legături puternice cu mai multe domenii de inginerie.
Trimiterea unui vehicul autonom într -un mediu necunoscut și nestructurat, cu o comunicare
limitată on -line, necesită informații inteligente la bord și abilitatea vehiculului de a reacționa
în mod fiabil la situații neașteptate . O provocare majoră în ceea ce privește robotica
subacvatică este interacțiunea cu mediul prin intermediul unuia sau mai multor manipulatori .
Autori UVMS sunt încă obiectul de cercetare; tendința actuală constă în dez voltarea primelor
dispozitive robotizate semiautonom , car e ar putea fi acționate acustic. In plus, dacă este
posibil din punct de vedere fizic, capacitatea de testare a competențelor în cadrul căreia este
necesară intervenția ar putea simplifica semnificat iv controlul. Scopul final ar putea fi
dezvoltarea unui UVMS complet autonom, capabil să localizeze site -ul de intervenție, să
recunoască sarcina care trebuie îndeplinită și să acționeze fără să se aterizeze la stație și fără
intervenția omului. Acest lucr u ar putea face posibilă îndeplinirea misiunilor care în prezent
sunt imposibile, cum ar fi intervenția arheologică autonomă la locurile adânci. Acest lucru ar
permite, de asemenea, industriei de petro l și gaze să scadă semnificativ costurile si riscurile
pentru oameni.
40
CAPITOLUL 2 – PROIECTAREA UNUI ROBOT SUBACVATIC
In con tinuare voi proiecta un robot subacvatic de tip ROUV/ROV (Remotely Operated
Underwater Vehicle = vehicul subacvatic telecomandat).
2.1. Specificaț ii pentru proiectarea cadrului ROV -ului
Misiunea (sau domeniul de activitate) al unui robot este ceea ce trebuie să facă. De
asemenea, vă puteți gândi la misiune ca obiectiv sau scop. Ce vrei să facă robotul pentru a
finaliza misiunea? Misiunea este punctul de plecare în design. Cunos când exact ce trebuie să
facă un robot și ce limite există pentru design sunt elementele cele mai importante ale
designului. Dacă obțineți acest lucru greșit, prin interpretarea greșită a sarcinilor misiunii, nu
veți crea cel mai bun robot. Un scop al misi unii este această serie detaliată de sarcini pe care
un robot trebuie să le îndeplinească. De asemenea, conturează constrângerile, limitările sau
parametrii designului (cum ar fi dimensiunea, greutatea, consumul de energie etc.)
De exemplu, recuperarea unui pește de jucărie de pe fundul unei piscine sau colectarea unor
sonde științifice pierdute sau pătrunderea unei scurgeri într -un butoi pot fi descrise în
documentul Misiunii, dar acest lucru nu este suficient de precis pentru proiectarea unui robot.
In cazul acestei lucrari, vom crea un ROV cu misiunea de a colecta probe si deseuri toxice
dintr -un lac de acumulare poluat.
Adâncimea apei va determina lungimea be nzii, adica firul care circulă de la ROV la
regulator și va furniza comunicar ea și alimentarea cu vehiculul.
Viteza necesară va determina putere a necesară în motoarele de care avem nevoie pentru a
conduce ROV .
Manevrabilitatea pentru ROV va determina poziția și direcția pe care m otoarele vor fi
montate pe ROV.
Sarcinile cerute de ROV vor defini tipur ile de unelte necesare la bord ( deșurubarea unui
șurub va necesita un tip de che ie și ceva pentru al rasuci).
Nevoia de a vedea ce faci va cere anumite tipuri și poziții ale camerelor video.
41
Aceste specificații de performanță sunt a desea împărțite în categorii, care sunt adecvate
tipului de robot care urmează a fi proiectat. Un ROV subacvatic (vehicul cu operare de la
distanță) are, în mod normal, următoarele caracteristici care îi definesc performanța:
Suport structural: Ce fel de cadru de sprijin este necesar? Care sunt limitele sale în ceea ce
privește mărimea, forma, greutatea, forma sau materialele?
Mobilitate: Cum trebuie să se deplaseze ROV: sus / jos; repede incet; rotație / rotir e; inapoi
inainte; Cât trebuie să fie de manevrabil? Ce tre buie să fie capabil să facă ? / imagini de
lumină; proximitate / distanță; sunet; viteza curentului; orientare; viteza de mișcare?
Acțiuni: Ce trebuie să facă pentru a îndeplini fiecare sarcină a misiunii: Ce activități trebuie
să îndepli nească? Sunt necesare unelte speciale sau structuri de transp ort? Există limitări de
timp?
Distanta: Cat de adanc trebuie sa mearga, cat de departe trebuie sa fie distanta de punte sau
de platforma plutitoare?
Interacțiuni: Care sunt interacțiunile rob otului dvs. cu recuzita de câmp sau cu alte ROV -uri?
Ce informații suplimentare sau clarificări ale sarcinilor misiunii aveți nevoie pentru a înțele ge
pe deplin ce este necesar?
Specificațiile de performanță sunt rezultatul răspunsului la aceste întrebăr i. Acestea sunt
adesea declarate în următoarea formă care include termeni exacți și în ca ntități care sunt
măsurabile.
De exe mplu: "ROV -ul nostru trebuie să poată să se miște în direcția înainte și înapoi cu o
viteză de 0,25 metri / secundă"; "ROV -ul nos tru trebuie să fie capabil să se scufund e la o
adâncime de 5 metri ". Răspunzând la aceste întrebări este mai ușor dacă poți să -ți "pui ochii"
într-un ROV și să formezi imagini în mintea ta despre locul în care trebuie să meargă ROV -ul
și ce trebuie să fac ă după tipul misiunii.
Plasarea minții în ROV ca și cum ați fi parte a mașinii este numită "teleprez ență". Dacă
puteți să faceți acest lucru și să creați o imagine animată a ROV care îndeplinește sarcinile
scopului misiunii, în mintea voastră, vă va permite să descrieți cu exactitate ce treb uie să
faceți si cum trebuie să acționeze.
42
Cunoașterea răspunsurilor la aceste întrebări ne permite să trecem la următoarea f ază a
procesului de proiectare și anume forma și designul ROV -ului.
Pasul următor decurge natural din specificațiile de performanță. Trebuie să definim date
tehnice mai detaliate cu privire la tipurile de componente care trebuie să intre în ROV pentru
a putea îndeplini specificațiile de performanță. Acest lucru este adesea văzut în mai mul te
categorii ale acestor componente, care sunt similare cu categoriile specificațiilor de
performanță.
Pentru fiecare categorie de pe rformanță din tabel investigam și înc ercam să determinam
tipurile de componente și materiale care ar trebui să intre în R OV [Tabelul 2.1].
[Tabelul 2.1]
Categorii de performanta Categorii de design
Structura Designul cadrului, forma si materialele
Mobilitate Propulsoare: numarul, puterea, orientarea
Senzori Camere, lumini, sonar, senzori tactili, compas, GPS
Unelte Brate, gheare, ciocane, chei
Distanta Lungimea cablului
Flotabilitate si balast Fixata sau variabila, locatie si materiale
Control Via cablu cu fibra optica
Altele Depinde de tipul misiunii
Am acum câteva idei despre proiectar ea ROV -ului. Voi face cateva schite ale cadrului
robotului . Cuvintele nu pot descrie în mod adecvat ideile, în timp ce ilustr ațiile, schiț ele si
imaginile pot. Astfe voi gasi o idee constructiva proprie (Fig. 2.1).
43
Fig. 2.1
Am hotarat ca voi face cadrul ROV -ului din tevi de PVC. Astfel, voi proiecta fiecare pi esa in
parte a cadrului in programul de proiectare asistata Catia V5 , iar acestea vor fi urmatoarele :
-8 x tevi din PVC de 600 mm
-9 x tevi din PVC de 400 mm
-5 x tevi din PVC de 2 00 mm
-10 x conectori din PVC tip L
-8 x conectori din PVC tip T
Am atasat in anexe cotele acestora.
Acum ca am fiecare piesa a cadrului, le voi folosi pentru a asambla cadrul ROV -ului in
programul de proiectare asistata Catia V5, folosind functia de Assembly (Fig. 2.2).
44
Fig. 2.2 – Proiectia 3D a cadrul montat din tevi de PVC
Bazandu -ma pe principiul lui Archimedes, p rin adăugarea de bala st sub formă de greutăți,
pot face în esență ROV -ul să cântărească mai mult decât apa pe ca re o deplasează și, astfel, să
il ajute să se scufunde. Balastul, împreună cu moto arele și elicele, fac Gravitatia mai mare
decât flotabilitatea și permite vehiculului să se scufunde. In concluzie, vo i adauga cadrului
meu doua balasturi din otel inoxidabil , a c ate 10 kg fiecare . Desigur fac si prinderi pentru
acestea .
Din moment ce am balast, acum imi trebuie si canistre de aer pentru a echilibra ROV -ul.
Tinind cont de faptul ca flotabilitatea trebuie sa fie mai mica decat gravitatia (greutatea
balastului si a echipament ului montate pe ROV). Astfel voi face forta de flotabilitate
echivalenta cu 2/3 din greutatea balastului.
Voi adauga ROV -ului, deci, doua canistre de aer cu un volum V = 6,66 kg/ , din plastic
ABS, prinse de cadru.
Voi mai adauga cadrului un grilaj din plastic ABS.
Voi finaliza cadrul prin adaugarea unei cutii sigila ta, cu aer. In aceasta cutie voi monta
majoritatea echipamentelor electrice. Cutia cu aer contribuie s i ea la flotabilitatea ROV -ului.
2.2. Senzori ș i ech ipamente
Bazandu -ma pe misiunea pe care trebuie sa o indeplineasca ROV -ul meu, voi avea nevoie de
urmatoarele tipuri de senzori si echipamente :
-camere video pentru manipulare in timp real;
-reflecto are de lumina pentru a vedea in apa intunecata;
-senzor de adancime pentru a stabili adancimea lacului;
45
-senzor de presiune;
-senzor de temperatura pentru a stabili temperatura lacului;
-senzor i biologic i pentru a stabili gradul de toxicitate si a determina nivelul de claritate al
lacului;
-brat robotic manipu lator.
Camera video este o componenta foarte importanta pentru un ROV. Fara aceasta nu am avea
deloc vizibilitate pentru robotul nostru subacvatic si deci nu l -am putea manipula.
Cu cat camera video este mai buna, cu atat mediul de lucru este mai vizib il si automat mai
usor pentru operatorul uman care controleaza ROV -ul. Din acest motiv, vom folosi doua
camere video de ultima generatie, precum camerele video 4K ultra HD. Ace stea sunt ușor de
utilizat, cu vizualizare in timp real (live) si latenta zero , toate în timp ce scufundarea este
înregis trată în rezoluție de 4K. Au si un mod de fotografi e pentru a surprinde imagini de până
la 8 megapixeli.
Voi amplasa o camera direct in interiorul bratul ui robotic manipulator , chiar in spatele
efectorului terminal , iar cea de a doua camera va fi in spatele bratului robotic, pentru
urmarirea miscarilor acestuia, despre care voi vorbi in capitolul 3 (Fig. 3.3).
Reflectorul de lumina face echipa cu camera video si este esentiala in mediul subacvatic,
care este intunecat. Vom folosi un reflector bazat pe LED de culoare neutra, de 12V, 100
lumeni si 10W, cu un con luminos de (Fig. 2.3).
Fig. 2.3 – Camera video cu LED incorporat
Senzorul de adancime ales vine incorporat direct cu senzorul de presiune si cu senzorul de
temperatura . ISD4000 este un senzor de presiune piezo -rezistiv , cu compensare de
46
temperatură care poate determina adâncimea la o precizie de 0,01% la scala completă, la
pachet cu o sonda detectoare de presiune, pentru pana la 600 bari si cu un senzor de
temperatura, asigurind o precizie a te mperaturii de până la C, ambele avand o latenta a
datelor scazuta . De asemena, acesta are incorporat si un compas intern pentru localizare
(Fig. 2.4).
Fig. 2.4 – ISD4000 , senzor de adancime
Voi amplasa ISD4000 -ul direct pe cadrul ROV -ului meu.
Ca si senzor biologic voi folosi un senzor de masurare a pH -ului din apa . SeaFET™ V2 este
un senzor de pH foarte precis ce poate ajunge pana la 600 bari (Fig. 2.5).
Fig. 2.5 – SeaFET™ V2 ; senzor de pH
Si pe acesta il vom amplasa pe cadrul ROV -ului.
2.3. Propulsia robotului subacvatic
Pentru locomotia subacvatica avem nevoie, desigur, de motoare. Deoarece cadrul ROV -ului
nostru este destul de mare, am hotarat sa punem patru propulsoare laterale amplasate la un
unghi de fata de cadru, care sa faca propulsia in fata, spate si later ale si patru motoare
amplasate vertical pe cadru, care sa ascende sau sa descende robotul subacvatic in apa, doua
dintre ele fiind in sus si doua fiind in jos (Fig. 2.6).
47
Fig. 2.6 – Asezarea motoarelor pe cadrul ROV -ului
In Fig. (2.6) avem:
-1 = doua propulsoare la un unghi de pentru inaintare;
-2 = doua propulsoare la un unghi de pentru retragere;
-3 = patru propulsoare verticale indreptate in jos pentru ascensiune;
-4 = patru propulsoare verticale indreptate in sus pentru descensiune .
Amplasand astfel propulsoarele, avem toate gradele de mobilitate necesare ROV -ului nostru
pentru deplasarea in mediul acvatic (Fig. 2.7).
Fig. 2.7 – Cateva exemple de mis cari posibile in apa a ROV -ului
48
Vom folosi un tip de propulsor standard , din aluminiu, care se gaseste pe piata , ca model
pentru proiectarea propulsorului pentru robotul nostru subacvatic . Astfel, vom folosi pentru
ROV -ul nostru, propulsoare cu specificatiile din Fig . (2.8), Fig. (2.9) si Tabelul [2.2].
Fig. 2.8 – cotele propulsorului
Fig. 2.9 – propulsia si puterea fata d e rotatiile pe minut ale elicei
49
[Tabelul 2.2]
Elice Propulsie maxina
N Putere maxima
W Eficacitate
maxima Greutate umeda
Kg Tensiunea
de intrare
140-080 530 3400 la 4
noduri 42% la 4
noduri 1.2 200-350
Pentru aplicații economice cu o adâncime de funcționare de maxim 500 m, sigilarea
arborelui cu aer sunt cea mai bună opțiune. În acest sistem de etanșare, volumul intern al
propulsorului se umple cu aer, iar garniturile arborelui acționează ca un pist on pentru a
echilibra presiunea internă și externă. Acest tip de etanșare este fiabil, mai ușor decât cea
umplut a cu ulei și eficiența sa este mai mare (Fig. 2.10).
Fig. 2.10
CAPITOLUL 3 – BRAȚ UL ROBOTIC MANIPULATOR
Voi atasa ROV -ului meu un brat robotic manipulator , pentru a c ulege din lac posibile
deseuri.
50
Astfel am ales sa proiectez un brat robotic cu cinci cuple cinematice de rotatie si cinci grade
de libertate , in programul de proiectare asistata, Catia V5 (Fig. 3.1). Am decis ca un astfel de
brat robotic este perfect pentru ROV -ul meu, oferindu -i toate miscarile de care ar avea nevoie.
Fig. 3.1
Bratul are chiar in spatele punctului terminal al gripper -ului o camera video pentru
mobilitatea viziunii in spatiul de l ucru (Fig. 3.2).
Fig. 3.2 – Efector final cu camera video incorporata
Voi atasa bratul robotic ROV -ului meu direct pe cutia sigilata de aer cu circuite, de pe cadrul
robotului subacvatic (Fig. 3.3).
51
Fig.3.3
3.1 Motoarele b rațului robotic manipulator
Am folosit servo motoare de tip MG995 pentru cuplele bratului robotic. (Fig. 3.4)
Fig. 3.4 Servomotor MG995
52
Acestea au o greutate de 55g, cuplul de 8.5 la 4.8 V si 10 la 6 V, viteza de operare 0.2 s/
la 4.8V si 0.16 s/ la 6V, voltajul de operare 4.8 V si 7.2 V si intervalul de temperatura
C – C.
3.2. Studiul cinematic al braț ului prin cinematica directa
Cinematica directă se bazează pe relațiile de legătură dintre cuplele cinematice, deplasările
relative ale cu plelor cinematice sau dintre spațiul cuplelor robotului și poziția și orientarea
sculei sau efectorului final al robotului. Problema cinematică directă se ocupă cu determinarea
poziției și orientării efectorului final, dacă se cunoaște variația deplasărilo r relative de la
nivelul cuplelor cinematice. În cazul de față, pentru ansamblul robotului, deplasările relative
de la nivelul cuplelor cinematice sunt mișcări unghiulare sau rotații, fiecare cuplă cinematică
avand un singur grad de libertate. Sarcina cine maticii directe este de a determina efectul
cumulat al tuturor cuplelor cinematice.
Un robot cu n cuple cinematice are în componența sa n+1 elemente cinematice, deoarece
fiecare cuplă cinematică conectează două elemente. În cazul de față sunt cinci grade de
libertate, respectiv cinci cuple cinematice de rotație rezultând șase elemente cinematice, din
care unul va fi baza robotului, iar altul efectorul final. Elementele se notează de la 0 la n
începând cu baza robotului, iar cuplele de la 1 la n sau de la O la E, ambele notații fiind
recunoscute în literatura de specialitate.
Pentru a efectua analiza cinematică, se atașează fiecărui element i al brațului robotic un
sistem de coordonate fix, ki, în raport cu acel element. Mai exact ki (OiXiYiZi) aparține
elementului i, adică pentru orice mișcare executată de robot, coordonatele oricărui punct
aparținând elementului i, sunt constante în raport cu sistemul ki de coordonate. Ca rezultat,
dacă cupla cinematică i este acționată, atunci sistemul ki de coordonate este în mișcare.
Sistemul fix de coordonate ko (O0X0Y0Z0), atașat ba zei robotului, nu execută nicio
mișcare, indiferent de acționar ea oricărei cuple cinematice. Acesta se numeste sistem de
coordonate d e referință absolut sau global.
Schema cinematică a bratului robotic este prezentată în Fig. 3.5.
53
Fig. 3.6 – schem a cinematica a bratului robotic
Am folosit programul MatLab pentru a realiza calculele cinematicii directe pentru bratul
robotic (Fig. 3.7).
54
Fig. 3.7 – Ecuatiile cinematicii directe
3.3. Studiul cinematic al braț ului prin cinematica inversa
Pentru a rezolva acest tip de problemă cinematică, se pornește de la faptul că se cunoaște
poziția și orientarea efectorului final X, Y, Z, 𝑓𝑥, 𝑓𝑦, 𝑓 𝑧 față de un sistem de referință fix și
se dorește determinarea pozițiilor relative dintre elementele robotului . În spațiul
tridimensional se știe că un corp poate deține șase grade de libertate, drept urmare se dorește
determinarea parametrilor relativi 𝛳𝑖 ce reprezintă rotațiile dintre elemente la nivelul cuplelor
cinematice.
Folosind programul MatLab, am facut si calculul cinematicii inverse (Fig. 3.8).
55
56
Fig. 3.8 – Ecuatiile cinematicii inverse
CAPITOLUL 4 – COMANDA ȘI CONTROLUL ROBOTULUI
Comanda si controlul u nui ROV se face prin intermediul unui cablu blindat prin ca re trec
conductori electrici si fibre optice care transporta energie electrica, video si semnale de date,
pentru a face legatura dintre ROV si operator (Fig. 4.l).
Fig. 4.1
Voi duce cabluri prin interiorul tevilor de PVC al cadrului ROV -ului, la fiecare componenta
electrica care are nevoie de curent electric . Cablul este mai apoi dus la un TMS (Tether
Management System) . TMS -ul poate fi un dispozitiv tip garaj care cuprinde ROV -ul în timpul
scufundării sale, sau poate fi un dispozitiv tip sanie care doar transportă cablul de stabilire .
57
Navigatia robotului subacvatic se face de catre pilotul de la suprafata, prin intermediul unui
dispozitiv de control al ROV -ului. In cazul meu, voi folosi un calculator bine echipat.
Voi folosi doua placute programabile Arduino Mega 2560, una pentru propulsoarele ROV –
ului, iar cealalta pentru bratul robotic. Voi avea, desigur si un Breadboard. Sursa de
alimentare va fi una standar d de 12V. Toate aceste componente le voi pune in cutia sigilata cu
aer de pe cadrul ROV -ului, care vor fi conectate printr -un cablu, care va fi dus prin TMS si de
acolo catre suprafata, la calculatorul contro ler, prin intermediul caruia operatorul uman va
actiona robotul subacvatic (Fig. 4.2).
Fig. 4.2
4.1. Cablajul
O reprezentare a cablajului pentru ROV -ul nostru se afla in Fig. (4.3).
58
Fig. 4.3
4.2. Programarea
Folosind placuta programabila Arduino Mega 2560, am facut codul pentru motoarele laterale
de , pentru miscari in fata, in spate, stanga, dreapta si rotiri, astfel:
void testMotors() {
int motorSpeedWk = 250;
if (rcFB -neutFB > rcSlack) {
analogWrite(motorFwdPwmPin[0], motorSpeedWk);
analogWrite(motorRevPwmPin[0], 0);
Serial.println(" 1 fwd");
} else if (neutFB – rcFB > rcSlack) {
analogWrite(motorRevPwmPin[0], motorSpeedWk);
59
analogWrite(motorFwdPwmPin[0], 0);
Serial.println(" 1 rev");
} else {
analogWrite(motorRevPwmPin[0], 0);
analogWrite(motorFwdPwmPin[0], 0);
}
if (rcLR -neutLR > rcSlack) {
analogWrite(motorFwdPwmPin[1], motorSpeedWk);
analogWrite(motorRevPwmPin[1], 0);
Serial.p rintln(" 2 fwd");
} else if (neutLR – rcLR > rcSlack) {
analogWrite(motorRevPwmPin[1], motorSpeedWk);
analogWrite(motorFwdPwmPin[1], 0);
Serial.println(" 2 rev");
} else {
analogWrite(motorRevPwmPin[1], 0);
analogWrite(motorFwdP wmPin[1], 0);
}
if (rcTW -neutTW > rcSlack) {
analogWrite(motorFwdPwmPin[2], motorSpeedWk);
analogWrite(motorRevPwmPin[2], 0);
Serial.println(" 3 fwd");
} else if (neutTW – rcTW > rcSlack) {
60
analogWrite(motorRevPwmPin[2], motorSpeedWk);
analogWrite(motorFwdPwmPin[2], 0);
Serial.println(" 3 rev");
} else {
analogWrite(motorRevPwmPin[2], 0);
analogWrite(motorFwdPwmPin[2], 0);
}
if (rcUD -neutUD > rcSlack) {
analogWrite(motorFwdPwmPin[3], motorSpeedWk);
analogWrite(motorRevPwmPin[3], 0);
Serial.println(" 4 fwd");
} else if (neutUD – rcUD > rcSlack) {
analogWrite(motorRevPwmPin[3], motorSpeedWk);
analogWrite(motorFwdPwmPin[3], 0);
Serial .println(" 4 rev");
} else {
analogWrite(motorRevPwmPin[3], 0);
analogWrite(motorFwdPwmPin[3], 0);
}
if (offx6 – rcx6 > rcSlack) {
analogWrite(motorRevPwmPin[4], motorSpeedWk ;
analogWrite(motorFwdPwmPin[4], 0);
Serial.println( " 5 fwd");
61
} else {
analogWrite(motorRevPwmPin[4], 0);
analogWrite(motorFwdPwmPin[4], 0);
}
}
Am facut codul pentru motoarele verticale de pe cadrul ROV -ului, pentru deplasari sus -jos si
rasturnari, astfel:
void runUpDnThrusters(int ctlUD) {
int motorSpeedWk;
if (!armAuto) return;
if (ctlUD < neutUD – rcSlack) {
motorSpeedWk = map(ctlUD, neutUD, lowUD, 0, 255);
if (motorSpeedWk>255) motorSpeedWk=255;
analogWrite(motorFwdPwmPin[4], motorSpe edWk);
} else if (ctlUD > neutUD + rcSlack) {
motorSpeedWk = map(ctlUD, neutUD, highUD, 0, 255);
if (motorSpeedWk>255) motorSpeedWk=255;
analogWrite(motorRevPwmPin[4], motorSpeedWk);
} else {
analogWrite(motorFwdPwmPin[4], 0);
analogWrite(motorRevPwmPin[4], 0);
}
}
62
In cazul bratului robotic am scris urmatorul cod de programare:
void loop() {
if (Bluetooth.available() > 0)
{
dataIn = Bluetooth.readString();
if (dataIn.s tartsWith("s1"))
{
String dataInS = dataIn.substring(2, dataIn.length());
servo1Pos = dataInS.toInt();
if (servo1PPos > servo1Pos)
{
for ( int j = servo1PPos; j >= servo1Pos; j –)
{
servo01.write(j);
delay(20);
}
}
if (servo1PPos < servo1Pos)
{
for ( int j = servo1PPos; j <= servo1Pos; j++)
{
servo01.write(j);
delay(20);
63
}
}
servo1PPos = servo1Pos;
}
if (dataIn.startsWith("s2"))
{
String dataInS = dataIn.substring(2, dataIn.length());
servo2Pos = dataInS.toInt();
if (servo2PPos > servo2Pos)
{
for ( int j = servo2PPos; j >= servo2Pos; j –)
{
servo02.write(j);
delay(50);
}
}
if (servo2PPos < servo2Pos)
{
for ( int j = servo2PPos; j <= servo2Pos; j++)
{
servo02.write(j);
delay(50);
}
64
}
servo2PPos = servo2Pos;
}
CAPITOLUL 5 – CONCLUZII ȘI CONTRIBUȚII
ROV -ul meu va arata astfel in final (Fig. 5.1).
Fig. 5.1 – ROV -ul complet montat
Acesta este gata sa isi indeplineasca misiunea.
A se mentiona ca toate echipamentele electrice sunt izolate astfel incat sa nu intre in contact
cu apa.
65
BIBLIOGRAFIE
[1]https://www.marinetech.org/files/marine/files/Curriculum/Other%20Curriculum%20Resou
rces/MIROV2MANUAL.pdf
[2]https://ro.wikipedia.org/wiki/Vehicul_subacvatic_controlat_de_la_distan%C8%9B%C4%8
3
[3]https://www.arcgis.com/apps/MapJournal/index.html?appid=16c2230be7174cfd8a8dbf5f5
3e6737e
[4] https://military.wikia.org/wiki/Remotely_ope rated_underwater_vehicle
[5] https://www.manufacturing.net/blog/2015/06/programming -intelligent -underwater -robots
[6] https://en.wikipedia.org/wiki/Unmanned_underwater_vehicle
[8] https://blog.arduino.cc/2018/05/31/diy -submersible -rov-flies-through -the-water/
[9] http://lianinno.com/underwater -thrusters/
[10] http://www.impactsubsea.co.uk/isd4000/
[11] https://www.seabird.com/ph -sensors/family?productCategoryId=54627869925
[12]Crenganiș, Mihai, „Contribuții privind conducerea și controlul unui brat robotic
antropomorf , Teză de doctorat, Sibiu, Ed. Universității Lucian Blaga, 2013;
66
ANEXE
1. Cotele tevilor din PVC
67
68
2. Matricile necesare realizarii cinematicii directe si inverse pentru bratul robotic scrise
in cod
syms x y z fx fy fz h1 h2 l1 l2 l3 t1 t2 t3 t4 t5
69
>> Tx=[1 0 0 x; 0 1 0 0; 0 0 1 0; 0 0 0 1]
Tx =
[ 1, 0, 0, x]
[ 0, 1, 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>> Ty=[1 0 0 0; 0 1 0 y; 0 0 1 0; 0 0 0 1]
Ty =
[ 1, 0, 0, 0]
[ 0, 1, 0, y]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>> Tz=[1 0 0 0; 0 1 0 0; 0 0 1 z; 0 0 0 1]
Tz =
[ 1, 0, 0, 0]
70
[ 0, 1, 0, 0]
[ 0, 0, 1, z]
[ 0, 0, 0, 1]
>> Rx=[1 0 0 0; 0 cos(fx) -sin(fx) 0; 0 sin(fx) cos(fx) 0; 0 0 0 1]
Rx =
[ 1, 0, 0, 0]
[ 0, cos(fx), -sin(fx), 0]
[ 0, sin(fx), cos(fx), 0]
[ 0, 0, 0, 1]
>> Ry=[cos(fy) 0 sin(fy) 0; 0 1 0 0; -sin(fy) 0 cos(fy) 0; 0 0 0 1]
Ry =
[ cos(fy), 0, sin(fy), 0]
[ 0, 1, 0, 0]
[ -sin(fy), 0, cos(fy), 0]
[ 0, 0, 0, 1]
>> Rz=[cos(fz) -sin(fz) 0 0;sin(fz) cos(fz) 0 0;0 0 1 0; 0 0 0 1]
71
Rz =
[ cos(fz), -sin(fz), 0, 0]
[ sin(fz), cos(fz), 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>> H04=Tx*Ty*Tz*Rx*Ry*Rz
H04 =
[ cos(fy)*cos(fz), -cos(fy)*sin(fz), sin(fy), x]
[ cos(fx)*sin (fz) + cos(fz)*sin(fx)*sin(fy), cos(fx)*cos(fz) – sin(fx)*sin(fy)*sin(fz), –
cos(fy)*sin(fx), y]
[ sin(fx)*sin(fz) – cos(fx)*cos(fz)*sin(fy), cos(fz)*sin(fx) + cos(fx)*sin(fy)*sin(fz),
cos(fx)*cos(fy), z]
[ 0, 0, 0, 1]
>> A1=[cos(t1) -sin(t1) 0 0; sin(t1) cos(t1) 0 0; 0 0 1 0; 0 0 0 1]
A1 =
[ cos(t1), -sin(t1), 0, 0]
72
[ sin(t1), cos(t1), 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>> A2=[1 0 0 0; 0 1 0 0; 0 0 1 h1; 0 0 0 1]
A2 =
[ 1, 0, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, 1, h1]
[ 0, 0, 0, 1]
>> A3=[1 0 0 l1; 0 1 0 0; 0 0 1 0; 0 0 0 1]
A3 =
[ 1, 0, 0, l1]
[ 0, 1, 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>> A4=[cos(t2) 0 sin(t2) 0; 0 1 0 0; -sin(t2) 0 cos(t2) 0; 0 0 0 1]
73
A4 =
[ cos(t2), 0, sin(t2), 0]
[ 0, 1, 0, 0]
[ -sin(t2), 0, cos(t2), 0]
[ 0, 0, 0, 1]
>> A5=[1 0 0 0; 0 1 0 0; 0 0 1 h2; 0 0 0 1]
A5 =
[ 1, 0, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, 1, h2]
[ 0, 0, 0, 1]
>> A6=[cos(t3) 0 sin(t3) 0; 0 1 0 0; -sin(t3) 0 cos(t3) 0; 0 0 0 1]
A6 =
[ cos(t3), 0, sin(t3), 0]
74
[ 0, 1, 0, 0]
[ -sin(t3), 0, cos(t3), 0]
[ 0, 0, 0, 1]
>> A7=[1 0 0 l2; 0 1 0 0; 0 0 1 0; 0 0 0 1]
A7 =
[ 1, 0, 0, l2]
[ 0, 1, 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>> A8=[1 0 0 0; 0 cos(t4) -sin(t4) 0; 0 sin(t4) cos(t4) 0; 0 0 0 1]
A8 =
[ 1, 0, 0, 0]
[ 0, cos(t4), -sin(t4), 0]
[ 0, sin(t4), cos(t4), 0]
[ 0, 0, 0, 1]
>> A9=[c os(t5) 0 sin(t5) 0; 0 1 0 0; -sin(t5) 0 cos(t5) 0; 0 0 0 1]
75
A9 =
[ cos(t5), 0, sin(t5), 0]
[ 0, 1, 0, 0]
[ -sin(t5), 0, cos(t5), 0]
[ 0, 0, 0, 1]
>> A10=[1 0 0 l3; 0 1 0 0; 0 0 1 0; 0 0 0 1]
A10 =
[ 1, 0, 0, l3]
[ 0, 1, 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>> H=A1*A2*A3*A4*A5*A6*A7*A8*A9*A10
H =
[ – sin(t5)*(sin(t1)*sin(t4) + cos(t4)*(cos(t1)*cos(t2)*sin(t3) + cos(t1)*cos(t3)*sin(t2))) –
cos(t5)*(cos(t1)*sin(t2)*sin(t3) – cos(t1)*cos(t2)*cos(t3)), sin(t4)*(cos(t1)* cos(t2)*sin(t3) +
cos(t1)*cos(t3)*sin(t2)) – cos(t4)*sin(t1), cos(t5)*(sin(t1)*sin(t4) +
76
cos(t4)*(cos(t1)*cos(t2)*sin(t3) + cos(t1)*cos(t3)*sin(t2))) – sin(t5)*(cos(t1)*sin(t2)*sin(t3) –
cos(t1)*cos(t2)*cos(t3)), l1*cos(t1) – l2*(cos(t1)*sin(t2)*sin(t3) – cos(t1)*cos(t2)*cos(t3)) –
l3*(sin(t5)*(sin(t1)*sin(t4) + cos(t4)*(cos(t1)*cos(t2)*sin(t3) + cos(t1)*cos(t3)*sin(t2))) +
cos(t5)*(cos(t1)*sin(t2)*sin(t3) – cos(t1)*cos(t2)*cos(t3))) + h2*cos(t1)*sin(t2)]
[ sin(t5)*(cos(t1)*sin(t4) – cos(t4)*(cos(t2)*si n(t1)*sin(t3) + cos(t3)*sin(t1)*sin(t2))) –
cos(t5)*(sin(t1)*sin(t2)*sin(t3) – cos(t2)*cos(t3)*sin(t1)), cos(t1)*cos(t4) +
sin(t4)*(cos(t2)*sin(t1)*sin(t3) + cos(t3)*sin(t1)*sin(t2)), – cos(t5)*(cos(t1)*sin(t4) –
cos(t4)*(cos(t2)*sin(t1)*sin(t3) + cos(t3)* sin(t1)*sin(t2))) – sin(t5)*(sin(t1)*sin(t2)*sin(t3) –
cos(t2)*cos(t3)*sin(t1)), l3*(sin(t5)*(cos(t1)*sin(t4) – cos(t4)*(cos(t2)*sin(t1)*sin(t3) +
cos(t3)*sin(t1)*sin(t2))) – cos(t5)*(sin(t1)*sin(t2)*sin(t3) – cos(t2)*cos(t3)*sin(t1))) –
l2*(sin(t1)*sin(t2 )*sin(t3) – cos(t2)*cos(t3)*sin(t1)) + l1*sin(t1) + h2*sin(t1)*sin(t2)]
[ – cos(t5)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) –
cos(t4)*sin(t5)*(cos(t2)*cos(t3) – sin(t2)*sin(t3)),
sin(t4)*(cos(t2)*cos(t3) – sin(t2)*sin(t3)),
cos(t4)*cos(t5)*(cos(t2)*cos(t3) – sin(t2)*sin(t3)) – sin(t5)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)),
h1 – l2*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) + h2*cos(t2) – l3*(cos(t5)*(cos(t2)*sin(t3) +
cos(t3)*sin(t2)) + cos(t4)*sin(t5)*(cos(t2)*cos(t3) – sin(t2)*sin(t3)))]
[
0, 0,
0,
1]
3. Codul de programare pentru propulsoare
void getTransVectors() { //derive desired angle, speed, from RC
Vd = 0; theta = 0; Vtwist = 0;
// first check if stick is arming/disarming
if (rcUD < lowUD + rcSlack) { //depth stick very far down
if ((rcTW > cwTW – rcSlack) ||(rcTW < ccwTW + rcSlack)) { // twist stick is arm or
disarm
Serial.println("arming or disarming");
77
return; //leave at 0s
}
}
// now see if any translation wanted
if (abs(rcFB -neutFB) > rcSlack || abs(rcLR -neutLR) > rcSlack) {
//derive translation speed and angle from rc ctls
int wkFB = map(rcFB, lowFB, highFB, -100, 100); // map rc to calc fac tor
int wkLR = map(rcLR, leftLR, rightLR, -100, 100);
Vd = (sqrt(wkFB * wkFB + wkLR * wkLR))/100.00; // trans speed -1 to 1
theta = atan2(wkLR, wkFB); // trans angle 0 to 2PI
/* // make sure we stay pointed the same direc tion during move
int diffHdg = getHeading() -setHeading; // how far off are we (deg)
diffHdg = normalizeDiff(diffHdg);
if (abs(diffHdg) > 7) { //drifted too far CW or CCW, need twist
int wkTW = map(diffHdg, -45, 45, 65, -65); //proportional resp
Vtwist = wkTW/100.00; // twist speed -1 to 1
Serial.print("Off heading by ");Serial.print(diffHdg);
} */
}
}
void runVectThrusters() { // calculate four thrusters speeds using vectors
78
if (!a rmAuto) return;
int motorSpeedWk;
float vMotor[] = {0,0,0,0};
vMotor[0] = Vd * sin(theta + PI/4) + Vtwist; // thruster layout (diff from drone)
vMotor[1] = Vd * cos(theta + PI/4) – Vtwist; // 1 2
vMotor[2] = Vd * cos(the ta + PI/4) + Vtwist; //
vMotor[3] = Vd * sin(theta + PI/4) – Vtwist; // 3 4
//run the motors
for (int x=0; x<4; x++) {
if (vMotor[x] < -1) vMotor[x] = -100; //normalize
else if (vMotor[x] > 1) vMotor[x] = 100;
else vMotor[x] = vMotor[x] * 100;
motorSpeedWk = map(abs(vMotor[x]), 0, 100, 0, 255);
if (vMotor[x] < 0) { //set motor direction
analogWrite(motorFwdPwmPin[x], motorSpeedWk); //make it go
} else {
analogWrite(motorRevPwmPin[x], motorSpeedWk); //make it go
}
}
}
void runUpDnThrusters(int ctlUD) {
79
int motorSpeedWk;
if (!armAuto) return;
if (ctlUD < neutUD – rcSlack) { //set motor dir for Down
// speed proportional to stick dist from neutral
motorSpeedWk = map(ctlUD, neutUD, lowUD, 0, 255);
if (motorSpeedWk>255) motorSpeedWk=255; //over is bad
analogWrite(motorFwdPwmPin[4], motorSpeedWk); //make it go or st op
} else if (ctlUD > neutUD + rcSlack) { //set motor dir for Up
motorSpeedWk = map(ctlUD, neutUD, highUD, 0, 255);
if (motorSpeedWk>255) motorSpeedWk=255; //over is bad
analogWrite(motorRevPwmPin[4], motorSpeedWk); / /make it go or stop
} else {
analogWrite(motorFwdPwmPin[4], 0); //make it go or stop
analogWrite(motorRevPwmPin[4], 0); //make it go or stop
}
}
void stopVectMotors() {
for (int x=0; x<numMotors -1; x++) {
analogWrite(motorFwdPwmPin[x], 0); //make it stop
analogWrite(motorRevPwmPin[x], 0); //make it stop
}
80
}
void stopAllMotors() {
for (int x=0; x<numMotors; x++) {
analogWrite(motorFwdPwmPin[x], 0); //make it stop
analogWrite(motorRevPwmPin[x], 0); //make it stop
}
}
void testMotors() {
int motorSpeedWk = 250;
if (rcFB -neutFB > rcSlack) {
analogWrite(motorFwdPwmPin[0], motorSpeedWk); //make it go or stop
analogWrite(motorRevPwmPin[0], 0); //make it go or stop
Serial.println(" 1 fwd");
} else if (neutFB – rcFB > rcSlack) {
analogWrite(motorRevPwmPin[0], motorSpeedWk); //make it go or stop
analogWrite(motorFwdPwmPin[0], 0); //make it go or stop
Serial.println(" 1 rev");
} else {
analogWrite(motorRevPwmPin[0], 0); //make it go or stop
analogWrite(motorFwdPwmPin[0], 0); //make it go or stop
}
if (rcLR -neutLR > rcSlack) {
81
analogWrite(motorFwdPwmPin[1], motorSpeedWk); //make it go or stop
analogWrite(motorRevPwmPin [1], 0); //make it go or stop
Serial.println(" 2 fwd");
} else if (neutLR – rcLR > rcSlack) {
analogWrite(motorRevPwmPin[1], motorSpeedWk); //make it go or stop
analogWrite(motorFwdPwmPin[1], 0); //make it go or stop
Serial.println(" 2 r ev");
} else {
analogWrite(motorRevPwmPin[1], 0); //make it go or stop
analogWrite(motorFwdPwmPin[1], 0); //make it go or stop
}
if (rcTW -neutTW > rcSlack) {
analogWrite(motorFwdPwmPin[2], motorSpeedWk); //make it go or stop
analogWri te(motorRevPwmPin[2], 0); //make it go or stop
Serial.println(" 3 fwd");
} else if (neutTW – rcTW > rcSlack) {
analogWrite(motorRevPwmPin[2], motorSpeedWk); //make it go or stop
analogWrite(motorFwdPwmPin[2], 0); //make it go or stop
Serial.println(" 3 rev");
} else {
analogWrite(motorRevPwmPin[2], 0); //make it go or stop
analogWrite(motorFwdPwmPin[2], 0); //make it go or stop
}
82
if (rcUD -neutUD > rcSlack) {
analogWrite(motorFwdPwmPin[3], motorSpeedWk); //make it go or stop
analogWrite(motorRevPwmPin[3], 0); //make it go or stop
Serial.println(" 4 fwd");
} else if (neutUD – rcUD > rcSlack) {
analogWrite(motorRevPwmPin[3], motorSpeedWk); //ma ke it go or stop
analogWrite(motorFwdPwmPin[3], 0); //make it go or stop
Serial.println(" 4 rev");
} else {
analogWrite(motorRevPwmPin[3], 0); //make it go or stop
analogWrite(motorFwdPwmPin[3], 0); //make it go or stop
}
if (offx6 – rcx6 > rcSlack) {
analogWrite(motorRevPwmPin[4], motorSpeedWk); //make it go or stop
analogWrite(motorFwdPwmPin[4], 0); //make it go or stop
Serial.println(" 5 fwd");
} else {
analogWrite(motorRevPwmPin[4], 0); //make it go or stop
analogWrite(motorFwdPwmPin[4], 0); //make it go or stop
}
}
3. Codul de programare pentru bratul robotic
#include <SoftwareSerial.h> #include <Servo.h>
83
Servo servo01;//gripper ; Servo servo02; Servo servo03; Servo servo04; Servo servo05;
Servo servo 06;
SoftwareSerial Bluetooth(33, 37); // Arduino(RX, TX) – HC-05 Bluetooth (TX, RX)
int servo1Pos, servo2Pos, servo3Pos, servo4Pos, servo5Pos, servo6Pos; // current position int
servo1PPos, servo2PPos, servo3PPos, servo4PPos, servo5PPos, servo6PPos; // previous
position int servo01SP[50], servo02SP[50], servo03SP[50], servo04SP[50], servo 05SP[50],
servo06SP[50]; // for storing positions/steps int speedDelay = 20; int index = 0; String dataIn
= "";
void setup() { servo01.attach(3); servo02.attach(6); servo03.attach(7); servo04.attach(9);
servo05.attach(10); servo06.attach(11) ; Bluetooth.begin(38400); // Default baud rate of the
Bluetooth module Bluetooth.setTimeout(1); delay(20); // Robot arm initial position
servo1PPos = 55; servo01.write(servo1PPos); servo2PPos = 5;
servo02.write(servo2PPos); servo3PPos = 5 0; servo03.write(servo3PPos); servo4PPos =
95; servo04.wri te(servo4PPos);
servo5PPos = 105; servo05.write(servo5PPos); servo6PPos = 80;
servo06.write(servo6PPos); }
void loop() { // Check for incoming data if (Bluetooth.available() > 0) { dataIn =
Bluetooth.readString(); // Read the data as string // If "Waist" slider has changed value –
Move Servo 1 to position if (dataIn.startsWith("s1")) { String dataInS =
dataIn.substring(2, dataIn.length()); // Extract on ly the number. E.g. from "s1120" to "120"
84
servo1Pos = dataInS.toInt(); // Convert the string into integer // We use for loops so we
can control the speed of the servo // If previous position is bigger then current position
if (serv o1PPos > servo1Pos) { for ( int j = servo1PPos; j >= servo1Pos; j –) { // Run
servo down servo01.write(j); delay(20); // defines the speed at which the servo
rotates } } // If previous position is smalle r then current position if
(servo1PPos < servo1Pos) { for ( int j = servo1PPos; j <= servo1Pos; j++) { // Run
servo up servo01.write(j); delay(20); } } servo1PPos = servo1Pos;
// set current positio n as previous position
} // Move Servo 2 if (dataIn.startsWith("s2")) { String dataInS =
dataIn.substring(2, dataIn.length()); servo2Pos = dataInS.toInt();
if (servo2PPos > servo2Pos) { for ( int j = servo2P Pos; j >= servo2Pos; j –) {
servo02.write(j); delay(50); } } if (servo2PPos < servo2Pos) { for ( int
j = servo2PPos; j <= servo2Pos; j++) { servo02.write(j); delay(50); } }
servo2PPos = servo2Pos; } // Move Servo 3 if (dataIn.startsWith("s3")) { String
dataInS = dataIn.substring(2, dataIn.length()); servo3Pos = dataInS.toInt(); if
(servo3PPos > servo3Pos) { for ( int j = servo3PPos; j >= servo3Pos; j –) {
servo03.write(j); delay(30); } } if (servo3PPos < servo3Pos) {
for ( int j = servo3PPos; j <= servo3Pos; j++) { servo03.write(j); delay(30);
} } servo3PPos = servo3Pos; } // Move Servo 4 if (dataIn.startsWith("s4")) {
String dataInS = dataIn.substring(2, dataIn.length()); servo4Pos = dataInS.toInt(); if
(servo4PPos > servo4Pos) { for ( int j = servo4PPos; j >= servo4Pos; j –) {
servo04.write(j); delay(30); } } if (servo4PPos < servo4Pos) { for ( int
j = servo4PPos; j <= servo4Pos; j++) { servo04.write(j); delay(30); } }
servo4PPos = servo4Pos; } // Move Servo 5 if (dataIn.startsWith("s5")) { String
dataInS = dataIn.substring(2, dataIn.length()); servo5Pos = dataInS.toInt(); if
(servo5PPos > servo5Pos) { for ( int j = servo5PPos; j >= se rvo5Pos; j –) {
servo05.write(j);
85
delay(30); } } if (servo5PPos < servo5Pos) { for ( int j = servo5PPos; j
<= servo5Pos; j++) { servo05.write(j); delay(30); } } serv o5PPos =
servo5Pos; } // Move Servo 6 if (dataIn.startsWith("s6")) { String dataInS =
dataIn.substring(2, dataIn.length()); servo6Pos = dataInS.toInt(); if (servo6PPos >
servo6Pos) { for ( int j = servo6PPos; j >= serv o6Pos; j –) { servo06.write(j);
delay(30); } } if (servo6PPos < servo6Pos) { for ( int j = servo6PPos; j <=
servo6Pos; j++) { servo06.write(j); delay(30); } } servo6PPo s =
servo6Pos; } // If button "SAVE" is pressed if (dataIn.startsWith("SAVE")) {
servo01SP[index] = servo1PPos; / / save position into the array
servo02SP[index] = servo2PPos; servo03SP[index] = servo3PPos;
servo04SP [index] = servo4PPos; servo05SP[index] = servo5PPos; servo06SP[index]
= servo6PPos; index++; // Increase the array index } // If button
"RUN" is pressed if (dataIn.startsWith("RUN")) { runservo(); // Automatic mode – run
the saved steps } // If button "RESET" is pressed if ( dataIn == "RESET") {
memset(servo01SP, 0, sizeof(servo01SP)); // Clear the array data to 0 memset(servo02SP,
0, sizeof(servo02SP)); memset(servo0 3SP, 0, sizeof(servo03SP)); memset(servo04SP,
0, sizeof(servo04SP)); memset(servo05SP, 0, sizeof(servo05SP)); memset(servo06SP,
0, sizeof(servo06SP)); index = 0; // Index to 0 } } }
// Automatic mode custom function – run the saved steps void runservo() { while (dataIn !=
"RESET") { // Run the steps over and over again until "RESET" button is pressed for (int
i = 0; i <= index – 2; i++) { // Run through all steps(index) if (Bluetooth.available() > 0) {
// Check for incomding data dataIn = Bluetooth.readString(); if ( dataIn ==
"PAUSE") { / / If button "PAUSE" is pressed
while (dataIn != "RUN") { // Wait until "RUN" is pressed again if
(Bluetooth.av ailable() > 0) { dataIn = Bluetooth.readString(); if ( dataIn ==
"RESET") { break; } } } } // If speed slider is
86
changed if (dataIn.startsWith("ss" )) { String dataInS = dataIn.substring(2,
dataIn.length()); speedDelay = dataInS.toInt(); // Change servo speed (delay time)
} } // Servo 1 if (servo01SP[i] == servo01SP[i + 1]) { } if (servo01SP[i] >
servo01SP[i + 1]) { for ( int j = servo01SP[i]; j >= servo01SP[i + 1]; j –) {
servo01.write(j); delay(speedDelay); } } if (servo01SP[i] < servo01SP[i +
1]) { for ( int j = servo01SP[i]; j <= servo0 1SP[i + 1]; j++) { servo01.write(j);
delay(speedDelay); } }
// Servo 2
if (servo02SP[i] == servo02SP[i + 1]) { } if (servo02SP[i] > servo02SP[i + 1]) {
for ( int j = servo02SP[i]; j > = servo02SP[i + 1]; j –) { servo02.write(j);
delay(speedDelay); } } if (servo02SP[i] < servo02SP[i + 1]) { for ( int j =
servo02SP[i]; j <= servo02SP[i + 1]; j++) { servo02.write(j); delay (speedDelay);
} }
// Servo 3 if (servo03SP[i] == servo03SP[i + 1]) { } if (servo03SP[i] >
servo03SP[i + 1]) { for ( int j = servo03SP[i]; j > = servo03SP[i + 1]; j –) {
servo03.write(j); delay(speedDelay); } } if (servo03SP[i] < servo03SP[i +
1]) { for ( int j = servo03SP[i]; j <= servo03SP[i + 1]; j++) { servo03.write(j);
delay (speedDelay); } }
// Servo 4
if (servo04SP[i] == servo04SP[i + 1]) { } if (servo04SP[i] > servo04SP[i + 1]) {
for ( int j = servo04SP[i]; j >= servo04SP[i + 1]; j –) { servo04.write(j);
delay(speedDelay); } } if (servo04SP[i] < servo04SP[i + 1]) { for ( int j =
servo04SP[i]; j <= servo04SP[i + 1]; j++) { servo04.write(j); delay(speedDelay);
} }
87
// Servo 5 if (s ervo05SP[i] == servo05SP[i + 1]) { } if (servo05SP[i] >
servo05SP[i + 1]) { for ( int j = servo05SP[i]; j >= servo05SP[i + 1]; j –) {
servo05.write(j); delay(speedDelay); } } if (servo05SP[i] < se rvo05SP[i +
1]) { for ( int j = servo05SP[i]; j <= servo05SP[i + 1]; j++) { servo05.write(j);
delay(speedDelay); } }
// Servo 6
if (servo06SP[i] == servo06SP[i + 1]) { } if (servo06SP[i] > servo06SP[i + 1]) {
for ( int j = servo06SP[i]; j >= servo06SP[i + 1]; j –) { servo06.write(j);
delay(speedDelay); } } if (servo06SP[i] < servo06SP[i + 1]) { for ( int j =
servo06SP[i]; j <= servo0 6SP[i + 1]; j++) { servo06.write(j); delay(speedDelay);
} } } } }
88
OPIS
Proiectul conține :
– Număr de pagini scrise : 88 pagini ;
– Număr de tabele : 5 tabele ;
– Număr de figuri : 42 de figuri ;
– Număr de de sene : A0= 1 desen ansamblu ;
– A4 = 1 desen execuție ;
Data: Semnătura absolvent:
Semnătura conducătorului:
Sunt de acord cu susținerea lucrării în fața comisiei de licență.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Costache Andrei -Mihai [615121] (ID: 615121)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
