r_bot Napisano Sierpień 29, 2015 Udostępnij Napisano Sierpień 29, 2015 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 More sharing options...
Chumanista Sierpień 29, 2015 Udostępnij Sierpień 29, 2015 Przy okazji wspomnę o jednej rzeczy przez którą zmarnowałem godzinę. Żyroskop na POTĘŻNY dryft jeśli porusza się jakkolwiek podczas inicjalizacji. Ogólnie Lego Mindstorms to moim zdaniem jakaś ogromna pomyłka. Link do komentarza Share on other sites More sharing options...
Bobby Wrzesień 2, 2015 Udostępnij Wrzesień 2, 2015 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 More sharing options...
Chumanista Wrzesień 2, 2015 Udostępnij Wrzesień 2, 2015 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 More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
r_bot Wrzesień 2, 2015 Autor tematu Udostępnij Wrzesień 2, 2015 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 More sharing options...
Bobby Wrzesień 4, 2015 Udostępnij Wrzesień 4, 2015 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 More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »