ROS3D Podsumowanie prac nad projektem 07.12.2015
AGENDA Wprowadzenie: Cele projektu, Produkty, Architektura systemu: Diagram systemu, Przypadki użycia. Opracowany system: Kontroler RIGa KR: Architektura sprzętowa, Architektura oprogramowania. Analizator obrazu AO: Architektura sprzętowa, Architektura oprogramowania. Aplikacja mobilna OK: Architektura oprogramowania, Wydajność, Interfejs użytkownika, Przykłady użycia. Testy.
Źródło: Finn sp. z o.o.
CELE PROJEKTU: Automatyzacja procesu nagrywania filmów 3D, Integracja z kamerami, serwomechanizmami, Monitorowanie i korekta parametrów nagrywania w czasie rzeczywistym, Ocena jakości obrazu w czasie rzeczywistym.
PRODUKTY WYKONANE W RAMACH PROJEKTU: Kontroler RIGa (KR), Analizator obrazu (AO), Aplikacja mobilna (OK).
Analizator obrazu (AO) Oprogramowanie Klienta (OK) Kontroler RIGa (KR) ARCHITEKTURA SPRZĘTOWA
RTP HTTP Oprogramowanie Klienta (OK) Analizator obrazu (AO) RTP HTTP WiFi Kontroler RIGa (KR) MQTT HTTP MQTT HTTP Ethernet KOMUNIKACJA POMIĘDZY MODUŁAMI SYSTEMU 1. Media transmisyjne: Wifi, Ethernet, SDI. 2. Protokoły: MQTT, RTP, HTTP, Zeroconf. SDI
ROS3D.KR- OUTLINE 1. Zadania, 2. Architektura: Sprzętowa, Oprogramowania, 3. Web UI, 4. Przykłady zastosowań.
ROS3D.KR Zadania: Kontrola sterownika serw Archiwizowanie i odtwarzanie ustawień zestawu kamer i obiektywów, Udostępnianie aktualnych ustawień innym urządzeniom w systemie (AO, OK), Reagowanie na polecenia zmiany ustawień przesyłanych od innych urządzeń w systemie (AO, OK). Cechy: Zasilanie bateryjne, Komunikacja bezprzewodowa, Wytrzymała konstrukcja dostosowana do trudnych warunków pracy, Mocowanie dostosowane do uchwytów stosowanych w przemyśle filmowym.
Battery/PM Controller WiFi Wandboard 1Gbps Ethernet Switch (4 ports) SD Card Firmware 1Gbps Ethernet Link RED Cameras ROS3D.KR Architektura sprzętowa
ROS3D.KR WANDBOARD i.mx6q Quad Core, Battery/PM Controller Dostępne porty GPIO, I2C, Brak PMIC (zewnętrzny kontroler baterii i PM), WiFi Wandboard SD Card Firmware 1Gbps Ethernet Switch (4 ports) 1Gbps Ethernet Link RED Cameras Brak wewnętrznej pamięci - karta SD z firmware, Integracja z zewnętrznymi przyciskami i PM za pomocą GPIO, Integracja w jądrze za pomocą Device Tree: #gpio-keys #gpio-leds Niestabilny moduł WiFi / Bluetooth: BRCM4329 przez SDIO.
HTTP API MQTT Publish WEB UI MQTT Broker MQTT Subscribe LEDs ROS3D.OK Device Controller Platform Controller Keys DBus Camera Controller RCP API Camera Controller Aladin Driver UART Aladin Protocol Aladin Driver ROS3D.KR Architektura Oprogramowania
ROS3D.KR DEVICE CONTROLLER Centralny HUB, Device Controller HTTP API MQTT Publish DBus WEB UI MQTT Broker Platform Controller Camera Controller Aladin Driver MQTT Subscribe LEDs Keys RCP API UART Aladin Protocol ROS3D.OK Camera Controller Aladin Driver Rejestr parametrów systemu, Zapisuje snapshot parametrów, Sterowanie peryferiami KR przez HTTP API, Aktualizacja parametrów przez MQTT, Rozgłaszanie dostępności usługi przez Zeroconf / Bonjour.
ROS3D.KR CAMERA CONTROLLER Interakcja z kamerami RED, Device Controller HTTP API MQTT Publish DBus WEB UI MQTT Broker Platform Controller Camera Controller MQTT Subscribe LEDs Keys RCP API ROS3D.OK Camera Controller Redlink Control Protocol (RCP) API, Implementacja w Vala i C: VAPI dla integracji z biblioteką RCP Interfejs DBus: kamery widoczne jako obiekty: /org/ros3d/controller/camera/0.. Aladin Driver UART Aladin Protocol Aladin Driver Odczyt parametrów z kamer, Obsługa sygnałów.
ROS3D.KR PLATFORM CONTROLLER HTTP API MQTT Publish WEB UI MQTT Broker MQTT Subscribe LEDs ROS3D.OK Kontrola i interakcja z peryferiami danej platformy, Zunifikowany interfejs DBus: LED: Device Controller Platform Controller Keys /org/ros3d/platform/led/{0, 1, 2 } DBus Camera Controller RCP API Camera Controller org.ros3d.platform.led Przyciski: Aladin Driver UART Aladin Protocol Aladin Driver /org/ros3d/platform/button/0.. org.ros3d.platform.button
Interfejs konfiguracyjny: Konfiguracja sieci, Konfiguracja trybu pracy Aladin, Przegląd stanu systemu. ROS3D.KR Web UI
ROS3D.KR Przykłady zastosowań: W przypadku przenoszenia zestawu filmowego pozwala, w połączeniu z aplikacją mobilna, na szybkie zapisanie aktualnych ustawień i odtworzenie ich po zmontowaniu zestawu w nowym miejscu, Pozwala automatycznie archiwizować ustawienia z jakimi było realizowane ujęcie w celu późniejszego wykorzystania tych informacji w procesie postprodukcji i analizie zarejestrowanego materiału.
ROS3D.AO - OUTLINE 1. Zadania, 2. Architektura: Sprzętowa, Oprogramowania, 3. Zastosowane technologie, 4. Cechy, 5. Przykłady zastosowań.
ROS3D.AO Zadania: Akwizycja obrazu z kamer, Analiza pozyskanych strumieni wideo w celu automatycznego kalibrowana zestawu filmowego tak, by był stereoskopowy. Cechy: Budowa modułowa rack 19.
Gateworks GW5400 HDMI Video UART Control FPGA USB firmware (optional) ROS3D.AO Architektura sprzętowa
ROS3D.AO GATEWORKS GW5400 imx6 Quad Core, Dostępne porty GPIO, I2C, Gateworks GW5400 HDMI Video UART Control FPGA Kontroler PM, 256MB NAND, opcjonalny boot z USB, USB firmware (optional) Wejście HDMI, max. 1080p@30fps.
Streaming Device Controller HTTP API V4L2 API DBus ROS3D.OK Video Acquisition Serial Bridge ROS3D.AO Architektura oprogramowania
ROS3D.AO STREAMING Streaming HTTP API V4L2 API ROS3D.OK Video Acquisition Device Controller DBus Serial Bridge Przesyłanie video, RTP, H.264, Obraz skalowany do 640x360, Obsługa VPU i IPU dostępnych w i.mx6 - użycie procesora ~4-5%, Kontrola przez HTTP: RTCP problemem na Androidzie (ROS3D.OK), Implementacja: Gstreamer, Vala.
ROS3D.AO DEVICE CONTROLLER Streaming Device Controller Ograniczona funkcja, Przewidywana integracja z FPGA przez Serial Bridge. HTTP API V4L2 API DBus ROS3D.OK Video Acquisition Serial Bridge
ROS3D.AO Przykłady zastosowań: Analizator obrazu pozwala na szybkie, zautomatyzowanie kalibrowanie zestawu kamer i obiektywów na planie zdjęciowym, Stream może być podglądany na żywo w aplikacji mobilnej.
ROS3D.KR /.AO FIRMWARE Yocto (OpenEmbedded/Poky): Zamrożone gałęzie w oparciu o gałąź master : poky, meta-openembedded (meta-python), meta-iot-bsp, meta-fsl-arm, meta-fsl-arm-extra, meta-gateworks. Integracja i back-porting zmian, Własne warstwy Yocto: meta-ros3d-wandboard-bsp, meta-ros3d-gateworks-bsp - wsparcie i konfiguracja platform, meta-openrnd - integracja, reuse między projektami, meta-ros3d - aplikacje Ros3D, Poprawki do Yocto, bibliotek i narzędzi propagowane do upstream: > 50 patchy (Poky, OpenEmbedded, linux-imx6, sparts, swupdate, jhbuild )
ROS3D.OK - OUTLINE 1. Zadania, 2. Architektura, 3. Zastosowane technologie, 4. Wydajność, 5. Interfejs użytkownika, 6. Przykłady zastosowań.
ROS3D.OK - ZADANIA Kalkulator - edycja i przeliczanie parametrów nagrywania, Podgląd obrazu z kamer, Sterowanie KR i AO.
GUI DataModel Data Source PropertyManager Activities REST Service CamerasManager Fragments MQTT Server Views RigsManager OfflineStorage Zeroconf Browser Modułowość Skalowalność Testowalność Zaawansowany model danych ROS3D.OK Architektura
GUI Property PropertyDataProvider 1: getproperty() 2: Property 3: registerlistener() 4: 5: setvalue() 6: setpropertyvalue() 7: updaterelatedproperties() 8: 10: newvalueevent 9: firevaluechanged ROS3D.OK Model danych nadawca-odbiorca przykład użycia
ROS3D.OK ZASTOSOWANE TECHNOLOGIE Java, MQTT, AndroidSDK, REST Services, JMDNS (Zeroconf).
ROS3D.OK WYDAJNOŚĆ Nexus 7 zoptymalizowany Czas renderowania widoku [ms] Nexus 7 299.03 50.54 Samsung Tab 2 478.42 Samsung Tab 2 zoptymalizowany 65.92 Wykresy renderowane na GPU, Płaska hierarchia widoków, bardzo dużo własnych komponentów, Zdefiniowana częstotliwość odświeżania list z parametrami (30 FPS), Optymalizacja hierarchii widoków na platformie Android Mobilization.
ROS3D.OK INTERFEJS UŻYTKOWNIKA Złożony problem, Prezentacja wielu parametrów jednocześnie, Ograniczona wielkość ekranu, Intuicyjny w użytkowaniu, Wykorzystanie metodologii Double Diamond.
1. Odkrycie wyzwań i zdefiniowanie możliwych problemów, 2. Zdefiniowanie możliwych rozwiązań, 3. Wytworzenie projektu interfejsu użytkownika, 4. Dostarczenie elementów do developmentu. DISCOVER > DEFINE > DEVELOP > DELIVER
ROS3D.OK INTERFEJS UŻYTKOWNIKA Wersja alpha
ROS3D.OK INTERFEJS UŻYTKOWNIKA Gotowy produkt
ROS3D.OK INTERFEJS UŻYTKOWNIKA Gotowy produkt
ROS3D.OK INTERFEJS UŻYTKOWNIKA Gotowy produkt
ROS3D.OK INTERFEJS UŻYTKOWNIKA Gotowy produkt
Użytkownik aplikacji Modyfikacja listy parametrów Odczyt / zapis ustawień z / do pliku CVSHOT Aktualizacja parametrów na KR Monitorowanie bieżących ustawień parametrów z KR Podgląd obrazu z kamer ROS3D.OK Przypadki użycia
TESTY NA PLANIE FILMOWYM 26.11.2015 Próby kamerowe na RIG 3D: 26.11.2015, Warszawa, 1 dzień zdjęciowy.
PODSUMOWANIE PROJEKTU 1. Opracowane produkty, 2. Publikacje: MIXDES 2015, Proceedings of Mobile application for remote control of stereoscopic images acquisition system, 3. Udział w konferencjach: Mixdes, Mobilization, Konferencja ROS3D, FOSDEM 30/31 stycznia 2016. 4. Publikacja oprogramowania Open-Source: Android GitHub, Android: Open-RnD: FragmentSwapper, ConnectionManager, Utils, MultiLevelListView.
Thank you Bartłomiej Świercz CEO of Open-RnD bartek@open-rnd.pl QUESTIONS? THOUGHTS? COMMENTS? Feel free to contact us! INFO@OPEN-RND.PL WWW.OPEN-RND.PL