لوگوی سیستم عامل ربات (رآس)

در شروع یادگیری ROS شاید شما فکر کنید که باید همه ی ساختار ها و قواعد را یکجا باد بگیرید، با این طرز فکر، ذهن خود را درگیر یادگیری بخش هایی می کنید که شاید هیچ وقت به کار شما نیایند، شما فراموش کرده اید که اینترنت و اسناد آنلاین همیشه در دسترس شما هستند. حتی کاربران حرفه ای جزئیات زیادی را از اسناد آنلاین در بین انجام کارهای تحقیقاتی، مطالعه می کنند و تکرار نکته ی کلیدی به یاد سپردن ساختار ها و قواعد است.

این آموزش راهنمای است برای مفهوم سیستم فایل ROS و همچنین دستورات roscd, rosls, rospack را نیز پوشش می دهد.

نصب ros_tutorials

نصب ros_tutorials با دستور زیر انجام می شود:

$ sudo apt-get install ros-xxx-ros-tutorials

به جای xxx در دستور بالا، با توجه به توزیع ROS نصب شده روی سیستم، یکی از موارد fuerte,groovy،hydro،indigo،kinetic انتخاب گردد.

مروری بر مفهوم سیستم فایل

Packages

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

Manifest

اظهارنامه توضیحاتی از یک بسته است، فایل XMLی بنام package.xml که بایستی در شاخه ی اصلی بسته های سازگار با catkin گنجانده شده باشد. این فایل مشخصاتی در مورد بسته از جمله نام بسته، شماره ی نسخه، سازنده، نگهدارنده و همچنین وابستگی به بسته های دیگر را تعریف می کند

ابزار های سیستم فایل

rospack

rospack ما را قادر می سازد اطلاعاتی در مورد بسته ها را به دست بیاوریم. این دستور را به سادگی با اجرا در ترمینال می توانید آزمایش کنید.

$ rospack help
USAGE: rospack  [options] [package]
 Allowed commands:
 help
 cflags-only-I [--deps-only] [package]
 cflags-only-other [--deps-only] [package]
 depends [package] (alias: deps)
 depends-indent [package] (alias: deps-indent)
 depends-manifests [package] (alias: deps-manifests)
 depends-msgsrv [package] (alias: deps-msgsrv)
 depends-on [package]
 depends-on1 [package]
 depends-why --target= [package] (alias: deps-why)
 depends1 [package] (alias: deps1)
 export [--deps-only] --lang= --attrib= [package]
 find [package]
 langs
 libs-only-L [--deps-only] [package]
 libs-only-l [--deps-only] [package]
 libs-only-other [--deps-only] [package]
 list
 list-duplicates
 list-names
 plugins --attrib= [--top=] [package]
 profile [--length=] [--zombie-only]
 rosdep [package] (alias: rosdeps)
 rosdep0 [package] (alias: rosdeps0)
 vcs [package]
 vcs0 [package]
 Extra options:
 -q Quiets error reports.

 If [package] is omitted, the current working directory
 is used (if it contains a package.xml or manifest.xml).

به عنوان مثال انتخاب find آدرس به بسته را بر میگرداند.

YOUR_INSTALL_PATH/share/roscpp

اگر ROS را از طریق مخزن نصب کرده باشیم خواهیم داشت:

/opt/ros/kinetic/share/roscpp

roscd

roscd  بخشی از مجموعه rosbash است، اجازه می دهد تا دایرکتوری مستقیما به دایرکتوری یک بسته یا یک پشته تغییر دهید.

$ roscd --help
usage: roscd package

Jump to target package.

به عنوان نمونه:

$ roscd
/opt/ros/kinetic$ 

$ roscd roscpp
/opt/ros/kinetic/share/roscpp$

به یاد داشته باشید که بسته ی roscpp برای برنامه نویسی cpp و معادل آن rospy برای python می باشد.

0 پاسخ

پاسخ دهید

میخواهید به بحث بپیوندید؟
مشارکت رایگان.

دیدگاهتان را بنویسید

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