• اولین مرجع آموزش رآس در ایران
  • info@iranros.com
wikiros-minwikiros-minwikiros-minwikiros-min
  • ایران رآس
  • ROS
    • پیش نیازهای شروع ROS
      • بررسی مفاهیم، اطلاعات فنی
      • نصب ROS برای تمام توزیع‌ها
      • برای آموزش ROS از کجا شروع کنیم؟
      • آموزش ROS
      • واژه‌نامه ROS
    • آموزش گام به گام
      • پیش‌نیازهای ROS
      • آموزش مقدماتی ROS
      • آموزش سطح متوسط
    • .
    • .
  • Software
    • نمایشگر سه‌بعدی (Rviz)
    • شبیه‌ساز گزبو Gazebo
    • نرم افزار moveit
  • Robots
    • Robots
      • ربات‌های پرکاربرد در ROS
        • ربات‌های زمینی
      • حسگرهای پرکاربرد در ROS
      • موتورهای پرکاربرد در ROS
  • publications
  • ایران رآس
  • ROS
    • پیش نیازهای شروع ROS
    • آموزش گام به گام
    • .
    • .
  • Software
    • نمایشگر سه‌بعدی (Rviz)
    • شبیه‌ساز گزبو Gazebo
    • نرم افزار moveit
  • Robots
    • Robots
  • publications
بررسی استاندارد مربوط به واحد اندازه‌گیری و دستگاه های مختصاتی در ROS
بررسی استاندارد واحد اندازه‌گیری و دستگاه های مختصاتی
فوریه 19, 2020
نصب ROS بر روی ویندوز ۱۰
مارس 16, 2020

بررسی استاندارد نامگذاری منابع در ROS

Categories
  • آموزش جامع ROS
  • استانداردها
Tags
  • naming resources ros
  • naming ros
  • package standard
  • package stanssard in ros
  • استاندارد بسته نویسی
  • استاندارد چگونه نوشتن بسته
  • استاندارد سورس نوشتن بسته
  • استاندارد نامگذاری پکیج
  • پطور پکیچ ایجاد کنم
  • چطور بسته ینویسم
  • چطور پکیج بنویسم
  • ساختن پکیج
  • ساختن پکیج در رآس
  • نجوه نامگذاری پکیج در رآس
  • نحوه ساخت پکیج استاندارد در ros
  • نحوه ساخت پکیج استاندارد در راس
  • نحوه ساهت پکیج استاندارد
  • نحوه نامگذاری بسته ها
  • نحوه نامگذاری پکیج
  • نوحه نامگذاری بسته ها در راس
استاندارد نامگذاری منابع در ROS

یکی دیگر از استانداردهای ROS نحوه نامگذاری منابع در رآس است

نامگذاری منابع 

یکی دیگر از استانداردهای ROS نحوه نامگذاری منابع در رآس است. نام بخش‌های مختلف در رآس نقش مهمی را ایفا می‌کنند. دلیل اصلی آن این است که با نام گذاری صحیح روند یادگیری و درک سیستم‌های بزرگ بسیار ساده‌تر می‌شود.

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

پکیج‌ها

پکیج‌های ROS یک فضای نام (namespace) را اشغال می‌کند ، بنابراین نامگذاری باید همواره با دقت انجام شود. یک استاندارد برای نامگذاری پکیج وجود دارد. ما به صورت خلاصه در این بخش آنها را ذکر خواهیم کرد و شما اصول برنامه نویسی برای پکیج ها را فرا خواهید گرفت. در واقع یک اصول برنامه نویسی در رآس برای بخش پکیج ها وجود دارد.

در این بخش سعی می شود تا این اصول را برای شما بیان کنیم.

  • اولین مورد مهم در نامگذاری پکیج‌ها این است که باید از قراردادهای مشترک نامگذاری متغیرهای C پیروی کند:

    • با حروف کوچک باشد
    • با حرف شروع کنید
    • از جداکننده‌ی زیر خط “_ ” استفاده کنید ، به عنوان مثال. laser_viewer

 

  • نام پکیج‌ها باید به اندازه کافی خاص باشد تا مشخص شود که این پکیج قرار است چه کاری را انجام دهد. به عنوان مثال، پکیجی که مربوط به یک برنامه ریز حرکت است به صورت planner نباید نامگذاری شود. اگر این پکیج الگوریتم انتشار موج را پیاده سازی کند ، می‌توان به عنوان نمونه آن را (wavefront_planner) بنامیم. البته همیشه یک کشمکشی بین ایجاد یک نام خاص و جلوگیری از تبدیل شدن آن به جمله‌ای بیش از حد شفاف وجود دارد.

 

    • استفاده از نام‌های همه جانبه و کلی مانند نام utils پرهیز شود.
    • برای اینکه بررسی کنید آیا نامی که می‌خواهید بر روی پکیچ قرار دهید از قبل وجود دارد و یا خیر به آدرس http://www.ros.org/browse مراجعه نمایید. زمانی هم هست که شما دوست دارید تا مخزن شما به این لیست که داخل آن جستجو کردید افزوده شود در این صورت باید مطابق با آموزش ارائه شده در اینجا مراجعه نمایید.

 

  • هدف ما ایجاد مجموعه ای از ابزارهای برای ساخت ربات‎ها است که هر یک از آنها وظایف خاصی دارند. مخزن ROS برای تولید مستندات نام پکیج باید به شما بگوید که این پکیج چه کاری انجام می دهد ، نه از کجا آمده است. باید این امکان را برای ما فراهم کنیم که به عنوان یک جامعه بتوانیم این کار را انجام دهیم. توزیع اوبونتو تقریبا ۳۳۰۰۰ پکیج را بدون درج نام اصلی یا تألیف در اسامی ارائه می دهد.

 

  • پیشوند برای نام یک پکیج فقط درصورتی توصیه می شود که پکیج مورد استفاده در حوزه‌ی خاصی استفاده شود (مثلاً پکیج هایی که مخصوص ربات PR2 هستند از پیشوند “pr2_” استفاده می کنند). ممکن است در هنگام توسعه و ایجاد تغییر در یک پکیج موجود ، نام پکیج را به عنوان پیشوند قرار دهید، اما باز هم دقت داشته باشید که بهتر است، پیشوند آنچه را تغییر داده‌اید (نه چه کسی آن را تغییر داده است)، نشان دهد.

 

  • استفاده از پیشوند یک نام پکیج با “ros” برای پکیج ROS اضافی است و شما نباید از آن استفاده کنید. تنها برای یکسری از پکیج های خاص که مربوط به هسته‌ی اصلی رآس است توصیه می شود.

تاپیک‌ها و سرویس‌ها

اسامی تاپیک‌ها و سرویس‌ها در یک فضای نام (namespace) سلسله مراتبی قرار می‌گیرند و کتابخانه های کلاینت برای استفاده مجدد از آنها در زمان اجرا (runtime) مکانیزم هایی را ارائه می دهند.

بنابراین اصول برنامه نویسی در این بخش انعطاف پذیری بیشتری نسبت به اصول برنامه نویسی برای پکیج‌ها وجود دارد. با این حال، بهتر است که نیاز به نام و تغییر نام را به حداقل برسانید.

  • نام تاپیک‌ها و سرویس‌ها نیز باید از قراردادهای نامگذاری متغیر معمولی C پیروی کند: در واقع باید با حروف کوچک باشند، با جداکننده‌ی زیر خط ‘_’ ، به عنوان مثال. laser_scan
  • نام تاپیک‌ها و سرویس‌ها باید به صورت منطقی و توصیفی باشد. اگر یک نود planner یک پیام حاوی وضعیت فعلی خود منتشر کند، تاپیک مرتبط را باید به صورت planner_state نامگذاری نماییم.

پیام‌ها

از فایل‌های پیام (Message files) برای تعیین نام کلاس کدهایی که به صورت خودکار تولید می شود، استفاده خواهد شد. به همین دلیل، آنها باید به صورت نگارش کوهان شتری (CamelCased) باشند. به عنوان مثال، LaserScan.msg

توجه: این یک استثناء برای کنوانسیون است که کلیه نام های فایل ها با حروف کوچک هستند و با استفاده از ‘_’ از یکدیگر جدا می شوند.

توجه: استفاده از نام پیام  به صورت CamelCase به دلیل پشتیبانی متناقض از حساسیت به فایل‌ها در سیستم عامل‌های مختلف، از بروز مشکلات جلوگیری می‌کند.

فیلدهای پیام باید با حروف کوچک باشد و با زیرخط از یکدیگر جدا شوند. به عنوان مثال، range_min

نودها

قبل از اینکه وارد اصول برنامه نویسی صحیح برای نود شویم. لازم است تا بدانیم که هر نود دارای دو بخش اصلی است که باید با استاندارد مطابق باشد بخش اول نام و بخش دوم نوع آن است.

  ۱-نوع ، نام اجرایی برای فایل لانچ آن نود است.

  ۲-نام ، همان چیزی است که هنگام راه اندازی به نودهای دیگر ROS منتقل می‌‍شود.

این دو مفهوم را باید از یکدیگر جدا در نظر گرفت. دلیل اصلی آن این است که نام‌ها باید منحصر به فرد باشند. در حالی که ممکن است نودهای مختلفی از یک نوع وجود داشته باشد.

در صورت امکان ، نام پیش فرض نود باید مانند نام فایل لانج استفاده شده برای نود باشد. این نام پیش فرض را می توان در هنگام راه اندازی به چیزی منحصر به فرد انتقال داد.


نام نوع نود

به طور کلی، اسامی نوع نود را باید کوتاه در نظر گرفت، زیرا آنها در نام پکیج قرار دارند.

به عنوان مثال، اگر پکیج laser_scan شما بیننده ای برای اسکن‌های لیزری دارد ، به سادگی آن را به عنوان view بنامید(به جای laser_scan_viewer).

