Difference between revisions of "Parking of robots in Remotely-operated laboratory"
m |
|||
Line 41: | Line 41: | ||
Pozn: obr. reprezentuje iné dáta ako vyššie | Pozn: obr. reprezentuje iné dáta ako vyššie | ||
+ | |||
[[Image:Viz2.png]] | [[Image:Viz2.png]] | ||
Revision as of 00:36, 14 June 2013
Parkovanie - vyhýbanie sa prekážkam pomocou schemas
V Jave som začal písať program na vytváranie schémy. Keď to virtuálne otestujem, prepíšem to do C++.
Rozpracovaný projekt na stiahnutie: http://www.st.fmph.uniba.sk/~galan2/ai/parkovanie.zip
- Je možné mať rôzne rozlíšenie pracovnej matice od vonkajšieho prostredia (fotografie).
- Každé políčko má vektor (uhol a silu), destinácia bude asi priťahovať každé políčko rovnakou silou, antigravitácia od priekážkok bude asi závisieť od vzdialenosti.
Prikladám test výpis uhlov časti matice, DESTIN1 je destinacia (to bude miesto, ktoré bude pred parkovacím boxom), OBSTAC1 je prekážka:
0030,00|0030,00|0028,50|0026,57|0025,23|0024,58|0024,50|0024,54|0024,27|0023,43|0022,10|0020,72|0019,81|0019,70|0020,43| 0030,00|0029,58|0027,20|0025,37|0024,47|0024,74|0025,84|0026,88|0027,02|0025,82|0023,44|0020,69|0018,63|0017,89|0018,44| 0030,00|0028,54|0026,09|0024,32|0024,05|0025,89|0028,99|0031,54|0032,28|0030,52|0026,32|0021,22|0017,43|0015,97|0016,47| 0030,00|0027,73|0025,11|0023,21|0023,53|0027,99|0034,28|0038,65|0040,20|0037,98|0030,68|0021,31|0015,31|0013,57|0014,48| 0030,00|0027,19|0024,33|0021,84|0021,55|0030,71|0041,89|0046,81|0049,30|0048,57|0036,21|0017,49|0010,80|0010,67|0012,75| 0030,00|0027,00|0024,00|0021,00|0018,00|DESTIN1|0048,00|0051,00|0054,00|0057,00|OBSTAC1|0003,00|0006,00|0009,00|0012,00| 0030,00|0027,19|0024,33|0021,84|0021,55|0030,71|0041,89|0046,81|0049,30|0048,57|0036,21|0017,49|0010,80|0010,67|0012,75| 0030,00|0027,73|0025,11|0023,21|0023,53|0027,99|0034,28|0038,65|0040,20|0037,98|0030,68|0021,31|0015,31|0013,57|0014,48| 0030,00|0028,54|0026,09|0024,32|0024,05|0025,89|0028,99|0031,54|0032,28|0030,52|0026,32|0021,22|0017,43|0015,97|0016,47| 0030,00|0029,58|0027,20|0025,37|0024,47|0024,74|0025,84|0026,88|0027,02|0025,82|0023,44|0020,69|0018,63|0017,89|0018,44| 0030,00|0030,00|0028,50|0026,57|0025,23|0024,58|0024,50|0024,54|0024,27|0023,43|0022,10|0020,72|0019,81|0019,70|0020,43| +135,00|+141,34|+150,59|+163,08|+178,10|-165,36|-148,98|-134,26|-122,03|-112,62|-106,32|-103,36|-103,38|-105,23|-107,50| +128,66|+135,32|+146,11|+160,74|+179,26|-160,09|-140,34|-123,49|-109,83|-099,16|-091,81|-088,72|-090,16|-094,54|-099,27| +120,96|+127,85|+138,97|+155,55|+178,44|-155,53|-132,17|-113,84|-099,36|-087,26|-077,79|-073,46|-076,25|-083,96|-091,69| +111,80|+117,74|+127,73|+144,83|+172,78|-152,66|-124,50|-105,88|-092,04|-078,74|-065,22|-057,84|-062,92|-075,64|-086,40| +101,31|+104,84|+111,12|+123,87|+153,48|-152,00|-113,85|-098,51|-088,92|-076,99|-054,33|-040,59|-055,15|-074,98|-085,67| +090,00|+090,00|+090,00|+090,00|+090,00|DESTIN1|-090,00|-090,00|-090,00|-090,00|OBSTAC1|-090,00|-090,00|-090,00|-090,00| +078,69|+075,16|+068,88|+056,13|+026,52|-028,00|-066,15|-081,49|-091,08|-103,01|-125,67|-139,41|-124,85|-105,02|-094,33| +068,20|+062,26|+052,27|+035,17|+007,22|-027,34|-055,50|-074,12|-087,96|-101,26|-114,78|-122,16|-117,08|-104,36|-093,60| +059,04|+052,15|+041,03|+024,45|+001,56|-024,47|-047,83|-066,16|-080,64|-092,74|-102,21|-106,54|-103,75|-096,04|-088,31| +051,34|+044,68|+033,89|+019,26|+000,74|-019,91|-039,66|-056,51|-070,17|-080,84|-088,19|-091,28|-089,84|-085,46|-080,73| +045,00|+038,66|+029,41|+016,92|+001,90|-014,64|-031,02|-045,74|-057,97|-067,38|-073,68|-076,64|-076,62|-074,77|-072,50|
Červená bodka je destinácia, modrá prekážka. Je možné mať veľa týchto bodov.
Bude potrebné špecifikovať polomer prekážky (nejaký offset zaciatku posobenia gravitacie), keďže bod je iba bod. Alebo prekážka bude pokrytá viacerými bodmi (môže byť náročné na výpočet).
Pozn: obr. reprezentuje iné dáta ako vyššie
Rospoznávanie pozície robotov - Je naprogramované (rozpoznávanie kruhov)
Rozpoznávanie orientácie šípky
Princíp: ANN, pri učení zrejme 360 dvojíc vstup(obr)-výstup(uhol v °) - (kolko podobnych obr treba na dobre natrenovanie kazdeho stupna?)
- asi bude potrebné odfiltrovať zbytočné dáta (farba, neostré hrany)
Knižnica FANN s príkladom XOR: http://leenissen.dk/fann/wp/help/getting-started/
Príklad pattern recognition: http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.html#Pattern%20Recognition%20-%20an%20example
Predtým, ako sa pustím do programovania v C++, Vyskúšal som Java Neural Network Framework, ktorý je veľmi jednoduchý na používanie: http://neuroph.sourceforge.net/image_recognition.html
Testovanie 90° šípky pro trénovaní s viac-menenej defaultnými parametrami vyšlo takto:
Stupne : output
180 : 0,0062
135 : 0,0089
0 : 0,0341
45 : 0,0332
225 : 0,01
90 : 0,8841
315 : 0,017
270 : 0,068