Skocz do zawartości

Pomocna odpowiedź

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Nic nie jest głośne - po prostu nie masz skali odniesienia bo nie ma innych dźwięków. Poza tym tu akurat robot jeździ po panelach pod którymi jest pusto i robi się z tego klasyczny rezonator 🙂

 

  • Lubię! 1
  • 3 tygodnie później...

Fajny robocik.
Interesuje mnie problem utrzymania kierunku i skrętów.
Czy to funkcja readGyro() i wyliczenie "mikro" rotacji jest za to odpowiedzialna ?

    float delta=(rotspeed = (gyro.g.z - 5.8)) * (ms - gyrotime) * 8.75E-9;
    rotation += delta;

 

 

Gość

A gdzie obrotowe szczotki czyszczące podłogę i spryskiwacz płynu dezynfekującego?? ehhh..

8 godzin temu, Przemek1967 napisał:

Interesuje mnie problem utrzymania kierunku i skrętów.

Zastosowałem tu bardzo uproszczoną wersję. Zmienna "rotation" (trochę niefortunnie dobrana nazwa, ale to pozostałości po pierwszych testach) zawiera aktualny kierunek jazdy robota. Przy jeździe prosto odchylenie od zera o zbyt dużą wartość powoduje, że robot zaczyna skręcać próbując utrzymać kierunek jazdy. Przy skręcie (jedno koło napędzane) lub obrocie w miejscu(oba koła napędzane przeciwbieżnie) robot kończy skręt kiedy wartość rotation osiągnie zadaną wartość. Co prawda bezwładność układu napędowego powoduje, że w rzeczywistości skręt jest zbyt mocny, ale nadrabiane jest to w następującym po skręcie ruchu do przodu (rotation na początku przyjmuje wartość odchylenia od żądanego kierunku), a w przypadku obrotu o 180° po prostu zadana wartość jest nieco mniejsza, aby uwzględnić i w pewnym stopniu skorygować ową bezwładność. Również przy pomiarach kątów uwzględniona jest rzeczywista pozycja robota.

Oczywiście coś takiego nie nadaje się do poważniejszych celów, ale w przypadku robota który nie musi być precyzyjny co do milimetra (przecież to jeździ po podłodze, a nie polu minowym) wystarcza.

7 godzin temu, atMegaTona napisał:

A gdzie obrotowe szczotki czyszczące podłogę i spryskiwacz płynu dezynfekującego??

To nie ta wersja - na razie to o czym piszesz jest w fazie bardzo wstępnych projektów (próbuję pogodzić ze sobą wymagania co do kształtu i rozmiarów robota z rozmieszczeniem szczotek i ogólnie problemami wynikającymi z braku możliwości wykonania bardziej precyzyjnych elementów). Patrz - wnioski na końcu pierwszego posta.

Poza tym nakrętki i śrubki nie wymagają szczotek ani płynu 🙂

 

(edytowany)

@ethanak Dzięki za słowny opis. Tak przypuszczałem że to działa choć nie pomyślałem o bezwładności silników podczas skrętu i korekcie dopiero podczas kolejnego ruchu. Pewnie bym próbował od razu skorygować pozycję co doprowadziłoby do ciągłego "dygotania" robota bo nigdy by się precyzyjnie nie ustawił. Ewentualnie bawił bym się jeszcze regulacją prędkości przez PID.

Widać na przykładzie że Gyroscope jest wystarczająco dokładne dla domowych czy zabawowych zastosowań, a zwłaszcza prostsze niż montaż enkoderów.

Dzięki za inspirację 🙂

Edytowano przez Przemek1967

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ę »
×
×
  • Utwórz nowe...