Principalele avantaje a introducerii roboților agricoli autonomi și inteligenți sunt: [308710]

Capitolul 3. Soluții inteligente

Nevoia omului de a reduce toate operațiile ce consumă timp și resurse umane s-a [anonimizat], senzorii, [anonimizat], [anonimizat], pot înlocui aproape complet componenta umană din agricultură.

[anonimizat], conducând la scăderea prețului sistemului ce se dorește a fi implementat.

Principalele avantaje a introducerii roboților agricoli autonomi și inteligenți sunt:

Precizie;

Eficacitate și fiabilitate;

Consistență operațională și operabilitate în condiții în care operatorul uman nu ar putea conduce acele operații.

[anonimizat], Michigan-Hortibot, Australia-AgBot, Finlanda-Demeter, [anonimizat], însă pentru topologia folosită în această lucrare partea de inteligență este oferită de FarmBot (fig.).

Fig. Model 3D FarmBot

https://cad.onshape.com/documents/6626b842adca229e69544ad1/w/89ac2637f82d915f22c2bcd0/e/37c2b5a1c0ff5c6275b1df67

3.1. Prezentare generală a [anonimizat], [anonimizat] (fig. ), [anonimizat].

[anonimizat] +5V, prin 12 pini fig. , pinul A [anonimizat] B [anonimizat] C [anonimizat], pinul D [anonimizat], restul pinilor putând fi configurați pentru alte măsurări.

Electromagnet, [anonimizat], semnale folosite pt alimentare

Fig. Unealta universală

https://cad.onshape.com/documents/6626b842adca229e69544ad1/w/89ac2637f82d915f22c2bcd0/e/dbbe41e7e541c09623789936

Fig. Alimentarea uneltei universale

https://genesis.farm.bot/docs/wire-up-the-utm

Unealta universală permite atașarea modulelor ce au următoarele funcții:

Unealta pentru plantat;

Unealta pentru udat;

Senzorul de umiditate;

Unealta pentru îndepărtat buruieni.

3.1.1. [anonimizat], folosind o pompă cu vin pentru deplasarea semințelor din tăvița repartitoare.

Pompa cu vid eate alimentata la 12V DC, curentul este de 1A.

https://cad.onshape.com/documents/6626b842adca229e69544ad1/w/89ac2637f82d915f22c2bcd0/e/e670874f46a8cefcaae324db

https://cad.onshape.com/documents/6626b842adca229e69544ad1/w/89ac2637f82d915f22c2bcd0/e/ee8c82946ef37246d4aa6f1c

3.1.2. Unealta pentru udat

Fig. Unealta pentru udat

https://cad.onshape.com/documents/6626b842adca229e69544ad1/w/89ac2637f82d915f22c2bcd0/e/568ac2ec8249f76a465dfe96

Fig. Valva solenoidă

https://cad.onshape.com/documents/6626b842adca229e69544ad1/w/89ac2637f82d915f22c2bcd0/e/37c2b5a1c0ff5c6275b1df67

[anonimizat] 12V, curentul de 320mA, puterea de 3,84W, valvă ce poate lucra la presiuni de la 0,3 bar până la 8 bar.

3.1.3. Senzorul de umiditate

Senzorul poate transmite semnal analogic sau digital plăcuței arduino, în funcție de setarea făcută de noi în aplicația web. Calibrarea senzorului se face la valoarea de 250 pentru sol uscat și 850 pentru sol foarte umed. Dacă în momentul de față, umiditatea solului nu este cunoscută, se măsoară umiditatea, apoi în funcție de datele oferite de senzor, sistemul decide dacă trebuie pornit sistemul de irigat.

Alimentarea se face de la 3.3V până la 5V, măsurătoarea poate fi făcută setând un pin de la o plăcuță Arduino pe HIGH sau digital.

https://cad.onshape.com/documents/6626b842adca229e69544ad1/w/89ac2637f82d915f22c2bcd0/e/38777a696443e6005b39853a

3.1.3. Unealta pentru îndepărtat buruieni

Această unealtă se folosește de faptul că buruienile aflate într-un stadiu incipient de viață, odată împinse înapoi în sol, acestea nu vor mai avea vitalitatea necesară să mai iasă la suprafață, neavând cum sa mai facă fotosinteza sub sol.

https://cad.onshape.com/documents/6626b842adca229e69544ad1/w/89ac2637f82d915f22c2bcd0/e/619a4cdb2b9f77fa96473f57

Această operație este una dintre cele mai complicate, deoarece pentru estimarea poziției unde au fost plantate plantele și pentru a le evita în timpul procesului de îndepărtare a buruienilor, sunt folosite rotațiile motoarelor pas cu pas, dar în același timp, atunci când o sămânță este plantată, camera web va face o poză, împreună cu datele oferite de encoderele motoarele pas cu pas, programul software va transforma toată informația în coordonate.

În figura se observă detecția tuturor plantelor.

