Na tej stronie opisujemy, jak złożyć kontroler Androida 13, który steruje ruchem platformy testowej z fuzją czujników i oświetleniem w ITS-in-a-box. Test fuzji czujników jest częścią pakietu testów obrazu z kamery (Camera ITS) w Compatibility Test Suite (CTS). Kontroler Androida 13 umożliwia automatyzację poprzez sterowanie oświetleniem platformy testowej i serwomechanizmem w scenach testowych, które wymagają obracania i sterowania oświetleniem.
Omówienie kontrolera Androida 13
ITS-in-a-box zapewnia spójne środowisko testowe ze stałą odległością między tabletem a telefonem testowym, a także stałe oświetlenie bez zewnętrznego źródła światła. Kontroler Androida 13 automatyzuje sterowanie serwomechanizmem i oświetleniem, a także eliminuje konieczność ręcznego obracania urządzenia podczas testów scen z fuzją czujników i ręcznego włączania i wyłączania świateł podczas testów z kontrolowanym oświetleniem.
Sterowanie serwomechanizmami i oświetleniem w stanowiskach testowych
Stanowisko testowe z fuzją czujników zapewnia stały ruch telefonu, co umożliwia powtarzalne testy. Telefon jest obracany przed wzorem szachownicy, aby umożliwić rejestrowanie obrazów w różnych pozycjach. W przypadku testu test_sensor_fusion serwomechanizm obraca telefon wokół osi środka kamery o 90 stopni i z powrotem w ciągu około 2 sekund. W przypadku testu test_video_stabilization serwomechanizm obraca telefon wokół osi środka aparatu o 10 stopni w jedną i drugą stronę, aby naśladować ruch telefonu podczas nagrywania filmu w trakcie chodzenia. Ilustracja 1 przedstawia 2 telefony poruszające się w urządzeniu testowym do fuzji czujników. Ilustracja 2 przedstawia telefon poruszający się w urządzeniu testowym do fuzji czujników.
Rysunek 1. Ruch telefonu w urządzeniu testowym podczas testu test_sensor_fusion
Rysunek 2. Ruch telefonu w urządzeniu testowym podczas testu test_video_stabilization
Sterowanie serwomotorem
Analogowe serwomechanizmy w stanowisku testowym to serwomechanizmy pozycyjne sterowane za pomocą modulacji szerokości impulsu (PWM). Typowy przykład elementu sterującego pozycją pokazano na rysunku 3. Sygnał sterujący ma okres 20 ms. Zmiana szerokości impulsu na minimalną powoduje przesunięcie silnika do pozycji neutralnej, a zmiana szerokości impulsu na maksymalną powoduje przesunięcie silnika o 180 stopni w kierunku zgodnym z ruchem wskazówek zegara.
Rysunek 3. Typowy opis sterowania serwomechanizmem
Sterowanie oświetleniem
Aby sterować ruchem serwomechanizmu i światłami za pomocą komputera hosta, stanowisko testowe fuzji czujników wymaga połączenia USB. Kontroler Androida 13 korzysta z połączonej przez USB płytki Arduino UNO R3 z zamontowaną na niej niestandardową płytką routingu (lub nakładką). Kontroler Androida 13 może sterować maksymalnie 3 serwomechanizmami obrotowymi platformy do fuzji czujników i maksymalnie 3 systemami oświetleniowymi ITS-in-a-box lub 1 platformą do fuzji czujników z poziomu jednego komputera hosta.
Kontroler w wersji 3.0 z Androidem 13 umożliwia użytkownikom wyłączenie automatycznego resetowania po otwarciu portu szeregowego Arduino przez USB. Funkcja automatycznego resetowania jest włączana, gdy kontroler jest podłączony do innego hosta lub używany w innych przypadkach testowych. Użytkownicy mogą włączać i wyłączać automatyczne resetowanie za pomocą fizycznego przełącznika na kontrolerze.
Kontroler Androida 13 może współpracować z dowolnym zestawem testowym Camera ITS-in-a-box. Kontroler Androida 13 można podłączyć do dowolnego zestawu Camera ITS-in-a-box (RFoV, WFoV, Modular) lub Sensor Fusion, aby przeprowadzać testy w kontrolowanych warunkach oświetleniowych. Od Androida 15 wszystkie testy kontrolowane przez oświetlenie są uwzględniane w scene_flash i można je przeprowadzać za pomocą skrzynki do fuzji czujników, z wyjątkiem scene_low_light, który wymaga tabletu do wyświetlania wykresu i musi być przeprowadzany za pomocą Camera ITS-in-a-box.
W przypadku testów w scene_flash i scene_low_light wymagane jest ciemne otoczenie z wyłączonymi światłami, aby uruchomić funkcję automatycznej lampy błyskowej w telefonach testowych. Ilustracja 4 przedstawia włączanie i wyłączanie świateł w ITS-in-a-box za pomocą kontrolera z Androidem 13.
Rysunek 4. Światła włączane i wyłączane na potrzeby testu test_auto_flash
Historia zmian
W tabeli poniżej znajdziesz historię zmian kontrolera Androida 13 oraz linki do pobierania każdej wersji plików produkcyjnych.
| Data | Wersja | Pobieranie pliku produkcyjnego | Historia zmian |
|---|---|---|---|
| Sierpień 2024 r. | 3,0 |
|
|
| Grudzień 2022 r. | 2.2 |
|
|
| Marzec 2022 r. | 1 |
|
Konfiguracja kontrolera na Androidzie 13
W tej sekcji opisujemy, jak skonfigurować kontroler Androida 13.
Wymagane komponenty
Kontroler Androida 13 możesz kupić u jednego z naszych wykwalifikowanych sprzedawców lub zbudować go samodzielnie. Plik produkcyjny składa się z pliku PCB Gerber, listy materiałów PCB (BOM), informacji o umieszczeniu PCB i pliku STEP obudowy. Aby pobrać plik produkcyjny, zapoznaj się z tabelą w sekcji Historia zmian.
Jeśli tworzysz własny kontroler, musisz mieć płytkę Arduino UNO R3. Jeśli kontroler zostanie kupiony u autoryzowanego sprzedawcy, Arduino jest w zestawie.
Obudowa kontrolera Androida 13 to opcjonalny, ale zalecany element, który chroni kontroler i blokuje nieużywane porty USB, aby zapobiec błędom konfiguracji. Aby dowiedzieć się więcej o cenach i opcjach kontrolera, skontaktuj się z wykwalifikowanym dostawcą.
Procedura konfiguracji
Aby skonfigurować kontroler Androida 13, wykonaj te czynności:
Podłącz adaptery 12 V (do oświetlenia) i 5 V (do serwomechanizmu) do odpowiednich gniazd zasilania (rysunek 5).
Rysunek 5. Lokalizacja zasilacza
Podłącz światła ITS-in-a-box lub Sensor Fusion do jednego z gniazd wyjściowych kanału oświetleniowego (rysunek 6). W zależności od rodzaju zasilania lampy użyj odpowiedniej przejściówki (rysunek 7).
Rysunek 6. Lokalizacja wyjściowa kanałów oświetlenia
Rysunek 7. Adapter łączący zasilanie oświetlenia z kontrolerem
Aby skonfigurować sceny z fuzją czujników, podłącz serwomechanizm do jednego z nagłówków złącza kanału serwomechanizmu.
Rysunek 8. Lokalizacja połączenia serwomechanizmu
W przypadku kontrolerów w wersji 3.0 podczas podłączania kontrolera do nowego hosta przełącznik automatycznego resetowania musi być ustawiony w pozycji
Enable.W wersji 3.0 kontroler ma przełącznik automatycznego resetowania, który można włączyć lub wyłączyć. Podczas testowania zalecamy ustawienie przełącznika automatycznego resetowania w pozycji
Disable, aby zapobiec chwilowemu wyłączeniu wszystkich świateł na początku każdego testu, gdyits_base_testnawiązuje komunikację z kontrolerem Arduino. Jest to kluczowe podczas przeprowadzania testów równoległych (ITS działającego jednocześnie z systemem oświetlenia stanowiska testowego podłączonym do tego samego kontrolera).
Rysunek 9. Przełącznik automatycznego resetowania
Podłącz kontroler do hosta za pomocą kabla USB-A.
Rysunek 10. Port połączenia USB-A z hostem
Ilustracja 11 przedstawia przykład ukończonej konfiguracji kontrolera Androida 13 dla jednego systemu oświetlenia i serwomechanizmu.
Rysunek 11. Ukończono konfigurację kontrolera Androida 13
Sterowanie oprogramowaniem z hosta
Mikrokod można pobrać na UNO, aby przypisać piny PWM do sygnałów silnika i określić zakresy szerokości impulsu dla różnych kątów. Mikrokod do sterowania obrotem serwomechanizmów 6 silników HS-755MB znajduje się w sekcji Inne zasoby. Ta sekcja zawiera też link do prostego programu o nazwie rotator.py, który obraca serwomechanizmy.
Korzystanie z kontrolera Androida 13
Korzystanie z ITS aparatu:
python tools/run_all_tests.py device=device_id camera=0 rot_rig=arduino:1 scenes=sensor_fusion
Z dołączonym skryptem testowym:
python rotator.py --ch 1 --dir ON --debug