Spisu treści:
- Krok 1: Schemat przepływu
- Krok 2: GŁÓWNE ELEMENTY ZAANGAŻOWANE:
- Krok 3: MODUŁ V1:
- Krok 4: MODUŁ V2:
- Krok 5: POWIĄZANE PROBLEMY -
- Krok 6: MODUŁY A1 i A2:
- Krok 7: Link do filmów:
Wideo: Samochodowy robot: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Co zrobiłem?
● Bot, którego można nauczyć chodzenia (poruszania się do przodu) po różnych powierzchniach. Bot przedstawia proste stworzenie z 4 nogami „bez kolan”, które stara się iść do przodu. Wie, że może ustawić każdą z nóg tylko na 3 sposoby. Teraz musi wymyślić najlepsze możliwe kroki, jakie może podjąć, aby iść dalej. Ponieważ jego ruch zależy również od tarcia o powierzchnię, uważamy, że dla każdej innej powierzchni, po której się porusza, będzie inny (niekoniecznie wyjątkowy, ale najprawdopodobniej podobny) zestaw kroków, aby zmaksymalizować wysiłek poruszania się naprzód.
Do czego jest to używane?
● Najlepiej nadaje się do wizualizacji wzorców chodzenia robota AI.
Krok 1: Schemat przepływu
Oto podział całego projektu. Ogólnie rzecz biorąc, projekt składa się z 2 części elektroniki z mechaniczną strukturą robota, a druga to algorytm działający na komputerze i kod działający na arduino.
Krok 2: GŁÓWNE ELEMENTY ZAANGAŻOWANE:
Elektronika
Arduino UNO(!)
Czujnik ultradźwiękowy
Serwosilniki
Moduł Bluetooth
Kodowanie
IDE Arduino
Teraterm
Notatnik Jupytera
Q-algorytm uczenia
Krok 3: MODUŁ V1:
Wzmacnianie uczenia: Korzystając z ANN (Artificial Neural Network) zaplanowaliśmy szkolenie naszego robota i wymyśliliśmy dwie możliwe metody.
Ograniczenia: Każda noga (serwomotor) jest ograniczona do zajmowania tylko 3 możliwych pozycji 60, 90 i 120 stopni. Założenia: Uważamy, że ruch bota będzie składał się z 4 stanów (stan jest określoną orientacją wszystkich czterech serw), tj. będą 4 różne stany robota, które rozważymy jako 4 kroki dające nam jeden cykl ruchu, w które bot przesunie się na pewną odległość do przodu. Ten cykl będzie powtarzany w nieskończoność, aby utrzymać bota w ruchu.
Ale jedynym problemem była liczba iteracji do oceny - mamy 3 możliwe orientacje dla każdego silnika i są 4 różne silniki, co sprawia, że 3^4=81 stanów, w których robot może istnieć w jednym kroku lub stanie. Aby wykonać jeden złożony ruch, musimy wykonać 4 różne kroki, co oznacza, że 81^4 = 43,046,721 możliwych kombinacji do sprawdzenia pod kątem maksymalnej wydajności w jednym cyklu ruchu. Załóżmy, że wytrenowanie jednego stanu zajmuje 5 sekund, a ukończenie szkolenia zajęłoby 6,8250 lat!
Krok 4: MODUŁ V2:
Algorytm Q-learning
Algorytm wczesnego uczenia się przez wzmacnianie opracowany do trenowania rzeczy mających skończony stan i znajdowania najkrótszych ścieżek. źródło:
Math of Algorithm: Istnieje 81 możliwych stanów dla każdego kroku, w którym bot może się znajdować, nazywamy te stany liczbami od 1 do 81, a teraz to, co chcemy poznać, to wartość przejścia, czyli zmiana pozycji robota (przebyta odległość), podczas gdy przechodzi z losowego stanu s1 do innego stanu s2 (s1, s2 z tych 81 stanów). Widzimy to jako macierz o 81 wierszach i 81 kolumnach, gdzie element macierzy będzie równy wartości odległości, z której się przesunął, odpowiadającej jego numerowi wiersza i kolumny. Wartości te mogą być dodatnie lub ujemne w zależności od działania robota w prawdziwym słowie. Teraz znajdziemy zamkniętą pętlę stanów, w której przebyta odległość jest zawsze dodatnia. Będziemy oceniać wartości macierzy 81x81, które wynoszą 81^2=6561, teraz jeśli zajmiemy 5 sekund, aby zapisać te wartości w macierzy, stworzenie całej matrycy zajmuje tylko 9.1125 godzin, a następnie można łatwo wymyślić pętlę kroków, aby zmaksymalizować wydajność przenoszenia.
Krok 5: POWIĄZANE PROBLEMY -
- W pewnym stanie ruch robota był bardzo nierównomierny i wpływał na wartość czujnika ultradźwiękowego, bot przechylał się i podnosił odległość od odległej ściany.
- Problem z odłączeniem się od laptopa i ponownym uruchomieniem arduino powodował, że trenował od wartości 0 był bardzo irytujący.
- Obserwowanie pociągu robota przez 5 godzin bez przerwy było bardzo wyczerpujące.
Krok 6: MODUŁY A1 i A2:
- Część mechaniczna to płyta podwozia z przymocowanymi do niej czterema serwomechanizmami. Do wykonania nóg wykorzystaliśmy patyczki do lodów.
- Naszym głównym zadaniem jest śledzenie odległości bota od jego początkowej pozycji.
- Nasze pierwsze podejście polegało na użyciu czujnika żyroskopowego i przyspieszeniu poruszającego się robota, aby wydobyć jego prędkość, a następnie jego pozycję.
- Problem - okazał się zbyt skomplikowany do wdrożenia! Alternatywa - Ograniczyliśmy ruch robota tylko do 1 wymiaru i użyliśmy czujnika ultradźwiękowego do pomiaru odległości od ściany na wprost.
- Moduł HC05-Bluetooth był używany podczas treningu do przesyłania szybkości przejścia odległości między dwoma krokami do komputera i tam dane były przechowywane w macierzy.
Krok 7: Link do filmów:
Kroki dziecka:
Zdjęcie szkoleniowe:
Prawie prosto:
Film z tańczącym robotem:
Film końcowy0:
Zalecana:
Zrób to sam: Monitoruj akumulator samochodowy: Kod i konfiguracja: 8 kroków
Zrób to sam: Monitoruj akumulator samochodowy: Kod i konfiguracja: Możliwość monitorowania akumulatora samochodowego może zapobiec nieprzyjemnym niespodziankom. Pokażę jak zmontowałem sprzęt, wczytałem oprogramowanie i zainstalowałem monitor w moim samochodzie. Będę używał płytki ESP8266 o nazwie Wemos D1 Mini.New t
Prosta zgrzewarka punktowa wykorzystująca akumulator samochodowy do budowy akumulatora litowo-jonowego: 6 kroków
Prosta zgrzewarka punktowa wykorzystująca akumulator samochodowy do budowy akumulatora litowo-jonowego: W ten sposób wykonałem zgrzewarkę punktową z akumulatorem samochodowym, który jest przydatny do budowy akumulatorów litowo-jonowych (litowo-jonowych). Za pomocą tego zgrzewarki punktowej udało mi się zbudować pakiet 3S10P i wiele spoin. Ta instrukcja zgrzewarki punktowej obejmuje blok funkcjonalny Dia
Jak stworzyć fałszywy alarm samochodowy za pomocą timera 555: 5 kroków
Jak stworzyć fałszywy alarm samochodowy za pomocą timera 555: Ten projekt pokazuje, jak zrobić migające światło LED z pięciosekundowym opóźnieniem za pomocą NE555. Może to służyć jako fałszywy alarm samochodowy, ponieważ naśladuje system alarmowy samochodu z jasnoczerwoną migającą diodą LED. Poziom trudności Sam obwód nie jest trudny
Uchwyt samochodowy Raspberry Pi: 10 kroków (ze zdjęciami)
Uchwyt samochodowy Raspberry Pi: szukałem sposobu na zamontowanie monitora i Raspberry PI w moim samochodzie. Wydaje się, że nic w Internecie nie pasuje do mojej sytuacji, więc wymyśliłem ten wydrukowany w 3D uchwyt. Wykorzystuje wydrukowaną w 3D podstawę, różnego rodzaju osprzęt (śruby, wsporniki itp.) oraz zakupiony tablet
Jak złożyć DIY Samochodowy Zestaw Samochodowy Solarny: 4 Kroki
Jak złożyć zestaw samochodzików solarnych DIY: Chcesz nauczyć swoje dziecko energii odnawialnej? Zapomnij o targach naukowych, jest to tani zestaw zabawek na baterie słoneczne, który możesz kupić za mniej niż 5 $ i nigdy nie wymaga baterii do zabawy. Za tę samą kwotę możesz kupić zbudowany model, ale teraz gdzie jest f