În următoare figură putem observa estimarea robotului făcută după plantarea semințelor (cercul verde) și comparația cu dezvoltarea plantelor după creșterea lor (cercul albastru), dar și evidențierea plantelor pe care robotul nu le recunoaște ca fiind plantate de el (cercurile roșii).

În ultima figură observăm că buruiana numarul 2 nu poate fi îndepărtată, deoarece unealta de zdrobit se intercalează cu aria plantei, softul astfel luând decizia de a nu acționa în cazul buruienii numărul 2, dar operațiunea se va duce la bun sfârșit în cazul celorlalte doua buruieni.

În prima imagine sunt detectate 7 plante, dintre care 4 sistemul le recunoaște ca fiind plantate de el, cu coordonatele (X Y) și raza R:

( 600 400 ) R = 45

( 600 500 ) R = 45

( 700 400 ) R = 25

( 700 500 ) R = 25

2 buruieni sunt marcate pentru a fi îndepărtate, cu coordonatele și raza R:

( 743 541 ) R = 6

( 654 447 ) R = 6

Buruienile a căror rază se intersecta cu raza plantelor dorite nu vor fi eliminate:

( 651 446 ) R = 7

( 676 512 ) R = 3

Cele 4 plante ce au fost însămânțate de robot și nu necesită îndepărtarea lor, au acum un nou set de coordonate, deoarece primele coordonate au fost estimate:

( 700 410 ) R = 31

( 596 396 ) R = 53

( 698 485 ) R = 29

( 600 499 ) R = 42

3.2. Principiul de funcționare software

Partea de inteligență a serei se împarte în aplicație web și hardware.

Sistemul software este unul distribuit, componentele hardware sunt interconectate, comunică și se coordonează prin transfer de mesaje. Întreaga structură are rolul de asistent și/sau unealtă în luarea deciziilor și automatizarea sarcinii.

Plăcuța Arduino are de fapt rolul de controller a întregii părți hardware, de a achiziționa date de la motoarele pas cu pas și de a le comanda, și de a primi date de la senzorul de umiditate.

Pachetele de date achiziționate de Arduino sunt mai apoi transmite la Rapsberry Pi 3.0, componentă ce are rol de „back end” ce transmite mai departe informațiile procesate în cloud, unde aplicația web, sistemul decisional și sursele externe de informații iau deciziile și le optimizează pentru a se atinge maximul de eficiență.

O semnificativă parte din informațiile achiziționate de Rapsberry Pi sunt stocate în cloud, pentru a creea o bază de date din care se pot face viitoare analize, pentru a îmbunătăți sistemul decisional și a pune la dispoziție tuturor utilizatorilor la nivel global o platformă cu date exacte și a le oferi o experiență plăcută.

Rapsberry Pi 3 comunică cu aplicația din cloud prin intermediul MQTT Gateway (Message Queuing Telemetry Transport), un protocol destinat conexiunilor cu acces la distanță, unde lățimea de bandă a rețelei este limitată. Farmbot utilizează MQTT pentru evenimente în timp real. Acest lucru este tratat printr-o conexiune TCP/IP (Transmission Control Protocol) la brokerul MQTT. În browser, acest lucru se realizează printr-o conexiune Websocket.

Comunicarea între Rapsberry Pi și Arduino se realizează prin cod F și G, este denumirea comună a limbajului de programare cu control numeric cel mai utilizat. Se utilizează în principal în fabricarea asistată de calculator pentru controlul mașinilor-unelte automate. G-codul este o limbă în care oamenii spun unei mașini unelte de calculator cum să facă ceva. Modul "cum" este definit prin instrucțiunile de cod g, furnizate unui controler de mașină (computer industrial) care îi spune motoarelor unde să se miște, cât de repede se poate deplasa și ce cale să urmeze. Cele două situații cele mai frecvente sunt cele ale unei mașini-unelte, cum ar fi un strung sau moară, care este un instrument pentru producția de mașini și echipamente. în oricare dintre axele de până la 9 axe în jurul celor 3 dimensiuni în raport cu o cale de unelte și care se pot deplasa sau se pot deplasa unul față de celălalt.

Toți senzorii, motoarele și alte componente hardware comunică cu microcontrolerul și interpretează datele sub formă de cod numeric. Microcontrolerul va avea propriul sistem de operare ce poate interpreta codul, trimite și primi date de la backend, mai departe acționând motoarele și alți senzori.

Astfel, pentru a crea un sistem minimalist, cu puține componente hardware și părți software, s-a optat urcarea sistemului decizional în cloud și transmiterea instrucționulor de la backend într-un limbaj simplu precum G-code.

3.2.1. Sistemul decizional

Conceptul de machine learning a plecat de la problema scrierii codului pentru un computer sau un robot controlat de un computer ce trebuie să execute o anumită comandă, astfel, timpul pierdut pentru elaborarea acestui cod și resursa umană alocată acestui proces a condus la dezvoltarea sistemelor ce pot face analogii, pot învăța din exemple și sarcini antecedente și au ca scop final livrarea unui program aproape complet pentru o acțiune.

În momentul de față algoritmii machine learning sunt împărțiți pe 3 categorii:

