Humanoidirobottien servokäyttöjen on ohjattava nivelten liikkeitä tarkasti ja nopeasti. Samalla niiden mikro-ohjaimilta vaaditaan yhä enemmän tiedonsiirtoa, diagnostiikkaa ja muita järjestelmätason toimintoja. Ratkaisuna on erottaa aikakriittinen moottorinsäätö muista prosessorin tehtävistä ja siirtää se erillisen laitteiston hoidettavaksi.
|
Artikkelin kirjoittaja Frank Malik toimii Toshiba Electronics Europen pääsuunnittelijana. Malik on pitkän linjan Toshiba-veteraani, sillä hän aloitti yhtiössä vanhempana suunnittelijana jo vuonna 1995. |
Robotin jokainen ohjattu liike perustuu servokäyttöön, joka muuntaa sähköiset ohjauskomennot tarkasti hallituksi mekaaniseksi liikkeeksi. Humanoidiroboteissa servokäyttöjä on eri puolilla kehoa, mutta niiden suunnittelun perusvaatimukset ovat samat.
Servokäytön on säädettävä moottorin vääntömomenttia, nopeutta ja asentoa tarkasti samalla, kun se vastaa robotin ylemmän tason ohjausjärjestelmän komentoihin. Lisäksi ohjaimen on huolehdittava tiedonsiirrosta, diagnostiikasta ja vianvalvonnasta sekä suoritettava robotin toimintaa koordinoivaa sovellusohjelmistoa. Nämä lisätehtävät eivät kuitenkaan lievennä moottorin säätösilmukan tiukkoja ajoitusvaatimuksia robottijärjestelmien kehittyessä.
Aiemmin servokäytön mikro-ohjaimen (MCU) päätehtävänä oli moottorinsäätöalgoritmin suorittaminen. Nykyään se vaihtaa virransäätösilmukan ohjaamisen lisäksi tietoja ylemmän tason koneohjainten kanssa, valvoo käyttöolosuhteita, havaitsee vikoja ja suorittaa sovellusohjelmistoa, joka sovittaa servokäytön toiminnan yhteen robotin muiden osien kanssa.
Toisin kuin nämä ylemmän tason toiminnot, moottorin säätösilmukka ei voi odottaa prosessorin vapautumista. Ohjaimen on vastaanotettava virta- ja asentomittausten tulokset, laskettava seuraavat ohjausarvot ja päivitettävä invertterin ohjaus määrätyin väliajoin. Jokaisen säätöjakson on valmistuttava ennen seuraavan alkamista riippumatta siitä, mitä muuta prosessori tekee.
Näiden keskenään kilpailevien vaatimusten täyttäminen on noussut keskeiseksi osaksi servokäyttöjen suunnittelua. Humanoidiroboteissa suunnittelua vaikeuttaa se, että eri nivelten servokäytöille asetetaan hyvin erilaisia vaatimuksia. Ranteen tai käden nivel voi tarvita suhteellisen vähän tehoa, mutta elektroniikan on mahduttava erittäin ahtaaseen tilaan. Kyynär- tai olkanivelen on puolestaan tuotettava huomattavasti suurempi vääntömomentti ja kannateltava suurempaa mekaanista kuormaa. Kaikissa tapauksissa elektroniikan on yhdistettävä tarkka säätö, pienet mitat ja tehokas lämmönhallinta.
Seuraavassa tarkastellaan, miten aikakriittisten moottorinsäätötoimintojen erottaminen ylemmän tason ohjelmistosta auttaa säilyttämään robottien servokäyttöjen säätösuorituskyvyn.
Tarkka ajoitus on välttämätöntä
Kenttäsuuntautunut säätö (FOC, Field-Oriented Control) on vakiintunut menetelmä robottien servokäytöissä, sillä se mahdollistaa vääntömomentin ja nopeuden tarkan säädön. Nämä ominaisuudet ovat erityisen tärkeitä robotin nivelissä, joissa moottorin on esimerkiksi ylläpidettävä pitomomenttia ja reagoitava välittömästi kuormituksen muutokseen.
Yhtä tärkeitä ovat tasainen toiminta pienillä nopeuksilla ja tarkka asennonsäätö. Energiatehokas säätö vähentää lisäksi sähköisiä häviöitä ja lämmöntuottoa, mikä helpottaa tiiviisti rakennetun nivelen jäähdytystä. Akkukäyttöisissä roboteissa pienemmät häviöt voivat myös pidentää toiminta-aikaa tai mahdollistaa pienemmän akun käytön.
Ohjaimen näkökulmasta ratkaisevaa ei kuitenkaan ole itse säätöalgoritmi vaan sen asettamat ajoitusvaatimukset.

