<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ardupilot on K-Life Hack | 韓国ハイエンド・ライフスタイルガイド</title><link>https://klifehack.com/tags/ardupilot/</link><description>Recent content in Ardupilot on K-Life Hack | 韓国ハイエンド・ライフスタイルガイド</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Sat, 23 May 2026 12:31:27 +0900</lastBuildDate><atom:link href="https://klifehack.com/tags/ardupilot/index.xml" rel="self" type="application/rss+xml"/><item><title>Jetson NanoとRealSense D435iを統合した自律精密着陸システムの構築とTensorRTによる推論最適化</title><link>https://klifehack.com/p/jetson-nano-d435i-precision-landing/</link><pubDate>Sat, 23 May 2026 12:31:27 +0900</pubDate><guid>https://klifehack.com/p/jetson-nano-d435i-precision-landing/</guid><description>&lt;img src="https://klifehack.com/" alt="Featured image of post Jetson NanoとRealSense D435iを統合した自律精密着陸システムの構築とTensorRTによる推論最適化" /&gt;&lt;h2 id="システムアーキテクチャとハードウェア構成の選定"&gt;システムアーキテクチャとハードウェア構成の選定
&lt;/h2&gt;&lt;p&gt;2026年現在の自律型UAV（無人航空機）運用において、GPSの誤差（通常2〜5m）を克服するための視覚ベース精密着陸システムは不可欠なコンポーネントです。本プロジェクトでは、エッジコンピューティングデバイスとして &lt;b&gt;&lt;mark&gt;Jetson Nano&lt;/mark&gt;&lt;/b&gt; を採用し、深度情報の取得に &lt;b&gt;&lt;mark&gt;Intel RealSense D435i&lt;/mark&gt;&lt;/b&gt;、フライトコントローラー（FC）に Pixhawk を使用する構成を構築しました。&lt;/p&gt;
&lt;img alt="System operational pipeline topology flow description" fetchpriority="high" height="316" loading="eager" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198272_0.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);" width="317"/&gt;
&lt;p&gt;データフローは、D435iからのRGB-Dストリームを Jetson Nano が受信し、YOLOv8 モデルでランディングパッドを検出、その中心座標を深度マップと照合して3D相対距離を算出します。最終的に &lt;code&gt;pymavlink&lt;/code&gt; を介して &lt;code&gt;LANDING_TARGET&lt;/code&gt; メッセージを Pixhawk に送信し、ArduPilot の自律着陸アルゴリズムを駆動させます。USB 3.0 バスの帯域幅確保と、Jetson Nano の電力モード（10Wモード）の固定が安定稼働の前提条件となります。&lt;/p&gt;
&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198273_1.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;
&lt;h2 id="合成データセット生成による学習モデルの汎用性向上"&gt;合成データセット生成による学習モデルの汎用性向上
&lt;/h2&gt;&lt;p&gt;実環境でのデータ収集には限界があるため、OpenCVを用いた合成データセット生成スクリプトを実装しました。ランディングパッドのPNG画像を、様々なアスファルトやコンクリートの背景画像にランダムに合成します。この際、ドローンの接近角をシミュレートするために &lt;code&gt;cv2.getPerspectiveTransform&lt;/code&gt; を用いた透視変換を適用することが重要です。&lt;/p&gt;
&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198275_2.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; cv2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; numpy &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; np
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;apply_perspective_transform&lt;/span&gt;(image, src_points, dst_points):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;matrix &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cv2&lt;span style="color:#f92672"&gt;.&lt;/span&gt;getPerspectiveTransform(src_points, dst_points)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;result &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cv2&lt;span style="color:#f92672"&gt;.&lt;/span&gt;warpPerspective(image, matrix, (image&lt;span style="color:#f92672"&gt;.&lt;/span&gt;shape[&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;], image&lt;span style="color:#f92672"&gt;.&lt;/span&gt;shape[&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;]))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; result
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Synthetic data generation logic for landing pad augmentation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;このスクリプトにより、輝度変化、モーションブラー、および幾何学的歪みを含む1,000枚の学習データを短時間で確保しました。これにより、実機テスト時の検出失敗率が大幅に低下しました。&lt;/p&gt;
&lt;h2 id="yolov8の学習とtensorrtへのエクスポートプロセス"&gt;YOLOv8の学習とTensorRTへのエクスポートプロセス
&lt;/h2&gt;&lt;p&gt;Jetson Nano の CPU リソースは極めて限定的であるため、PyTorch モデル（.pt）をそのまま推論に使用すると FPS が 2〜5 程度まで低下し、飛行制御に致命的な遅延をもたらします。これを解決するために &lt;b&gt;&lt;mark&gt;TensorRT&lt;/mark&gt;&lt;/b&gt; への変換が必須となります。&lt;/p&gt;
&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198276_3.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;
&lt;p&gt;まず、高性能なデスクトップPC（RTX 4090環境）で YOLOv8-nano モデルを学習させ、その後 Jetson Nano 上で以下のコマンドを実行してエンジンファイルを生成します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Exporting YOLOv8 model to TensorRT format on Jetson Nano&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yolo export model&lt;span style="color:#f92672"&gt;=&lt;/span&gt;best.pt format&lt;span style="color:#f92672"&gt;=&lt;/span&gt;engine device&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; half&lt;span style="color:#f92672"&gt;=&lt;/span&gt;True
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="エクスポート時のログ出力例"&gt;エクスポート時のログ出力例
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TensorRT: starting export with TensorRT 8.2.1...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TensorRT: input &amp;#34;images&amp;#34; with shape(1, 3, 640, 640) DataType.HALF
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TensorRT: output &amp;#34;output0&amp;#34; with shape(1, 84, 8400) DataType.HALF
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TensorRT: export success, saved as best.engine (14.2 MB)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;half=True&lt;/code&gt; (FP16) を指定することで、推論精度を維持しつつ、Jetson Nano 上で 35 FPS 以上のスループットを確保しました。&lt;/p&gt;
&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198277_4.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;
&lt;h2 id="realsense-d435iによる深度マッピングと3d座標変換"&gt;RealSense D435iによる深度マッピングと3D座標変換
&lt;/h2&gt;&lt;p&gt;検出されたバウンディングボックスの中心点 $(u, v)$ を、RealSense の深度フレームと照合します。単一ピクセルの深度値はノイズの影響を受けやすいため、中心点周辺 5x5 ピクセルの平均値を取得するフィルタリングを実装しています。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;get_filtered_depth&lt;/span&gt;(depth_frame, x, y, window_size&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;depth_roi &lt;span style="color:#f92672"&gt;=&lt;/span&gt; depth_frame[y&lt;span style="color:#f92672"&gt;-&lt;/span&gt;window_size:y&lt;span style="color:#f92672"&gt;+&lt;/span&gt;window_size, x&lt;span style="color:#f92672"&gt;-&lt;/span&gt;window_size:x&lt;span style="color:#f92672"&gt;+&lt;/span&gt;window_size]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;valid_depths &lt;span style="color:#f92672"&gt;=&lt;/span&gt; depth_roi[depth_roi &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; np&lt;span style="color:#f92672"&gt;.&lt;/span&gt;mean(valid_depths) &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; len(valid_depths) &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この座標データは、カメラの取り付け角度（ピッチ角）を考慮した回転行列を適用した後、MAVLink メッセージとしてパッキングされます。&lt;/p&gt;
&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198278_5.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;
&lt;h2 id="mavlink通信によるlanding_targetの送信"&gt;MAVLink通信によるLANDING_TARGETの送信
&lt;/h2&gt;&lt;p&gt;計算された相対座標を Pixhawk に送信するために、&lt;code&gt;pymavlink&lt;/code&gt; を使用します。ArduPilot は &lt;code&gt;LANDING_TARGET&lt;/code&gt; メッセージを受信すると、内部の EKF3 フィルタに統合し、着陸フェーズでの位置補正を開始します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; pymavlink &lt;span style="color:#f92672"&gt;import&lt;/span&gt; mavutil
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;send_landing_target&lt;/span&gt;(connection, x_rad, y_rad, distance):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;connection&lt;span style="color:#f92672"&gt;.&lt;/span&gt;mav&lt;span style="color:#f92672"&gt;.&lt;/span&gt;landing_target_send(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, mavutil&lt;span style="color:#f92672"&gt;.&lt;/span&gt;mavlink&lt;span style="color:#f92672"&gt;.&lt;/span&gt;MAV_FRAME_BODY_NED,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;x_rad, y_rad, distance, &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198279_6.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;
&lt;h2 id="トラブルシューティング推論レイテンシと通信の不安定性"&gt;トラブルシューティング：推論レイテンシと通信の不安定性
&lt;/h2&gt;&lt;h3 id="1-tensorrt実行時のサーマルスロットリング"&gt;1. TensorRT実行時のサーマルスロットリング
&lt;/h3&gt;&lt;p&gt;&lt;b&gt;現象&lt;/b&gt;: 推論開始から約10分後、FPSが30から12に急落する。&lt;br&gt;
&lt;b&gt;原因&lt;/b&gt;: Jetson Nano の SoC 温度が 80°C を超え、周波数制限が発生していた。&lt;br&gt;
&lt;b&gt;対策&lt;/b&gt;: &lt;code&gt;jetson_clocks&lt;/code&gt; コマンドを実行してファン速度を最大に固定し、物理的な大型ヒートシンクへの換装を実施。&lt;/p&gt;
&lt;h3 id="2-realsense-usb-30-認識エラー"&gt;2. RealSense USB 3.0 認識エラー
&lt;/h3&gt;&lt;p&gt;&lt;b&gt;現象&lt;/b&gt;: &lt;code&gt;RuntimeError: Frame didn't arrive within 5000&lt;/code&gt; が頻発する。&lt;br&gt;
&lt;b&gt;原因&lt;/b&gt;: Jetson Nano のキャリアボードにおける USB バス供給電力の不足。&lt;br&gt;
&lt;b&gt;対策&lt;/b&gt;: D435i を外部給電式の USB 3.0 ハブ経由で接続するか、Jetson Nano への給電を DC ジャック（5V 4A）に切り替えることで解決。&lt;/p&gt;
&lt;h3 id="3-mavlink-メッセージのパケットロス"&gt;3. MAVLink メッセージのパケットロス
&lt;/h3&gt;&lt;p&gt;&lt;b&gt;現象&lt;/b&gt;: Pixhawk 側で &lt;code&gt;LANDING_TARGET&lt;/code&gt; が断続的にしか受信されない。&lt;br&gt;
&lt;b&gt;原因&lt;/b&gt;: シリアル通信のボーレート不足（115200bps）によるバッファオーバーフロー。&lt;br&gt;
&lt;b&gt;対策&lt;/b&gt;: ボーレートを 921600bps に引き上げ、&lt;code&gt;SERIAL1_PROTOCOL=2&lt;/code&gt; (MAVLink 2) を明示的に設定。&lt;/p&gt;
&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198281_7.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;
&lt;h2 id="システム検証と運用テストの結果"&gt;システム検証と運用テストの結果
&lt;/h2&gt;&lt;p&gt;実装したシステムの検証を、高度 5m からの自動着陸シーケンスで実施しました。以下のログは、着陸直前のターゲット補正状況を示しています。&lt;/p&gt;
&lt;h3 id="運用ログ着陸ターゲット追従状況"&gt;運用ログ：着陸ターゲット追従状況
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[INFO] Target Detected: x=0.12m, y=-0.05m, dist=3.42m | FPS: 36.2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[INFO] Target Detected: x=0.08m, y=-0.02m, dist=2.15m | FPS: 35.8
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[INFO] Target Detected: x=0.01m, y=0.01m, dist=0.85m | FPS: 36.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[SUCCESS] Precision Landing Completed. Offset: 4.2cm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198282_8.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;
&lt;p&gt;検証の結果、最終的な着陸精度は中心点から半径 8cm 以内に収まり、GPS 単独時の誤差（約 2.5m）と比較して大幅な精度向上を確認しました。また、&lt;b&gt;&lt;mark&gt;TensorRT&lt;/mark&gt;&lt;/b&gt; による高速化により、ドローンの急激な姿勢変化に対しても遅延なくターゲットを追従することが可能となりました。&lt;/p&gt;
&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198283_9.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;
&lt;h2 id="結論と今後の運用上の留意点"&gt;結論と今後の運用上の留意点
&lt;/h2&gt;&lt;p&gt;本システムは、Jetson Nano という制約のあるリソース下で、AI推論と深度計測を同期させる実用的な解法を提供します。運用上の留意点として、RealSense の深度計測範囲（D435i の場合は約 0.3m〜10m）を考慮し、高度 10m 以上では YOLO による 2D 検出のみを行い、10m 以下で深度情報を統合するロジックの切り替えが推奨されます。&lt;/p&gt;
&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198285_10.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;
&lt;p&gt;また、夜間運用においては、赤外線プロジェクターの出力を最大化するか、ランディングパッド自体にアクティブな発光体（LEDマーカー）を配置する等の物理的な対策が、検出安定性の向上に寄与します。&lt;/p&gt;
&lt;img alt="System operational pipeline topology flow description" decoding="async" loading="lazy" src="https://raw.githubusercontent.com/bbobboyya00-cmyk/k-life-assets/main/assets/2026/05/31/jetson-nano-d435i-precision-landing/khack_1780198286_11.webp" style="width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:12px;margin:35px auto;display:block;box-shadow:0 4px 15px rgba(0,0,0,0.1);"/&gt;</description></item></channel></rss>