بنابراین ، هنگامی که شما آن را با rosrun اجرا می کنید ، تایپ می کنید:

rosrun laser_scan view

استانداردهای مربوط به سیستم مختصات (TF frame_ids)

در این بخش بیشتر در مورد استاندارد نوشتن واحدها، جهت‌گیری‌ها، دوران‌، کواریانس، chirality و … بحث خواهد شد. (در حال تکمیل)

دستورات اجرایی Global

این بخش بیشتر مربوط به توسعه دهنده‌های هسته اصلی ROS است. در واقع استانداردهای ROS برای توسعه برنامه نویسانی است که هسته رآس را توسعه می دهند.

به صورت کلی دستورات اجرایی در ROS دارای یکی از دو پیشوند زیر است:

  • ros : به عنوان نمونه rostopic، roscd (در واقع ابزارهای خط فرمانی است که اطلاعاتی را در خروجی ترمینال نمایش می دهد.)
  • rqt_: به عنوان نمونه rqt_graph ، rqt_console و …(ابزارهایی هستند که از QT به عنوان رابط کاربری استفاده می کند.

 

این نام های پیشوند با استفاده از دکمه tab در ترمینال استفاده سریع و راحتی را به همراه دارند.

Share
1

Related posts

مارس 25, 2021

کتابخانه tf در ROS


Read more
مارس 16, 2020

نصب ROS بر روی ویندوز ۱۰


Read more
بررسی استاندارد مربوط به واحد اندازه‌گیری و دستگاه های مختصاتی در ROS

واحد اندازه‌گیری و دستگاه‌های مختصاتی برای استفاده در ROS مورد بررسی قرار می گیرد.

فوریه 19, 2020

بررسی استاندارد واحد اندازه‌گیری و دستگاه های مختصاتی


Read more

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

آموزش سیستم عامل رباتیک ROS

  • پیش‌نیازهای شروع ROS
    • نصب Ubuntu در کنار ویندوز به صورت Dual Boot
    • نحوه نصب اوبونتو بر روی VMware در ویندوز ۱۰
    • اشتراک اطلاعات بین ویندوز و ماشین مجازی(VMware)
    • راه اندازی و تنظیمات اولیه Ubuntu جهت کار با ROS
    • نصب ROS
  • آموزش مقدماتی ROS
    • گام اول: نصب و پیکربندی محیط ROS
    • گام دوم: آدرس دهی در ROS
    • گام سوم: ایجاد بسته در ROS
    • گام چهارم :مفهوم Node در ROS
    • گام پنجم : مفهوم تاپیک در ROS
    • گام ششم : مفهوم service و parameters در ROS
    • گام هفتم : مفهوم launch فایل‌ها در ROS
    • گام هشتم : ایجاد فایل‌های msg و srv در ROS
    • گام نهم: مفهوم Publisher-Subscriber در ROS به زبان ++C
    • گام دهم: مفهوم Publisher-Subscriber در ROS به زبان python
    • گام یازدهم: ضبط و بازپخش داده‌ها در ROS
    • گام دوازدهم: نوشتن یک service و client ساده (C++)
    • گام سیزدهم: نوشتن یک service و client ساده (Python)
  • آموزش سطح متوسط ROS
    • ساخت یک پکیج به صورت دستی
    • مدیریت وابستگی‌های سیستم
    • تعریف پیام های سفارشی در ROS
    • مقدمه‌ای بر شبیه‌ ساز گزبو Gazebo
    • مقدمه‌ای بر RVIZ نمایشگر سه‌بعدی

ربات‌ها

  • ربات‌های زمینی
    • ربات TIAGo
    • TurtleBot
  • ربات‌های هوایی
  • بازوهای رباتیک
  • ربات‌های دریایی

برچسب‌ها

  • ;hvhdd fhgh
  • A Gentle Introduction to ROS
  • actor
  • actor_Gazebo
  • ajk nv vhs
  • bash
  • C++
  • ca tvhsd v
  • catkin
  • chmode

Google-fomrs

ایران رآس، اولین مرجع آموزش و توسعه ROS در ایران

سایت ایران رآس با بهره گیری از متخصصین حوزه رباتیک به تولید محتوای آموزشی پرداخته و آنها را در اختیار کاربران قرار می­دهد . همچنین متخصصین ما این آمادگی را دارند تا به موسسات و مراکزی که قصد ورود به دنیای رآس را دارند مشاوره های تخصصی داده و برای آنها دوره های آموزشی خصوصی برگزار کند.


درباره ما تماس با ما قوانین و مقررات ثبت شکایات
  • پیش نیازهای ROS
  • آموزش مقدماتی ROS
  • آموزش سطح متوسط ROS
  • کتاب آموزش ROS
  • نرم افزارها
  • ربات‌ها
© تمام حقوق مادی و معنوی برای ایران رآس محفوظ است.
  • No translations available for this page