Kuva 1. Kenttäsuuntautunut säätö edellyttää, että virranmittaus, roottorin asentotieto ja PWM-ohjauksen päivitykset pysyvät synkronoituina jokaisella säätöjaksolla.
Ohjain toimii kiinteän aikaikkunan puitteissa. Sen ulkopuolella tehdyt mittaukset tai liian myöhään päivitetyt PWM-arvot eivät enää vastaa moottorin samaa toimintatilaa. Ajoituksen hallinta vaikeutuu, kun muut ohjelmistotehtävät kilpailevat prosessorin laskentaresursseista.
Säätösilmukka erotetaan muista tehtävistä
Moottorin säätösilmukan toteuttaminen kokonaan ohjelmistolla lisää prosessorin suoritettavaksi tulevien aikakriittisten operaatioiden määrää. Vaihtoehtoisessa arkkitehtuurissa vektorisäädön laskenta siirretään erilliseen laitteistoon, jolloin prosessori voi huolehtia säätösilmukan ulkopuolisista toiminnoista.
Toshiban TXZ+ M4L -mikro-ohjainperheessä tätä periaatetta sovelletaan yhdistämällä Arm Cortex-M4 -prosessori moottorinohjauksen laitteistoyksiköihin. Kokonaisuuteen kuuluvat Toshiban neljännen sukupolven Vector Engine -toteutus, toisen sukupolven Advanced Vector Engine (A-VE2), ohjelmoitava A-PMD2-moottorinohjausyksikkö sekä A-ENC2-enkooderiliitäntä.
Virranmittauksen tulokset ja roottorin asentotiedot syötetään moottorinohjausjärjestelmään ennen seuraavan PWM-päivityksen laskemista. A-VE2 suorittaa vektorisäädön laskennan. Tuloksena saadut PWM-arvot siirretään A-PMD2-yksikölle, joka muodostaa invertterin kytkentäsignaalit ja synkronoi virran näytteenoton. Mittauksen tarkka ajoitus on tärkeää, ja se voi vaihdella säätöjaksosta toiseen.
Ajoitusvaatimukset kiristyvät entisestään, kun virta mitataan yhden shunttivastuksen avulla. Tällöin Vector Engine, A-PMD2 ja AD-muunnin voivat toimia yhdessä ja hyödyntää Toshiban PWM-siirtotekniikkaa, joka antaa AD-muuntimelle lisäaikaa mittauksen suorittamiseen.
Roottorin asentotieto voidaan saada A-ENC2-enkooderiliitännän kautta, jolloin käytettävissä on tarkka kulma-asennon takaisinkytkentä. Vaihtoehtoisesti roottorin asento voidaan arvioida anturittomalla menetelmällä.
Säätöjakson aikakriittiset vaiheet suoritetaan erillisessä laitteistossa ennen seuraavan säätöjakson alkua. Cortex-M4-prosessori jää näin käytettäväksi tiedonsiirtoon, diagnostiikkaan ja sovellusohjelmistolle, joka sovittaa servokäytön toiminnan yhteen muun robottijärjestelmän kanssa.
Humanoidirobottien nivelet voivat hyötyä huomattavasti suuremmista PWM-taajuuksista kuin perinteisissä moottorinohjaussovelluksissa yleisesti käytetyt 16–20 kilohertsin taajuudet. Esimerkiksi 40 tai 50 kilohertsin ja joissakin tapauksissa jopa 100 kilohertsin PWM-taajuus voi siirtää kytkentä-äänen ihmisen kuuloalueen ulkopuolelle, vähentää virran aaltoilua ja parantaa moottorin hyötysuhdetta. Samalla nivelessä syntyvän lämmön määrä vähenee.
PWM-taajuuden kasvattaminen kuitenkin lyhentää moottorinsäädön laskentaan käytettävissä olevaa aikaa.
Dynaamisen vasteen ja asennonsäädön tarkkuuden säilyttämiseksi FOC-laskenta tulisi suorittaa yhden tai enintään kahden PWM-jakson aikana. Tämä on pelkällä ohjelmistolla yhä vaikeampaa PWM-kantoaaltotaajuuden kasvaessa.
Toshiban Vector Engine -laskentayksikkö on suunniteltu vastaamaan tähän vaatimukseen suorittamalla aikakriittiset vektorisäädön laskutoimitukset erillisessä laitteistossa. Samalla prosessorin laskentakapasiteettia vapautuu esimerkiksi vääntömomentin hallintaan ja asennonsäätöön.
Erillinen laskentayksikkö voi myös vähentää tarvetta mitoittaa prosessorin suorituskyky tai kellotaajuus pelkästään FOC-laskennan pahimman kuormitustilanteen mukaan. Tästä voi olla hyötyä energiankulutuksen ja lämmöntuoton kannalta.
Kokonainen servokäyttö tarvitsee myös tehoelektroniikan
Moottorinohjauksen laitteistoyksikön lähtösignaalit ovat vasta ensimmäinen vaihe kokonaisessa servokäytössä. PWM-signaalien on kuljettava tehoasteen kautta, ennen kuin sähköisistä ohjauskomennoista saadaan aikaan hallittu moottorin vääntömomentti.
Hilaohjain muuntaa mikro-ohjaimen PWM-lähtösignaalit tehokomponenttien kytkemiseen tarvittaviksi ohjaussignaaleiksi. Jos ohjauselektroniikka ja tehoaste toimivat eri jännitealueilla, niiden välinen tarvittava erotus voidaan toteuttaa digitaalisella galvaanisella erotuksella.
MOSFET-transistoreilla toteutettu invertteri muuntaa tasajännitesyötön hallituiksi kolmivaihevirroiksi, jotka ohjaavat servomoottoria.
Komponenttien valinta riippuu sovelluksen moottorijännitteestä, vaihevirrasta ja kytkentätaajuudesta. Esimerkiksi nivelen servokäytössä voidaan yhdistää TCKE1401NM-eFuse-suojapiiri, ohjelmoitava TB67Z853SFTG-hilaohjain sekä teho-MOSFETit, jotka valitaan nivelen jännite-, vaihevirta- ja lämpöresistanssivaatimusten perusteella. Erilaiset komponenttikotelot auttavat sovittamaan elektroniikan rajalliseen piirilevytilaan ja optimoimaan jäähdytysratkaisun.
Robotin nivelissä nämä komponentit on yhä useammin integroitava suoraan nivelen rakenteeseen erillisen elektroniikkayksikön sijasta. Käytettävissä olevaa piirilevytilaa rajoittavat nivelen mekaaninen rakenne sekä moottorin, tehonsyötön ja tiedonsiirron liitännät.
Suunnittelun haasteena ei siten ole pelkästään moottorin säätö, vaan tarvittavan laskennan, tehonsyötön, takaisinkytkennän, tiedonsiirron ja suojaustoimintojen toteuttaminen hyvin rajallisessa tilassa ja tiukkojen lämpöteknisten reunaehtojen puitteissa. Samalla komponenttien määrä ja komponenttiluettelon laajuus on pidettävä mahdollisimman pieninä.

