Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2022] Robot valjak #2

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open
Changes from 7 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions content/2022/robot-valjak.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,76 @@
title: Robot valjak
summary: Robot u obliku valjka je projekat rađen na letnjem kampu za stare polaznike 2022. godine od Nikole Ristanovića i Filipa Bajraktarija.
KockaAdmiralac marked this conversation as resolved.
Show resolved Hide resolved
---

FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved

### Uvod

Uvod treba da sadrži sledeće stvari:
NikolaRistanovic marked this conversation as resolved.
Show resolved Hide resolved

Motivacija iza projekta je bila suprotstavljane ideje popularnog robota - balansera. Ideja je bila da pomoću klatna koje uvek teži da se vrati u stabilan položaj
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ovo malo zvuči kao direktan odgovor na pitanje "šta je motivacija?".
Takođe, ljudi ne znaju šta je robot balansero, tako da bi morali da prvo objalnite to, pre nego što napišete ovako neku rečenicu

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Za ovo cu morati da razmislim kako da formulisem, ali da li bi dobra ideja bila "Ideja projekta je..." ili slicno
  2. Da li umesto balansero mogu da napisem "inverted pendulum robot" posto je to "poznat" termin?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Da to je ok
  2. Nije dovoljno poznat za uvod

robot može biti konstruisan sa manjom preciznošću što bi ubrzalo proces pravljenja u slučaju masovne proizvodenje, kao i vreme dolaska do prvog funkcionalnog prototipa, budući da robot može da radi uz bilo kakav (ne)kontrolisan pogon motora. Takođe zbog oblika robota sve vitalne komponente se sadržane unutar konture, čineći robota izdržljivijim i jednostavnijim za popravku.
Copy link
Member

@djokjulapfe djokjulapfe Oct 15, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Zašto mislite da može biti konstruisan sa manjom preciznošću?
  2. Zašto bi neko masovno proizvodio ovog robota?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Zato sto za razliku od balansera komponente mogu da budu manje precizne i rabot ce nastaviti da radi, ali uz manje performanse.
  2. Zato sto se konstrukcija sastoji iz delova koji su jednostavni za proizvodnju, mogu da imaju manju preciznost, manje kontrolisan sistem i izdrzljiv je zbog svoje konstrukcije, sto sve doprinsi jefinijoj ceni izrade.

Copy link
Member

@djokjulapfe djokjulapfe Nov 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. To je dobro, dodajte u tekst.
  2. To što se nešto lako pravi ne znači da treba. Pitanje je "čemu ovo služi?". Zamisli da prodaješ ovu ideju nekoj velikoj firmi i budeš u fazonu "Ovo je mnogo dobar robot, ne radi ništa, ali zato može da se napravi 10 puta jeftinije nego pre"


Reference su skoro ne postojeće budući da se ideja o robotu dobila bez drugog uzora/slične ideje.
NikolaRistanovic marked this conversation as resolved.
Show resolved Hide resolved

???kako da formulišem da su refernece skoro ne postojeće i da sam sam došao na ideju robota???
NikolaRistanovic marked this conversation as resolved.
Show resolved Hide resolved


### Aparatura i metoda

#### Dinamika sistema

Kao što je objašnjeno u uvodu, postoje dve vrste sfernih robota koji se razlikuju po načinu konvertovanja električne energije koju motor dobija iz bateriju u mehaničku energiju koja dovodi do kretanja robota. U robotu valjku, 2D verziji sfernog robota, je implementirana druga metoda kojom se pomoću elektromotornog pogona klatno valjka izvodi iz ravnotežnog položaja što dovodi do momenta sile usled tangencijalne komponente gravitacione sile što dovodi do rotacije robota.
FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved

##### Horizontalno kretanje

Pre nego što se krene na pravljenje bilo kog hardverskog projekta neophodno je temeljno razumeti dinamiku (fiziku) sistema kako bi mogao da se simulira realni sistem na računaru i na taj način olakša projektovanje i programiranje hardvera. Grana fizike koja se bavi proučavanjem kinematike složenih fizičkih sistema se naziva Ojler-Lagranžova mehanika. Ona nam služi da složene fizičke sisteme predstavimo matematički isključivo pomću energija za dati sistem. Potencijalne, kinetičke i rotacione energije za telo i klatno valjka dati su sledećim izrazima:
FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved

