- 11:23 1405/2/27
- تکنولوژی پرواز
مفهوم PX4Flow در ArduPilot "سنسور دید و جریان برای ناوبری دقیق"
PX4Flow یک سنسور اپتیکال (دوربین) است که برای اندازهگیری جریان نوری (Optical Flow) و تشخیص فاصله طراحی شده است. وقتی این سنسور با یک سیستم پرواز خودکار مانند ArduPilot ترکیب میشود، قابلیتهای ناوبری رباتها (به خصوص کوادکوپترها) را به طور قابل توجهی افزایش میدهد، به خصوص در شرایطی که سیگنال GPS ضعیف یا در دسترس نیست.
PX4FLOW یک دوربین هوشمند با قابلیت «جریان نوری» است. این دوربین دارای وضوح تصویر اصلی ۷۵۲x۴۸۰ پیکسل است و جریان نوری را در یک ناحیه برش داده شده و با وضوح ۴x و با فرکانس ۴۰۰ هرتز محاسبه میکند که به آن حساسیت نوری بسیار بالایی میدهد.
حسگر PX4FLOW (جریان نوری) یک ماژول دوربین رو به پایین با وضوح بالا و یک ژیروسکوپ ۳ محوره است که از بافت زمین و ویژگیهای قابل مشاهده برای تعیین سرعت هواپیما روی زمین استفاده میکند.
عملکرد PX4Flow
- اندازهگیری جریان نوری (Optical Flow):
- این سنسور دارای یک دوربین است که به طور مداوم از سطح زیر خود تصویربرداری میکند.
- با مقایسه فریمهای متوالی تصویر، الگوریتمهای پردازش تصویر، سرعت حرکت تصویر روی سنسور را محاسبه میکنند.
- این سرعت حرکت تصویر، متناسب با سرعت حرکت ربات نسبت به سطح زیرین است (با در نظر گرفتن فاصله).
- به عبارت دیگر، PX4Flow به ربات میگوید که “با چه سرعتی در حال حرکت افقی هستی” بر اساس اینکه تصاویر زیر آن چقدر سریع جابجا میشوند.
نحوه ادغام با ArduPilot
PX4Flow از طریق پروتکل سریال (معمولاً UART) به فلایتکنترلر ArduPilot متصل میشود. ArduPilot دادههای دریافتی از PX4Flow را تفسیر کرده و از آنها برای بهبود ناوبری استفاده میکند:
- ناوبری دقیق بدون GPS: در محیطهای داخلی، یا در فضاهای بسته که GPS کار نمیکند، PX4Flow میتواند به عنوان منبع اصلی اطلاعات سرعت (velocity) و موقعیت (position) عمل کند. ArduPilot با ترکیب دادههای جریان نوری و فاصله، میتواند ربات را در یک نقطه ثابت نگه دارد (Position Hold) یا آن را به سمت هدف هدایت کند.
- بهبود عملکرد GPS: حتی زمانی که GPS در دسترس است، دادههای PX4Flow میتوانند به عنوان یک منبع کمکی عمل کرده و دقت ناوبری را به خصوص در هنگام پرواز در ارتفاع پایین یا در حین مانورهای سریع افزایش دهند.
- فرود دقیق: اطلاعات فاصله سنسور برای فرودهای دقیق و نرم روی سطوح مختلف بسیار مفید است.
تنظیمات در ArduPilot
برای استفاده از PX4Flow با ArduPilot، نیاز به تنظیمات خاصی در پارامترهای فلایتکنترلر دارید:
- تنظیمات پورت سریال: پورت UART که PX4Flow به آن متصل شده است باید برای دریافت دادههای جریان نوری پیکربندی شود. پارامتر
SERIALx_PROTOCOLمعمولاً روی 23 (RCIN) یا 17 (OpticalFlow) تنظیم میشود. - تنظیمات سنسور جریان نوری: پارامترهایی مانند
FLOW_ENABLEباید فعال شوند. - کالیبراسیون: در برخی موارد، ممکن است نیاز به کالیبراسیون سنسور باشد.
مزایای استفاده از PX4Flow با ArduPilot
- ناوبری مستقل از GPS: امکان پرواز و مانور دقیق در محیطهای داخلی یا بدون سیگنال GPS.
- افزایش دقت و پایداری: بهبود عملکرد قفل موقعیت (Position Hold) و قابلیتهای پروازی خودکار.
- فرودهای دقیق: قابلیت فرود نرم و دقیق روی سطوح با ارتفاع متغیر.
- کنترل بهتر در ارتفاع پایین: به خصوص برای رباتهای پرنده که در نزدیکی موانع یا سطح زمین پرواز میکنند.
محدودیتها
- وابستگی به سطح زیرین: PX4Flow برای کار کردن به سطحی با تکستچر (Texture) کافی نیاز دارد. سطوح کاملاً یکنواخت، سفید، یا براق (مانند آب) باعث میشود سنسور نتواند جریان نوری را به درستی تشخیص دهد.
- محدودیت ارتفاع: در ارتفاعات بسیار بالا، میدان دید سنسور گستردهتر شده و سرعت محاسبه شده ممکن است دقت خود را از دست بدهد. همچنین، اگر سطح زیرین در میدان دید نباشد، عملکرد مختل میشود.
- نیاز به نور کافی: مانند هر دوربین دیگری، به نور محیطی برای تصویربرداری نیاز دارد.
- هزینه: نسبت به سنسورهای سادهتر، گرانتر است.
در کل، PX4Flow یک ابزار قدرتمند برای افزایش قابلیتهای ناوبری رباتها، به ویژه در سناریوهایی است که GPS قابل اتکا نیست. ترکیب آن با ArduPilot امکان پیادهسازی رباتهای خودکار با دقت بالا را فراهم میآورد.
افزایش عملکرد:
به صورت پیشفرض، ماژول PX4Flow نه لیزر دارد و نه LiDAR.
PX4Flow یک سنسور اپتیکال است که تمرکزش بر جریان نوری (Optical Flow) است. یعنی حرکت یک الگوی تصویری را روی سطح زیرین تشخیص میدهد تا سرعت حرکت ربات را محاسبه کند.
این ماژول در نسخههای اصلی خود، معمولاً دارای:
- یک دوربین: برای گرفتن تصاویر و پردازش جریان نوری.
- یک سنسور فاصله: این سنسور در نسخههای کلاسیک PX4Flow معمولاً از نوع التراسونیک (Sonar) یا مادون قرمز (IR) است، نه لیزر. این سنسور برای اندازهگیری ارتفاع ربات از سطح استفاده میشود تا بتواند سرعت جریان نوری را به سرعت خطی تبدیل کند.
استفاده ترکیبی: در بسیاری از پروژهها، کاربران PX4Flow را برای قابلیت جریان نوری استفاده میکنند و یک سنسور LiDAR جداگانه (مانند TF-Luna یا SF11/C) را به فلایتکنترلر ArduPilot متصل میکنند تا اندازهگیری دقیق ارتفاع را انجام دهند. این ترکیب، قابلیت موقعیتیابی دقیق ربات را بدون GPS به شدت افزایش میدهد.
این ماژول برای دریافت اطلاعات دقیق فاصله، به سنسور التراسونیک یا مادون قرمز داخلی خود یا یک سنسور فاصله خارجی (که میتواند LiDAR باشد) وابسته است.
برای استفاده بهینه با ArduPilot، معمولاً توصیه میشود:
- PX4Flow را برای Optical Flow به فلایتکنترلر وصل کنید.
- یک LiDAR (مانند TF-Luna) را نیز به پورت مخصوص Rangefinder فلایتکنترلر متصل کنید تا ArduPilot از هر دو سنسور به صورت بهینه استفاده کند.
ترکیب سنسور px4flow و لایدار (Lidar) در رباتیک و پهپادها برای تخمین دقیق موقعیت و ناوبری در ارتفاع پایین و نزدیک به زمین استفاده میشود.
- px4flow: این سنسور با استفاده از دوربین و الگوریتمهای پردازش تصویر، سرعت و جابجایی را نسبت به محیط اطراف (Optical Flow) اندازهگیری میکند. این قابلیت برای تثبیت موقعیت و ناوبری در فضاهایی که GPS سیگنال ضعیفی دارد یا در دسترس نیست، بسیار مفید است.
- لایدار (Lidar): لایدار با ارسال پالسهای لیزر و اندازهگیری زمان بازگشت آنها، فاصله دقیق سنسور تا سطوح مختلف را محاسبه میکند. این اطلاعات برای تعیین ارتفاع دقیق از سطح زمین و نقشهبرداری سهبعدی محیط کاربرد دارد.
کاربرد ترکیبی:
وقتی این دو سنسور با هم ترکیب میشوند (PX4Flow و Lidar)، میتوانند اطلاعات جامعی برای ناوبری فراهم کنند:
- ناوبری دقیق در ارتفاع پایین: px4flow جابجایی را تخمین میزند و لایدار ارتفاع دقیق را مشخص میکند. این ترکیب امکان پرواز پایدار و دقیق در نزدیکی موانع، روی سطوح ناهموار یا در محیطهای داخلی را فراهم میآورد.
- فرود و برخاست خودکار: برای فرود دقیق روی یک نقطه مشخص یا برخاست ایمن، اطلاعات هر دو سنسور حیاتی است.
- نقشهبرداری و نمونهبرداری: در کاربردهایی مانند کشاورزی دقیق یا بازرسی، این ترکیب به ربات اجازه میدهد تا مسیر خود را با دقت بالا طی کرده و نمونهبرداری یا عکسبرداری را در نقاط مشخص انجام دهد.
- تشخیص موانع: لایدار میتواند موانع را در مسیر تشخیص دهد و px4flow به ربات کمک میکند تا موقعیت خود را نسبت به موانع حفظ کند.
به طور خلاصه، ترکیب این دو سنسور، قابلیتهای ناوبری بصری (Visual Odometry) و سنجش ارتفاع دقیق را برای رباتها و پهپادها فراهم میکند و امکان عملکرد مستقل و دقیقتر را در محیطهای پیچیده و بدون GPS مهیا میسازد.