Kontroler Androida 13

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.

Ruch telefonu w urządzeniu testowym

Rysunek 1. Ruch telefonu w urządzeniu testowym dla test_sensor_fusion

Ruch telefonu w urządzeniu testowym

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.

Opis sterowania siłownikiem

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_flashscene_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.

Sterowanie światłem w ramach rozwiązania ITS-in-a-box

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
  • Dodano pominięcie automatycznego resetowania, aby światła nie były włączane podczas komunikacji z badanym urządzeniem
Grudzień 2022 r. 2.2
  • Dodano opcję zamawiania płytki PCB z elementami z EasyEDA
  • Usunięto nieprawidłowe opóźnienia po ruchach serwo w mikrokodzie Arduino
  • Zmiana wsporników z metalu na nylon
  • Zmiana tranzystorów MOSFETS z przelotowych na montowane powierzchniowo
  • Zmieniono kondensator z 10 uF na 1000 uF
Marzec 2022 r. 1
  • Dodano możliwość sterowania oświetleniem.
  • Zmieniono z 6 sterowników na 3 sterowniki oświetlenia i 3 sterowniki serwomechanizmów

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:

  1. Podłącz adaptery 12 V (do oświetlenia) i 5 V (do serwomechanizmów) do odpowiednich gniazd zasilania (rysunek 5).

    Lokalizacja zasilacza

    Rysunek 5. Lokalizacja zasilacza

  2. 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).

    Lokalizacja wyjściowa oświetlenia

    Rysunek 6. Lokalizacja wyjściowa kanałów oświetlenia

    Przejściówka z wtyczki 3,5 x 1,35 mm na gniazdo 5,5 x 2,1

    Rysunek 7. Adapter łączący zasilanie oświetlenia z kontrolerem

  3. Aby skonfigurować sceny sensor_fusion, połącz serwo z jednym z nagłówków połączenia kanału serwo.

    Lokalizacja połączenia kanału servo

    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).

    Automatyczne resetowanie lokalizacji

    Rysunek 9. Przełącznik automatycznego resetowania

  4. Podłącz kontroler do hosta za pomocą kabla USB-A.

    Lokalizacja 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.

Lokalizacja USB-A

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

Pobieranie oprogramowania sterującego