Fórum témák

» Több friss téma
Fórum » Robotika kezdőknek
 
Témaindító: mspike, idő: Júl 18, 2005
Lapozás: OK   79 / 82
(#) sany hozzászólása Jan 12, 2018 /
 
Sziasztok!
Arra gondoltam ,hogy elkezdeném az Arduinoval vezérelt robot építését.
A hardverrel kicsit gondban vagyok. Nem tudom mi kellene hozzá elsősorban. Gondolok itt például arra , hogy I/O panel (shield), stb. feltétlenül szükséges lenne-e hozzá. Illetve nem tudom, hogy 2WD vagy 4WD meghajtású robotvázat vegyek-e?
Tudnátok tanácsot adni? Köszönöm előre is.
A hozzászólás módosítva: Jan 12, 2018
(#) sargarigo válasza sany hozzászólására (») Jan 12, 2018 /
 
Szia!

Az IO-t panelt megcsinálhatod magad is, nem olyan ördöngős dolog, de ha gyorsan akarsz eredményt elérni (gondolom hogy most inkább ez a cél), akkor jobban jársz ha megveszed. A saját előnye hogy pontosan azt tudja amit vársz tőle és tanulhatsz belőle, de fejlesztési időben és pénzben is drágább mint a kész panel. Az hogy 2 vagy 4 kerék hajtású lesz, az megint attól függ hogy mit szeretnél. Asztalon bóklászó szobacirkálónak akár egy két kerekes plusz egy bolygókerekes cucc is jó (lásd pl Fizikus kolléga robotját), de terepre kell a négy kerék vagy a lánctalp. Ha össze tudod szedni hogy mik az igények, akkor annak már meg is lehet felelni. Rajzold le, írd össze, és akkor majd tudunk segíteni. Üdv
(#) sargarigo válasza sargarigo hozzászólására (») Jan 28, 2018 /
 
Na most én is kérdeznék!
Szeretnék egy modellt kapni arról, hogy egy két oldalán lánctalpas járműnek (pl tank) hogyan alakul a mozgása forduláskor. Ha jól gondolom kb ugyanaz kell nekem mintha segway-t építenék keréken, csak nekem nem kell egyensúlyozni (emiatt az egyszerűség kedvéért keréknek fogom nevezni a lánctalpat).

Tehát a lényeg röviden: Hogyan lehet megkapni az elfordulás szögét?

És bővebben:
Ha az egyik "kerék" áll , a másik forog, akkor az álló kerék körül elfordul a robot teste, mert viszi magával a forgó kerék. A forgáspont az álló keréken van. Ha az egyik előre a másik hátra forog, akkor az összekötő tengely közepe lesz a forgáspont, ekörül kezd el egy helyben forogni. Ha viszont mindkét kerék forog csak az egyik gyorsabban mint a másik, akkor a lassabb kerék és a tengelyközép között lesz valahol a forgáspont, és a robot egy nagyobb ív mentén fog elfordulni. Azt gondolom hogy a kerekek forgási sebességén kívül nincs más adatra szükség, de nem tudom hogyan kezeljem őket. Azt szeretném tudni hogy a fenti jelenségek miből tevődnek össze. Van erre valami modell ami leírja?
(#) Zozi85 válasza sargarigo hozzászólására (») Jan 28, 2018 /
 
Elméletben így van. A segway kerek ívelt kereke elméletileg egy ponton érintkezik a földdel,
de mindenképp kis felületen jó tapadással. Lánctalpnál eléggé beleszól a forgáspontba a nagy felületen épp hol fekszik fel leginkább, illetve oldalra mekkora ellenállás hat a talpakra. Kis modelleknél a távirányítóval lehet kompenzálni, nagyobbaknál pedig a brute force elv érvényesül amihez kell a tömeg. Önjáró esetben kell valami referencia, mert nincs az a modell ami a teljes terep domborzati, surlódási és más jellemzőit hitelesen visszaadná.
(#) sargarigo válasza Zozi85 hozzászólására (») Jan 28, 2018 /
 
Ennyire nem kell hogy pontos legyen. Elég egy sík lapon egy játék méretű masina lassú mozgása. Legyen mondjuk egy legó láncalpas, összvissz max 1kg. Csak érdekelne hogy jön ki a fordulás. Valami egyenlet kellene amit már le tudok programozni. Ha téveszt az sem baj, csak nagyjából hihető legyen ránézésre hogy így megy.
A hozzászólás módosítva: Jan 28, 2018
(#) Ivan93 válasza sargarigo hozzászólására (») Jan 28, 2018 /
 
Szia! Ideális esetet feltételezve a lánctalp szerintem közelíthető 1-1 kerékkel a segway mintájára. Itt tudni kell a kerekek távolságát és a kerék kerülete által megtett utat mérni kell. Ha lerajzolod felülnézetben két pozícióban a robotot, akkor a kerekek által megtett út (ívhossz) és a kerekek távolságából, háromszögek rajzolásával, szögfüggvényekkel ki kellene jönnie a szögelfordulásnak is. Én így próbálnám meg kiszámolni. De egy iránytű szenzor pontosabb és egyszerűbb megoldás lehet.
(#) Zozi85 válasza sargarigo hozzászólására (») Jan 28, 2018 /
 
Itt egy hasonló játékhoz való logika. Régebben találtam jó leírást ahol egy MIT projektet mutattak be szemétszedő robotra. Sajnos azt nem találtam meg.
(#) sargarigo válasza Ivan93 hozzászólására (») Jan 28, 2018 /
 
Iránytű szenzort nem tudok használni, mert ez egy virtuális robot lesz.
Ellenben megpróbáltam összerakni a dolgokat papíron. Azt tapasztaltam, hogy a mozgás ívének a sugara a két kerék sebességének az arányától függ (lehet hogy a különbsége). Ha a szűkebb sugár megvan, akkor a nagyobb sugár kiszámítható, mert a robot szélességével (D) nagyobb. A tömegközéppontja is megvan, mert az meg D/2-vel nagyobb. Ha megvan a sugár, akkor az idő függvényében az érkezési pontok is számolhatók (s=v*t-ből), ebből pedig polár-koordináta átalakítással megvan a koordináta rendszerbeli helyük is, és az elfordulás szöge is. De maga a sugár még mindig nincs meg.
A hozzászólás módosítva: Jan 28, 2018
(#) sargarigo válasza Zozi85 hozzászólására (») Jan 28, 2018 /
 
Ami a linken van azt nem teljesen értettem, de az jött le hogy nekem nem teljesen erre van szükségem. A fenti hozzászólásom szerinti sugarat kellene megtaláljam.
A hozzászólás módosítva: Jan 28, 2018
(#) sargarigo válasza sargarigo hozzászólására (») Jan 28, 2018 /
 
Bogarászom a linken lévő oldalt. Létezik hogy (v_bal - v_jobb) /D lenne a keresett sugár? Ez inkább valami szögnek tűnik. Szerintem a tengely elfordulása. De nem adják ki a mértékegységek.
A hozzászólás módosítva: Jan 28, 2018
(#) Zozi85 válasza sargarigo hozzászólására (») Jan 28, 2018 /
 
Inkább az elfordulási szöghöz tartozó különbség. Alapból a helyben forgással kezdenek, utánna a menet közbeni fordulás következik.
(#) Ivan93 válasza sargarigo hozzászólására (») Jan 28, 2018 / 1
 
A két ívhossz úgy aránylik egymáshoz, mint a két sugár. Az egyik sugár pedig d-vel nagyobb a másiknál. Tehát r1/r2=s1/s2 == r1/(r1+d)=s1/s2 -> r1=-(s1*d)/(-s2+s1)
r1 kifejezését ellenőrizd azért le.
(#) sargarigo válasza Ivan93 hozzászólására (») Jan 28, 2018 /
 
A számolást ellenőríztem, de nekem r1=(s1*d)/(s2-s1) jött ki. A gondolatmenetet most fogom ellenőrízni konkrét példával, remélem talpon marad
(#) Ivan93 válasza sargarigo hozzászólására (») Jan 28, 2018 /
 
Igen, ugyan az lett, csak Te helyesen összevontad a negatív előjeleket. Én programmal számoltam, úgy kaptam ezt az alakot
(#) sargarigo válasza Ivan93 hozzászólására (») Jan 28, 2018 /
 
Milyen program ez?
(#) sargarigo hozzászólása Jan 28, 2018 /
 
A pontos ellenőrzéshez kellene valami módszer arra, hogy egy körív hosszát hogy lehet pontosan megmérni. Az egyik körívet meg tudom rajzolni mondjuk 4cm-re, de a másikat nem (mert az csak "kicsit" hosszabb). Pedig ígéretes a számítás, amennyire meg tudom állapítani szemre akár még jó is lehet.
A hozzászólás módosítva: Jan 28, 2018
(#) Ivan93 válasza sargarigo hozzászólására (») Jan 28, 2018 /
 
Maple10. Nekem sajnos gondot okozott kifejezni r1-t

szerk.: a végét töröltem, mert lehet nem helyes
A hozzászólás módosítva: Jan 28, 2018
(#) sargarigo válasza Ivan93 hozzászólására (») Jan 28, 2018 /
 
Hát nem is az: alpha*(r*pi)/180
A hozzászólás módosítva: Jan 28, 2018
(#) sargarigo válasza Ivan93 hozzászólására (») Jan 28, 2018 /
 
Megnézem arra az esetre, ha az egyik ív nulla hosszú
(#) sargarigo válasza sargarigo hozzászólására (») Jan 28, 2018 /
 
Mondjuk gondolhattam volna: Ha a kissebbik ív nulla hosszú, akkor a nagyobbik sugara pontosan D. Elvégre ebből indultunk ki. Most én is
(#) proba válasza sargarigo hozzászólására (») Jan 28, 2018 /
 
Hossz mérésre enyhén pontatlan a cérna vagy egy drót darab.
(#) sargarigo hozzászólása Jan 29, 2018 /
 
Letisztáztam a rajzot, hátha másnak is támad valami építő jellegű ötlete. Tehát a cél kiszámítani a kékkel jelölt tömegközéppont új helyét, és a kiinduláshoz képesti elfordulását t0 helyett t1 időpontban, ahol ismert a kerekek v_bal és v_jobb sebességei, ebből a megtett úthossz is (v*t alapján).
A hozzászólás módosítva: Jan 29, 2018
(#) sargarigo válasza proba hozzászólására (») Jan 29, 2018 /
 
Az a baj a cérnával, hogy olyan kicsi eltérések vannak, hogy simán lehet rossz mérésből jó eredmény, kellene valami határozott állásfoglalás valami hozzáértőtől, hogy márpedig ez így van.
(#) KTobi válasza sargarigo hozzászólására (») Jan 29, 2018 / 1
 
Itt egy kód amit kétkerekű robot helyzetszámítására használtam. Mindkét kereket hajtó keréken volt enkóder. D kapuval oldottam meg az irány olvasását és counter(timer)ból olvasom az elmozdulást az előzőhöz képest, egységnyi idő alatt, tehát a sebességet.
  1. void rac_poz() //helyzet számítás
  2. {
  3.         smer_l=(SMER_ENC_L?1:-1); //forgásirány bal
  4.         smer_d=(SMER_ENC_D?1:-1); //jobb
  5.         brz_tren_d=smer_d*get_brz_d(); //pillanatnyi sebesség jobb=irány*enkóder jel
  6.         brz_tren_l=smer_l*get_brz_l()
  7.         //pozicioszámolás
  8.         promena_distanc=(int)(((float)(brz_tren_d + brz_tren_l))/3.887);         //2*BR_IMP_METAR/1000 /100  //megtett távolág értéke, középérték, korigálva az enkóderre
  9.         promena_ori=(brz_tren_d-brz_tren_l)/52.01;      //BR_IMP_KRUG/(3600*2) //elfordulás számolása
  10.         ori_rad=ori_tren*0.001745329;   //*pi/1800 //orientáció radián
  11.         poz_x_tren+=cos(ori_rad)*promena_distanc; //pillanatnyi pozíció külső koordinátarendszerben
  12.         poz_y_tren+=sin(ori_rad)*promena_distanc;
  13.         ori_tren+=promena_ori; //pillanatnyi orientáció
  14. }


Felkomenteltem, próbáld értelmezni.
1kHz en futott ez a ciklus, ezredmiliméterre számoltam, ha jól kalibráltad be, kis sebességnél nem pörgött ki a kerék, nem volt csúszás így pontosan tudta hol van. Nekem fél centi körüli pontosság kellett. Fejből a bő 3 éves dologról, Fi ~80mm kerék 23as áttétel egy motor fordulatra 1024 enkóder jel. Ezzel volt megvalósítva. Különben sima trigonometria az egész.
(#) sargarigo válasza KTobi hozzászólására (») Jan 29, 2018 /
 
Köszönöm szépen, megyek számolgatni
(#) sargarigo válasza KTobi hozzászólására (») Jan 29, 2018 /
 
Idézet:
„promena_ori=(brz_tren_d-brz_tren_l)/52.01;”

Az az 52.01 honnan jött? A többit nagyjából értem. A két motor sebességének különbségéet osztod az 52.01-gyel, és ha megvan a szög, megvan a távolság akkor már ki lehet számolni a koordinátákat. Jól mondom?
A hozzászólás módosítva: Jan 29, 2018
(#) KTobi válasza sargarigo hozzászólására (») Jan 30, 2018 / 2
 
Jól gondolod, ott van mögötte, a helybenforgás alatt kapott impulzus szám osztva 2*3600, azaz tizedfok alatt kapott impulzusra számol vissza. A gyors működés miatt volt beírva kézzel minden ilyen érték, ne keljen neki újraszámolni mindig. (Század millimétert számolt és tized fokot.)
(#) sargarigo válasza KTobi hozzászólására (») Jan 31, 2018 /
 
Az igen!
Köszönöm az infót, ezzel már biztosan menni fog! Mancs ment!
(#) Moderátor hozzászólása Redhorse hozzászólására (») Ápr 1, 2018
 
E-mail címet SOHA nem írunk ki nyilvánosan, ellenben a magyar nyelv helyesírási szabályait betartjuk, ahogyan a fórum Szabályzatát is, amely - többek között - előírja, hogy az apróhirdetésnek az Apróhirdetés rovatban van csak helye!
(#) balint730 hozzászólása Ápr 20, 2019 /
 
Sziasztok.
Szeretnék segítséget kérni abban, hogy az ipari robotokkal foglalkozó régebbi, illetve új szabvány között milyen különbségek vannak. Én úgy tudom az EN 775-ös szabvány volt a szigorúbb és az ISO 10218-as valamivel lazább. Ez igaz? Tehát ha én az EN 775-ös szabványt használom nem követek el nagy hibát?

Szakdolgozatomat írom az ipari robotok biztonságtechnikájából és csak a régebbi EN 775-ös szabvány áll rendelkezésemre sajnos.
Következő: »»   79 / 82
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem