Zwenkka Being Mindstormed
Kirjoittaja Zwenkka 
Kirjoittaja
Viesti
:: Lainaa ::
Aihe: Zwenkka Being Mindstormed - 30/09/2017 21:49
Rakentelut siinä vaiheessa, että uskaltaa uhota joskus tulevan valmistakin...

Tiedän jo nyt että kirjoituksesta tulee pitkä... Tarkoituksena vähän itsellekin saada ylös missä vaiheessa on menty ja milloin.

Tällaista lähdetään hakemaan: Youtube

Varmaankin yksi monimutkaisimmista Lego-härveleistä ikinä...

Idea:

4 nxt:tä, 12 servoa, muutama pf-palikka ja paineilmaa, näillä pitäisi saada homma tehtyä.

Valmiissa laitteessa tulee olemaan siis kaksi 6 akselista robottikättä (7 jos tarttujan liike lasketaan). Tarttujan liike olisi tarkoitus toteuttaa paineilmalla.

Itse ratkaisu tapahtuu seuraavasti:
1. Kuutio kuvataan web-kameralla*
2. Läppäri* lähettää bluetoothilla nxt:lle ratkaisun
3. Kädet pyörittelee kuution ohjeiden mukaan
4. Voilà

*Läppäri ja web-kamera korvattu älypuhelimella

Tilanne nyt:



Näyttää keskeneräiseltä, mutta oikeasti tässä vaiheessa aika paljon on jo tehty. Käsi on saanut paljon vaikutteita Akiyukyn robottikädestä (Youtube), mutta on huomattavasti tukevampi rakenteeltaan. Lisäksi kaikki välitykset ovat tuntuvasti hitaampia. 100g painava ruubikin kuutio on yllättävän iso puntti tuollaisen käden päähän...

Mitä on valmiina:

Kinematiikka: Robottikäsissä työlästä on ohjaus. Usein näkee robottikäsiä, mitkä liikuttavat yhtä niveltä/moottoria kerrallaan. Itselle kuitenkin oli ihan alusta lähtien selvää, että lähdetään hakemaan jotain luonnollisen näköisiä liikeratoja, missä kaikki nivelet liikkuvat samanaikaisesti. Koodi siis antaa servolle jatkuvasti paikkatietoa siitä, missä sen tulisi milläkin ajan hetkellä olla. Tätä ajasta riippuvaa paikkaa voidaan sitten pyörittää ihan miten halutaan. Nyt Robottikäsi aloittaa ja lopettaa kaikkien nivelteen liikkeen samanaikaisesti.

Servo-ohjaus: Näköjään valmiina ei NXC:stä löytynyt komentoa, jolla servon saisi seuraamaan jatkuvaa inputtia halutusta paikasta. Erilaiset valmiit servo-ohjausmenetelmät lähinnä sekoittivat NXT:n raskaudellaan tai saivat aikaan pahaa värinää tai muuten epätasaista liikettä. Tähän ratkaisuna oli itse tehty kevyempi PID-ohjain, joka säätää servon nopeutta sen asennon ja tavoitteen erotuksen (eli virheen) mukaisesti suoraan virheen suuruuden, sen aikaintegraalin ja sen aikaderivaatan mukaan. Näistä löytyy netistä paljon lisää infoa jos kiinnostaa..

PID-ohjaimen tekeminen oli ehkä kuudes yritys saada käsi liikkumaan jotenkin sulavasti...

Tässä nopea koodipätkä jolla kokeilimme ajaa moottoreita. Vaatii siistimistä ja joitain lisäyksiä. Toimii kuitenkin kohtuullisesti.
task PIDcontrol ()
{
    int proportionalA,proportionalB,proportionalC;
    float integralA,integralB,integralC;
    float errorA,errorB,errorC;
    long timeI;
    while(true)
    {
      	        currentA = MotorRotationCount(OUT_A);						
		currentB = MotorRotationCount(OUT_B);
		currentC = MotorRotationCount(OUT_C);
		errorA = currentA - toA; //jos currentA paikalle MotorRotationCount(OUT_A) nii crashaa oudosti
		errorB = currentB - toB;
		errorC = currentC - toC;
		proportionalA = pGain * errorA;			      		    //Adjust proportional values
		proportionalB = pGain * errorB;
		proportionalC = pGain * errorC;                                      //Add derivative part here
		if(errorA < -1 || errorA > 1)
                        integralA += iGain * errorA * (CurrentTick() - timeI);  //Adjust integrative values
		if(errorB < -1 || errorB > 1)
			integralB += iGain * errorB * (CurrentTick() - timeI);
		if(errorC < -1 || errorC > 1)
			integralC += iGain * errorC * (CurrentTick() - timeI);
	        timeI = CurrentTick();							        //Time for integral
      	        if(errorA < -1 || errorA > 1)						    //Adjust motorpowers if |error| > 1
			OnFwd(OUT_A,limitPower(proportionalA + integralA));
		else if(moveStop == 1)
                Off(OUT_A);
      	        if(errorB < -1 || errorB > 1)							
			OnFwd(OUT_B,limitPower(proportionalB + integralB));       
		else if(moveStop == 1)                                       
                Off(OUT_B);                                            
      	        if(errorC < -1 || errorC > 1)
			OnFwd(OUT_C,limitPower(proportionalC + integralC));
		else if(moveStop == 1)
			Off(OUT_C);
	}
}

Palikoiden välinen kommunikointi: Oma luotto nxt:n bluetoothiin on pieni. Ainakin jos 4 nxt:tä pitää yhdistää bluetoothilla toisiinsa ja yksi läppäriin kun vain yhdessä on toimiva näyttö... Päädyttiin siihen, että yksi nxt on bluetoothilla kiinni läppärissä ja ohjaa muita valosensoreita vilkuttamalla. Koodi, joka lähettää ratkaisun muille nxt:lle ja tahdittaa liikkeitä, on valmis ja vaikuttaisi toimivan hyvin. Ainakin testaillessa ei valoilla tullut yhtäkään virhettä. Lisäksi kivaa on se että laitteen voi laittaa päälle ilman hirveää säätöä kaikenlaisten asetusten kanssa.

Ratkaisualgoritmi: Tämä on ihan puhtaasti kolmannen osapuolen tekemä ja meidän tarpeisiin sovitettu. Läppärillä pyörii ohjelma, joka kuvaa kuution kaikki sivut ja lähettää sen bluetoothilla (tai usb:llä) nxt:lle. Tämä algoritmi valittiin siksi, että se ratkaisee kuution noin 21 siirrossa, kun omat yritykset olisivat jääneet paljon suurempiin siirtomääriin. Jos laite ratkoo kuutiota messuilla esim. tunnin, niin aika monen mielenkiinto ehtii loppua...

Mitä puuttuu?

Paineilma: Baseplaten päälle olisi tarkoitus laittaa ainakin paineilmaa ohjaavat venttiilit, kompressori ja paineilmasäiliö. Tämän pitäisi olla hyvin suoraviivainen homma. Lisäksi yksi NXT:istä ohjaamaan kompressoria paineen mukaan.

Tarttuja: On melkolailla valmis, mutta vaatii hienosäätöä. Näillä näkymin kuution joka sivun keskellä on magneetti (näkyy kuvassa), joka varmistaa hyvän otteen joka siirrolla ja poistaa virheen keskittämällä kuution aina uudestaan.

Toinen käsi: Helppo mutta työläs homma, pitäisi rakentaa toinen samanlainen... Samalla muuttaa kaikki vääränväriset osat.

Koppa: Homman ympärille jonkinlainen kuori, jottei ihan kaikki sisuskalut näy ulospäin, niitä kun ei aiota siistiä millään lailla. Tähän kaipaan ideoita: Millainen olisi helppo tapa toteuttaa siisti kuori?

Kuution pidike: Jonkinlainen teline mihin kuutio alussa laitetaan. Jotenkin ylitsepääsemättömäksi on muodostunut siistin tasasivuisen kolmion väsääminen...

Muuta: Baseplatet pitäisi kiinnittä esim. vanerilevyyn tukevuuden lisäämiseksi ja kuljettamisen helpottamiseksi. Lisäksi NXT:ille pitäisi rakentaa verkkovirtalähde.

Kaiken yhteensovittaminen: Varmaan työläin osa missä ongelmia alkaa tulla vastaan.



Muokattu 5 kertaa. Muokattu viimeksi 16/11/2017 20:40.
avatar

JK

Admin

RY:n jäsen

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 30/09/2017 22:49
Wau... Toiset rakentaa peruspalikoilla, toiset tekee robotiikkaa.
Onnea, kärsivällisyyttä ja aikaa projektiin.



Foorumin Admin, Palikkatakomon perustajajäsen, AFOL-rakentaja.
HOViNET.com ¤ Stopping the Motion since 2002 ¤ YouTube


Awis

Hallituksen jäsen

RY:n jäsen

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 01/10/2017 11:25
VAU! Hyvä että joku pöllyttää R2 sta isolla kädellä!

Miksi tyytyisit baseplate /vaneri viritykseen, saahan R2" tehtyä omanpainonsa kestäviä pöytiä LEGO palikoista. EI voi olla niin et Zwenkka antaa periksi kokonaisuuden näyttävyyden kannalta tärkeässä osassa.
Tee vaan kunnon lego pöytä alle ja sen sisälle piilottelet sitten säiliöt ymm lisäosat joiden näkyvyydellä ei ole tarvetta.

Hyvä, hyvä ja Isokäsi!

lonkka71

Hallituksen varajäsen

RY:n jäsen

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 01/10/2017 18:11
ISOT PEUKUT !!!
avatar

Samppu92

Hallituksen puheenjohtaja

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 01/10/2017 18:25
Makealta näyttää, odotan mielenkiinnolla tämän näkemistä! ;)


- Samppu

---------------------------------------------------------------------------


Lego-superfani
Star Wars -superfani
Aivotutkimus on intohimo.
Kissat <3

"Play is the highest form of research." - Albert Einstein
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 02/10/2017 19:35
Lainaus
Awis
Miksi tyytyisit baseplate /vaneri viritykseen...

Saa nähdä, mitä tähän keksin, ehkäpä vehje siirtyykin modupohjan kaltaiselle. Jokin siisti alusta on kuitenkin suunnitteilla.

Kiitokset tsempistä! Varmaankin syksyn mittaan tulee useampiakin hetkiä kun rupeaa ahistamaan...

Lisäyksenä jäljellä oleviin hommiin:

Liikeradat, eli miten kuution mitäkin sivua käännetään tai kuutio vaihdetaan kädestä toiseen yms. Suoraviivainen homma, mutta sopivien asentojen ja ratojen määrittely vie aikaa. Lisäksi jännittää, onko kädet riittävän tarkkoja ottaakseen kuutiosta aina kunnolla kiinni.
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 06/10/2017 13:30
Toinen käsi alkaa muotoutua ja rakensin siinä samalla umpipalikkapohjan. Lisäksi toisen käden jalka on vahvistunut huomattavasti: vrt oikeaa ja vasenta kättä, yllättävän paljon tukevampia nuo peruspalikat... Etenkin kun koko systeemiin saa pikkusen esijännitystä.

Mitäs awis tykkää tällaisesta alustasta? :)

Vahvistusten ja uuden alustan myötä mentiin myös 10kg rajan yli. Vielä pitäisi lisätä jokunen moottori, 4 nxt:tä ja kasa palikkaa..

Enää ei jaksa kiinnostaa piiloon jäävien palikoiden väri, aikaisemmin yritin pitää sitäkin jotenkin hallinnassa.

Awis

Hallituksen jäsen

RY:n jäsen

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 06/10/2017 14:53
Nyt alkaa kelpaamaan ja pistää myös hiljentymään... mihinkäs tää vielä johtaakaan!
avatar

JK

Admin

