گیاهی ترین گیاهی ترین AnzanDigital فروشگاه
خانه / سیستم عامل رباتیک / ROS سیستم عامل ربات
ros_org

ROS سیستم عامل ربات

ros_org
ROS (Robot Operating System)

ROS سیستم عامل ربات،‌ چارچوب نرم افزاری برای توسعه ی نرم افزار ربات است. ROS کتابخانه و ابزارهایی برای توسعه دهندگان نرم افزار،‌جهت ساخت کاربرد های نرم افزاری رباتیک فراهم می کند. این سیستم لایه انتزاعی سخت‌افزاری، راه انداز های دستگاه ها، کتابخانه ها،‌ ابزار های بصری، ارسال-پیام ها، مدیریت بسته ها و… را در اختیار کاربران قرار می دهد. ROS تحت مجوز منبع باز و BSD می باشد.

توسعه ی ROS فعال بوده و نسخه ی پایدار آن هم اکنون ROS Jade Turtle به اصطلاح Jade بوده و نسخه ی آتی آن  ROS Kinetic Kame خواهد بود.

در تصویر زیر توزیع های مختلف نمایش داده شده است :

ROS Distributions

یک توزیع ROS، نسخه ای نهایی از بسته های ROS است که بر روی نسخه ی پایدار از لینوکس هدف گذاری شده است (به عنوان نمونه ابوتو). هدف از ارائه توزیع های ROS، امکان کار توسعه دهندگان بر روی کد نسبتا پایداری است تا زمانی که توزیع بعدی ROS در آینده منتشر شود.

کدام توزیع را انتخاب کنیم؟

اگر می خواهید OpenCV3 را استفاده کنید، نسخه ی Indigo و بالاتر را استفاده کنید. برای استفاده ی شبیه ساز Gazebo می توانید از Jade برای Gazebo v5 و یا Indigo برای v2 آن بهره ببرید. اگر قابلیت های ROS مورد نظر شما بوده ولی نسخه ی آنها اهمیت زیادی برای شما ندارد آخرین نسخه ی LTS آن را انتخاب کنید ولی اگر قابلیت به روز بودن آن را ترجیح میدهید آخرین نسخه ی ROS را به کار گیرید.

 

ساخت فضای کاری(Workspace):

در انتخاب توزیع ها برای ساخت فضای کاری (Workspace) نیز باید توجه داشت که catkin برای توزیع ROS Groovy و بعد آن می باشد و برای توزیع ROS Fuerte و ماقبل بایستی rosbuild را انتخاب کنید.

rosbuild حاوی اسکریپت هایی برای مدیریت سیستم ساخت (Build) برپایه ی CMake برای ROS است. هسته ی ابزار ساخت (Build) استفاده شده در ROS، ابزار CMake است. Cmake  ابزاری قدرتمندی برای پلتفرم های مختلف است که توابع پیکربندی و make را در بر دارد. تا توزیع ROS Fuerte،‌ بخشی از rosbuild به نام  rosmake اسکریپتی از بسته ی CMake بود که ROS توسط آن build می شد. با شروع توسعه ی ROS groovy، ابزار catkin سیستم توصیه شده ی build برای بسته های جدید شد.

فضای کاری Catkin:

مجموعه ی catkin می تواند به عنوان پروژه ی جداگانه build شود، با همان طریقی که پروژه های CMake  می توانند build شوند، اما catkin مفهوم یک فضای کاری را نیز در بر دارد به گونه ای که می توانیم چندین build، بسته های مستقل را با هم یکجا انجام دهیم.

ساختار فضای کاری Catkin:

یک فضای کاری catkin پوشه ای است که امکان اصلاح،ساخت و نصب بسته های catkin را فراهم می کند، قالب فضای کاری catkin با توجه به تعریف REP 128 به قرار زیر است:

