<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[PRODRONE TECH]]></title><description><![CDATA[I'm a craft enthusiast and feel honored to engage in discussions and exchange ideas with you.]]></description><link>https://crafts.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/646f10555dbe6faf19f2fae2/0adcbdcb-bc08-44b2-a389-284550626ed6.png</url><title>PRODRONE TECH</title><link>https://crafts.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Thu, 12 Nov 2026 07:44:08 GMT</lastBuildDate><atom:link href="https://crafts.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Edge AI on a Drone Is a Systems Problem, Not a Model Problem]]></title><description><![CDATA[Explore how latency, power, hardware limits and flight-control integration shape real-world edge AI systems on drones.]]></description><link>https://crafts.hashnode.dev/edge-ai-drone-systems-engineering</link><guid isPermaLink="true">https://crafts.hashnode.dev/edge-ai-drone-systems-engineering</guid><category><![CDATA[AI]]></category><category><![CDATA[ Edge AI]]></category><category><![CDATA[embedded systems]]></category><category><![CDATA[robotics]]></category><category><![CDATA[drones]]></category><dc:creator><![CDATA[PRODRONE TECH Editorial Team]]></dc:creator><pubDate>Fri, 06 Nov 2026 06:22:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/646f10555dbe6faf19f2fae2/7e87318b-df80-4b88-beb6-adf9721607ac.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>An object-detection model can perform impressively on a desktop computer and still be a poor choice for a drone.</p>
<p>The difference is the environment in which the model has to work.</p>
<p>A desktop computer can draw power from a stable supply, use substantial cooling and process data without worrying about every gram of additional hardware. An aircraft has a very different set of constraints. Its computing hardware adds weight, consumes battery power and has to operate within a compact physical system.</p>
<p>This is why deploying AI on a drone is not simply a matter of exporting a trained model and running inference.</p>
<p>It is a systems engineering problem.</p>
<h2>From camera image to useful decision</h2>
<p>Consider a drone using computer vision to identify an obstacle.</p>
<p>The process involves more than the neural network itself:</p>
<ol>
<li>A camera captures an image.</li>
<li>The onboard computer receives and preprocesses the image.</li>
<li>The inference engine runs the model.</li>
<li>The system interprets the model output.</li>
<li>A perception or planning component decides what the information means for the current flight.</li>
<li>Relevant information is communicated to the flight-control system.</li>
</ol>
<p>Every stage introduces processing time and potential failure points.</p>
<p>A model that completes inference quickly may still belong to a slow overall pipeline if image transfer, preprocessing or communication takes too long.</p>
<p>For a moving aircraft, the age of the information matters. A detection that arrives after the aircraft has already moved significantly may be less useful than a slightly less detailed result delivered on time.</p>
<p>That is why end-to-end latency deserves at least as much attention as model inference time.</p>
<h2>Why a companion computer makes sense</h2>
<p>Many autonomous drone architectures separate the flight controller from a companion computer.</p>
<p>The flight controller handles core flight-control and safety functions. The companion computer provides a more flexible environment for general software and computationally demanding applications such as computer vision.</p>
<p>In a PX4-based architecture, the companion computer commonly runs Linux and communicates with the flight controller through MAVLink or uXRCE-DDS.</p>
<p>This separation has a practical advantage.</p>
<p>Developers can experiment with computer-vision models, robotics software and other applications without treating the flight-control firmware as a general-purpose AI workstation.</p>
<p>It also creates an important architectural responsibility: the flight-control system must not blindly trust every output from an AI process.</p>
<p>Perception, planning and flight control are related, but they are not interchangeable.</p>
<p>An object detector identifies patterns in images. It does not automatically understand every flight constraint or guarantee that a proposed manoeuvre is safe.</p>
<h2>The hardware budget is part of the algorithm</h2>
<p>A model that requires more computation may deliver better results, but the aircraft has to carry the hardware that runs it.</p>
<p>Weight, power consumption, cost and available computing resources all influence the choice of companion computer.</p>
<p>There are several competing requirements:</p>
<ul>
<li>Processing capacity for the selected model.</li>
<li>Memory for images, model weights and intermediate data.</li>
<li>Power consumption within the aircraft's electrical budget.</li>
<li>Thermal management in a compact enclosure.</li>
<li>Reliable communication with the flight controller and sensors.</li>
</ul>
<p>These considerations can change which model is actually suitable.</p>
<p>A smaller model with predictable response times may be more useful than a larger model that occasionally misses its processing deadline.</p>
<p>The best model is not necessarily the most accurate model on a benchmark dataset. It is the model that meets the requirements of the complete aircraft system.</p>
<h2>Model optimisation comes with trade-offs</h2>
<p>Tools such as NVIDIA TensorRT can optimise trained neural networks for deployment on supported GPU hardware.</p>
<p>Techniques such as reduced-precision computation can improve performance and reduce resource requirements.</p>
<p>However, faster execution does not automatically mean equivalent model accuracy.</p>
<p>NVIDIA's TensorRT documentation explicitly discusses accuracy and performance trade-offs associated with FP16, BF16 and INT8 execution. Quantisation and other optimisation choices need to be validated against representative data.</p>
<p>This matters particularly for aerial applications.</p>
<p>The camera may encounter changing lighting, shadows, motion blur, different viewing angles and objects that were poorly represented in the training data.</p>
<p>A model that performs well on a prepared dataset may behave differently under real operating conditions.</p>
<h2>Measure the entire system, not just inference</h2>
<p>A sensible development process starts with measurement.</p>
<p>Instead of asking only how many frames per second a model can process, measure the complete pipeline:</p>
<ul>
<li>Camera capture and frame delivery.</li>
<li>Image preprocessing.</li>
<li>Data transfer.</li>
<li>Inference latency.</li>
<li>Post-processing.</li>
<li>Communication with other onboard components.</li>
<li>Total time from image capture to usable output.</li>
</ul>
<p>Then repeat the measurements under realistic hardware and workload conditions.</p>
<p>NVIDIA recommends a measure-then-optimise workflow for TensorRT: establish a reproducible baseline, make changes and measure again.</p>
<p>The same principle applies to drone engineering. An optimisation is only useful when it improves the actual system without introducing unacceptable accuracy or reliability problems.</p>
<h2>What happens when AI stops responding?</h2>
<p>This is perhaps the most important design question.</p>
<p>What should the aircraft do if the inference process crashes, the camera stops delivering frames or the model produces results with insufficient confidence?</p>
<p>The answer should be part of the system architecture, not something considered after deployment.</p>
<p>A robust design should distinguish between valid perception data, uncertain results and complete loss of the perception process. It should also define how the flight-control system behaves when those conditions occur.</p>
<p>AI should provide information that the wider system can evaluate. It should not be treated as an unquestionable source of truth.</p>
<p>The goal is not to put the largest possible neural network on a flying platform.</p>
<p>It is to build an aircraft in which sensing, computing, communication and control work together predictably.</p>
<p>That is where edge AI becomes an engineering discipline rather than a demonstration of model performance.</p>
<hr />
<h3>Further reading</h3>
<ul>
<li><a href="https://docs.px4.io/main/en/companion_computer/">PX4: Companion Computers</a></li>
<li><a href="https://docs.nvidia.com/deeplearning/tensorrt/latest/performance/best-practices.html">NVIDIA TensorRT: Best Practices</a></li>
<li><a href="https://docs.nvidia.com/deeplearning/tensorrt/latest/performance/optimization.html">NVIDIA TensorRT: Optimizing Performance</a></li>
</ul>
<p><em>This article discusses engineering principles and software architecture. It does not claim that a particular AI model or aircraft has been independently tested.</em></p>
]]></content:encoded></item><item><title><![CDATA[A Camera Is Not a GPS Receiver: How Visual-Inertial Odometry Helps Drones Navigate]]></title><description><![CDATA[Learn how cameras and IMUs work together in visual-inertial odometry, and where VIO helps drones navigate without reliable GNSS.]]></description><link>https://crafts.hashnode.dev/visual-inertial-odometry-drone-navigation</link><guid isPermaLink="true">https://crafts.hashnode.dev/visual-inertial-odometry-drone-navigation</guid><category><![CDATA[robotics]]></category><category><![CDATA[Computer Vision]]></category><category><![CDATA[drones]]></category><category><![CDATA[embedded systems]]></category><category><![CDATA[PX4]]></category><dc:creator><![CDATA[PRODRONE TECH Editorial Team]]></dc:creator><pubDate>Fri, 06 Nov 2026 06:15:23 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/646f10555dbe6faf19f2fae2/c1fa23d8-3b23-4637-88fb-e3c060a987fa.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A drone can have a perfectly good camera feed and still have very little idea of where it is.</p>
<p>This becomes a problem when GNSS signals are unavailable or unreliable. Indoor environments, covered structures and areas with difficult signal conditions can make satellite-based positioning less useful. Yet the aircraft still needs an estimate of its movement to maintain controlled flight.</p>
<p>One approach is Visual-Inertial Odometry, usually shortened to VIO.</p>
<p>It combines information from cameras and inertial sensors to estimate how a vehicle is moving relative to a local starting point. The interesting part is not simply that a drone can see its surroundings. It is how two very different types of sensors compensate for each other's weaknesses.</p>
<h2>What the camera knows — and what it doesn't</h2>
<p>A camera records images, not geographical coordinates.</p>
<p>Visual odometry works by identifying visual features in successive frames and observing how their apparent positions change. From those changes, an algorithm estimates the camera's movement through the environment.</p>
<p>Imagine a drone moving past a wall with visible patterns, corners and other recognizable details. The camera captures these features repeatedly. By comparing frames, the system can estimate how the camera has moved.</p>
<p>But vision alone has limitations.</p>
<p>Rapid motion can produce blurred images. A surface with very little visual detail offers few useful features to track. Changes in lighting can also make reliable tracking more difficult.</p>
<p>A camera provides valuable information, but it does not provide a complete navigation solution on its own.</p>
<h2>Why an IMU changes the picture</h2>
<p>An Inertial Measurement Unit (IMU) typically contains accelerometers and gyroscopes.</p>
<p>The accelerometer measures specific force, while the gyroscope measures angular velocity. These measurements describe how the aircraft moves and rotates over time.</p>
<p>An IMU responds much faster than a typical camera frame sequence, making it useful when the aircraft moves quickly between images.</p>
<p>VIO combines the two information streams:</p>
<ul>
<li>The camera provides visual observations of the surrounding environment.</li>
<li>The IMU provides rapid measurements of motion and rotation.</li>
<li>The estimation algorithm combines these observations to calculate a more useful movement estimate.</li>
</ul>
<p>The result is an estimate of position, orientation and velocity relative to a local reference, rather than an absolute geographical position.</p>
<p>That distinction matters. VIO does not automatically tell the drone its latitude and longitude.</p>
<h2>VIO is not the same as optical flow</h2>
<p>These terms are sometimes used interchangeably in casual discussions, but they describe different capabilities.</p>
<p>Optical flow systems commonly use a downward-facing camera together with a distance sensor to estimate two-dimensional velocity.</p>
<p>VIO goes further by combining visual information with IMU measurements to estimate three-dimensional pose and velocity.</p>
<p>The distinction is important when discussing navigation architectures. A system designed to maintain position over a nearby surface is not necessarily capable of providing the same information as a full visual-inertial navigation system.</p>
<p>PX4 documents both approaches as separate computer-vision capabilities.</p>
<h2>The difficult part is often integration</h2>
<p>Running a VIO algorithm is only one part of building a working aircraft.</p>
<p>Consider a typical PX4-based architecture:</p>
<p>A camera supplies images to a companion computer. A visual-inertial estimation process runs on that computer, often within a ROS-based software environment. The resulting odometry information is then sent to the flight controller through an appropriate interface.</p>
<p>PX4 can use external vision information through its EKF2 estimator.</p>
<p>Several details can determine whether this arrangement works reliably.</p>
<p><strong>Camera mounting and vibration:</strong> A camera that moves or vibrates relative to the aircraft frame introduces errors. PX4 specifically recommends vibration isolation for sensitive tracking cameras.</p>
<p><strong>Timing:</strong> Camera measurements and IMU measurements must be aligned in time. A delayed position estimate can be misleading even when the underlying algorithm is functioning correctly.</p>
<p><strong>Coordinate frames:</strong> The camera's orientation relative to the aircraft must be represented correctly. A mismatch can produce unexpected movement estimates.</p>
<p><strong>Estimator configuration:</strong> External vision measurements need to be configured and fused appropriately. Sending valid messages does not automatically guarantee a reliable navigation solution.</p>
<p>These are engineering problems, not merely software installation problems.</p>
<h2>Where VIO reaches its limits</h2>
<p>VIO is useful, but it is not a universal replacement for GNSS.</p>
<p>Visual tracking can deteriorate in environments with insufficient visual features. Vibration, motion blur, poor image conditions and calibration errors can all affect the estimate.</p>
<p>There is also a longer-term issue: errors in estimated movement can accumulate into position drift.</p>
<p>More advanced visual-inertial SLAM systems introduce mapping and loop-closure techniques to help recognize previously observed locations and correct accumulated errors. However, those capabilities should not be confused with what every basic VIO implementation provides.</p>
<p>The practical question is therefore not whether a camera can replace GPS.</p>
<p>It is how different positioning sources can be combined, monitored and used within the limits of the aircraft's actual environment.</p>
<p>A drone that understands the limitations of its sensors is more interesting, from an engineering perspective, than one that simply claims to be autonomous.</p>
<h3>Further reading</h3>
<ul>
<li><a href="https://docs.px4.io/main/en/computer_vision/visual_inertial_odometry">PX4: Visual Inertial Odometry</a></li>
<li><a href="https://docs.px4.io/main/en/computer_vision/">PX4: Computer Vision</a></li>
<li><a href="https://doi.org/10.1109/TRO.2021.3075644">ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial, and Multimap SLAM</a></li>
</ul>
<p><em>This article is a technical overview based on published research and engineering documentation. It does not describe a particular aircraft test or independently verified flight experiment.</em></p>
]]></content:encoded></item></channel></rss>