UAV & Robotics Software Engineer — C++23, ROS 2, PX4, GStreamer, Jetson
I design and implement flight-critical software for drones and robotics: navigation pipelines and computer vision. Available for consulting and contract work — remote or on-site.
pavelguzenfeld.com | Consulting | Blog | LinkedIn
| Project | What it does |
|---|---|
| strong-types | Type-safe C++ primitives with SI units, dimensional analysis, and fuzz testing — prevent unit/coordinate mix-ups at compile time |
| behavior-tree-lite | Header-only C++23 behavior tree with compile-time DSL and zero-overhead flattened execution |
| l2-hybrid-protocol | Custom L2 network protocol — lower latency than raw UDP for real-time telemetry |
| gst-nvmm-cpp | GStreamer plugins for zero-copy NVMM video on NVIDIA Jetson (Xavier, Orin) |
| immutable-data-embedder | Compile-time C++23 config parser — embed data as constexpr with zero runtime overhead |
| ucoro | Minimal C++ coroutine abstraction for async task orchestration |
| gst-metadata | Composable GStreamer metadata — type-safe, independent metadata types via CRTP |
| safe-shm | Thread-safe shared memory with compile-time allocation |
| image-shm-dblbuf | Double-buffered shared memory optimized for video frames |
| v4l2 | Video for Linux 2 based video source adapter in C++ |
| Project | What it does |
|---|---|
| fiber-nav-sim | GPS-denied VTOL navigation — fiber optic + monocular vision fusion, PX4 + Gazebo + ROS 2 |
| linalg3d | 3D linear algebra for flight path and attitude calculations |
| image-to-body-math | Camera-to-body coordinate transforms — C++23 header-only + Python (nanobind, zero-copy NumPy) |
| ros2-gst-meta | ROS 2 ↔ GStreamer metadata bridge for vision pipelines |
| geoslice | Geospatial terrain slicing utilities |
| Project | What it does |
|---|---|
| standard | Reusable GitHub Actions for C++/Python — diff-aware linting, SAST, sanitizers, fuzzing |
| mcp-media-forge | MCP server for generating presentations, diagrams, and charts from Markdown |
| gemini-mcp | MCP server exposing Google Gemini as tools for Claude Code |
| notebooklm-mcp | MCP server for Google NotebookLM — notebooks, sources, chat, artifacts, research |
| ros2-alpine | Minimal ROS 2 on Alpine Linux — lightweight container for edge deployment |
| ai-cpp-course | C++ course for AI developers — nanobind, CUDA, profiling-driven optimization |
- Eigen — bug fixes, new operators, structured bindings, Gram-Schmidt QR
- dora-rs — C++ API parity, zero-copy output, dynamic node init
- XGBoost —
python -OOcrash fixes, type safety, dead code removal - PX4-Autopilot — DDS reconnection, MAVLink signing, mission resume bugs
- GStreamer — NVMM Jetson plugins, shmsink bugs, CUDA memory checks
- Fast-DDS — data races, infinite loop, null-deref, missing includes
- MAVSDK — telemetry timestamps, geofence download, HOME_POSITION
- ROS 2 — O(N²) → O(N) CallbackGroup (71x speedup), deadlock fix
- OpenCV, concurrentqueue, px4-ros2-interface-lib — bug fixes and utilities
Full contribution list with links →
- 🎉 Merged PR #2827 in mavlink/MAVSDK
- 🎉 Merged PR #2828 in mavlink/MAVSDK
- 🎉 Merged PR #2803 in mavlink/MAVSDK
- 🎉 Merged PR #2804 in mavlink/MAVSDK
- 🗣 Commented on #2804 in mavlink/MAVSDK



