Kuvituskuvassa 3D-tulostuslaite

Savonia-artikkeli Pro: SprutCam X Robot käyttökokemuksia, osa 1/2

Savonia-artikkeli Pro on kokoelma monialaisen Savonian asiantuntemusta eri aiheista.

This work is licensed under CC BY-SA 4.0Creative Commons logoCreative Commons Attribution logoCreative Commons Share Alike logo

SprutCAM X Robot on robottiavusteiseen koneistukseen ja 3D-tulostukseen tarkoitettu työstöratojen suunnittelusovellus. Tässä artikkelissa esitellään ohjelmiston toimintaa ja sillä ohjelmointia esimerkkikappaleen avulla.

SprutCAM on kohtalaisen tunnettu materiaalia lisäävien ja poistavien valmistusprosessien ohjelmointiin tarkoitettu ohjelmisto, jonka on kehittänyt Sprutcam Tech. Sprutcam X Robot taas on robottikäyttöön tarkoitettu erikoisversio SprutCAM-ohjelmistosta. Sprutcam Tech on kehittänyt CAM-ohjelmistoaan vuodesta 1987 asti, ja julkaissut sen kaupallisen version vuonna 1997.

SprutCAM X Robot-ohjelmiston erona sen tavalliseen versioon on mahdollisuus käyttää työstökoneena 6-akselista robottia, joka pystytään myös yhdistämään kääntyvän pöydän kanssa mahdollistaen teoriassa rajattoman määrän lineaarisia ja pyöriviä liikeakseleita. SprutCAM-ohjelmiston etuna verrattuna kilpaileviin CAM-ohjelmistoihin on sen kustannustehokkuus ja sen kehittäjien mukaan myös helppokäyttöisyys. Ohjelmiston kehittäjät väittävätkin, että täysin kokematon CAM-ohjelmoija pystyy oppimaan ohjelmiston käytön ja tekemään koneistusohjelman jopa kahdessa tunnissa. Väitteeseen on kuitenkin syytä suhtautua varauksella, sillä koneistusohjelman tekeminen vähänkin monimutkaiselle kappaleelle vaatii aikaa ja huolellisuutta, riippumatta siitä mikä ohjelmisto on käytössä.

Savonialla ohjelmisto on ollut käytössä reilun vuoden verran sekä 3D-tulostuksessa että tulostettujen kappaleiden jälkikäsittelyssä.

Esimerkkikappaleen valmistus toteutettiin Savonialta löytyvällä robottisolulla, joka perustuu KUKA KR120-R2700 robottiin ja Suomalaisen Flexmill Oy:n toimittaman pyöriviin koneistusprosesseihin tarkoitetun työkalun.

Esimerkkikappale valmistettiin samassa robottisolussa 3D-tulostamalla se CEADin tulostuspäällä. Kappaleen valmistusmateriaalina käytössä oli UPM Formi 3D -granulaatti, joka on PLA-muovin ja puukuidun komposiitti. Materiaali sopii hyvin näihin molempiin käyttötarkoituksiin, koska sen sisältämä puukuitu vähentää kappaleen warppausta (eli vääntymistä) tulostaessa, ja koneistaessa se antaa kappaleelle lähes samankaltaisen työstettävyyden kuin oikealla puulla.

Sprutcam X Robotin käyttöliittymä

Sprutcam X Robot-sovelluksen pääikkuna
Kuva 1. Sprutcam X Robot-sovelluksen pääikkuna.

Sprutcam X Robotin käyttöliittymä koostuu kolmesta välilehdestä: Mallin käsittely, ohjelmointi ja simulointi. Näiden lisäksi sovellus sisältää erilaisia työkaluja, joista tärkeimmät ovat:

  • Machinemaker: Robottisolumallin luontiin
  • Redundant axes optimizer: Robotin akseliliikkeiden optimoimiseen
  • Postprocessor generator: Työstöratakoodin jälkikäsittelyyn

