Kontroler Androida 13

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.

Ruch telefonu w urządzeniu testowym

Rysunek 1. Ruch telefonu w urządzeniu testowym podczas testu test_sensor_fusion

Ruch telefonu w urządzeniu testowym

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.

Opis sterowania serwomechanizmem

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

Sterowanie oświetleniem w ramach ITS-in-a-box

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
  • Dodano obejście automatycznego resetowania, aby światła nie były przełączane podczas komunikacji z urządzeniem testowanym.
Grudzień 2022 r. 2.2
  • Dodano opcję zamawiania wypełnionych płytek drukowanych w EasyEDA
  • Usunięto fałszywe opóźnienia po ruchach serwomechanizmu w mikrokodzie Arduino
  • Zmieniono elementy dystansowe z metalowych na nylonowe.
  • Zmieniono tranzystory MOSFET z otworami przelotowymi na tranzystory MOSFET do montażu powierzchniowego.
  • Zmieniono kondensator z 10 uF na 1000 uF
Marzec 2022 r. 1
  • Dodano możliwość sterowania oświetleniem.
  • Zmieniono z 6 serw na 3 oświetlenia i 3 serwa

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:

  1. Podłącz adaptery 12 V (do oświetlenia) i 5 V (do serwomechanizmu) 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świetleniowego (rysunek 6). W zależności od rodzaju zasilania lampy użyj odpowiedniej przejściówki (rysunek 7).

    Lokalizacja wyjściowa oświetlenia

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

    Przejściówka z wtyku męskiego 3,5 mm x 1,35 mm na gniazdo żeńskie 5,5 mm x 2,1 mm

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

  3. Aby skonfigurować sceny z fuzją czujników, podłącz serwomechanizm do jednego z nagłówków złącza kanału serwomechanizmu.

    Lokalizacja połączenia 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, gdy its_base_test nawią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).

    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

Ilustracja 11 przedstawia przykład ukończonej konfiguracji kontrolera Androida 13 dla jednego systemu oświetlenia i serwomechanizmu.

Lokalizacja USB-A

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

Pobieranie oprogramowania sterującego