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 funkcji test_sensor_fusion serwomechanizm 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 kamery o 10 stopni i z powrotem, aby symulować 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 w przypadku test_sensor_fusion

Ruch telefonu w urządzeniu testowym

Rysunek 2. Ruch telefonu w zestawie testowym na potrzeby testu_video_stabilization

Sterowanie silnikiem sekwencyjnym

Analogowe serwomechanizmy w urządzeniu testowym to serwomechanizmy pozycjonujące 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 serw.

Rysunek 3. Opis typowego sterowania siłownikiem

Sterowanie oświetleniem

Aby sterować ruchem serwomechanizmu i światłami za pomocą komputera hosta, stanowisko testowe do fuzji sensorów 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 Androida 13 może sterować maksymalnie 3 serwomechanizmami rotatorów rigów sensorów oraz maksymalnie 3 systemami oświetlenia ITS-in-a-box lub 1 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 sterowane oświetleniem są uwzględnione w elemencie scene_flash i można je przeprowadzać za pomocą czujnika Fusion Box. Z wyjątkiem scene_low_light, który do wyświetlania wykresu wymaga tabletu i trzeba je przeprowadzić przy użyciu kamery ITS w opakowaniu.

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 plików.

Data Wersja 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ę zamówienia płytki PCB z wkładką EasyEDA
  • Usunięto fałszywe opóźnienia po przeniesieniu serw 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 opisano, jak skonfigurować kontroler Androida 13.

Wymagane komponenty

Możesz kupić kontroler Androida 13 od jednego z naszych wykwalifikowanych dostawców lub utworzyć go samodzielnie. Plik produkcyjny składa się z pliku PCB Gerber, listy materiałów PCB (BOM), informacji o umiejscowieniu PCB oraz pliku STEP załącznika. Aby pobrać plik produkcyjny, wyświetl tabelę w sekcji Historia wersji.

Jeśli tworzysz własny kontroler, musisz mieć płytkę Arduino UNO R3. Jeśli kontroler jest kupowany u wykwalifikowanego sprzedawcy, Arduino jest dołączone.

Obudowa kontrolera Androida 13 to opcjonalny, ale zalecany komponent, 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 żarówki ITS-in-a-box lub Sensor Fusion do jednego z złączy wyjściowych kanału oświetlenia (ilustracja 6). W zależności od zastosowania lufy oświetleniowej użyj w razie potrzeby zasilacza (ilustracja 7).

    Lokalizacja wyjściowa oświetlenia

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

    Wtyczka męska 3,5 × 1,35 mm do konwertera żeńskiego gniazda 5,5 × 2,1 mm

    Rysunek 7. Adapter do podłączenia oświetlenia do kontrolera

  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 seryjnego

    Rysunek 8. Lokalizacja połączenia seryjnego

    W przypadku kontrolerów w wersji 3.0 podczas podłączania kontrolera do nowego hosta przełącznik automatycznego resetowania musi być ustawiony na 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 w przypadku równoległego testowania (ITS działającego 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 połączenia USB-A z hostem

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 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 Innych zasobach. Sekcja ta zawiera również link do prostego programu o nazwie rotator.py, który wykonuje rotację serw.

Za pomocą kontrolera Androida 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 za pomocą kontroli oprogramowania