$$U_1 = 0$$
$$U_2 = -M_2gd\cos(\theta _ 1 + \theta _ 2)$$
$$K_1 = \frac{1}{2}M_1(r\omega _ 1)^2$$
$$K_2 = \frac{1}{2}M_2((r\omega _ 1 - d\cos(\theta _ 1 + \theta _ 2)(\omega _ 1 + \omega _ 2))^2 + (d\sin(\theta _ 1 + \theta _ 2)(\omega _ 1 + \omega _ 2))^2)$$
$$T_1 = \frac{1}{2}J_1(\omega _ 1)^2$$
$$T_2 = \frac{1}{2}J_1(\omega _ 1 + \omega _ 2)^2$$
KockaAdmiralac marked this conversation as resolved.
Show resolved Hide resolved

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valjalo bi da imate sliku negde, gde se objašnjavaju sve vrednosti u ovim jednačinama.
Ako možete, bilo bi super da napišete takvo objašnjenje da neko može da razume bez čitanja drugih radova (podrazumevajući da znaju Lagranžovu mehaniku, izode, matrice i slične osnovne stvari)
Ideja je da napišete tako da kada bi mogli da pročitate to u prošlosti, da vam bude sve jasno.

Za razliku od klasične Njutnove mehanike za Lagranžovu mehaniku je potrebno definisati odgovarajuću Ojler-Lagranžove funkcije, koja se definiše na sledeći način:
Copy link
Member

@djokjulapfe djokjulapfe Oct 15, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Ja ne bih rekao da su to jedine razlike, tako da ne bih da pokušavate da ih poredite.
  2. Ojler-Lagranžove su jednačine. Funkcije su funkcije energije u zavisnosti od stanja.

$$L = K_1 + K_2 + T_1 + T_2 - U_1 - U_2$$
FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved
Primenivši Ojler-Lagranžovu jednačinu na dva sistema, klatno i valjak,
FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved
$$\frac{d}{dt}\left(\frac{\partial L}{\partial \omega _ 1}\right)\ -\ \frac{\partial L}{\partial \omega _ 1}\ = \ -T + T_f$$
$$\frac{d}{dt}\left(\frac{\partial L}{\partial \omega _ 2}\right)\ -\ \frac{\partial L}{\partial \omega _ 2}\ = \ T$$
dobijaju se sledeće jednačine kojima je u potpunosti opisana dinamika sistema:
$$-T + T_f\ =\ \alpha_1(J_1 + J_2 + M_1r^2 + M_2r^2 + M_2d^2 - 2M_2rd)\ +\ \alpha_2(J_2 - M_2rd + M_2d^2)\ +\ M_2gd(\theta_1 + \theta_2)$$
$$T\ =\ \alpha_1(J_1 - M_2rd + M_2d^) + \alpha_2(J_2 + M2d^2) + M_2gd(\theta_1 + \theta_2)$$
gde su iskorišćene aproksimacije za male uglove i male ugaone brzine.
FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Svuda gde ubacujete promenljive, objasnite šta svaka promenljiva znači.
Čitalac ne treba da bude u fazonu "Šta je m", "šta je r", "šta ja radim ovde..."

#### Simulacije
FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved

Simulacije služe da se na što realističniji način predstavi realni svet i dobije bolji uvid u to kako će se sistem ponašati. Pored osećaja za sistem, simulacije omogućavaju lakše testiranje softvera kao i testiranje sistema u različitim prirodnim uslovima.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ovo je lepo. Ali objasnite šta i kako ste simulirali. Šta ste koristili od softvera. Jel možete da napravite neku blok šemu kako simulacija radi?


##### Transfer funkcije
FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved
FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved

Transfer funkcija predstavlja odnos između signala upravljačkog sistema i ulaznog signala, za sve moguće ulazne vrednosti. Za bilo koji kontrolni sistem postoji referentni ulaz ili pobuda koji prolazi kroz transfer funkciju kako bi se proizveo odgovor sistema na odgovarajuću pobudu.
FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved

Transfer funkcija (funkcija prenosa) je definisana kao Laplasova transformacija izlazne promenjljive i Laplasove transformacije ulazne promenjljive pod pretpostavkom da su svi početni uslovi jednaki nuli.
Copy link
Member

@djokjulapfe djokjulapfe Oct 15, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Laplasova transformacija se primenjuje na funkcije, ne promenljive
  2. Laplasova transformacija vraća transfer funkciju nezavisno od početnih uslova

FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved
$$G(s)\ =\ \frac{C(s)}{R(s)}$$
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Šta su G, C i R?

Način na koji se formira transfer funkcija kontrolnog sistema je sledeća:

1. Formiraju se jednačine sistema
2. Uzimaju se Laplasove transformacije jednačina, pretpostavljajući da su početni uslovi jednaki nuli
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Objasnite mi na kakve početne uslove mislite? Pošto mi se čini da ih vučete od nekud a nije mi baš najjasnije. A zamislite kako bi bilo random čitaocu ako meni nije jasno 😄

