Autor Téma: (vlastní) Lignite: Program LEGO Mindstorms EV3 in Ruby  (Přečteno 2546 krát)

0 uživatelů a 1 Host prohlíží toto téma.

Offline kosutoki

  • Trade Count: (0)
  • zelenáč
  • *
  • Příspěvků: 7
Ahoj!

mám rozdělanou knihovnu na ovládání EV3 z jazyka Ruby. Nevyžaduje zvláštní firmware jako např. ev3dev, pracuje s originálním.
Zatím to umí velmi málo věcí, ale třeba to někoho bude zajímat už teď.

https://github.com/mvidner/lignite
https://rubygems.org/gems/lignite

Offline Foton

  • Trade Count: (3)
  • furťák
  • *****
  • Příspěvků: 1161
  • Pohlaví: Mužské
Re:(vlastní) Lignite: Program LEGO Mindstorms EV3 in Ruby
« Odpověď #1 kdy: 23.02.2018, 09:06:07 »
Cože rubysta a Mindstorm!? Získal jsi moji pozornost.
Kdo chce hledá způsoby, kdo nechce hledá důvody.

Offline ThomasMorta

  • Jsem AFOL a mám rád Nexo Knights
  • Trade Count: (0)
  • suprák
  • ****
  • Příspěvků: 481
  • Pohlaví: Mužské
  • Legem si plním dětské sny!
    • Galerie mojí tvorby
Re:(vlastní) Lignite: Program LEGO Mindstorms EV3 in Ruby
« Odpověď #2 kdy: 23.02.2018, 13:58:41 »
Ruby mě zatím minulo, ale rozhodně mě zajímá veškeré rozšiřování možností EV3.

Můžete mě kdyžtak nějak stručně seznámit s přednostmi Ruby. A taky tím, jak přesně z pohledu uživatele vypadá to ruby navlečené přes klasický firmware - chápu tedy správně, že je to  něco jako "alternativní" IDE, které se potom překládá do stejných programů jako EV3-G?
Jsem AFOL a miluju řadu Nexo Knights!
Diskuse o Nexo Knights: NEXO KNIGHTS :: vlastní tvorba, modifikace, sbírky... :: Galerie mojí tvorby (hostováno na Rajce.cz)

Offline kosutoki

  • Trade Count: (0)
  • zelenáč
  • *
  • Příspěvků: 7
Re:(vlastní) Lignite: Program LEGO Mindstorms EV3 in Ruby
« Odpověď #3 kdy: 23.02.2018, 14:18:51 »
Foton:

Díky. Až to bude umět něco pořádného, budu spamovat :)

ThomasMorta:

Shodou okolností Ruby zrovna slaví 25. narozeniny a tady pod tím hashtagem se sešla spousta důvodů, proč ho lidi mají rádi: https://twitter.com/search?q=%23ruby25th

Lignite není IDE. Mně se ta oficiální grafická prostředí celkem líbí (EV3 Programmer na tablety, EV3-G (Labview) na Windows), ale chyběl mi k tomu přístup přes "normální" textový jazyk, na které jsem zvyklý.

Výsledný kód jsou bytekódy interpretované oficiálním firmwarem (LMS2012), tedy obsah souborů RBF. Něco jako lmsasm, ale z vyššího jazyka: https://github.com/ev3dev/lmsasm

Offline kosutoki

  • Trade Count: (0)
  • zelenáč
  • *
  • Příspěvků: 7
Re:(vlastní) Lignite: Program LEGO Mindstorms EV3 in Ruby
« Odpověď #4 kdy: 26.02.2018, 09:06:46 »
Plyšáci s tou knihovnou zadali svému robotovi, aby jim servíroval čajík.

Video: https://www.youtube.com/watch?v=0KOEvz09kkA

Zdroják: https://github.com/mvidner/lignite/blob/a334ed349bcd6621c0dd9585414b6ad3eeee9fe8/examples/bobbee.rb

Offline Foton

  • Trade Count: (3)
  • furťák
  • *****
  • Příspěvků: 1161
  • Pohlaví: Mužské