Sprutcamia on myös mahdollista laajentaa ilmaisilla lisäosilla, joiden avulla siihen pystytään yhdistämään eri 3D-mallinnusohjelmistoja mallien siirtämisen nopeuttamiseksi. Tämä ominaisuus toimii asentamalla lisäosa molempiin ohjelmistoihin, jonka jälkeen 3D-mallinnusohjelmistoon ilmestyy painike, jota käyttämällä malli siirtyy parin sekunnin viiveen jälkeen Sprutcamiin.

Viimeisimmässä päivityksessä kehittäjät lisäsivät Sprutcamiin virtuaalisen assistentin, joka pohjautuu OpenAI:n kehittämään ChatGPT-ohjelmaan. Assistentilta voidaan kysyä esimerkiksi ohjeita Sprutcamin käyttöön, tai mitä jokin osa luodusta koodista tarkoittaa. Se pystyy myös luomaan yksinkertaisia ohjelmia, kuten esimerkiksi poraamaan reiän haluttuun koordinaattiin kappaleessa.

Machinemaker

Machinemaker on Sprutcamin ohjelmistoon kuuluva sovellus, jonka avulla robottisolu ja sen ympäristö määritetään ohjelmien luontia ja simulointia varten. Koneistusohjelman luomista varten tarvitaan tiedot robotin, työkalun ja alustan sijainnista ja mitoista. Sovelluksessa voidaan myös määritellä robotin ympäristössä olevia asioita, kuten esimerkiksi seiniä tai muita esteitä, jotka voivat aiheuttaa törmäyksen robotin kanssa ohjelmia ajettaessa. Sprutcam käyttää näitä tietoja yhdessä työstöratojen ohjelmointialgoritmien kanssa törmäyksien välttämiseksi.

Machinemakerin laitekirjasto sisältää ison osan yleisimmistä robottimalleista, ja myös Savonialla käytössä oleva KUKA KR-120 R 2700 robotti oli saatavilla. Koneistuksessa käytettävää Flexmill – työkalua ei löytynyt kirjastosta, vaan sen malli tuotiin sovellukseen yhdessä vanerista valmistetun koneistusalustan mallin kanssa. Mallien tuonnin jälkeen niiden sijainti määritetään ja niille annetaan työstöratojen ohjelmoinnissa tarvittavat mitat, eli alustalle X- ja Y akseleiden pituudet nollapisteestä, ja koneistustyökalulle TCP-sijainti ja suunta.

Kuvassa Machinemaker-sovellusikkuna.
Kuva 2. Machinemaker-sovellusikkuna, jossa on nähtävillä robottisolu, joka sisältää robotin, koneistustyökalun ja koneistukselle tarkoitetun alustan.

Redundant axes optimizer eli akseliliikkeiden optimointityökalu

Akseliliikkeiden optimointityökalu on robottiohjelmointia helpottava sovellus, jolla SprutCAM erottuu muista CAM-ohjelmistoista. Työkalun avulla pystytään säätämään koneistustyökalun kulmamuutoksia 5D-ohjelmointistrategioissa. Optimoinnin voi kohdistaa kuudennen akselin kulmaan, kallistuskulmaan ja ohjauskulmaan.

Kuvassa näkyvä ikkuna on akseliliikkeiden optimointityökalu, johon on avattu yksi testikappaleen koneistusohjelmista. Optimoinnin kohteena on robotin kuudennen akselin kulma, joka sijaitsee robotissa lähimpänä koneistustyökalua. Grafiikassa näkyvät punaiset reunat ovat alueita, joissa robotti tulee törmäämään kappaleeseen tai robottisolun osiin. Ruskeat alueet näyttävät kulmia, joihin robotilla ei ole mahdollisuutta päästä. Keskellä näkyvä vihreä viiva näyttää kulmaa, joka on säädetty ohjelmalle sopivaksi. Optimoinnin avulla kulma saadaan säädettyä tarkasti ääriasentojen väliin, jolloin akseliliikkeet ovat minimaaliset eikä ohjelmaan tule törmäyksiä.

Kuvassa Redundant axes optimizer - työkalun ikkuna.
Kuva 3. Redundant axes optimizer – työkalun ikkuna.

Pallon muotoisen testikappaleen koneistus

Testikappaleeksi valittiin monimuotoinen geometria, joka sisältää sekä tulostuksen että koneistuksen kannalta haastavia piirteitä. Robottisolun työalueeseen nähden testikappale on suhteellisen pieni, jotta 3D-tulostus ja koneistusajat säilyvät testaustarpeeseen nähden inhimillisinä.

Kolmiosainen kuva, jossa vasemmalla Rhinoceroksessa mallinnettu testikappale, keskellä Savonain tulostus- ja koneistussolu, oikealla lähikuva Flexmill -järjestelmän koneistustyökalusta.
Kuva 4. Testikappaleen geometria mallinnettiin Rhinoceroksessa. Keskellä robottisolu tulostus- ja koneistusvarustuksella, oikeallla lähikuva robotin koneistustyökalusta.

Kuten edellä mainittiin, testikappaleen koneistuksessa käytettiin Savonian robottisolua, jossa koneistukseen käytettävät laitteet ovat KUKA KR-120 R2700 -robotti ja Flexmill -koneistustyökalu. Sekä tulostus- että koneistustyökalu on kiinnitetty pikavaihtolaippaan, joka mahdollistaa työkalun vaihtamisen muutamassa minuutissa. Täysin automaattinen vaihto ei kuitenkaan ole, sillä tulostustyökalun letkut täytyy kiinnittää käsin.

Solun tulostusalustana ja kappaleiden kiinnitysratkaisuna on teräksisen rungon päälle pultattu vanerilevyalusta, johon on porattu reikiä 100 mm välein kahdessa suunnassa. Alustan reikiin on asennettu M6 lyöntimutterit kiinnitystyökalujen kiinnitystä varten. Mikäli kyseessä on 3D-tulostus ja koneistustyö, on kappaleen kiinnitykset mahdollista laittaa paikalleen jo tulostusprosessin aikana, joka auttaa materiaalin lämpölaajenemisesta aiheutuvien vääristymien korjaamisessa. Tämä puolestaan parantaa lopullisen kappaleen tarkkuutta ja vähentää kiinnityksiin kuluvaa aikaa.

Vaihe 1: Mallin asemointi

Mallin tuonnissa Sprutcamiin käytetään tässä esimerkissä Rhino-mallinnusohjelmiston Sprutcamille tarkoitettua lisäosaa. Sprutcam sisältää lisäosat yleisimpiin 3D-mallinnusohjelmistoihin, joiden hyötynä on nopeampi tiedostojen siirtäminen. Mallit on mahdollista tuoda Sprutcamiin myös ilman tätä ominaisuutta, mutta lisäosia käyttämällä malleja on helpompi muokata kesken koneistusohjelman teon esimerkiksi, jos ohjelman teon aikana malliin tarvitaan lisätä apugeometrioita.

Ongelmana mallin muokkaamisessa ohjelman teon aikana kuitenkin on tapa, jolla Sprutcam lukee mallin geometrioita: Sprutcam luo listan jokaisesta pinnasta ja viivasta, jonka malli sisältää. Geometreja valittaessa ohjelmisto käyttää tietona tämän listan järjestysnumeroa, jossa kyseinen geometria sijaitsee. Jos malliin lisää uusia geometrioita, niin lähes aina ne ilmestyvät johonkin kohtaan listan keskelle, eikä järkevästi listan loppuun, jolloin kaikki listan numerot vaihtavat paikkaa. Tämän seurauksena kaikki ohjelmaan valitut geometriat täytyy valita uudestaan.

Kuvassa vasemmalla Rhinoceros -sovellus, oikealla Robottisolu Sprutcamin puolella.
Kuva 5. Kuvassa vasemmalla Rhinoceros -sovellus, jonka vasemmasta yläkulmasta löytyy painike geometrian siirtämiseen Sprutcamiin. Oikealla koneistettavan mallin asemointityökalu Sprutcamissa.

Kun koneistuksessa käytettävä malli on tuotu Sprutcamiin, niin seuraavaksi se asemoidaan käyttämällä samoja koordinaatteja, joita kappaleen 3D-tulostuksessa on käytetty. Jos kappaletta on jouduttu siirtämään tulostuksen jälkeen, niin se voidaan asemoida käyttämällä alustaan porattuja reikiä referenssipisteinä. Monimutkaisia kappaleita, joissa ei ole yhtään suoraa pintaa, voidaan mallin asemoinnissa käyttää myös hyväksi 3D-skannausta.

Työstettävän kappaleen asemoinnissa on hyvä ottaa huomioon robotin akseleiden rajat, jotta jokaiselle koneistettavalle pinnalle päästään ilman että kappaletta joudutaan siirtämään kesken koneistuksen. Tämä säästää paljon työaikaa ja varmistaa ettei virheitä pääse syntymään.

Vaihe 2: Koneistusohjelman luonti

Koneistusohjelman luonti aloitetaan valitsemalla tarkoitukseen sopiva strategia. Robottikoneistukseen käytetään pääasiassa viittä liikeakselia käyttäviä koneistusstrategioita eli 5D-strategioita. Näistä vaihtoehdoista eniten käytössä on 5D Contouring, jota käyttäessä mallista määritetään koneistettava pinta, ja koneistussuuntaa ja aloituskohtaa ohjaava apuviiva.

Jos koneistettavan kappaleen malli on mesh-tyyppinen, niin käytetään 5D by meshes strategiaa. Tämä strategia tekee koneistusradan koko mallin pintaan, jonka jälkeen voidaan poistaa alueita, joita ei koneisteta. Contouring strategia tarvitsee pelkästään viivan, jonka päällä, tai vieressä työkalu tulee kulkemaan koneistuksen aikana. Strategiaa voidaan käyttää esimerkiksi reunojen tai reikien koneistuksessa.

Testikappaleen prosessina käytettiin Sprutcamissa ”5D Surfacing” -toimintoa, sillä se tarjosi helpoimman tavan tehdä koneistus pallomaiselle muodolle.

Kuvassa esimerkki koneistusstrategioista ja esimerkkikappaleen koneistusalueista.
Kuva 6. Vasemmalla koneistusoperaatioissa käytettävät strategiat. Keskellä mallissa näkyy oranssin värinen koneistusalue, jonka alareunassa on valittuna vihreällä apuviiva. Oikealla on kappaleen pintaan tehty ohjelma, jossa työstettävä suunta on samassa linjassa apuviivan kanssa.

Vaihe 3: Koneistusohjelman simulointi

Sprutcam tarjoaa ohjelmien simulointia varten hyödyllisiä ominaisuuksia. Näitä on esimerkiksi stock-kappaleen pursotus, jolla voidaan kohtalaisen tarkasti määritellä minkä kokoinen 3D-tulostettu kappale verrattuna alkuperäiseen malliin on. Tästä on hyötyä, kun 3D-tulostetaan kappaleita koneistusta varten, jolloin kappaleen pintaan tarvitaan ylimääräistä materiaalia koneistusvaraksi, jotta lopullinen pinta saadaan riittävän sileäksi.

Ylimääräisen pursotettavan materiaalin avulla voidaan ohjelmassa myös varmistaa, ettei mikään koneistustyökalun tai terän kohta törmää kappaleeseen koneistuksen aikana.