3. Određuju se ulazi i izlazi sistema
4. Na kraju se uzima odnos Laplasove transformacije izlaza i ulaza što je tražena transfer funkcija
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kako sada uzimate odnos laplasove transformacije izlaza i ulaza? Zar niste rekli da se uzima laplasova transformacija jednačina?
Ja znam da vi znate šta se dešava, samo napišite da i drugi znaju


Takođe, važno je naglasiti da izlaz i ulaz nekog sistema ne mora nužno da bude istih fizičkih dimenzija.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zašto ste bacili random ovu rečenicu? U kom kontekstu je ovo? Da li imate primere u vašem robotu...


U radu su korišćene tri transfer funkcije koje se uz data pravila mogu izvesti iz fizičkih jednačina za horizontalno kretanje valjka. To su transfer funkcija ugla inklinacije klatna valjka i napona na motoru, transfer funkcija ugaone brzine klatna valjka i napona na motoru i, na kraju, ugaona brzina valjka i napona motora.
Copy link
Member

@djokjulapfe djokjulapfe Oct 15, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Probajte neki početak poput "Za modelovanje robota se koriste tri tf..."
  2. Koja pravila? Probajte da ne koristite pokazne zamenice i slične konstrukte, četo dovode samo do zbunjivanja.
  3. Zašto samo horizontalno kretanje? zar nema delova valjka koji se kreću i vertikalno?
  4. Objasnite zašto modelujete sistem tako da ima baš ta tri izlaza.


TODO: Analiza stabilnosti transfer funkcija
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ovo niste radili u okviru projekta. Zašto bi ste pominjali u radu?


##### PID simulacije

Kako bi se razumeo PID kontroler potrebno je definisati odredjene termine. *Željena vrednost* je obično vrednost koju unosi korisnik. Na primer, za sistem za grejanje to bi bila željena temperatura prostorije. *Izlaz* je kontrolisana vrednost PID kontrolera. U automobilu bi to bila količina goriva koja je potrebna da bi se održavala konstantna brzina. *Greška* je vrednost koju koristi PID kontroler da bi odredio kako da manipuliše izlazom kako bi se dostigla željena vrednost. Greška se računa kao razlika željene vrednosti i trenutne vrednosti sistema.
FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved

U radu su simulirana tri PID kontrolera. Prvi PID kontroler odžava konstantan ugao inklinacije klatna u odnosu na horizontalnu podlogu po kojoj se valjak kreće. Drugi PID kontroler održava konstantnu ugaonu brzinu valjka. Poslednji PID kontroler održava konstantan ugaoni pređeni put valjka. Blok dijagram kontrolnog sistema je predstavljen na slici:

FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved
Kao što je u prethodnom poglavlju rečeno, transfer funkcija predstavlja odnos između signala upravljačkog sistema i ulaznog signala, za sve moguće ulazne vrednosti. Ukoliko je transfer funkcija predstavljena preko Laplasovih transformacija onda je takva funkcija prenosa definisana na kontinualnom domenu. Takav oblik transfer funkcija je od koristi prilikom teorijskih analiza kao što je analiza polova i nula. Nazalost, u praksi nam treba diskretna reprezentacija sistema što proizilazi iz toga da mikrokontroler rade isključivo nad diskretnim domenom vrednosti. Postoje razni algoritmi koji vrše željenu konverziju. Jedan od njih, koji je i koriščen u radu, *Zero-order Hold* metoda
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Nemojte da ponavljate definicije
  2. "Kao što je u prethodnom poglavlju rečeno" izbaciti (isto ako i pre komentar što sam dao)
  3. "Ukoliko je transfer funkcija predstavljena preko Laplasovih transformacija onda je takva funkcija prenosa definisana na kontinualnom domenu" - Ovo je malo bezveze napisano. Bolje objasnite ovo u trenutku kada pišete o transfer funkcijama, ako vam je to bitno, pa posle pišite "kontinualna transfer funkcija" i "diskretna transfer funkcija"
  4. "Takav oblik transfer funkcija je od koristi prilikom teorijskih analiza kao što je analiza polova i nula." Vi ovo niste radili. Pored toga, niste objasnili šta su polovi i nule.
  5. Zašto "Nažalost"? To je dobra stvar da se diskretizuje, zato što možemo da pravimo kompleksnije kontrolere na jednostavniji način.
  6. Objasnite šta je "Zero-order hold" i zašto ste ga koristili

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stavke od jedan do pet su odradjene. Što se tiče ZOHa je ista situacija kao i za matričnu transfer funkciju, ja nigde nisam implementirana ZOH funkcija već je samo prosledjena kao parametar Control funkciji.


## Istraživanje i rezultati
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dodajte rezultate i zaključak

FilipBajraktari marked this conversation as resolved.
Show resolved Hide resolved