Upload
open-rnd
View
191
Download
2
Embed Size (px)
Citation preview
• Wprowadzenie:• Cele projektu,• Produkty,
• Architektura systemu:• Diagram systemu,• Przypadki użycia.
AGENDA
• 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.
CELE PROJEKTU:
• Automatyzacja procesu nagrywania filmów 3D,
• Integracja z kamerami, serwomechanizmami,
• Monitorowanie i korektaparametró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).
KOMUNIKACJA POMIĘDZY MODUŁAMI SYSTEMU
1. Media transmisyjne:• Wifi,• Ethernet,• SDI.
2. Protokoły:• MQTT,• RTP,• HTTP,• Zeroconf.
Analizator obrazu (AO)
Kontroler RIGa (KR)Oprogramowanie Klienta (OK)
RTP HTTP
RTP HTTP
MQTT HTTP MQTT HTTP
Ethernet
SDI
WiFi
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.
ROS3D.KR
Architektura sprzętowa
Battery/PM Controller
1Gbps Ethernet Switch(4 ports)Wandboard
Battery/PM Controller
1Gbps Ethernet Link
RED Cameras
WiFi
ROS3D.KR WANDBOARD
• i.MX6Q Quad Core,• Dostępne porty GPIO, I2C,• Brak PMIC (zewnętrzny
kontroler baterii i PM),• 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.
Battery/PM Controller
1Gbps Ethernet Switch(4 ports)Wandboard
Battery/PM Controller
1Gbps Ethernet Link
RED Cameras
WiFi
ROS3D.KR
Architektura Oprogramowania
Device Controller
WEB UI
MQTT Broker
Platform Controller
Camera Controller
Aladin Driver
ROS3D.OK
LEDs
Keys
Camera Controller
Aladin Driver
HTTP API
MQTTPublish
DBus RCP API
UARTAladin Protocol
MQTTSubscribe
ROS3D.KRDEVICE CONTROLLER
• Centralny HUB,• 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.
Device Controller
WEB UI
MQTT Broker
Platform Controller
Camera Controller
Aladin Driver
ROS3D.OK
LEDs
Keys
Camera Controller
Aladin Driver
HTTP API
MQTTPublish
DBus RCP API
UARTAladin Protocol
MQTTSubscribe
ROS3D.KRCAMERA CONTROLLER
• Interakcja z kamerami RED,• 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..
• Odczyt parametrów z kamer,• Obsługa sygnałów.
Device Controller
WEB UI
MQTT Broker
Platform Controller
Camera Controller
Aladin Driver
ROS3D.OK
LEDs
Keys
Camera Controller
Aladin Driver
HTTP API
MQTTPublish
DBus RCP API
UARTAladin Protocol
MQTTSubscribe
ROS3D.KRPLATFORM CONTROLLER
• Kontrola i interakcja z peryferiami danej platformy,
• Zunifikowany interfejs DBus:• LED:
• /org/ros3d/platform/led/{0, 1, 2…}
• org.ros3d.Platform.LED
• Przyciski:• /org/ros3d/platform/button/0..• org.ros3d.Platform.Button
Device Controller
WEB UI
MQTT Broker
Platform Controller
Camera Controller
Aladin Driver
ROS3D.OK
LEDs
Keys
Camera Controller
Aladin Driver
HTTP API
MQTTPublish
DBus RCP API
UARTAladin Protocol
MQTTSubscribe
ROS3D.KR
• Web UI
• Interfejs konfiguracyjny:• Konfiguracja sieci,• Konfiguracja trybu pracy
Aladin,
• Przegląd stanu systemu.
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 postprodukcjii analizie zarejestrowanego materiału.
ROS3D.KR
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”.
ROS3D.AOGATEWORKS GW5400
• iMX6 Quad Core,• Dostępne porty GPIO, I2C,• Kontroler PM,• 256MB NAND, opcjonalny
boot z USB,• Wejście HDMI,
max. 1080p@30fps.
FPGAGateworksGW5400
USB firmware(optional)
HDMI Video
UART Control
ROS3D.AO
Architektura oprogramowania
DeviceControllerStreaming
HTTP API V4L2 API
Video AcquisitionROS3D.OK
DBus
SerialBridge
ROS3D.AOSTREAMING
• 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.
DeviceControllerStreaming
HTTP API V4L2 API
Video AcquisitionROS3D.OK
DBus
SerialBridge
ROS3D.AODEVICE CONTROLLER
• Ograniczona funkcja,• Przewidywana integracja
z FPGA przez Serial Bridge.Device
ControllerStreaming
HTTP API V4L2 API
Video AcquisitionROS3D.OK
DBus
SerialBridge
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.AO
• 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.KR / .AO FIRMWARE
ROS3D.OK - OUTLINE
1. Zadania,2. Architektura,3. Zastosowane technologie,4. Wydajność,5. Interfejs użytkownika,6. Przykłady zastosowań.
• Kalkulator - edycja i przeliczanie parametrów nagrywania,• Podgląd obrazu z kamer,• Sterowanie KR i AO.
ROS3D.OK - ZADANIA
ROS3D.OK
Architektura
GUI
Views
Fragments
Activities
DataModel
RigsManager
CamerasManager
PropertyManager
OfflineStorage
Data Source
Zeroconf Browser
MQTT Server
REST Service
• Modułowość• Skalowalność• Testowalność• Zaawansowany model danych
ROS3D.OK
Model danych „nadawca-odbiorca” – przykład użycia
GUI Property PropertyDataProvider
1: getProperty()
2: Property
7: updateRelatedProperties()
6: setPropertyValue()
8:
9: fireValueChanged10: newValueEvent
5: setValue()
4:3: registerListener()
ROS3D.OK – WYDAJNOŚĆ
Czas renderowania widoku [ms]
Nexus 7 299.03
Nexus 7 zoptymalizowany 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.
• Złożony problem,• Prezentacja wielu parametrów jednocześnie,• Ograniczona wielkość ekranu,• Intuicyjny w użytkowaniu,• Wykorzystanie metodologii Double Diamond.
ROS3D.OK – INTERFEJS UŻYTKOWNIKA
DISCOVER > DEFINE > DEVELOP > DELIVER
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.
ROS3D.OK
Przypadki użycia
Użytkownik aplikacji
Aktualizacja parametrów na KR
Monitorowanie bieżących ustawień
parametrów z KRPodgląd obrazu z kamerOdczyt / zapis ustawień
z / do pliku CVSHOTModyfikacja listy
parametrów
1. Opracowane produkty,2. Publikacje:
• MIXDES 2015, Proceedings of “Mobile application for remote control of stereoscopic images acquisitionsystem”,
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.
PODSUMOWANIE PROJEKTU
QUESTIONS ? THOUGHTS ? COMMENTS ?
Feel free to contact us!
WWW.OPEN-RND.PL
Thank you
Bartłomiej ŚwierczCEO of Open-RnD