Re:(vlastní) Lignite: Program LEGO Mindstorms EV3 in Ruby
« Odpověď #5 kdy: 26.02.2018, 09:45:27 »
Vypadá to vtipně.
Předpokládám, že řízení pohybu je skrz barevný senzor a čtverce na podlaze. V takovém případě bych zvolil spíš klasické "sledování čáry".

Ale ten samotný program je tedy tfuj velebnosti. Rozhodně se nečte dobře. Když budumít čas, zkusím to upravit.
« Poslední změna: 26.02.2018, 09:48:51 od Foton »
Kdo chce hledá způsoby, kdo nechce hledá důvody.

Offline kosutoki

  • Trade Count: (0)
  • zelenáč
  • *
  • Příspěvků: 7
Re:(vlastní) Lignite: Program LEGO Mindstorms EV3 in Ruby
« Odpověď #6 kdy: 26.02.2018, 10:20:55 »
Předpokládám, že řízení pohybu je skrz barevný senzor a čtverce na podlaze. V takovém případě bych zvolil spíš klasické "sledování čáry".

Ne, pohyb je úplně naslepo. Ten robot je standardní Bobb3e, https://www.lego.com/mindstorms/build-a-robot/bobb3e, a přestože barevný senzor se nabízí jako logické vylepšení, zatím to nebylo potřeba. Stačí zvolit standardizované prostředí (podložka z Boostu) a několik hodin kalibrovat :D

Offline Foton

  • Trade Count: (3)
  • furťák
  • *****
  • Příspěvků: 1161
  • Pohlaví: Mužské
Re:(vlastní) Lignite: Program LEGO Mindstorms EV3 in Ruby
« Odpověď #7 kdy: 26.02.2018, 10:46:50 »
No právě. Jednou jsem stavěl robota co kreslil "prostřelené srdce" (https://www.youtube.com/watch?v=9r5CNmIwiT4) a kalibrace vydržena přesně 1 běh. Jednou ujede na jednu otočku X, příště Y.

A proč teda vždycky ten Tvůj tak couvá? Já myslel, že hledá "hranici".
Kdo chce hledá způsoby, kdo nechce hledá důvody.

Offline kosutoki

  • Trade Count: (0)
  • zelenáč
  • *
  • Příspěvků: 7
Re:(vlastní) Lignite: Program LEGO Mindstorms EV3 in Ruby
« Odpověď #8 kdy: 26.02.2018, 11:08:33 »
Jé, ten Picasso je dobrý! Ale jak je dlouhý, tak se setrvačností snadno přetočí a kalibrace asi moc nepomůže.

Samozřejmě, že kalibrace naslepo má limity. Proto například jezdím na papírové podložce, abych měl stálé tření, a je to podložka z Boostu, která na rozdíl od té z EV3 má pěkné čtverce. Pěkně tuhý pásový robot je nutnost. Humanoidní Everstorm sice vypadá cool, ale na těch vrdlavých nohách je to fakt loterie, kam se otočí.

To couvání je proto, aby robot udělal pěkně vpravo-vbok uvniř čtverce. Má totiž osu otáčení mezi zadními osičkami, takže pro vycentrovaný vpravo-vbok musí popojet dopředu, otočit se, a zacouvat. Chytřejší program by stejnosměrné+protichůdné pojezdy sloučil prodloužením nebo zkrácením, ale to bude možná až v budoucí verzi.

Offline kosutoki

  • Trade Count: (0)
  • zelenáč
  • *
  • Příspěvků: 7
Re:(vlastní) Lignite: Program LEGO Mindstorms EV3 in Ruby
« Odpověď #9 kdy: 20.04.2018, 13:32:12 »
Určitě znáte Jasona Allemanna z JK Brickworks.

Postavil jsem si jeho telegrafní tiskárnu http://jkbrickworks.com/telegraph-machine-and-printer/ a přepsal jsem ovládací program do Ruby, s použitím Lignitu.

Tady je k tomu pár slajdů: https://speakerdeck.com/mvidner/lignite-program-lego-mindstorms-ev3-robots-in-ruby