Skocz do zawartości

Lego NXT + LeJOS sprawdzenie trzech funkcji


r_bot

Pomocna odpowiedź

Nie znalazłem lepszego działu, więc piszę tutaj. Zapewne znajdzie się jakaś osoba na forum, która posiada robot lego nxt i korzysta z systemu LeJOS.

Niestety nie posiadam LEGO a chciałbym się dowiedzieć jakie wartości zwracają trzy funkcje.

1.int ecrobot_get_gyro_sensor(U8 port_id). Z tego co wyczytałem to surowe dane z żyroskopu tj. obroty w stopniach na sekundę.

2. int nxt_motor_get_count(U32 n) Przeczytałem, że to jest wychylenie wału silnika w stopniach, i zerowane przy przejściu przez 360 stopni.

3. void nxt_motor_set_speed(U32 n, int speed_percent, int brake). Ta funkcja ma za zadanie utawiać % wypełnienia sygnału PWM.

Czy jest to ktoś w stanie sprawdzić i potwierdzić? Najbardziej mnie interesuje trzecia funkcja czy to tylko samo PWM, czy jakiś regulator prędkości obrotowej.

Dzięki za pomoc.

r_bot

Link do komentarza
Share on other sites

Chumanista, to z dryftem żyroskopu do przewidzenia. Podczas inicjalizacji zapewne sterownik sobie zapisuje odczyt z żyroskopu jako 0, co potem odejmuje od wskazań, właśnie w celu eliminacji dryftu. Nie zgodziłbym się jednak, że Mindstorms to pomyłka - ile ludzi zaczęło przecież od nich swoją naukę robotyki. Wbrew pozorom, można na nich zrobić bardzo rozbudowane projekty, jak np. układacz kostki rubika. Wiadomo, można stworzyć dedykowaną mechanikę, elektronikę i soft do takiego projektu, ale główną zagadką w takim projekcie jest właśnie algorytm. Mechanicznie lego też bardzo rozwija wyobraźnię. Kurde, to jest pomoc dydaktyczna, a nie zabawka 😃

Link do komentarza
Share on other sites

Tylko właśnie to jest błędny sposób eliminacji dryftu w urządzeniu tej klasy. Dużo lepiej integrować żyroskop z magnetometrem lub akcelerometrem, a jak część kosztuje $30 to nawet użycie jakiegoś 9DOF nie byłoby większym problemem.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Ja buduję własnego robota. Mam algorytm sterowania robotem z Lego nxt. Chciałbym wiedzieć czy te funkcje robią to co napisałem w temacie? Ma ktoś dostęp do lego?

Link do komentarza
Share on other sites

tak "na oko", wygląda, że Twoje typy są poprawne 🙂 Co do tego set_speed() wydaje mi się, że jednak napędy w NXT standardowo korzystają ze sprzężenia zwrotnego, na pewno są wyposażone w enkodery (wiadomo to chociażby po funkcji zwracającej wychylenie silnika).

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.