Kuva 2. Esimerkki alle 500 watin BLDC-servokäytön järjestelmäarkkitehtuurista humanoidirobotin kyynärnivelessä.
Mikro-ohjain muodostaa vain osan robottinivelen moottorinohjausratkaisusta. Kokonaisuuteen kuuluvat ylivirtasuojauksen toteuttava eFuse-suojapiiri (1), väärän napaisuuden ja ylivirran suojaava kuormakytkin (2) sekä moottorinohjausjärjestelmän tarvitsemat jännitteet tuottava LDO-regulaattori (3).
Mikro-ohjain (4) ohjaa moottoria ohjelmoitavan hilaohjaimen kautta. Hilaohjaimeen on integroitu myös virranmittausvahvistin (5). MOSFET-transistorit (6) valitaan nivelen jännite- ja tehovaatimusten mukaan.
Ohjelmisto täydentää järjestelmän. Piirien konfigurointi, moottorin käyttöönotto, vikojen käsittely ja tiedonsiirto jäävät sovellusohjelmiston vastuulle. Toshiba tarjoaa esimerkkiohjelmistoja, oheislaitteiden ajureita ja teknistä tukea kehitystyöhön ja käyttöönottoon. Ne antavat suunnittelijoille lähtökohdan servokäytön integroimiseksi laajempaan robottijärjestelmään.
Sama arkkitehtuuri soveltuu eri nivelille
Vaikka humanoidirobotin nivelten vaatimukset poikkeavat toisistaan, niiden taustalla oleva ohjausarkkitehtuuri pysyy pitkälti samanlaisena. Jokainen servokäyttö tarvitsee tarkan virranmittauksen, luotettavan asentotakaisinkytkennän ja ennustettavan säätöajoituksen moottorin vääntömomentin, nopeuden ja asennon hallintaan. Ohjaimessa on lisäksi säilytettävä riittävästi laskentakapasiteettia järjestelmän muita toimintoja varten.
Arkkitehtuuri, jossa aikakriittiset moottorinsäätötoiminnot erotetaan ylemmän tason ohjelmistosta, tarjoaa yhden tavan vastata näihin keskenään kilpaileviin vaatimuksiin.
Robottijärjestelmien kehittyessä servokäytön suorituskyky riippuu yhä enemmän paitsi prosessorin laskentatehosta myös siitä, miten ohjausarkkitehtuuri jakaa reaaliaikaiset tehtävät järjestelmän eri osille.









Infineon on esitellyt uuden virta-anturin, joka soveltuu jopa satojen ampeerien virtojen mittaamiseen pienikokoisissa elektroniikkalaitteissa. XENSIV TLI5572 hyödyntää magneettista TMR-tekniikkaa, jonka ansiosta perinteinen shunttivastus ja siihen liittyvä vahvistinpiiri voidaan jättää pois. Ratkaisu on suunnattu erityisesti robotiikkaan, akkukäyttöisiin työkaluihin ja droneihin.