Învățare supravegheată

Învățare nesupravegheată

Învățare consolidată

Învățarea supravegheată presupune că algoritmul trebuie să aibe ca rezultat un program dorit, dezvoltat de algoritm dintr-un set de predictori. Acest proces poate fi repetat până când este atins punctul de precizie dorit.

Învățarea nesupravegheată are ca supoziție că nu există o variabilă țită sau un rezultat dorit, acest algoritm este utilizat de cele mai multe ori pentru gruparea unor seturi de date pe mai multe grupuri.

Ipoteza învățării nesupravegheate se compune din folosirea unui algoritm, mașina este expusă unui mediu prin intermediul căruia se instruiește continuu prin încercări și erori. Această mașină învață din experiența anterioară și încearcă să capteze cunoștiințele.

Planul general și managementul serei este o decizie, precum și distanța între semințele plantate, cantitățile de apă folosite la udat, unde și când să planteze o sămânță. Pentru a se obține o eficiență ridicată, fermierul sau softwareul trebuie să ia decizii bazate pe date sau în funcție de experiența fermierului. Procesul de luare a deciziilor poate fi unul foarte complex, ce implică multe seturi de date precum și factori din exterior pprecum proprietățile solului sau fenomenele meteorologice.

Sistemul decizional este o componentă algoritmică a softwareului care utilizează toate datele pentru a determina cea mai bună soluție pentru orice operație. Acest sistem este cea mai complexă componentă, deoarece este nevoie de date multe experimentale. Dezvoltarea acestui sistem începe cu doar câteva decizii bazate pe câteva seturi de date, dar prin intermediul softwareului de machine learning, se va crea un sistem optimal de decizii ce va conține date despre fiecare plantă și factori externi sau operații ce vor fi executate.

3.3. Aplicația robotului

https://my.farmbot.io/app/designer/plants

Aplicația ce permite controlul robotului este una interactivă și simplă, menită să ușureze experiența utilizatorului.

Implicarea omului în procesul de plantare este 0, tot procesul este dus la bun sfârșit de către robot, cu mare acuratețe, aplicația oferă și o estimare a spațiului ce ar trebui lăsat între legume pentru ca acestea să nu se usuce în urma supraaglomerării spațiul destinat fermei.

3.4. Configurare personalizata.

3.4.1. Secvențe

Fig.

Robotul permite și inițializarea unor secvențe fig(), ce implică o serie de pași, pe care robotul îi va face, până când secvența este dusă la bun sfârșit. Un model de secvență poate fi mișcarea robotului până deasupra uneltei de udat, intruducând coordonatale spațiale X,Y,Z, se poziționează deasupra uneltei, coordonatele uneltelor pot fi importate din baza de date, atașarea uneltei pentru udat la unealta universală se face prin modificarea coordonatei Z, pentru a coborâ unealta universală până deasupra modulului de udat și a o atașa, utilizarea acesteia într-un anumit loc din grădină, în cele din urmă poziționarea uneltei înapoi.

3.4.2. Comenzi din bara de secvențe

Pentru a inițializa unele secvențe este nevoie să se cunoască anumite date, de aceea bara de secvențe conține o bară adițională cu următoarele comenzi:

Write pin, aprinde sau stinge un periferic, pinul nr 13 este ledul aferent placutei arduino, pin mode ne permite controlul digital sau analogic, ON/OFF pentru control digital, pentru analogic, putem seta intre 0 si 255.

Read pin, citirea unui pin, analog sau digital, specificând numărul pinului putem alege senzorul de umiditate, numind datele prelevate senzor de umiditate.

Wait command, asteapta sau sa opreasca o comanda pentru o anumita perioada de timp.

Send message, poate trimite mesaje prin email, spre exemplu atunci cand robotul ajunge in pozitia de “home”, se pot adauga si mesaje precum coordonatele x,y,z in care se afla robotul, sau cea mai recenta citire a unui pin.

Find home, este utilizata pentru a muta robotul in pozitia de home pe una dintre cele 3 coordonate sau chiar toate 3.

IF statement, pe baza unor valori pe care robotul le verifica, poate decide ce secvențe să facă întâia oară.

Execute sequence, putem crea o secvență de secvențe, spre exemplu să ridice unealta de udat, să ude toate plantele, să pună înapoi unealta și să se întoarcă în poziția de home.

Run farmware, rularea unui program specific, de exemplu, detectarea buruinilor.

Take photo, robotul face o poza plantelor, pozele pot fi mai tarziu utilizate din nou pentru procesarea imaginilor și comparația cu unele mai recente pentru a crea un set de date nou.

3.4.3. Regimuri

Regimurile sunt o serie de secvențe ce încep odată cu data setată pentru începerea regimului de funcționare.

Un bun exemplu de regim, în prima zi de regim, se rulează secvența de plantare a morcovilor la ora 8 dimineața, apoi se va introduce secvența de udare a semințelor, în fiecare zi, pentru urmatoarele 3 săptămâni, la ora 8:30.

Similar Posts