UM FERI
Avtor: Anže Ostruh
V članku je predstavljen študentski projekt robotske šahovske aplikacije z dvema kolaborativnima robotoma, ki je bil razvit na študijskem programu Mehatronike, v Laboratoriju za industrijsko robotiko na UM FERI.
Šahovska aplikacija ponuja tri različne načine igranja, ki ga določi uporabnik ob zagonu aplikacije. Odvisno od načina igranja šahovske poteze generira človek ali šahovski algoritem samodejno preko nadzornega računalnika, kjer se izvaja šahovska aplikacija. V vseh načinih igranja premike šahovskih figur na realni šahovnici izvajata kolaborativna robota. Ideja o avtomatskem šahovskem stroju sega že v leto 1770, ko je bil sestavljen mehanični šahist po imenu »Mehanični Turek«. Tega je z vzvodi premikal šahist, ki je bil skrit v mizi, ustvarjajoč vtis avtomatskega šahovskega stroja, ki zna sam razmišljati in igrati. Vendar pa so takratne tehnološke omejitve preprečile izvedbo delujočega avtomatskega šahovskega stroja [1,2]. Tehnologija je v tem času izredno napredovala. Velik preskok v svetu šaha in umetne inteligence je bil prav gotovo šahovski računalnik Deep Blue, ki ga je zasnovalo podjetje IBM [3]. S hitrim razvojem računalnikov, umetne inteligence ter ne nazadnje (kolaborativne) robotike pa je vedno bolj postajala zanimiva ideja o igranju šaha z robotom. Šahovska igra namreč predstavlja izjemno kompleksen matematično-računalniški problem z ogromnim številom možnih potez in kombinacij, obenem pa prinaša tudi številne tehnične izzive pri izvedbi šahovske igre s pomočjo realnega robota. Osnovna ideja in cilj projekta je bil načrtovati in pripraviti robotsko šahovsko aplikacijo, ki omogoča tri različne načine igranja: človek-človek, človek-računalnik in računalnik-računalnik. Posledica tega je bila, da smo v šahovsko aplikacijo vključili dva kolaborativna robota, pri čemer v vseh načinih igranja vlogo manipulatorja za premik šahovskih figur opravljata kolaborativna robota. Najprej smo razvili digitalni dvojček sistema. S tako imenovanim digitalnim dvojčkom lahko virtualno simuliramo obnašanje fizičnih sistemov, kar pride prav predvsem v razvojnih fazah, kjer lahko z ustreznim zgodnjim prepoznavanjem težav le-te odpravimo še v zgodnjih fazah razvoja. Po odpravi vseh pomanjkljivosti, ki so se pojavile v fazi testiranj, smo nato lahko nadaljevali z izvedbo na realnem sistemu.
Snovanje rešitve
Uporabnik preko nadzornega računalnika, na katerem se izvajajo šahovski algoritem, grafični uporabniški vmesnik in algoritem za nadzor obeh robotov, upravlja celotno aplikacijo, kar podrobneje prikazuje sistemski diagram na sliki 1. Uporabili smo že popolnoma funkcionalen in razvit šahovski algoritem ‘Chess Master’, ki se izvaja v okolju MATLAB in ponuja intuitiven grafični vmesnik ter vrsto uporabniških nastavitev [4]. Glavni cilj je bil razvoj celotnega programskega algoritma (razen šahovskega), ki omogoča igranje šaha s kolaborativnim robotom. Za vizualizacijo oz. simulacijo delovanja (digitalni dvojček) smo uporabili simulacijsko programsko okolje RoboDK, ki je povezano z okoljem MATLAB. V primeru načina igranja z realnim robotom pa je komunikacija med osebnim računalnikom in obema kolaborativnima robotoma UR3 vzpostavljena preko Ethernet povezave, preko katere upravljamo in nadzorujemo premike robota in delovanja ostalih naprav (robotsko prijemalo itd.).
Programska oprema
V programskem okolju MATLAB se izvaja celotni programski algoritem, ki omogoča naslednje:
Kalibracijo lege šahovnice
Kalibracije lege šahovnice je potrebna zaradi tega, da lahko točno določimo njeno lego glede na kolaborativna robota. Kalibracija lege šahovnice je izvedena z metodo treh kalibracijskih točk. Z uporabo podatkov postopka kalibracije nato generiramo posamezne točke na šahovnici, relativno glede na bazni koordinatni sistem obeh kolaborativnih robotov. Te točke predstavljajo točke za izvedbo prijemanja in odlaganja posameznih šahovskih figur.
Preverjanje dosegljivosti in kolizij robota
Za vse točke, ki smo jih generirali v fazi kalibracije šahovske plošče, moramo tudi preveriti, ali je za posameznega robota ta točka tudi dosegljiva, hkrati pa ne sme priti do trkov oz. kolizij robota z okolico, ko se le-ta premika v oz. doseže želeno točko. Kolizije preverjamo s pomočjo programskega okolja RoboDK, samo dosegljivost posameznega robota pa preverjamo na osnovi izračuna inverzne kinematike.
Upravljanje obeh robotov
Šahovski algoritem nam kot izhodno informacijo poda le izpis oznake polj (npr. d4d5), ko premaknemo določeno figuro iz enega polja na drugo na virtualni šahovnici. Za premik realne šahovske figure, ki ga izvede robot, na ustrezno šahovsko polje na realni šahovnici pa moramo poznati tako lego tega polja na realni šahovnici (dobimo iz postopka kalibracije šahovnice), kot tudi izvesti ustrezen premik robotske roke. V primeru hitrejših, prostih premikov smo uporabili premike v sklepnih koordinatah, medtem ko smo v primeru potrebe po premikih, kjer je potrebno natančno poznati pot vrha robota (orodja) uporabili linearne premike v zunanjih koordinatah. V algoritem je vključeno tudi upravljanje (odpri, zapri) robotskih električnih prijemal. Znotraj algoritma so bile upoštevane tudi druge, posebne šahovske poteze, kot so: rokada, promocija kmeta in en-passant.
Izbira načina izvajanja šahovske aplikacije in načina igranja
Izbiramo lahko med tremi načini izvajanja šahovske aplikacije:
- šahovska aplikacija (MATLAB) – simulacija (RoboDK),
- šahovska aplikacija (MATLAB) – realna UR robota in
- šahovska aplikacija (MATLAB) – realna UR robota – simulacija (RoboDK).
Izbiramo lahko med tremi načini igranja šaha:
- človek-človek,
- človek-računalnik in
- računalnik-računalnik.
Na sliki 2 je prikazan grafični vmesnik, izveden v programskem okolju MATLAB.
Strojna oprema
Na ročni mobilni robotski platformi (Slika 3) sta nameščena kolaborativna robota Universal Robots, različice UR3-e in UR3-cb. Za robotsko prijemalo smo uporabili električno prijemalo GIMATIC MPPM1606. Specifikacije obeh kolaborativnih robotov in robotskega prijemala so prikazane v tabelah 1 [5,6] in 2 [7].
Rezultati
Na sliki 3 je prikazan realni sistem. S pomočjo nadzornega računalnika premikamo figure na virtualni šahovnici, medtem ko se ti premiki nato preslikajo v premike realnih šahovskih figur, ki jih izvajata kolaborativna robota UR3-cb in UR3-e.
QR koda za ogled videoposnetka delujočega šahovske aplikacije.
Zaključek
Pri izvedbi projekta smo bili soočeni z velikim številom tehničnih izzivov, kot je npr. ustrezna geometrijska oblika prstov prijemal, ki so morala biti oblikovana na način, da lahko zanesljivo in hitro pobiramo oz. odlagamo vse šahovske figure. Precejšen izziv je bila tudi ustrezna izbira lege šahovnice na delovni površini, saj smo zaradi dokaj velikih dimenzij šahovnice in dokaj majhnega dosega obeh kolaborativnih robotov (na doseg so bistveno vplivala električna prijemala z nameščenimi prsti) imeli težave z nedosegljivostjo določenih šahovskih polj. Velik izziv je bila tudi ustrezna izvedba kalibracije lege šahovnice, saj je bila uporabljena šahovnica zložljivega tipa, kar pa je v praksi imelo za posledico (zaradi nenatančne izdelave šahovnice), da smo morali za dovolj natančno določitev lege šahovnice oz. posameznih šahovskih polj, izvesti kalibracijo lege za vsako polovico šahovnice posebej. V nadaljnje bi se projekt lahko nadgradil z možnostjo povezave sistema v internetno omrežje, kar bi omogočilo oddaljen dostop do sistema. Vpeljali bi lahko tudi uporabo strojnega vida, kar bi omogočalo igranje šaha med kolaborativnim robotom in človekom, pri čemer bi slednji izvajal premike na realni in ne virtualni šahovnici, kot je mogoče le trenutno.
Zahvala
Iskreno se zahvaljujem mentorjema izr. prof. dr. Alešu Hacetu, univ. dipl. inž. el. in asist. Mitji Golobu, mag. inž. meh. za strokovno pomoč, nasvete in vodenje pri študentskem projektu ter pisanju članka. Prav tako se zahvaljujem sošolcu Blažu Kolarju za dobro timsko delo pri projektu.
VIRI IN LITERATURA
- [1] W. Clark, J. Golinski, and S. Schaffer, The sciences in enlightened Europe. Chicago: University of Chicago Press, 1999.
- [2] T. Standage, The Turk : the life and times of the famous eighteenth-century chess-playing machine. New York: Walker & Co., 2002.
- [3] Deep Blue, IBM [splet], [Datum dostopa: 10.8.2023], Dosegljivo: https://www.ibm.com/ibm/history/ibm100/us/en/icons/deepblue/
- [4] Šahovski algoritem ‘Chess Master ver. 1.7.0.0’, Brian Moore [splet], [Datum dostopa: 10.8.2023], Dosegljivo: https://www.mathworks.com/matlabcentral/fileexchange/47272-chess-master
- [5] Tehnične specifikacije kolaborativnega robota UR3cb, Universal Robots [splet], [Datum dostopa: 10.8.2023], Dosegljivo: https://www.universal-robots.com/media/240787/ur3_us.pdf
- [6] Tehnične specifikacije kolaborativnega robota UR3e, Universal Robots [splet], [Datum dostopa: 10.8.2023], Dosegljivo: https://www.universal-robots.com/media/1807464/ur3e-rgb-fact-sheet-landscape-a4.pdf
- [7] Tehnične specifikacije električnega prijemala GIMATIC MPPM1606, GIMATIC [splet], [Datum dostopa: 10.8.2023], Dosegljivo: https://shop.gimatic.com/en/mppm1606
Anže Ostruh
Študent programa: Mehatronika, Univerza v Mariboru, anze.ostruh@student.um.si
https://feri.um.si