• اولین مرجع آموزش رآس در ایران
  • 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
جولای 29, 2019
مدیریت وابستگی‌های سیستم
سپتامبر 19, 2019

ساخت یک پکیج به صورت دستی

Categories
  • آموزش سطح متوسط ROS
Tags
  • package
  • بسته
  • ساخت پکیج

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

در ادامه این آموزش فرض می­شود که مسیر دایرکتوری شما در فضای کاری به نام catkin_ws قرار دارد و همچنین فرآیند سورس کردن را با استفاده  از دستور source/devel/setup.bash را به درستی انجام داده­ و یا اینکه دستور سورس را با توجه به فضای کاری خودتان در فایل bashrc قرار داده‌اید.(برای اطلاعات بیشتر به گام اول آموزش مقدماتی مراجعه کنید.)

اکنون می­خواهیم یک پکیج با نام foobar ایجاد کنیم. ابتدا دستورات زیر را وارد کنید تا در مسیر src پوشه­ای به نام foobar ایجاد شود.

mkdir -p src/foobar
cd src/foobar

همانطور که در بخش مقدماتی نیز توضیح داده شد، هر پکیج به یک فایل مانیفست به نام package.xml نیاز دارد تا یک سری از وابستگی­های اولیه را ایجاد کند و به ابزارهایی مانند rospack اجازه دهد تا اطلاعاتی را درباره آنچه به پکیج شما بستگی دارد، تعیین کند.

در پوشه foobar فایلی با نام package.xml ایجاد کنید و کدها زیر را در آن قرار دهید.

<package format="2">
  <name>foobar</name>
  <version>1.2.4</version>
  <description>
  This package provides foo capability.
  </description>
  <maintainer email="foobar@foo.bar.willowgarage.com">PR-foobar</maintainer>
  <license>BSD</license>

  <buildtool_depend>catkin</buildtool_depend>

  <build_depend>roscpp</build_depend>
  <build_depend>std_msgs</build_depend>

  <exec_depend>roscpp</exec_depend>
  <exec_depend>std_msgs</exec_depend>
</package>

اکنون پکیج شما دارای یک مانیفست است و ROS می­تواند آن را پیدا کند. برای این کار دستور زیر را اجرا کنید.

rospack find foobar

اگر ROS به درستی تنظیم شده باشد شما پس از اجرای این دستور باید چیزی شبیه به این را در خروجی مشاهده کنید:

/home/user/ros/catkin_ws/src/foobar.

توجه داشته باشید که برای بسته شما هم­اکنون وابستگی‌­های roscpp  و std_msg تعریف شده است. این قبیل وابستگی­‌ها برای پیکربندی صحیح بسته ها توسط catkin استفاده می شود. شما می­‌توانید وابستگی­‌های بیشتر را در این صفحه مشاهد کنید. (همچنین اگر مانیفست‌­هایی به صورت خودکار توسط دستور catkin_create_pkg ایجاد شده‌­اند را نگاه کنید، وابستگی­‌های بیشتر در آن به صورت کامنت شده وجود دارد.)

اکنون باید فایل CMakeLists.txt را ایجاد کنیم. زمانی که از دستور catkin_make برای کامپایل کردن بسته استفاده می­‌کنیم از این فایل استفاده می‌­شود تا انعطاف بیشتری بین سیستم­‌ها ایجاد شود.

در پوشه foobar فایلی با نام CMakeLists.txt  ایجاد کنید و دستورات زیر را در آن قرار دهید. (این حداقل دستوراتی است که باید در این فایل وجود داشته باشد.)

cmake_minimum_required(VERSION 2.8.3)
project(foobar)
find_package(catkin REQUIRED roscpp std_msgs)
catkin_package()

به این صورت شما بسته اختصاصی خودتان را ایجاد کردید. برای اطلاعات بیشتر در رابطه با CMakeLists.txt  به این صفحه مراجعه کنید. همچنین شما می­‌توانید فایل­‌های package.xml و CMakeLists.txt ساخته شده توسط catkin_create_pkg را برای خودتان سفارشی کنید.

Share
2

Related posts

ژوئن 10, 2021

آشنایی با افزونه‌ها در Gazebo


Read more
فوریه 19, 2020

مدلسازی ربات به کمک Xacro


Read more
نوامبر 3, 2019

مدلسازی سه بعدی ربات در ROS


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