workspace_folder/         -- WORKSPACE
  src/                    -- SOURCE SPACE
    CMakeLists.txt        -- The 'toplevel' CMake file
    package_1/
      CMakeLists.txt
      package.xml
      ...
    package_n/
      CMakeLists.txt
      package.xml
      ...
  build/                  -- BUILD SPACE
    CATKIN_IGNORE         -- Keeps catkin from walking this directory
  devel/                  -- DEVELOPMENT SPACE (set by CATKIN_DEVEL_PREFIX)
    bin/
    etc/
    include/
    lib/
    share/
    .catkin
    env.bash
    setup.bash
    setup.sh
    ...
  install/                -- INSTALL SPACE (set by CMAKE_INSTALL_PREFIX)
    bin/
    etc/
    include/
    lib/
    share/
    .catkin             
    env.bash
    setup.bash
    setup.sh
    ...

فضای کاری catkin می تواند شامل چهار بخش مختلف باشد که هر کدام نقش های مختلفی در پروسه ی توسعه ی نرم افزاری بر عهده می گیرند.

  • بخش Source

بخش source حاوی کد سورس بسته های catkin است. اینجا همان جایی است که شما می توانید استخراج/بررسی/همزاد سازی سورس کد برای بسته هایی که میخواهید build کنید را انجام دهید. هر پوشه داخل بخش source شامل یک یا چندین بسته ی catkin است. این بخش بایستی در کنار پیکربندی، ساخت و یا نصب بدون تغییر باقی بماند. ریشه ی بخش Source شامل یک لینک نمادین به سطح بالای فایل CMakeLists.txt است. (catkin’s boiler-plate ‘toplevel’ CMakeLists.txt). این فایل توسط CMake در طول پیکربندی پروژه ی catkin در فضای کاری خواسته می شود. آن می تواند توسط فراخوانی catkin_init_workspace  در دایرکتوری بخش Source ساخته شود.

  • بخش Build

بخش build مکانی است که CMake برای build بسته های catkin از فضای source را فراخوانی می کند. CMake و catkin اطلاعات موقتی و دیگر اطلاعات خود را اینجا نگهداری میکنند.

  • بخش Development

بخش Development یا devel مکانی هست که اهداف build قبل نصب در آن قرار داده می شوند. اهداف راه در بخش فوق به همان ترتیبی که در نهایت نصب خواهند شد، سازمان دهی می شوند. این عمل باعث می شود محیط سودمندی برای تست و توسعه فراهم شود که نیازی به فراخوانی مراحله ی نصب نباشد. مکان ذخیره ی بخش devel توسط یک متغییر CMake مشخص catkin بنام CATKIN_DEVEL_PREFIX کنترل می شود و به صورت پیش فرض build space>/develspace> می باشد.

  • بخش  Install

هنگامی که اهداف build شده اند می توانند با فراخوانی (install target) در بخش فوق نصب شوند. معمولا با دستور make install انجام می شود. بخش نصب همیشه نباید در محل فضای کاری باشد، از آنجایی که بخش install  توسط CMAKE_INSTALL_PREFIX تعیین می شود و به صورت پیش فرض /usr/local سیستم است.

نوشته ی بعدی :: ساخت یک فضای کاری برای catkin

منابع :: wiki.ros |

کانال تلگرام بیر رباتیک

درباره Ahrovani Hadi

مشاهده بیشتر

arducopter simulation

شبیه سازی اتوپایلوت و تشخیص کد های Aruco

ویدئوی پیوست شده شبیه سازی اتوپایلوت ardupilot با شبیه ساز gazebo را نشان میدهد. این …

دیدگاه بگذارید

2 دیدگاه ها روشن "ROS سیستم عامل ربات"

با خبر سازی از
avatar

مرتب سازی بر اساس:   تازه ترین ها | قدیمی ترین | بیشترین تعداد رای
زرگل
مهمان
11 ماه ها 4 روز ها مدت ها قبل
wpDiscuz