Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Kuvaus
- Vaihe 2: Moottorilohkon kokoonpano
- Vaihe 3: Kytkimet ja kaapelin valmistelu
- Vaihe 4: Elektronisten levyjen johdotus
- Vaihe 5: Motor Group ja Arduino pohjakerroksessa
- Vaihe 6: Yhden kerroksen tietokone ja ylemmän kerroksen anturit
- Vaihe 7: Anna sen liikkua
Video: Rakenna oma kilpikonnarobotti!: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
MUOKATA:
Lisätietoja ohjelmistosta ja ohjauksesta on saatavilla tästä linkistä:
hackaday.io/project/167074-build-your-own-turtlebot-3-backbone
Suora linkki koodiin on:
github.com/MattMgn/foxbot_core
Miksi tämä projekti?
Turtlebot 3 on täydellinen alusta syvälle elektroniikkaan, robotiikkaan ja jopa tekoälyyn! Ehdotan, että rakennat oman turtlebotin askel askeleelta edullisilla komponenteilla uhraamatta ominaisuuksia ja suorituskykyä. Yksi asia mielessä: parhaan mahdollisen alkuperäisen robotin säilyttäminen, sen modulaarisuus, yksinkertaisuus ja valtava määrä avoimen lähdekoodin yhteisön autonomisen navigoinnin ja tekoälyn paketteja.
Tämä projekti on aloittelijoille tilaisuus hankkia käsityksiä elektroniikasta, mekaniikasta ja tietotekniikasta ja kokeneemmille saada tehokas alusta tekoälyalgoritmien testaamiseen ja kehittämiseen.
Mitä huomaat tässä projektissa?
Olet selvittämässä, mitkä olennaiset mekaaniset ja elektroniset osat on säilytettävä alkuperäisestä botista täydellisen yhteensopivuuden takaamiseksi.
Koko rakennusprosessi on yksityiskohtainen: 3D -osien tulostuksesta, kokoonpanosta ja useista komponenteista, juottamisesta ja elektroniikan integroinnista lopulliseen koodin kokoamiseen Arduinolla. Tämä opetusohjelma päättyy "hello world" -esimerkkiin tutustuttaaksesi ROS: iin. Jos jokin tuntuu epäselvältä, kysy rohkeasti!
Tarvikkeet
Elektroniikka:
1 x yhden piirilevyn tietokone ROS: n suorittamiseen, voi olla esimerkiksi Raspberry Pi tai Jetson Nano
1 x Arduino DUE, voit käyttää myös UNO: ta tai MEGA: ta
1 x Proto-levy, joka sopii Arduino DUE -pistorasiaan, saatavilla täältä
2 x 12 V tasavirtamoottoria anturilla (vaihtoehto 100 r / min)
1 x L298N -moottoriajuri
2 x 5V säädin
1 x akku (esimerkiksi 3S/4S LiPo -akku)
2 x ON/OFF -kytkintä
2 x LED
2 x 470 kOhm vastukset
3 x 4 -nastaiset JST -liittimet
1 x USB -kaapeli (vähintään yksi SBC: n ja Arduinon välillä)
Anturit:
1 x virta -anturi (valinnainen)
1 x 9 vapausastetta IMU (valinnainen)
1 x LIDAR (valinnainen)
Alusta:
16 x modulaariset Turtlebot -levyt (jotka voidaan myös tulostaa 3D -muodossa)
2 x Renkaat halkaisija 65 mm (leveys 6 mm)
4 x nailonvälikappaletta 30 mm (valinnainen)
20 x M3 -terää (valinnainen)
Muut:
Johdot
M2.5- ja M3 -ruuvit ja -terät
3D -tulostin tai joku, joka voi tulostaa osat puolestasi
Käsipora, jossa on tämän kaltainen poranterä
Vaihe 1: Kuvaus
Tämä robotti on yksinkertainen tasauspyörästö, joka käyttää 2 pyörää, jotka on asennettu suoraan niiden moottoriin, ja rullapyörää, joka on sijoitettu taakse robotin kaatumisen estämiseksi. Robotti on jaettu kahteen kerrokseen:
pohjakerros: käyttövoimaryhmän kanssa (akku, moottorin ohjain ja moottorit) ja "matalan tason" elektroniikka: Arduino -mikro, jännitesäädin, kytkimet…
ylempi kerros: "korkean tason" elektronisella laitteella eli yhden kortin tietokoneella ja LIDARilla
Nämä kerrokset on liitetty painettuihin osiin ja ruuveihin rakenteen lujuuden varmistamiseksi.
Elektroninen kaavio
Kaavio saattaa näyttää hieman sekavalta. Se on kaavamainen piirustus, eikä se edusta kaikkia johtoja, liittimiä ja proto-korttia, mutta se voidaan lukea seuraavasti:
3S Litihum -ionipolymeeriakku, jonka kapasiteetti on 3000 mAh, antaa virtaa ensimmäiselle piirille, se käyttää sekä moottorin ohjainkorttia (L298N) että ensimmäistä 5 V: n säädintä moottorianturille ja Arduinolle. Tämä piiri aktivoidaan kytkimen kautta, jossa on LED, joka osoittaa sen ON/OFF -tilan.
Sama akku käyttää toista piiriä, tulojännite muunnetaan 5 V: ksi yhden korttitietokoneen virtalähteeksi. Tässäkin piiri aktivoidaan kytkimen ja LED -valon kautta.
Lisäanturit, kuten LIDAR tai kamera, voidaan sitten lisätä suoraan Raspberry Pi -laitteeseen USB- tai CSI -portin kautta.
Mekaaninen suunnittelu
Robotin runko koostuu 16 identtisestä osasta, jotka muodostivat 2 neliömäistä kerrosta (leveys 28 cm). Monet reiät mahdollistavat lisäosien asentamisen missä tahansa ja tarjoavat täydellisen modulaarisen rakenteen. Tätä projektia varten päätin hankkia alkuperäiset TurtleBot3 -levyt, mutta voit myös tulostaa ne 3D -muodossa, koska niiden suunnittelu on avoimen lähdekoodin.
Vaihe 2: Moottorilohkon kokoonpano
Moottorin valmistelu
Ensimmäinen askel on lisätä 1 mm paksu vaahtoteippi jokaisen moottorin ympärille estämään tärinää ja melua moottorin pyöriessä.
Painetut osat
Moottorin pidike johtaa kahteen osaan, jotka tarttuvat moottoriin kuin ruuvipuristin. 4 ruuvia moottorin kiristämiseksi pidikkeessä.
Jokainen pidike koostuu useista rei'istä, joissa on M3 -insertit asennettavaksi rakenteeseen. Reikiä on enemmän kuin todellisuudessa tarvitaan, lisäreikiä voitaisiin lopulta käyttää lisäosan asentamiseen.
3D -tulostimen asetukset: kaikki osat tulostetaan seuraavilla parametreilla
- Suutin halkaisijaltaan 0,4 mm
- 15% materiaalin täyttö
- 0,2 mm korkea kerros
Pyörä
Valitut pyörät on päällystetty kumilla tartunnan maksimoimiseksi ja liukumattomien vierintäolosuhteiden varmistamiseksi. Kiinnitysruuvi pitää pyörän kiinni moottorin akselilla. Pyörän halkaisijan tulee olla riittävän suuri ylittämään pienet askeleet ja maan epätasaisuudet (nämä pyörät ovat halkaisijaltaan 65 mm).
Kiinnitys
Kun olet tehnyt yhden moottorilohkon, toista edelliset toimenpiteet ja kiinnitä ne sitten yksinkertaisesti kerrokseen M3 -ruuveilla.
Vaihe 3: Kytkimet ja kaapelin valmistelu
Moottorikaapelin valmistelu
Yleensä moottorianturin mukana tulee kaapeli, jonka toisella puolella on 6-napainen liitin, joka yhdistää anturin piirilevyn takaosan, ja paljaat johdot toisella puolella.
Sinulla on mahdollisuus juottaa ne suoraan proto-kortillesi tai jopa Arduinollesi, mutta suosittelen käyttämään naaraspuolisia nastoja ja JST-XH-liittimiä. Näin voit liittää/irrottaa ne proto-kortillasi ja helpottaa kokoonpanoa.
Vinkkejä: voit lisätä laajennettavan holkkipunoksen johtojesi ympärille ja kutisteputken paloja liittimien lähelle, jolloin saat "puhtaan" kaapelin.
Kytkin ja LED
Ota kaksi virtapiiriä käyttöön valmistelemalla 2 LED- ja kytkentäkaapelia: ensin juotettava 470 kOhm: n vastus yhteen LED -nastasta ja sitten juotettava LED yhteen kytkintappiin. Tässä voit myös käyttää kutisteputken palaa piilottaaksesi vastuksen sisälle. Varo juottamasta LED oikeaan suuntaan! Toista tämä toimenpide saadaksesi kaksi kytkin-/led -kaapelia.
Kokoonpano
Kokoa aiemmin tehdyt kaapelit vastaavaan 3D -tulostettuun osaan. Käytä mutteria kytkimen ylläpitämiseen, LEDit eivät vaadi liimaa, vain tarpeeksi voimaa, jotta se mahtuu reikään.
Vaihe 4: Elektronisten levyjen johdotus
Taulujen asettelu
Arduino-levyn asettelua vastaavaa proto-levyä käytetään johtimien määrän vähentämiseen. Proto-levyn päällä L298N on pinottu Dupont-naarasotsikkoon (Dupont ovat Arduinon kaltaisia otsikoita).
L298N valmistelu
Alunperin L298N -kortilla ei ole vastaavaa urospuolista Dupont -otsikkoa, sinun on lisättävä 9 -nastainen rivi levyn alle. Sinun on toteutettava yhdeksän reikää, joiden poranterä on 1 mm halkaisijalla, olemassa olevien reikien rinnalla, kuten kuvassa näkyy. Yhdistä sitten 2 rivin vastaavat tapit juotosmateriaaleihin ja lyhyisiin johtimiin.
L298N pin-out
L298N koostuu kahdesta kanavasta, jotka mahdollistavat nopeuden ja suunnan hallinnan:
suuntaan 2 digitaalilähdön kautta, nimeltään IN1, IN2 ensimmäiselle kanavalle ja IN3 ja IN4 toiselle
nopeutta yhden digitaalilähdön kautta, nimeltään ENA ensimmäiselle kanavalle ja ENB toiselle
Valitsin seuraavan pin-outin Arduinon kanssa:
vasen moottori: IN1 nastassa 3, IN2 nastassa 4, ENA nastassa 2
oikea moottori: IN3 nastassa 5, IN4 nastassa 6, ENB nastassa 7
5V säädin
Vaikka l298N pystyy normaalisti tuottamaan 5 V: n, lisään silti pienen säätimen. Se käyttää Arduinoa VIN -portin ja moottorien kahden anturin kautta. Voit ohittaa tämän vaiheen suoraan käyttämällä sisäänrakennettua L298N 5V -säädintä.
JST-liittimet ja kooderin pin-out
Käytä 4-napaisia naaraspuolisia JST-XH-liitäntäsovittimia, ja jokainen liitin on sitten linkitetty:
- 5V säätimestä
- a Maa
- kaksi digitaalista tuloporttia (esimerkki: 34 ja 38 oikeanpuoleiselle anturille ja 26 ja 30 vasemmalle)
Ylimääräinen I2C
Kuten olet ehkä huomannut, proto-kortissa on ylimääräinen 4-nastainen JST-liitin. Sitä käytetään I2C -laitteen liittämiseen IMU: n tavoin, voit tehdä saman ja jopa lisätä oman porttisi.
Vaihe 5: Motor Group ja Arduino pohjakerroksessa
Moottorilohkojen kiinnitys
Kun pohjakerros on koottu 8 Turtlebot -levyn kanssa, käytä 4 M3 -ruuvia suoraan sisäosissa moottorilohkojen ylläpitämiseksi. Sitten voit kytkeä moottorin virtajohdot L298N-lähtöihin ja aiemmin tehdyt kaapelit pöytälevyn JST-liittimiin.
Sähkönjakelu
Sähkönjakelu toteutetaan yksinkertaisesti estokytkennällä. Esteen toisella puolella on XT60 -naaraspistokkeella varustettu kaapeli, joka on liitetty LiPo -akkuun. Toisaalta kaksi aiemmin juotettua LED-/kytkinkaapelia on ruuvattu. Näin jokainen piiri (moottori ja Arduino) voitaisiin ottaa käyttöön omalla kytkimellä ja vastaavalla vihreällä LED -valolla.
Kaapelin hallinta
Nopeasti joudut käsittelemään paljon kaapeleita! Voit vähentää sotkuisia piirteitä käyttämällä aiemmin 3D -tulostettua taulukkoa. Pidä pöydälläsi elektroniset levyt kaksipuolisella teipillä ja anna pöydän alla johtojen virrata vapaasti.
Akun huolto
Voit välttää akun poistumisen robottia ajaessasi käyttämällä yksinkertaisesti hiusten joustavaa nauhaa.
Rullapyörä
Ei oikeastaan rullapyörä, vaan yksinkertainen puolipallo, joka on kiinnitetty 4 ruuvilla pohjakerrokseen. Se riittää varmistamaan robotin vakauden.
Vaihe 6: Yhden kerroksen tietokone ja ylemmän kerroksen anturit
Mikä yhden kortin tietokone valita?
Minun ei tarvitse esitellä sinulle kuuluisaa Vadelma Pi: tä, sen käyttötapausten määrä ylittää suuresti robotiikka -alan. Mutta Raspberry Pi: lle on paljon tehokkaampi haastaja, jonka saatat jättää huomiotta. Itse asiassa Nvidian Jetson Nano sisältää suorittimen lisäksi tehokkaan 128-ytimisen näytönohjaimen. Tämä graafinen kortti on kehitetty nopeuttamaan kalliita laskennallisia tehtäviä, kuten kuvankäsittelyä tai hermoverkko -päätelmiä.
Tätä projektia varten valitsin Jetson Nanon ja löydät vastaavan 3D -osan liitteenä olevista tiedostoista, mutta jos haluat käyttää Raspberry Pi -laitetta, täällä on monia tulostettavia koteloita.
5V säädin
Riippumatta siitä, minkä levyn päätät tuoda robotillesi, tarvitset 5 V: n säätimen. Uusin Raspberry Pi 4 vaatii enintään 1,25 A, mutta Jetson Nano vaatii jopa 3 A rasitusta, joten valitsin, että Pololu 5V 6A: lla on tehovara tuleville komponenteille (anturit, valot, askelmat …), mutta minkä tahansa halvan 5 V 2A: n pitäisi tehdä työ. Jetson käyttää 5,5 mm: n DC -piippua ja Pi: n mikro -USB: tä, tartu vastaavaan kaapeliin ja juota se säätimen ulostuloon.
LIDAR -asettelu
Tässä käytetty LIDAR on LDS-01, on olemassa useita muita 2D LIDAR -laitteita, joita voidaan käyttää, kuten RPLidar A1/A2/A3, YDLidar X4/G4 tai jopa Hokuyo LIDAR. Ainoa vaatimus on, että se on kytkettävä USB: n kautta ja sijoitettava keskelle rakennetta. Itse asiassa, jos LIDAR ei ole hyvin keskitetty, SLAM -algoritmin luoma kartta voi siirtää seinien ja esteiden arvioidun sijainnin todellisesta sijainnistaan. Myös jos robotin esteet ylittävät lasersäteen, se pienentää kantamaa ja näkökenttää.
LIDAR -asennus
LIDAR on asennettu 3D -painettuun osaan, joka seuraa muotoaan, itse osa on kiinni suorakulmaisella levyllä (itse asiassa kuvassa vanerissa, mutta se voidaan myös tulostaa 3D -muodossa). Sitten sovitinosa sallii kokonaisuuden kiinnittämisen ylempään kilpilevyyn nailonvälikappaleilla.
Kamera lisäanturina tai LIDAR -korvaajana
Jos et halua käyttää liikaa rahaa LIDARiin (joka maksaa noin 100 dollaria), valitse kamera: on olemassa myös SLAM -algoritmeja, jotka toimivat vain monokulaarisen RGB -kameran kanssa. Molemmat SBC -laitteet hyväksyvät USB- tai CSI -kameran.
Lisäksi kameran avulla voit käyttää tietokoneen visio- ja esineentunnistusskriptejä!
Kokoonpano
Ennen kuin suljet robotin, vie kaapelit ylälevyn isompien reikien läpi:
- vastaava kaapeli 5 V: n säätimestä SBC: hen
- USB -kaapeli Arduino DUE -ohjelmointiportista (lähimpänä DC -tynnyriä) SBC -laitteen USB -porttiin
Pidä sitten ylälevyä paikallaan tusinan verran ruuveja. Robotti on nyt valmis ohjelmoitavaksi, HYVÄ!
Vaihe 7: Anna sen liikkua
Kokoa Arduino
Avaa suosikkisi Arduino IDE ja tuo projektikansio nimeltä own_turtlebot_core, valitse sitten levy ja vastaava portti, voit tutustua tähän erinomaiseen opetusohjelmaan.
Säädä ydinasetuksia
Projekti koostuu kahdesta tiedostosta, joista toinen on mukautettava robottiisi. Joten avataan own_turtlebot_config.h ja selvitetään, mitkä rivit vaativat huomiotamme:
#define ARDUINO_DUE // ** KOMMENToi TÄMÄ RIVI, JOS ET KÄYTÄ DUE **
Sitä tulisi käyttää vain Arduino DUE: n kanssa, jos ei kommentoi riviä.
#define RATE_CONTROLLER_KP 130.0 // ** TUNE THIS ARVO **
#define RATE_CONTROLLER_KD 5000000000000.0 // ** TUNE THIS ARVO ** #define RATE_CONTROLLER_KI 0.00005 // ** TUNE THIS ARVO **
Nämä kolme parametria vastaavat nopeudensäätimen vahvistuksia, joita PID käyttää halutun nopeuden ylläpitämiseen. Akun jännitteen, robotin massan, pyörän halkaisijan ja moottorin mekaanisen vaihteen mukaan sinun on mukautettava niiden arvoja. PID on klassinen ohjain, eikä sinua kerrota tässä yksityiskohtaisesti, mutta tämän linkin pitäisi antaa sinulle riittävästi syötteitä oman säätämiseen.
/ * Määritä nastat */
// moottori A (oikea) const tavu motorRightEncoderPinA = 38; // ** MUUTA PIN -koodillasi NB ** const byte motorRightEncoderPinB = 34; // ** MUUTA PIN -koodillasi NB ** const tavu enMotorRight = 2; // ** MUUTA PIN -koodillasi NB ** const tavu in1MotorRight = 4; // ** MUUTA PIN -koodillasi NB ** const tavu in2MotorRight = 3; // ** MUUTA PIN -koodillasi NB ** // moottori B (vasen) const byte motorLeftEncoderPinA = 26; // ** MUUTA PIN -koodillasi NB ** const tavu motorLeftEncoderPinB = 30; // ** MUUTA PIN -koodillasi NB ** const tavu enMotorLeft = 7; // ** MUUTA PIN -koodillasi NB ** const tavu in1MotorLeft = 6; // ** MUUTA PIN -koodillasi NB ** const tavu in2MotorLeft = 5; // ** MUUTA PIN -koodillasi NB **
Tämä lohko määrittää pinoutin L298N: n ja Arduinon välillä, yksinkertaisesti muokkaa pin -numeroa vastaamaan omaasi. Kun olet tehnyt määritystiedoston, koota ja lähetä koodi!
Asenna ja määritä ROS
Kun olet saavuttanut tämän vaiheen, ohjeet ovat täsmälleen samat kuin erinomaisessa TurtleBot3 -käyttöoppaassa, sinun on noudatettava tarkasti
hyvin tehty TurtleBot 3 on nyt sinun ja voit suorittaa kaikki olemassa olevat paketit ja opetusohjelmat ROS: n avulla.
Ok, mutta mikä on ROS?
ROS tarkoittaa robottien käyttöjärjestelmää, se saattaa aluksi vaikuttaa monimutkaiselta, mutta se ei ole sitä. Kuvittele vain kommunikointitapa laitteiston (anturit ja toimilaitteet) ja ohjelmiston (navigointi-, ohjaus-, tietokonenäköalgoritmit …) välillä. Voit esimerkiksi vaihtaa nykyisen LIDAR -laitteen helposti toiseen malliin rikkomatta asetuksiasi, koska jokainen LIDAR julkaisee saman LaserScan -viestin. ROS on laajalti käytetty on robotiikka, Näytä ensimmäinen esimerkki
ROS: n "hello world" -vastine koostuu robotin etäkäytöstä etätietokoneen kautta. Mitä haluat tehdä, on lähettää nopeuskomentoja moottorien pyörittämiseksi, komennot seuraavat tätä putkea:
- etätietokoneessa käynnissä oleva turtlebot_teleop -solmu julkaisee "/cmd_vel" -aiheen, joka sisältää Twist -viestin
- tämä viesti välitetään ROS -viestiverkoston kautta SBC: lle
- sarjasolmu sallii "/cmd_vel" -vastaanoton Arduinolla
- Arduino lukee viestin ja asettaa kulmanopeuden kullekin moottorille vastaamaan robotin haluttua lineaarista ja kulmanopeutta
Tämä toiminto on yksinkertainen ja voidaan saavuttaa suorittamalla yllä luetellut komentorivit! Jos haluat tarkempia tietoja, katso vain video.
[SBC]
roscore
[SBC]
rosrun rosserial_python serial_node.py _port: =/dev/ttyACM0 _baud: = 115200
[Etätietokone]
vie TURTLEBOT3_MODEL = $ {TB3_MODEL}
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
Mennä pidemmälle
Sinun on tiedettävä viimeinen asia ennen kuin yrität kaikkia virallisia esimerkkejä käsikirjassa aina, kun kohtaat tämän komennon:
roslaunch turtlebot3_bringup turtlebot3_robot.launch
sinun on suoritettava tämä komento SBC: ssäsi:
rosrun rosserial_python serial_node.py _port: =/dev/ttyACM0 _baud: = 115200
Ja jos sinulla on LIDAR, joka suorittaa vastaavan komennon SBC: ssäsi, minun tapauksessani suoritan LDS01: n alla olevan rivin kanssa:
roslaunch hls_lfcd_lds_driver hlds_laser.launch
Ja siinä kaikki, olet lopullisesti rakentanut oman turtlebotin:) Olet valmis tutustumaan ROS: n upeisiin ominaisuuksiin sekä koodimaan näkemystä ja koneoppimisalgoritmeja.
Suositeltava:
ESP32-CAM Rakenna oma robottiauto live-videostriimauksella: 4 vaihetta
ESP32-CAM Rakenna oma robottiauto live-videostriimauksen avulla: Ideana on tehdä tässä kuvatusta robottiautosta mahdollisimman halpa. Siksi toivon saavuttavani suuren kohderyhmän yksityiskohtaisilla ohjeillani ja valitut komponentit halvalla mallilla. Haluaisin esitellä ideani robotti -autosta
SUUNNITTELE JA RAKENNA OMA KANNETTAVA BLUETOOTH -KAIUTIN CUM -TEHOBANKI: 15 vaihetta (kuvilla)
SUUNNITTELE JA RAKENNA OMA KANNETTAVA BLUETOOTH -KAIUTINPUMPPUPANKKI: Hei kaikki, joten tämä on opettavainen ihmisille, jotka rakastavat musiikkia ja haluavat suunnitella ja rakentaa omia kannettavia Bluetooth -kaiuttimia. Tämä on helppo rakentaa kaiutin, joka kuulostaa hämmästyttävältä, näyttää kauniilta ja riittävän pieneltä
Rakenna oma muuttuva Lab Bench -virtalähde: 4 vaihetta (kuvilla)
Rakenna oma muuttuva laboratoriopenkki -virtalähde: Tässä projektissa näytän sinulle, miten yhdistin LTC3780: n, joka on tehokas 130 W: n askel ylös/alas -muunnin, 12 V: n 5 A: n virtalähteeseen säädettävän laboratoriopöydän virtalähteen luomiseksi (0,8 V-29.4V || 0.3A-6A). Suorituskyky on verrattain hyvä
Rakenna oma raaka FM -radio: 4 vaihetta
Rakenna oma raaka FM -radio: Tässä projektissa esittelen, miten RF -FM -lähetin toimii ja miten tämä periaate on verrattavissa vanhempaan AM: ään. Näytän myös sinulle, kuinka rakentaa yksinkertainen ja raaka FM -vastaanotin, joka voi jopa antaa sinun joskus kuunnella suosikkiradioasettasi
DFRobot -kilpikonnarobotti: 12 vaihetta (kuvilla)
DFRobot-kilpikonnarobotti: Tähän mennessä työpajarobotit ovat edenneet edulliseen ja helppoon kokoamiseen. Mitä jos suorituskyky ja tarkkuus olisivat tavoitteet eivätkä kustannukset? Entä jos robottipakkausyritys olisi valmis lahjoittamaan osia? Entä jos piirtäisimme jotain