Kérdés:
Hogyan tárolhatunk egy értékmátrixot, és kiválaszthatunk bizonyos elemeket, és kiszámíthatjuk a különbséget?
Bob Burt
2016-01-19 05:26:10 UTC
view on stackexchange narkive permalink

Jelenleg egy EV3 robotot próbálok készíteni, amely képes egy gradiens tisztességes módszer követésére. Az ötlet az volt, hogy egy diszkretizált függvényt egy 2D-s mátrixban tároljak, és több keresést végezzünk abban a 2D-s mátrixban, ahol kiszámítom a helyzet és a szomszéd helyzete közötti különbséget. majd a robotot csökkenő gradienssel az irányba mozdítsa.

Ehhez ...

Hogyan használhatom az EV3 szoftvert:

  • Mátrix létrehozásához?
  • Tárolja az értékeket a mátrixban?
  • Készítsen kereséseket a mátrixban?
  • Kivonja ezeket a kereséseket?

Ez sokkal egyszerűbb lehet a C ++ nyelven, de van bármilyen támogatott firmware, amely képes a C vagy C ++ futtatására ugyanúgy, mint az NXC-vel vagy ilyesmivel? Valami valamilyen dokumentációval?

Megnézted a [LeJOS] -ot (http://www.lejos.org/ev3.php)? Java az EV3-hoz ... nagyon biztos, hogy ezt ott elvégezheti.
Java .. igen, meg tudnám csinálni a c / c ++ használatát?
Persze, nézd meg a [RobotC] webhelyet (http://www.robotc.net/download/lego/)
A probléma az, hogy meg kell vásárolnom, és a próba csak 10 napig tart, ami nem lenne elegendő idő a teszteléshez, és megnézhetem, hogy a kódolt megoldás rendelkezik-e a kívánt könnyedséggel ..
Ezután nézze meg ezt a bejegyzést a StackOverflow testvéroldalunkon: http://stackoverflow.com/questions/28526200/how-to-program-lego-mindstorms-ev3-using-c-language
Nincs 10 egymást követő napom, hogy teszteljem, keresem-e a megoldást az igényeim szerint.
Kettő válaszokat:
David Lechner
2016-01-20 01:14:45 UTC
view on stackexchange narkive permalink

Úgy tűnik, hogy ez az alkalmazás a LEGO által biztosított hivatalos szoftver határait feszegeti. Ha érdekli a C / C ++ (vagy bármely más programozási nyelv), nézze meg a http://www.ev3dev.org oldalt.

Azt szeretném mondani, hogy az ev3dev nem firmware, mivel microSD kártyáról fut, és nincs betöltve az EV3 flash memóriájába. Mindazonáltal ez egy alternatív operációs rendszer az EV3 számára azzal a céllal, hogy bármilyen tetszőleges nyelven programozhasson. A meglévő programozási könyvtárak listáját itt találja.

Azt hiszem, megpróbálom ezt, és megnézem, hogyan megy .. :)
A Brown
2016-01-20 02:37:37 UTC
view on stackexchange narkive permalink

Az EV3-G csak egydimenziós tömböket támogat. Írhat egy tömböt, amelynek hossza m-szer n, ahol m a sorok száma, és n az oszlopok száma. Az egydimenziós tömb helyes sora a (col-1) * n + sor lenne. A 2D index értékeinek 1D index értékekké konvertálásához egy myBlock-ot kell írnia, és fordítva. Azonban az EV3-G-ben mátrix manipulációk elvégzése fájdalmas. A tömbblokk használatával valóban annyit tehet, hogy elolvassa az indexet, ír egy indexet, hozzáfűzi és kiszámítja a tömb hosszát. Ez a legtöbb célt lefedné (feltételezve, hogy a 2D-t átalakítja 1D tömbgé). Lehetséges, de fájdalmas. Az ev3dev, a LeJOS vagy a RobotC jobb módszer lenne, és támogatják a többdimenziós tömböket.



Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...