ROBOTIIKAN LABORATORIOTYÖ 2 (2016 17) Toiminta: Robotti odottaa kotipisteessä käynnistystä. Odotusasento opetetaan noin 1.5 metrin korkeudelle lavan keskelle. Robotin tehtävänä on tyhjentää lava. Laatikot siirretään yksi kerrallaan kuljettimelle, kun 16 laatikkoa on viety, niin robotti palaa takaisin kotipisteeseen. IRB4400 robotti
a) Ennen robottilaboraation käytännön suoritusta on tämä toiminto tehtävä Robot Studio ohjelmalla. Pohjana käytetään valmista etukäteen annettua simulointipohjaa, jolloin oikealla robotilla tehdään vain tarkennuksia ohjelmaan kuten paikoitusten uudelleen määritykset. Liitteenä on jo osittain tehtyä ohjelmaa. b) Käytännön toteutuksen jälkeen liitetään toimiva robottiohjelma takaisin RST-ohjelmaan ja testataan se virtuaalisesti. MODULE MainModule CONST robtarget aloituspiste: = [[-528.12,95.51,813.21],[0.0214536,-0.781651,0.623294,0.00812574] CONST robtarget lavaus_home: =[[-291.97,167.66,830.15],[0.0157831,-0.768134,0.640085,0.0.. CONST robtarget lavaus_loppu :=[[95.84,167.66,416.53],[0.0157824,-0.768134,0.640085,0.00332504] VAR num Xpoikkeama; VAR num Ypoikkeama; VAR num Zpoikkeama; VAR num laatikkonum; CONST robtarget jattoyla :=[[-428.26,1245.91,841.74],[0.0214578,-0.781651. CONST robtarget kaanto:=[[-420.28,1244.72,841.62],[0.02755,-0.992869,-0.115718,0.0078878]. CONST robtarget jatto:=[[-420.28,1244.72,374.04],[0.018413,-0.993551,-0.111335,0.0110014],. CONST robtarget tyonto:=[[-420.27,1592.01,374.05],[0.0184155,-0.993551,-0.111335,0.0110001] CONST robtarget ylapaluu:=[[-420.26,1592.01,422.87],[0.0184147,-0.993551,-0.11133.. PROC main ()! Ohjelmoidaan ryhmän jäsenten nimet! Aloituspaikoitus MoveJ aloituspiste, v1000, z50, imukuppi;! Lisätään tarvittavat komennot eli kutsutaan aliohjelmaa ja miten lopetetaan ohjelman suoritus PROC LAVAUS ()! PURETAAN LAVA JOSSA KAKSI KERROSTA! KÄYTÄ PAIKOITUKSISSA TYÖKALUA imukuppi ja Wobjektina wobj0! FOR box_kerros! Nollaa poikkeamia! FOR box_sarake FROM! FOR box_rivi FROM 1! laatikoiden laskentaa MoveL Offs (lavaus_home, Xpoikkeama, Ypoikkeama, Zpoikkeama), v500, z50, imukuppi;! OHJELMOI OFFSET-FUNKTIOTA KÄYTTÄEN LAATIKON HAKU ROBOTIN PUOLEISESTA OIKEASTA NURKASTA! Aseta tartunta päälle ja odota hetki! AJA ROBOTTI YLÖS OFFSETILLA! MoveL Offs (... MoveL lavaus_home, v1000, z50, imukuppi; MoveL aloituspiste, v1000, z50, imukuppi;! Ohjelmoi laatikon poisvienti kuljettimelle 10 siten, että seuraava laatikko työntää edellistä! ennenkuin imu otetaaan pois pääältä Ypoikkeama: =Ypoikkeama-215;
Xpoikkeama := -300; Ypoikkeama := 0; Zpoikkeama := 210;! NOLLAA KAIKKI POIKKEAMAT! Palaa pääohjelmaan ENDMODULE IRB6620 robotti a) Ennen robottilaboraation käytännön suoritusta on tämä toiminto tehtävä Robot Studio ohjelmalla. Pohjana käytetään valmista etukäteen annettua simulointipohjaa, jolloin oikealla robotilla tehdään vain tarkennuksia ohjelmaan kuten paikoitusten uudelleen määritykset. Liitteenä on jo osittain tehtyä ohjelmaa. b) Käytännön toteutuksen jälkeen liitetään toimiva robottiohjelma takaisin RST-ohjelmaan ja testataan se virtuaalisesti.
MODULE MainModule CONST robtarget aloituspiste: = [[-528.12,95.51,813.21],[0.0214536,-0.781651,0.623294,0.00812574],[- 1,0,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget lavaus_home := [[-291.97,167.66,830.15],[0.0157831,-0.768134,0.640085,0.00332891],[- 1,0,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget lavaus_loppu:=[[95.84,167.66,416.53],[0.0157824,-0.768134,0.640085,0.00332504],[- 1,0,- VAR num Xpoikkeama; VAR num Ypoikkeama; VAR num Zpoikkeama; VAR num laatikkonum; CONST robtarget jattoyla:=[[-428.26,1245.91,841.74],[0.0214578,-0.781651,0.623294,0.00812531],[0,0,- 2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget kaanto:=[[-420.28,1244.72,841.62],[0.02755,-0.992869,-0.115718,0.0078878],[0,0,- CONST robtarget jatto:=[[-420.28,1244.72,374.04],[0.018413,-0.993551,-0.111335,0.0110014],[0,0,- CONST robtarget tyonto:=[[-420.27,1592.01,374.05],[0.0184155,-0.993551,-0.111335,0.0110001],[0,0,- CONST robtarget ylapaluu:=[[-420.26,1592.01,422.87],[0.0184147,-0.993551,-0.111335,0.0109969],[0,0,- PROC main ()! Ohjelmoidaan ryhmän jäsenten nimet! Aloituspaikoitus MoveJ aloituspiste, v1000, z50, Octopus\WObj:=wobjKuljtin1;! Lisätään tarvittavat komennot eli kutsutaan aliohjelmaa ja miten lopetetaan ohjelman suoritus PROC LAVAUS ()! PURETAAN LAVA JOSSA KAKSI KERROSTA! KÄYTÄ PAIKOITUKSISSA TYÖKALUA Octopus ja Wobjektina wobjkuljtin1! FOR box_kerros! Nollaa poikkeamia! FOR box_sarake FROM
! FOR box_rivi FROM 1! laatikoiden laskentaa MoveL Offs (lavaus_home, Xpoikkeama, Ypoikkeama, Zpoikkeama),.! OHJELMOI OFFSET-FUNKTIOTA KÄYTTÄEN LAATIKON HAKU ROBOTIN PUOLEISESTA OIKEASTA NURKASTA! Aseta tartunta päälle ja odota hetki! AJA ROBOTTI YLÖS OFFSETILLA! MoveL Offs (... MoveL lavaus_home, v1000, z50, Octopus\WObj:=wobjKuljtin1; MoveL aloituspiste, v1000, z50, Octopus\Wobj:=wobjKuljtin1;! Ohjelmoi laatikon poisvienti kuljettimelle 10 siten, että seuraava laatikko työntää edellistä! ennenkuin imu otetaaan pois pääältä Ypoikkeama :=Ypoikkeama-215; Xpoikkeama: =-300; Ypoikkeama: =0; Zpoikkeama: =210;! NOLLAA KAIKKI POIKKEAMAT! Palaa pääohjelmaan ENDMODULE