RY:n jäsen

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 06/10/2017 16:56
Tuolla pohjalla teos uppoutuu vielä joskus osaksi modu-cityä :) Siellä robottikädet touhuaa talojen seassa.



Foorumin Admin, Palikkatakomon perustajajäsen, AFOL-rakentaja.
HOViNET.com ¤ Stopping the Motion since 2002 ¤ YouTube


:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 08/10/2017 17:32
Aika futuristinen city kyseessä, jos seassa on mm. tämän kokoluokan robokädet...

Ongelmia tietokoneelta saatavan ratkaisun kanssa: Nxt:n yhdistäminen läppäriin ei näköjään onnistu koneilla, joissa ei ole jotain tiettyä bluetooth donglea. Tulipahan tätä pohtiessa mieleen, että läppäri-webcam -viritelmän tilalle voisi laittaa puhelimen. Puhelimessa on nimittäin kamera, bluetooth ja rutkasti laskentatehoa. Olisiko tämä tyylikkäämpi ratkaisu? Tällä päästäisiin ainakin johdoista ja jatkuvasta läppärin tarpeesta eroon.
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 14/10/2017 16:03
Tarttuja tuntuisi olevan kunnossa. Aika paljon tätäkin saa hienosäätää kohdilleen...

Tarttuja toimii paineilmalla ja siinä on kolme magneettia, jotka keskittävät kuution kohdilleen. Lisäksi "sormet" ovat sen verran ohuet, että kuutiosta voi kääntää kolmea eri sivua kerralla. Loput kolmea sivua saadaan kääntymään, kun kuutio siirretään toiseen käteen.

Tarrain auki/kiinni:




Eli kuutiosta voidaan kääntää kolmea sivua kerrallaan:



Sopivasti tavallinen rubiikin kuutio on juuri 7 studin mittainen:


Tarttuja on härvelin ylivoimasesti kriittisin osa. Jos sen saa toimimaan kunnolla, ei muut pienet epätarkkuudet yms. haittaa ollenkaan niin paljon.

Lisäksi robotin alustaa koristaa nykyään pumppu ja venttiilit paineilmalle sekä niihin liittyvä ohjaus. Tästä kuvia heti, kun saan härvelin nostettua kuvailtavaksi.
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 24/10/2017 08:11
Robotin pohjalle ilmestynyt johtokaaos:



Vasemmalla on pumppu ja sen xl-moottori. Koitin käyttää myös legon pienempiä pumppuja, mutta iso osa niistä oli alkanut vuotaa ja muutenkin paine syntyy paljon nopeammin isommalla pumpulla. Yksi ison pumpun isku vastaa noin 7 pienemmän pumpun iskua.. Ehkäpä tuon viereen voisi laittaa toisen pumpun niin tasapainottuisi tuokin systeemi.

Pumpun oikealla puolella on kaksi PF-IR vastaanotinta ja niitä ohjaava IR-link sensori. IR-vastaanottimilla olisi tarkoitus ohjata kaikkia kuvassa näkyviä PF-moottoreita. Tuohon IR-linkkiin liittyi taas jonkin verran painimista, sillä ihan selvää ei ollu miten sitä käytetään. Osa antureista käyttää nimittäin digitaalista protokollaa, mikä tekee hommista hankalaa. Onneksi riittävällä googlailulla ja testailulla sain tuonkin toimimaan. Välillä mottorit sai kyllä pyörimään, mutta vain yhteen suuntaan... Tämän toimiminen mahdollistaa siis kaikenlaiset lisäykset myöhemmin kun, ohjattavia moottoreita on yhtäkkiä 8 enemmän.

IR-linkin vieressä näkyvä musta levy, jossa NXT:n liitin on mindsensorsin paineilmasensori, jolla ohjaillaan pumppua. Myös tämä käyttää vastaavaa protokollaa kuin IR-link, mutta jotenkin vaikeammin. Onneksi tämäkin asia ratkesi googlailulla, kun sopivat kirjastot ja esimerkit löytyivät.

