Na tej stronie opisujemy, jak złożyć kontroler Androida 13, który steruje ruchem urządzenia do testowania fuzji sensorów i oświetleniem ITS-in-a-box. Test fuzji danych z czujników jest częścią kompilacji testów obrazu z kamery (Camera ITS) w kompilacji testów zgodności (CTS). Kontroler Androida 13 umożliwia automatyzację poprzez sterowanie oświetleniem i silnikiem serwo w przypadku testów scen, które wymagają obracania i sterowania oświetleniem.
Omówienie kontrolera w Androidzie 13
ITS-in-a-box zapewnia spójne środowisko testowe z stałym odstępem między testowanym tabletem a testowanym telefonem, a także spójne oświetlenie bez zewnętrznego źródła światła. Kontroler Androida 13 automatyzuje sterowanie serwomechanizmem i oświetleniem oraz eliminuje konieczność ręcznego obracania obiektu testowego w przypadku testów sceny z wykorzystaniem fuzji danych z czujników oraz ręcznego włączania i wyłączania świateł w przypadku testów z kontrolą oświetlenia.
Sterowanie serwomechanizmem i oświetleniem w stanowiskach testowych
Urządzenie do testowania fuzji danych z czujników zapewnia stałe ruchy telefonu, co umożliwia powtarzalność testów. Telefon obraca się przed celem w kratę, aby umożliwić przechwytywanie obrazu w różnych pozycjach. W przypadku test_sensor_fusion serwo obraca telefon wokół osi środkowej kamery o 90 stopni i z powrotem w ciągu około 2 sekund. W przypadku test_video_stabilization serwomechanizm obraca telefon wokół osi przechodzącej przez środek aparatu o 10 stopni i z powrotem, aby udawać ruch telefonu podczas nagrywania filmu podczas chodzenia. Rysunek 1 przedstawia 2 telefony poruszające się w ramach stanowiska testowego do fuzji danych ze czujników. Rysunek 2 przedstawia jeden telefon poruszający się w ramach stanowiska testowego fuzji danych z czujników.
Rysunek 1. Ruch telefonu w urządzeniu testowym dla test_sensor_fusion
Rysunek 2. Ruch telefonu w urządzeniu testowym dla testu test_video_stabilization
Sterowanie silnikiem sekwencyjnym
Analogowe serwomechanizmy w urządzeniu testowym to serwomechanizmy pozycyjne sterowane za pomocą modulacji szerokości impulsu (PWM). Rysunek 3 przedstawia typowy przykład sterowania pozycją. Sygnał sterujący ma okres 20 ms. Zmiana szerokości impulsu do minimalnej spowoduje przesunięcie silnika do pozycji neutralnej, a zmiana szerokości impulsu do maksymalnej spowoduje przesunięcie silnika o 180 stopni zgodnie z kierunkiem ruchu wskazówek zegara.
Rysunek 3. Opis typowego sterowania siłownikiem
Sterowanie oświetleniem
Aby sterować ruchem serwomechanizmu i światłami za pomocą komputera hosta, stanowisko testowe sensor fusion wymaga połączenia USB. Kontroler Androida 13 korzysta z płyty Arduino UNO R3 połączonej z urządzeniem przez USB i z montowaną na górze płytką z niestandardową ścieżką sygnałową (lub płytką rozszerzeń). Sterownik Android 13 może sterować maksymalnie 3 serwomechanizmami rotatorów rigów sensorów oraz maksymalnie 3 systemami oświetleniowymi ITS-in-a-box lub jednym rigiem sensorów z jednego komputera hosta.
Kontroler Android 13 w wersji 3.0 umożliwia użytkownikom wyłączenie automatycznego resetowania, gdy port szeregowy Arduino jest otwierany przez USB. Funkcja automatycznego resetowania jest włączona, gdy kontroler jest podłączony do innego hosta lub używany w innych przypadkach testowych. Użytkownicy mogą włączać i wyłączać automatyczny reset za pomocą przełącznika na kontrolerze.
Kontroler Androida 13 może działać z dowolną kamerą ITS-in-a-box. Kontroler Androida 13 można podłączyć do dowolnego urządzenia ITS-in-a-box (RFoV, WFoV, Modular) lub Sensor Fusion, aby przeprowadzić testy z kontrolą oświetlenia. Od Androida 15 wszystkie testy kontrolowane za pomocą oświetlenia są uwzględniane w scene_flash i mogą być uruchamiane za pomocą modułu sensora fuzji z wyjątkiem scene_low_light, który wymaga tabletu do wyświetlania wykresu i musi być uruchamiany za pomocą modułu ITS-in-a-box w aparacie.
W przypadku testów scene_flash i scene_low_light wymagane jest ciemne otoczenie z wyłączonymi światłami, aby wywołać funkcję automatycznego korzystania z lampy błyskowej na testowych telefonach. Rysunek 4 przedstawia światła w ITS-in-a-box włączane i wyłączane przez kontroler Androida 13.
Rysunek 4. Światła wyłączone i włączone w przypadku test_auto_flash
Historia wersji
W tabeli poniżej opisano historię zmian kontrolera Androida 13 i zamieszczono w niej linki do wersji produkcyjnych poszczególnych wersji.
Data | Weryfikacja | Pobieranie plików produkcyjnych | Historia zmian |
---|---|---|---|
Sierpień 2024 r. | 3,0 |
|
|
Grudzień 2022 r. | 2.2 |
|
|
Marzec 2022 r. | 1 |
|
Konfiguracja kontrolera w Androidzie 13
W tej sekcji opisaliśmy, jak skonfigurować kontroler na Androidzie 13.
Wymagane komponenty
Kontroler Androida 13 możesz kupić od jednego z naszych kwalifikowanych dostawców lub stworzyć go samodzielnie. Plik produkcyjny składa się z pliku Gerbera PCB, specyfikacji materiałów PCB, informacji o ułożeniu PCB oraz pliku STEP obudowy. Aby pobrać plik produkcyjny, zapoznaj się z tabelą w sekcji Historia wersji.
Jeśli tworzysz własny kontroler, musisz mieć płytkę Arduino UNO R3. Jeśli kontroler jest kupowany od autoryzowanego sprzedawcy, Arduino jest dołączone.
Obudowa kontrolera Androida 13 jest opcjonalnym, ale zalecanym komponentem, który chroni kontroler i blokuje nieużywane porty USB, zapobiegając błędom konfiguracji. Aby uzyskać szczegółowe informacje o cenach i opcjach kontrolera, skontaktuj się z kwalifikowanym sprzedawcą.
Procedura konfiguracji
Aby skonfigurować kontroler Androida 13, wykonaj te czynności:
Podłącz adaptery 12 V (do oświetlenia) i 5 V (do serwomechanizmów) 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świetlenia (rysunek 6). W zależności od typu wtyczki zasilacza oświetlenia użyj odpowiedniej przejściówki (patrz rys. 7).
Rysunek 6. Lokalizacja wyjściowa kanałów oświetlenia
Rysunek 7. Adapter łączący zasilanie oświetlenia z kontrolerem
Aby skonfigurować sceny sensor_fusion, połącz serwo z jednym z nagłówków połączenia kanału serwo.
Rysunek 8. Lokalizacja połączenia serwomechanizmu
W przypadku kontrolerów w wersji 3.0 podczas łączenia kontrolera z nowym hostem przełącznik automatycznego resetowania musi być ustawiony na pozycję
Enable
.W wersji 3.0 kontroler zawiera przełącznik automatycznego resetowania, który można włączyć lub wyłączyć. Podczas testowania zalecamy ustawienie przełącznika automatycznego resetowania na pozycję
Disable
, aby zapobiec chwilowemu zgaśnięciu wszystkich świateł na początku każdego testu, ponieważDisable
nawiązuje komunikację z kontrolerem Arduino.its_base_test
Jest to bardzo ważne podczas równoległego testowania (ITS działający jednocześnie z systemem oświetlenia 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 USB-A do podłączenia do hosta
Rysunek 11 przedstawia przykład skonfigurowanego kontrolera Androida 13 do sterowania oświetleniem i silnikiem.
Rysunek 11. Konfiguracja kontrolera w Androidzie 13
Sterowanie oprogramowaniem przez gospodarza
Mikrokod można pobrać na płytkę UNO, aby przypisać piny PWM do sygnałów silnika i zdefiniować zakresy szerokości impulsów dla różnych kątów. Mikrokod do sterowania obrotem serwo 6 silników HS-755MB jest zawarty w sekcji Inne zasoby. Zawiera ona też link do prostego programu rotator.py
, który obraca serwomechanizmem.
Korzystanie z kontrolera w Androidzie 13
Użycie 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