آماده سازی
برای این آموزش از یک بسته استفاده خواهیم کرد ، لطفا ان را نصب کنید:
نکته: به جای <distro> نسخه توزیع مورد استفاده خودتان را قرار دهید ( indigo, kinetic, lunar)
مرور اجمالی مفاهیم Filesystem
بسته ها (Packages): بسته ها واحد های مدیرت شده نرم افزاری می باشند. هر بسته می تواند شامل کتابخانه ها،فایل های اجرایی،اسکریپت ها یا سایر … باشد.
مانیفست – Manifests یا package.xml : مانیفست شرح یک بسته است. این سرویس برای تعیین وابستگی بین بسته ها و گرفتن اطلاعات متا در مورد بسته مانند نسخه ، نگهدارنده ، مجوز ، و غیره …
ابزارهای Filesystem
کد های زیادی در بسته های مختلف قرار دارد، استفاده از ابزار های ترمنیالی مثل cd و ls می تواند بسیار خسته کننده باشد به همین دلیل ROS ابزار هایی برای راحتی فراهم کرده است.
استفاده از rospack
rospack به شما در به دست اوردن اطلاعاتی از بسته ها کمک خواهد کرد ، برای مثال در این آموزش ما مسیر یه بسته را پیدا خواهیم کرد.
طریقه استفاده:
مثال:
نتیجه:
اگر ROS Kinetic را از روی Ubuntu Linux نصب کرده باشید ، دقیقاً مشاهده خواهید کرد:
استفاده از roscd:
roscd بخشی از مجموعه rosbash است. این دستور به شما این امکان را می دهد که به صورت مستقیم بین بسته ها و … جا به جا شوید
طریقه استفاده:
مثال:
برای مطمن شدن از این که شما جا به جا شدید دستور pwd را در ترمینال وارد می کنیم
نتیجه:
شما می توانید مشاهده کنید که مسیر YOUR_INSTALL_PATH/share/roscpp دقیقا همان مسیری است که rospack به شما برگردانده بود.
نکته: roscd مثل مابقی ابزار های ROS تنها می تواند بسته هایی که در ROS_PACKAGE_PATH لیست شده اند را پیدا کند ، برای دیدن لیست موجود در ROS_PACKAGE_PATH دستور زیر را وارد کنید
ROS_PACKAGE_PATH شما باید شامل یک لیست از پوشه هایی که شما در آن بسته دارید باشد، یک ROS_PACKAGE_PATH معمولی ممکن است شبیه به همچین چیزی باشد:
ماننده هر environment paths دیگر شما می توانید مسیر جدید اضافه کنید که هر کدام توسط colon (‘:’) جدا شده اند
زیرشاخه ها:
roscd همچنین می توان به پوشه های زیرین جابهجا شود.
مثال:
نتیجه:
roscd log
roscd log شما را به جایی که لاگ فایل ها در ان قرار دارند خواهد برد. نکته اگر تا به حال هیچ برنامه ای را اجرا نکرده اید یه خطا با عنوان وجود ندارد مواجه خواهید شد. در صورتی که قبلا برنامه ای را اجرا کرده اید دستور زیر را وارد کنید:
استفاده از rosls
rosls بخشی از مجموعه rosbash است. این دستور این امکان را به شما می دهد که لیست فایل ها و پوشه های موجود در مورد جستجو شده را نمایش دهد (چیزی شبیه ls)
نحوه استفاده:
مثال:
نتیجه:
تکمیل خودکار به کمک Tab
تایپ کردن متن ها به صورت کامل می تواند خسته کننده باشد. در مثال قبلی roscpp_tutorials یه نام نسبتا طولانی بود ، خوشبختانه بعضی از ابزار های ROS قابلیت تکمیل خودکار را پشتیبانی می کند.
امتحان کنید:
بعد از زدن دکمه TAB دستور به صورت خودکار تکمیل خواهد شد
هر چند ممکن است چند بسته وجود داشته باشد که با tur شروع می شوند ، دو بار دکمه Tab را فشار داهید تا لیتسی از پیشنهاد ها را مشاهده کنید
در ترمینال شما باید همچنان این را داشته باشید
یک s تایپ کرده و دوباره دکمه Tab را فشار دهید
از انجایی که تنها یک بسته وجود دارد که با نام turtles شروع می شود همچین چیزی خواهید دید
اگر می خواهید لیست تمام بسته های نصب شده را مشاهده کنید می توانید از دستور زیر استفاده کنید
مرور
شاید تا کنون متوجه الگوی های ابزار های ROS شده باشید.
- rospack = ros + pack(age)
- roscd = ros + cd
- rosls = ros + ls
این الگو برای برخی ابزار های دیگر هم صدق می کند.
حالا شما اماده اید تا برای خود یک بسته بسازید.
نظر خود را بگویید