Tuo protokolla noissa antureissa on siis I2C. Ne eivät siis toimi kuten muut anturit, joilta "kysytään" onko kosketusanturi painettu tai minkä värinen edessä oleva asia on. Sen sijaan anturiin avataan yhteys, työnnetään jotain (en ymmärtänyt mitä, jonkinlainen bufferi) ja saadaan vastaukseksi jotain muuta, mikä pitäisi muuttaa vielä johonkin järkevään muotoon.

Anturien vieressä kuvassa on kolme m-mootoria, joilla ohjataan paineilmaa. Kaksi reunimmaista tarttujien ohjaamiseen ja keskimmäinen lähinnä mahdollisutena lisätä jotain, esim. ulkoinen paineilmalähde. Tuli muuten tehtyä jännä havainto pf-moottoreita testaillessa: Jos haluaa saada IR-vastaanottimet toimimaan esimerkiksi vanhan junamuuntajan kanssa, pitää systeemiin liittää tyhjä patterilaatikko, sillä muuten IR vastaanottimet eivät saa virtaa. Eli vanhat 9v systeemit ja pf eivät sovi ristiin kaikilta osin.

Lisäksi kuvassa on kaksi NXT:tä, toiset kaksi ovat tällä hetkellä toisella kaverilla testailtavina.

Myös toinen käsi on nyt valmis:



Puhelinsovelluksen puolella suurimmat epävarmuuden ovat nyt takana. Bluetooth-yhteys NXT:n ja puhelimen välillä näyttäisi toimivan. On muuten monimutkainen homma tuokin asia: yksinkertainen koodi, joka yhdistää puhelimen NXT:hen taisi olla yli 300 riviä pitkä... Enää pitäisi koodata ohjelma joka kuvaa ja ratkaisee kuution ja lähettää ratkaisun yhdelle NXT:istä.
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 27/11/2017 10:59
Koodia päivitellään githubiin sitä mukaa kun sitä syntyy.
[github.com]

Projektin laajus alkaa pikkuhiljaa konkretisoitua: koodin määrä kun tuntuu räjähtävän käsiin, ainakin verrattuna aikaisempii Lego-projekteihin.

Paineilmatkin tuli vahingossa testattua vuotojen varalta: viikon odottelun jälkeen mittari näytti vielä baarin ylipainetta. Ainoastaan paineilmasäiliönä toimiva limsapullo, tarttujien magneetit ja NXT:iden virtalähteet ovat muita kuin legoja.

Joululomalla olisi tarkoitus yrittää saada vedettyä koko homma nippuun tai ainakin isoja harppauksia eteenpäin.
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 05/12/2017 22:59
Erittäin vaikuttavan oloinen projekti! Mitään näin kunnianhimoista tulee harvoin vastaan.
Itselläni tulee tammikuussa kaksi vuotta täyteen oman robottikäden rakentelun aloittamisesta, joka on hyvin samantyylinen tuon omasi kanssa. Sen vähän mitä sitä olen jaksanut ohjelmoida pohjalta sanoisin, että käsien synkkaaminen lopulliseen malliin tulee olemaan todella haasteellista.

Homma näyttäisi kuitenkin ainakin toistaiseksi olevan hallinnassa, odotan lopputulosta mielenkiinnolla.
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 08/12/2017 17:12
Käsien ohjaaminen on tosiaan ihan haaste. Yksinkertaisin lähestymistapa tähän on laittaa kaikki nivelet kääntymään vuorollaan oikeaan paikkaa, ei kovin sulavaa tai tehokasta.

Hieman parempi mutta silti kohtuu yksinkertainen tapa on laittaa kaikki servot ajamaan uuteen paikkaan samassa ajassa. Eli siis kaikki servot lähtevät liikkeelle ja pysähtyvät samanaikaisesti. Hieman yksityiskohtaisemmin selitettynä: ohjelma antaa jokaiselle servolle paikan ajan funktiona ja ohjelman toinen osa on tehty seuraamaan tätä paikkaa. Näin saadaan aikaiseksi servo joka liikkuu esim. 720 astetta tasan 2 sekunnissa. Ohjelma on siis kahdessa osassa, jotka ovat toteutukseltaan riippumattomia toisesta. Toinen osa antaa pisteitä servoille ja toinen pistää servot seuraamaan näitä pisteitä. Toisen osan parantaminen tai muokkaminen ei siis vaadi muutoksia toiseen pätkään. Nyt servo-ohjauksen hiominen ja arvojen kohdalleen saaminen on siis melko suoraviivaista.

Toisin kuin helposti luulisi, käsi ei kuitenkaan liiku tällä ohjaustavalla pisteestä A pisteeseen B suoraa viivaa pitkin. Lisäksi koordinaatisto, joilla käsiä ohjataan, on jokseenkin hankalasti ymmärrettävä, sillä nyt käsiä ohjataan suoraan halutuilla servojen asteilla. Tällä tavoin ohjatessa käsiä ei voi siis ajaa suoraan haluttuun pisteeseen tietämättä, mihin kulmiin servot pitää ajaa.

Vielä parempi (ja paljon monimutkaisempi) tapa ohjata käsiä, olisi laskea kulmat, joihin jokainen nivel pitää ajaa, jotta päädytään tiettyyn pisteeseen. Tämä on matemaattisesti melko monimutkainen ongelma etenkin 6 akselisella robottikädellä. Ratkaisu ongelmaan sisältää matriiseja, vektoreita ja ties mitä.. Olen ratkaissut robotin (eng: inverse kinematic model, en tiedä mikä suomeksi), ja sen avulla robotin kädet saa liikkumaan suoria viivoja tai mitä tahansa muita muotoja pitkin. Käytännössä tämän hyödyntäminen ei kuitenkaan onnistu, sillä NXT:n kyky laskea noita pisteitä on rajallinen.

Kahden käden ohjaaminen on luonnollisesti vielä monimutkaisempaa.. Onneksi nyt kun käsien ohjaaminen yksistään tuntuu melko toimivalta kaikin puolin, en usko että tästä aiheutuu suurta ongelmaa. Kädet keskustelevat toisilleen valoa vilkuttamalla ja pysyvät siten synkassa.

Jännä tosin nähdä, miten homma pyörähtää, kun kaikki toimii paperilla.. Eköhän tästä vielä joku jännä ongelma saada aikaiseksi.



Muokattu 1 kertaa. Muokattu viimeksi 10/12/2017 18:28.
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 04/01/2018 10:47
Koppa alkaa muotoutua:







Joulun aikana purkki ei tullut valmiiksi kaikenlaisen muun menon takia. Nyt edessä onkin sitten vain liikeratojen hakemista ja puhelimen koodailua.
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 09/01/2018 22:26
Vähän erilaista rakentelua...

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 11/01/2018 09:41
Vähän päästiin mukavuusalueelta tuon NXT:n kanssa... Jännäähän se on purkaa sähkölaitteita joiden toiminnasta ei oikeastaan ymmärrä ihan hirveästi.

Tosiaan NXT ei enää käynnistynyt ollenkaan ja purkamisen jälkeen selvisi, että liitos pattereista piirilevyyn oli murtunut. Aika pienellä juottamisella homma ratkesi ja enää tuo NXT ei varmasti ratkea ainakaan samasta paikasta uudestaan.


Sneek peek ;)
avatar

JK

Admin

RY:n jäsen

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 17/01/2018 22:39
Uusinta BrickJournalia lukiessa tuli mieleen, että tämä projekti kannattaisi dokumentoida kyllä kyseiseen lehteen.



Foorumin Admin, Palikkatakomon perustajajäsen, AFOL-rakentaja.
HOViNET.com ¤ Stopping the Motion since 2002 ¤ YouTube


avatar

Samppu92

Hallituksen puheenjohtaja

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 17/01/2018 23:10
Lainaus
JK
Uusinta BrickJournalia lukiessa tuli mieleen, että tämä projekti kannattaisi dokumentoida kyllä kyseiseen lehteen.


Ei olisi hassumpi idea minustakaan, siistiltä vaikuttaa. Odotan suurella mielenkiinnolla,
että pääsen näkemään tämän.


