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 systemie ITS-in-a-box. Test fuzji czujników jest częścią pakietu testów obrazu z kamery (Camera ITS) w pakiecie testów zgodności (CTS). Kontroler Androida 13 umożliwia automatyzację poprzez sterowanie oświetleniem stanowiska testowego 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 testowym 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 oraz eliminuje konieczność ręcznego obracania testowanego urządzenia w przypadku testów sceny z fuzją czujników i ręcznego włączania i wyłączania świateł w przypadku testów z kontrolowanym oświetleniem.

Sterowanie serwomechanizmami i oświetleniem w stanowiskach testowych

Stanowisko testowe fuzji 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 danych z czujników. Na ilustracji 2 widać 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 z Androidem 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 na Androida 13 umożliwia użytkownikom wyłączenie automatycznego resetowania, gdy port szeregowy Arduino jest otwierany 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 systemem 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 z kontrolowanym oświetleniem. Od Androida 15 wszystkie testy kontrolowanego oświetlenia 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 scenie_z_błyskiemscenie_przy_słabym_oświetleniu wymagane jest ciemne otoczenie z wyłączonymi światłami, aby włączyć funkcję automatycznego błysku 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 ITS-in-a-box

Rysunek 4. Włączanie i wyłączanie światła na potrzeby testu test_auto_flash

Historia wersji

W tabeli poniżej znajdziesz historię zmian kontrolera Androida 13 oraz linki do pobierania poszczególnych 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
Grudzień 2022 r. 2.2
  • Dodano opcję zamawiania gotowych płytek drukowanych z EasyEDA
  • Usunięto fałszywe opóźnienia po ruchach serwomechanizmu w mikrokodzie Arduino
  • Zmieniono wsporniki 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

Konfigurowanie 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 wersji.

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 z Androidem 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 zasilacze 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 wtykiem męskim 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 połączenia 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 przypadku 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 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ący 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ńczona konfiguracja kontrolera na Androidzie 13

Sterowanie oprogramowaniem z urządzenia 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 materiały. W tej sekcji znajduje się 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