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.
Rysunek 1. Ruch telefonu w urządzeniu testowym w przypadku test_sensor_fusion
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.
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_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 plików.
Data | Wersja | 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 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:
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 ż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).
Rysunek 6. Lokalizacja wyjściowa kanałów oświetlenia
Rysunek 7. Adapter do podłączenia oświetlenia do kontrolera
Aby skonfigurować sceny sensor_fusion, połącz serwo z jednym z nagłówków połączenia kanału serwo.
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).Rysunek 9. Przełącznik automatycznego resetowania
Podłącz kontroler do hosta za pomocą kabla 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.
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
- Kod Arduino Micro na Androida 11 lub nowszego
VarSpeedServo_and_lighting_control.ino
- Kod testu kontrolnego Pythona
rotator.py