- Samppu

---------------------------------------------------------------------------


Lego-superfani
Star Wars -superfani
Aivotutkimus on intohimo.
Kissat <3

"Play is the highest form of research." - Albert Einstein
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 18/01/2018 14:06
Lainaus
JK
Uusinta BrickJournalia lukiessa tuli mieleen, että tämä projekti kannattaisi dokumentoida kyllä kyseiseen lehteen.

Pitänee tutustua tuohon.. Minkälaisesta lego-julkaisusta on kyse?

Nyt kuutio siirtyy jo sujuvasti kädestä toiseen, jäljellä onkin vain sivujen kääntäminen ja kuvaaminen. Kääntämisen kanssa vähän huolestuttaa se, miten tarkasti sivut kääntyvät kohdilleen, sillä kuutio jumittuu jos sivu ei ole riittävän suorassa toista sivua vasten. Tähänkin olen tosin jo kehittänyt ratkaisun jos siitä aiheutuu oikeita ongelmia...

Kuution kuvaaminen ei ole vaikea, Puhelimeen pitää vain määrittää se, missä järjestyksessä sivut skannataan, miten päin ne ovat ja missä kohdassa kuvaa kuutio on missäkin vaiheessa.

Pitkällä aletaan olla tämän projektin kanssa :)

R2-D2

RY:n jäsen

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 18/01/2018 15:19
Aika ottaa käyttöön asentovirheitä paremmin sietävä kilpakuutio?

esim. Speed cube

terv. R2-D2
********************
Palikat pitää laittaa liikkumaan, ne tykkää siitä !
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 18/01/2018 16:26
Käytössä on juuri tuo kyseinen kuutio ;)
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 19/01/2018 19:20
Tälläista tänään...

Kovin nopeastihan nuo kädet eivät liiku, mutta olen tyytyväinen siihen, miltä näyttävät liikkuessaan. Videolla yhden sivun kaikki kolme kääntömahdollisuutta.

video on näköjään aika huge... varovaisuutta
avatar

JK

Admin

RY:n jäsen

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 19/01/2018 19:28
Wau. Tästä pitää kyllä kuvata timelapsevideota Expossa. Usean minuutin pätkä, jonka sitten nopeuttaa.



Foorumin Admin, Palikkatakomon perustajajäsen, AFOL-rakentaja.
HOViNET.com ¤ Stopping the Motion since 2002 ¤ YouTube


:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 08/05/2018 09:33
Valitettavasti tämä projekti jäi tauolle nyt kevääksi, sillä opiskelukiireet ja muut menot eivät oikein antaneet aikaa ratkoa käsissä ilmenneitä ongelmia. Käsissä on nyt ollut pientä ongelmaa, mikä ratkennee ihan lähiaikoina kun käsille voi taas antaa kunnolla aikaa.

Nyt pyörittelen mahdollisuutta päivittää nuo NXT:t... Jos kädet toimisivat EV3:lla onnistuisi muun muassa käsien Daisy Chainaus, mikä tarkoittaa sitä, että kolme älypalikkaa toimii ohjelmoinnin kannalta yhtenä palikkana. Lisäksi EV3 olisi toimivat näytöt, mikä helpottaisi käyttöä hyvin paljon. Suurin ulospäin näkyvä päivitys olisi kuitenkin se, että EV3:ssä todennäiköisesti riittää laskentateho ratkaisemaan käden kinematiikkoja reaaliaikaisesti tai ainakin muisti riittäisi etukäteen ratkaistujen kinematiikkojen tallentamiseen. Lyhyesti tämä tarkoittaisi sitä, että kädet saisi liikkumaan suoria liikeratoja pitkin.

Ehkäpä sitten syksyllä homma alkaa olla paketissa. Toivotaan että kesä on sateinen ja kylmä niin on aikaa nysvätä sisällä...

R2-D2

RY:n jäsen

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 08/05/2018 11:44
Moro

