About Avestec
Avestec is an award-winning Canadian robotics company developing advanced aerial and ground robotic systems for industrial inspection, asset integrity management, confined space operations, and autonomous navigation. Our technologies are deployed across energy, defense, infrastructure, and industrial sectors worldwide.
Position Overview
Avestec is seeking an experienced Computer Vision Engineer on a 6–12 month contract to strengthen perception and GPS‑denied navigation across our commercial drone fleet. You’ll work at the intersection of computer vision, sensor fusion, and flight‑controller integration — evaluating, adapting, and deploying state‑of‑the‑art visual SLAM, visual‑inertial odometry (VIO), and optical‑flow algorithms tailored to the mechanical, optical, and computational constraints of our aerial platforms.
You will build new perception pipelines or customize proven open‑source frameworks to achieve robust, low‑latency pose estimation and motion tracking in challenging industrial environments — GPS‑denied indoor spaces, underground vaults, and cluttered outdoor structures. Your outputs integrate tightly with PX4 and ArduPilot flight stacks, enabling reliable autonomous flight and precise station‑keeping without reliance on external positioning infrastructure.
Key Responsibilities
- Evaluate, benchmark, and select visual SLAM, VIO, and optical‑flow frameworks against our drone platform requirements and target operating environments.
- Customize and tune perception algorithms for specific drone vibration profiles, camera and shutter characteristics, IMU noise parameters, and onboard compute constraints (e.g., NVIDIA Jetson‑class hardware).
- Perform camera intrinsic/extrinsic and camera–IMU spatio‑temporal calibration (e.g., Kalibr), and validate quality through systematic field tests.
- Integrate vision‑derived pose and motion estimates into PX4 or ArduPilot, configuring the EKF estimator to fuse external vision for GPS‑denied hover and navigation.
- Develop ROS 2 nodes and launch configurations for sensor acquisition, time synchronization, and real‑time state‑estimation pipelines on embedded compute platforms.
- Design and execute repeatable indoor and field benchmarks; quantify performance with standard metrics (ATE, RPE, RMSE) across varied lighting, motion dynamics, and feature‑sparse conditions.
- Analyze flight logs, ROS bags, and MAVLink telemetry to diagnose drift, estimator divergence, optical‑flow failure, and synchronization issues; translate findings into actionable engineering improvements.
- Collaborate with the GNC, embedded firmware, and mechanical teams on vibration isolation, camera–IMU triggering, and compute integration; produce clear documentation — algorithm rationale, calibration procedures, integration guides, and benchmark reports — so the core team can maintain and extend the perception stack post‑contract.
Required Qualifications
- Bachelor’s or Master’s in Robotics, Computer Science, Aerospace, Electrical Engineering, or a related discipline; a Master’s or PhD focused on computer vision or state estimation is strongly preferred.
- 3+ years across visual SLAM, VIO, visual odometry, or optical flow on real robotic platforms — UAVs, ground robots, or handheld devices.
- Depth in a major open‑source SLAM/VIO framework (e.g., ORB‑SLAM3, VINS‑Fusion, OpenVINS) and the ability to modify algorithm internals — feature tracking, marginalization, IMU preintegration.
- A strong classical computer‑vision foundation — feature detection and tracking, optical flow, multi‑view geometry, camera models, and bundle adjustment.
- External pose integration with PX4 or ArduPilot for GPS‑denied autonomous flight, including parameter tuning for stable hover and position hold.
- Strong C++ and Python — performance‑critical algorithm development in C++, scripting, data analysis, and calibration tooling in Python; comfortable with CMake, Git, and Docker.
- Fluency in ROS / ROS 2 — custom nodes, launch files, rosbag, and visualization in RViz and Foxglove.
- Hands‑on calibration experience — camera intrinsic/extrinsic and camera–IMU spatio‑temporal calibration (e.g., Kalibr) on global‑shutter stereo cameras and MEMS IMUs.
- A solid estimation foundation — rigid‑body kinematics, probabilistic state estimation, and nonlinear optimization.
Preferred Qualifications
- Prior PX4 or ArduPilot flight‑stack development or deep EKF configuration (optical flow, rangefinder fusion) beyond basic mission planning.
- Deploying perception on edge compute (NVIDIA Jetson Orin/Xavier, Qualcomm RB5, or similar), including GPU‑accelerated feature extraction or neural depth/flow estimation.
- Learning‑based vision — deep feature matching, monocular depth, or learned optical flow (e.g., RAFT) — applied alongside classical methods.
- LiDAR‑inertial or LiDAR‑visual‑inertial fusion (e.g., FAST‑LIO, LIO‑SAM) for complementary or fallback localization in textureless environments.
- Familiarity with simulation environments (Gazebo, AirSim, or PX4‑compatible SITL) for early algorithm validation before live flight testing.
- Publications, open‑source contributions, or portfolio projects in visual SLAM, VIO, optical flow, or state estimation.
Why Join Avestec?
- A deep, unsolved engineering challenge — real‑world perception on industrial drones in GPS‑denied, high‑vibration, visually challenging environments.
- See your algorithms fly within weeks, not years — a tight hardware–software team means short cycles from idea to field test.
- A multidisciplinary team — collaborate with GNC, embedded, and mechanical engineers on patented technologies deployed across energy, defense, and infrastructure globally.
- Scope designed for impact — 6–12 months with a defined deliverable set and potential for extension or transition to full‑time based on project outcomes.
Pay: $4,500.00-$5,500.00 per month
Location:
Work Location: In person