Od pohybu robota k hotovým produktovým snímkům
PhotoRobot vyvíjí robotické systémy pro produktové fotografování: otočné stoly, robotická ramena a další zařízení pro pořizování 2D fotografií, 360° prezentací a podkladů pro 3D. Ve fotografickém studiu ale samotný pohyb robota nestačí. Obsluha potřebuje sladit zařízení s fotoaparátem, zpracovat pořízené snímky a opakovat stejný postup u dalších produktů. Výrobce zároveň potřebuje mít přehled o dodaných robotech a jejich konfiguraci.
Pro PhotoRobot vyvíjíme software ve třech navazujících oblastech: firmware řídicích jednotek, aplikaci Controls pro fotografy a Access Server pro správu zařízení. Spolupráce tak pokrývá jak software uvnitř robota, tak každodenní práci ve studiu a provozní zázemí výrobce.
Jak do sebe řešení zapadá
Controls je pracovní prostředí fotografa. Firmware v řídicí jednotce zajišťuje softwarovou vrstvu pro ovládání robota. Access Server doplňuje celý systém o centrální evidenci, parametry a aktivace zařízení.
Řídicí část od Controls přes BeagleBone a PIC kontroléry k robotu. Přerušované šipky představují logické vazby Access Serveru pro parametry, aktivace a telemetrii; nepopisují konkrétní síťové rozhraní.
Firmware: software uvnitř řídicí jednotky
Řídicí jednotka propojuje požadavky na ovládání s elektronikou robota. Pro tento účel vyvíjíme firmware postavený na BeagleBone, přizpůsobeném real-time Linuxu a aplikaci PhotoRobot v C++. Součástí řídicího řešení jsou také PIC mikrokontroléry a komunikace po CANbus.
Nejde tedy jen o jednu aplikaci nahranou do zařízení. Pracujeme s celkem, ve kterém musí odpovídat operační prostředí, řídicí logika i komunikace s kontroléry. Real-time Linux tvoří prostředí pro běh řídicí aplikace; C++ implementuje její logiku a CANbus propojuje části řídicí elektroniky s PIC kontroléry.
Praktickým use casem je ovládání robotického pracoviště při fotografování produktu. Příkaz ze softwaru musí mít odpovídající odezvu v zařízení, aby pohyb robota zapadal do fotografické sekvence. Vývoj proto vyžaduje znalost aplikace i chování hardwaru, na kterém běží.
Controls: od nastavení pracoviště po úpravu snímků
V aplikaci PhotoRobot Controls se podílíme na vývoji softwaru, se kterým pracuje fotograf: ovládá roboty, pracuje s fotoaparátem a upravuje snímky. Z pohledu uživatele se jednotlivé technické části skládají do jednoho fotografického postupu.
Typická práce začíná výběrem pracoviště a jeho vybavení. Fotograf nastaví fotografickou sekvenci, pořídí snímky a naváže jejich zpracováním. Controls umožňuje ovládat roboty, fotoaparáty a světla z jednoho rozhraní, používat živý náhled a ukládat opakovaná nastavení jako presety. Mezi nástroje pro úpravu patří například ořez, centrování nebo odstranění pozadí. Přehled funkcí PhotoRobot Controls.

Controls při práci na 360° prezentaci produktu: vlevo jednotlivé úhly snímání, uprostřed náhled a vpravo ovládání robota, fotoaparátu a světel. Ukázka používá virtuální pracoviště. Zdroj: PhotoRobot.
Úpravy celé série v jednom prostředí
Po snímání fotograf přejde do režimu Edit. Ořezem nastaví poměr stran a prostor kolem produktu, centrováním sjednotí jeho polohu a úpravou pozadí připraví výsledný vzhled. U 360° prezentace je důležité zpracovat celou sadu konzistentně, aby produkt při otáčení neposkakoval mezi různými polohami v záběru.

Režim Edit s nabídkou úprav a sérií snímků produktu z různých úhlů. Zdroj: PhotoRobot – Getting Started.
Například při fotografování série podobných produktů obsluha znovu použije připravené nastavení snímání a následných úprav. Nemusí tak u každého předmětu začínat nastavením jednotlivých kroků od nuly. Právě návaznost ovládání techniky a práce se snímky je důvodem, proč zde vyvíjíme fotografickou aplikaci společně s firmwarem.
Access Server: přehled o robotech a jejich provozu
PhotoRobot Access Server je webová aplikace pro správu zařízení, postavená na .NET a Azure SQL. Slouží jako provozní zázemí pro evidenci robotů a řídicích jednotek, distribuci parametrů, telemetrii a správu klíčů včetně aktivačních.
Zatímco fotograf řeší konkrétní produkt ve studiu, výrobce potřebuje pracovat s celou základnou zařízení. Access Server soustřeďuje informace potřebné k jejich správě na jednom místě:
- Evidence robotů a řídicích jednotek: identifikace zařízení a přehled o hardwarových generacích a verzích firmwaru.
- Distribuce parametrů: správa parametrů robotů a jejich předávání příslušným zařízením.
- Telemetrie: provozní informace jako podklad pro dohled a technickou podporu.
- Klíče a aktivace: správa klíčů, aktivačních klíčů a stavu aktivace zařízení.

Ukázka Access Serveru z projektu. Vedle mapy jsou dohledané řídicí jednotky s identifikátorem, generací a stavem aktivace; u jedné je vidět také verze firmwaru. Jde o zachycený stav aplikace, nikoli o aktuální počet nasazených robotů.
Při řešení konkrétního zařízení tak může tým vycházet z jeho identifikace, konfigurace a dostupných provozních údajů. Správa robotů, parametrů a aktivací je samostatnou součástí produktu, se kterou je potřeba počítat stejně jako s ovládáním samotného stroje.
Technologie a naše role
| Oblast | Technologie | Co vyvíjíme |
|---|---|---|
| Řídicí jednotka | BeagleBone, přizpůsobený real-time Linux, C++ | Firmware a řídicí aplikaci PhotoRobot |
| Řídicí elektronika | PIC mikrokontroléry, CANbus | Firmware kontrolérů a komunikaci v řídicím systému |
| Fotografické pracoviště | PhotoRobot Controls, integrace robotů a fotoaparátů | Ovládání zařízení, pořizování a úpravu snímků |
| Správa zařízení | .NET, Azure SQL | Access Server: evidence, parametry, telemetrie, klíče a aktivace |
Co spolupráce přináší
PhotoRobot má vývojového partnera, který rozumí souvislostem mezi řídicí elektronikou, fotografickou aplikací a centrální správou zařízení. Můžeme tak řešit změny v kontextu celého produktu: od chování robota přes práci fotografa až po údaje, se kterými pracuje provozní tým.
Výsledkem spolupráce je průběžně rozvíjený software pro tři různé potřeby: ovládat robota, zpracovat produktové fotografie a spravovat nasazená zařízení.
„Cloudfield je pro nás naprosto zásadní partner, který nám poskytl nejen komplexní řešení pro naše robotické systémy, ale také nám pomohl s vývojem jednotlivých komponent našich řešení - software, firmware a cloudové infrastruktury. Díky nim jsme schopni nabízet inovativní a efektivní fotografické služby.“
— Kamil Hrbáček, CEO, PhotoRobot