laskentatehon ja muistin suhteen päivityksen tarjoama parannus olisi huikea.
Mutta daisy chain:in suhteen elämä ei aina ole yhtä ruusuista. Yhteyden hitaus on tuo omaa haastetta konfiguraation laatimiseen.

terv. R2-D2
********************
Palikat pitää laittaa liikkumaan, ne tykkää siitä !
:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 10/05/2018 14:05
Tuli mieleen vaihtoehtoinen tapa saada robokäsi liikkumaan ennalta asetettuja liikeratoja:

Jos alku- ja päätepisteen välille piirtää suoran ja liikutuksen ratkaisee kokeilemalla vaihettain kokeilemma mitä servoja kannattaa liikuttaa yksi aste, jotta uusi sijainti olisi mahdollisimman lähellä aiemmin piirrettyä suoraa ja lähempänä päätepistettä kuin edellinen sijainti. Toki tässä on pieni riski siihen, että käsi liikkuu pientä siksakkia kohti päätepistettä mutta edellytykset onnistumiselle olisi olemassa. Nopeasti arvioituna sellainen liike, jossa jokin servo liikkuu 1 000 astetta vaatisi noin 1 000 000 kokeilua siitä, mihin robokäsi päätyy. Luku saattaa kuulostaa todella isolta mutta on ihan siedettävän suuruinen. Varmaankin aika pienillä optimoinneilla luvun saisi tuntuvasti pienemmäksi.

Sopivaa liikerataa laskettaessa pitää siis keksiä kulmat joissa robottikäden tulee olla, jotta päästään haluttuun paikkaan ja tämä on vaikeaa. Tämän ratkaisun etu olisi se, että yhtälöä tarvitsisi ratkoa ainoastaan ns. helppoon suuntaan. Parempi vaihtoehto toki olisi vain väkisin vääntää ratkaisualgoritmi koodiksi mikä tuntuu valitettavasti olevan vähän ylitsepääsemättömän vaikeaa.

En tiedä onko tämä vaihtoehto kevyempi NXT:lle tai EV3:lle mutta ainakin sitäkin voisi yrittää, ainakin toteutus olisi helppo. Kolmas vaihtoehto on tallettaa kulmat ja simuloida liike tietokoneella. Tästä saadun liikenradan saisi varmastikin mahdutettua myös NXT:n muistiin.

Toinen homma mikä pitäisi vaan hoitaa olisi feikkipatterien tekeminen. Nyt käytössä on aika härskit viritelmät, joilla sähkö menee vaan jotenkin seinästä Legoihin. Harkitsen patterien 3D printtausta... Jos jollain on hyviä ideoita niin otan vastaan. Samalla voisi vähän siistiä laitteen sähköviritelmää yleensä.

Tällaista tänään...
avatar

Heppu

RY:n jäsen

:: Lainaa ::
Aihe: Re: Zwenkka Being Mindstormed - 10/05/2018 23:28
Juuri menossa yliopistolla kurssi, jossa lopputyönä piti suunnitella ryhmässä 3DOF robottikäsi legoista.

Lainaan EV3 kitin lisäksi saatiin keskusyksiköksi Brickpi3. Se on periaatteessa Rasberry pi, johon on liitetty portit mindstorms sensoreille ja moottoreille. Toimii joko pattereilla tai suoraan seinästä sopivalla DC12V muuntajalla. Ohjelmointi Pythonilla, mutta muutkin kielet kai toimivat. Tuo ei tosin sinun hommaasi suoraa sovi, kun siinä on paikat vain neljälle moottorille.

Itselläni ei ole uudempia mindstormeja ole (ainakaan vielä, tulossa on...), joten en laskentatehoa osaa verrata. Meidän robotilla laskennassa ei ole näkyvää viivettä liikkeeseen. Toisaalta sen pitää laskea vain kolmen nivelen inverse kinematics, joka on vielä melko simppeli verrattuna tähän sinun projektiisi :) .


Vain rekisteröityneet käyttäjät voivat kirjoittaa tähän foorumiin.

Klikkaa tähän kirjautuaksesi sisään