Mikäli tulostusvaiheessa luodaan koneistusvara kasvattamalla materiaalisyötön määrää 3D-tulostuksessa, tarkoittaa se sitä, että tulostettu kappale ei ole enää täysin samanlainen 3D-mallin kanssa. On kuitenkin kohtalaisen helppo työvaihe mitata tulostettu kappale ja verrata sitä 3D-malliin, jonka jälkeen Sprutcamissa voidaan lisätä haluttu materiaalimäärä mallin pintaan. Mikäli lisättävä materiaalimäärä ei ole vakio, voi tämä työvaihe olla kuitenkin työläs. Tyypillisesti pursotettavan materiaalin määrä voi vaihdella esimerkiksi kaltevissa tulostuksissa, mikäli kaikki tulostusparametrit eivät ole täysin kohdallaan.

Kuvassa 3D-mallin päälle muodostettu pursotus, johon on määritetty ohjelmassa jyrsittävä lohkoalue.
Kuva 7. Alkuperäisestä mallista simuloinnissa luotu pursotus, josta on jyrsitty lohko-osan pinta.

Robotin ohjaamiseen käytettäviä ominaisuuksia simulointityökalusta löytyy myös kaksi kappaletta. Kuvassa vasemmalta löytyy Machine control panel, jonka avulla voidaan tarkastella robotin akseleiden kulmia, ja myös säätää niitä tarvittaessa. Oikealla on näkyvillä samat tiedot, mutta graafisessa muodossa.

Kuvassa Sprutcamin simulointi-ikkuna.
Kuva 8. Simulointi-ikkuna, jossa vasemmalla robotin koordinaatit ja akseleiden kulmat. Oikealla näkyvissä on akseleiden kulmat graafisessa muodossa.

Testikappaleen työstö tehtiin 10 mm pallopääterällä pääosin 1 mm askeleilla. Syöttönopeutena käytettiin 4800 mm/min (80 mm/s), ja karanopeutena 16 000 rpm. Nämä arvot todettiin toimiviksi samalla materiaalilla tehdyn testikappaleen perusteella. Varsinainen jyrsintään käytetty aika oli noin 1 tunti, kun ei huomioida ohjelmointiin ja ohjelmiston käytön opetteluun käytettyä aikaa. Lopullinen koneistusohjelma sisälsi yhteensä 14 aliohjelmaa sillä akselikäännösten minimoimiseksi kappaleen pinnassa jokaiselle lohkolle tehtiin oma aliohjelmansa.

Seuraavassa kuvassa näkyy simuloinnin tulos sekä jyrsitty testikappale valmiina.

Kuvassa simuloitu koneistettava kappale, sekä koneistuksen lopputulos.
Kuva 9. Kuvassa vasemmalla lopullinen koneistettu kappale ja oikealla simuloinnin tulos.

Sprutcam X Robot on osoittautunut käyttökelpoiseksi ohjelmaksi, joka mahdollistaa sekä kappaleiden tulostuksen että niiden jälkikäsittelyn samalla ohjelmalla. Ohjelman tulostusominaisuudet ovat kuitenkin rajatummat kuin pelkästään tulostukseen tarkoitetuissa ohjelmissa. Sprutcam X Robotin käytöstä kappaleiden tulostukseen kerromme tarkemmin seuraavassa artikkelissa.


Kirjoittajat:

Sampsa Ylönen
Testausinsinööri
Savonia-ammattikorkeakoulu

Antti Alonen
TKI-asiantuntija
Savonia-ammattikorkeakoulu


Tämä artikkeli on toteutettu 3D-tulostuksen yhteishankkeessa (3DTY). Hankkeen verkkosivut löytyvät osoitteesta: www.3dty.fi

Hanke rahoitetaan Uudistuva ja osaava Suomi 2021–2027 (EAKR) rahoitusohjelman valtakunnallisesta innovaatio- ja osaamisverkostot teemasta, jonka hallinnoiva viranomainen on Etelä-Savon ELY-keskus.