2-10- سیستم فایل رآس

سیستم فایل رآس شامل بسته­ها، متا بسته­ها، مانیفست بسته، مخازن، انواع پیام ها، و انواع سرویس­ها است.

بسته‌های رآس واحدهای فردی یا واحدهای اتمی نرم­افزار رآس هستند. تمامی فایل‌های داده، فایل­های ساخت، کد منبع، وابستگی‌ها و دیگر فایل‌ها در بسته‌ها سازماندهی می‌شوند. یک متا بسته[88] رآس مجموعه‌ای از بسته‌های مشابه برای یک برنامه خاص را تشکیل می‌دهد. یک متا بسته رآس هیچگونه فایل منبع یا فایل داده‌ای در خود ندارد و به بسته‌های مشابه وابستگی دارد. یک متا بسته رآس مجموعه‌ای از بسته‌ها را سازماندهی می‌کند.

مانیفست بسته یک فایل XML است که داخل هر بسته رآس قرار دارد و دربردارنده تمامی اطلاعات اولیه بسته رآس شامل نام بسته، توضیحات، مشخصات پدیدآورنده، وابستگی‌ها و غیره است. یک package.xml نوعی در زیر نشان داده شده است.

<?xml version=”1.0″?>

<package>

<name>test_pkg</name>

<version>0.0.1</version>

<description>The test package</description>

<maintainer email=”qboticslabs@gmail.com”>robot</maintainer>

<license>BSD</license>

<buildtool_depend>catkin</buildtool_depend>

…………….. …………… .

<run_depend>catkin</run_depend>

……. . ………… .

</package>

مخزن رآس مجموعه‌ای از بسته‌های رآس است که یک سیستم کنترل نسخه[89] رایج را به اشتراک می‌گذارد.

توصیف نوع پیام تعریف یک نوع پیام رآس جدید است. در رآس انواع داده وجود دارند که می‌توانند مستقیما در برنامه ما مورد استفاده قرار گیرند، اما اگر بخواهیم می‌توانیم یک پیام رآس جدید نیز ایجاد کنیم. نوع پیام جدید در داخل پوشه msg در داخل بسته تعریف و ذخیره می­شود.

همانند نوع پیام، نوع سرویس جدید نیز می توان تعریف کرد که در پوشه srv ذخیره می‌شود.

شکل 4-13 یک پوشه بسته رآس معمولی را نشان می‌دهد که شامل:

  • پوشه src حاوی کد نوشته شده برنامه به زبان C++ است.
  • پوشه launch حاوی فایل­های لانچ اجرای برنامه است.
  • پوشه config حاوی فایل­های پیکربندی برنامه است.
  • پوشه­ msgs حاوی پیام­های تعریفی است
  • پوشه­ srv حاوی سرویس­های تعریفی است
  • پوشه scripts حاوی کد نوشته شده برنامه به زبان پایتون است.
  • پوشه include حاوی فایل­های سربرگ برنامه است.
  • دو فایل txt و package.xml در هر بسته رآس وجود دارند.

شکل ‏4‑13: ساختار بسته رآس نوعی

[88] Meta package

[89] Version control system

n