← Back to selected work
Hype Insight Global · Robotics & Physical AI

Manriix

manriix.com

Autonomous event robot that captures professional-grade photography and video live, at scale, running unattended through full event days with 4K capture and context-aware advertising displays. I developed the core systems that make this possible, including mission orchestration, cloud-edge voice AI, voice-guided photo capture, multi-camera navigation, camera control, and photo retrieval, spanning the decision-making, perception, and voice layers that let the robot operate autonomously among real crowds.

C++17ROS 2Voice AIJetson
i

Developed under a non-disclosure agreement at Hype Insight Global. Internal architecture, dashboards, and footage cannot be shared. The summary below reflects the actual systems I built. The product itself can be viewed at manriix.com.

Systems I developed
01

Robot Mission Orchestration System using Behavior Trees

Built with BehaviorTree.CPP, this system is the robot's mission-level decision layer, coordinating safety, voice interaction, navigation, photo sessions, and docking through a single reactive behavior tree rather than a hand-rolled state machine. Interrupted missions resume from the exact point of interruption through atomic, crash-safe mission-state persistence, and a structured recovery chain handles failed navigation, low battery, and emergency-stop conditions without human intervention. Mission execution stays fully observable through live Groot2 visualization, SQLite-backed behavior logs, and an automated contract-test suite covering preemption, persistence, and recovery paths.

C++17ROS 2BehaviorTree.CPPNav2SQLiteGTest
02

Cloud-Synced Real-Time Voice AI Platform on the Edge

Pairs a cloud-hosted control plane with a Jetson-based edge runtime, so voice roles, event configuration, and knowledge bases can be updated remotely and pushed live to every deployed robot without rebuilding or restarting its voice stack. The edge runtime combines Deepgram speech recognition, an OpenAI-driven conversation layer, and ElevenLabs speech synthesis behind a self-hosted LiveKit media stack, with MQTT-based sync keeping cloud and robot state consistent even on unreliable connections. Voice state is bridged directly into ROS 2, turning conversation state into physical robot behavior, while every deployed device reports heartbeat, deployment progress, and health status back to the control plane.

LiveKitDeepgramOpenAIElevenLabsFastAPIPostgreSQLMQTTROS 2
03

TensorRT-Accelerated Voice-Guided Photo Capture on Edge

Runs a pose-estimation model with GPU-accelerated inference on the robot's Jetson to detect people and estimate body pose in real time, targeting sub-15-millisecond inference to keep pace with a 10Hz vision loop. A face-analysis model confirms a subject is facing the camera, while an Intel RealSense depth camera estimates 3D position through a layered extraction pipeline with statistical and bounding-box fallbacks for when the primary reading is unreliable. A composition engine classifies the scene as a portrait, couple, or group and adjusts target distance, spacing, and framing accordingly, translating the result into spoken positioning cues delivered through a separate voice system, then triggering the Canon camera and DJI gimbal to capture the shot the moment framing is correct.

JetsonPose EstimationTensorRTFace AnalysisIntel RealSenseDJI GimbalROS 2
04

GPU-Accelerated Human Detection & Clustering-Based Navigation

Processes live detections from three onboard ZED stereo cameras through a direct SDK integration rather than the standard ROS wrapper, sustaining an average of roughly 19 frames per second across all three feeds while keeping GPU utilization in the 20 to 30 percent range, leaving headroom for the robot's other AI workloads. CUDA-accelerated clustering groups detected people into crowds and formations, and a position-optimization loop scores candidate robot positions against distance, social space, and photo-composition criteria before handing a goal to the navigation stack. When navigation or perception degrades, an eight-level recovery escalation, from a simple wait through rescans, relocation, and safe parking, keeps the robot working the floor instead of stalling.

PythonROS 2Nav2ZED CamerasPose EstimationCUDABIRCH Clustering
05

Optimized Camera Control & Live Streaming System on Edge

Controls a Canon mirrorless camera directly over USB, coordinating photo capture, video recording, and live streaming so they can run concurrently without the camera locking up or dropping a request. Live video is offloaded to the Jetson's hardware encoders, serving a 1280x720 30fps local preview alongside a separate authenticated 1280x720 15fps remote feed without loading the CPU. A multi-threaded ROS 2 executor keeps command handling, busy-state signaling, and streaming responsive at the same time, while storage preflight checks and automatic retry on file retrieval keep the system reliable across long, unattended event days.

PythonROS 2JetsonCanon CameraHardware EncodingLive StreamingFlask
06

Automated Photo Retrieval & Delivery Background Service on Edge

Runs as a background service watching the robot's photo-session folders in real time, using filesystem events with a scheduled polling fallback so no capture is missed even if a watch event is dropped. Every new photo, including Canon raw files, has its orientation corrected and a configurable rotation applied before being written to a capacity-bounded output folder that evicts the oldest file once 20 photos accumulate, keeping delivery fast and storage bounded during long sessions. A generated manifest file gives the robot's frontend a single source of truth to poll, while debounced file-event handling, rotating logs, and graceful shutdown keep the service stable through unattended, multi-day operation.

PythonPillowWatchdogPyYAMLJSON Manifest
👋 Hi, I'm a digital version of Lasantha. Ask me about my work.