• اولین مرجع آموزش رآس در ایران
  • 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
کتاب سیستم عامل روبات ROS
می 28, 2020
آشنایی با افزونه‌ها در Gazebo
ژوئن 10, 2021

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

Categories
  • آموزش جامع ROS
  • کتابخانه‌ها در ROS
Tags

کتابخانه tf به منظور ارائه یک روش استاندارد برای دنبال کردن فریم های مختصات و تبدیل داده ها در کل سیستم فراهم شده است. این کتابخانه به گونه ای طراحی شده است که هر شخص بدون داشتن دانش زیاد در زمینه انتقال داده‌ها در دستگاه‌های مختصاتی به صورت جداگانه می توانند اطمینان حاصل کنند که داده ها در چارچوب مختصاتی مورد نیازش هستند.کتابخانه tf به عنوان یک پکیج ROS برای ارائه این قابلیت توسعه داده شد.  کتابخانه tf دارای دو ماژول استاندارد ، پخش کننده و شنونده (Broadcaster and Listener) است. این دو ماژول برای ادغام با اکوسیستم ROS و ROS طراحی شده اند اما به طور کلی در خارج از ROS  نیز مفید هستند در طی توسعه اولیه سیستم عامل ربات (ROS) ، دنبال کردن فریم های مختصات به عنوان یک معضل مشترک برای توسعه دهندگان مشخص شد.

یک سیستم رباتیک معمولاً دارای فریم های مختصات سه بعدی است که با گذشت زمان تغییر می کنند ، مانند فریم جهانی ، فریم پایه ، فریم پنجه، فریم سر و غیره. tf2 با مرور زمان تمام این فریم ها را ردیابی می کند و به شما امکان می دهد که به سوالاتی نظیر سوالات زیر پاسخ دهید:
الف) ۵ ثانیه قبل فریم head نسبت به فریم world کجا بود؟
ب) موقعیت جسم در پنجه ربات من نسبت به پایه من چیست؟

ج) وضعیت فعلی فریم پایه در فریم نقشه چگونه است؟

tf2 می تواند در یک سیستم توزیع شده کار کند. این بدان معناست که تمام اطلاعات مربوط به فریم های مختصات یک ربات در دسترس همه اجزای ROS در هر رایانه ای در سیستم است.

از این رو با توجه به پیچیدگی این بخش بر آن شدیم تا توضیحاتی را در این باره برای شما عزیزان تهیه کنیم. در این آموزش ما سعی می کنیم تا پیچیدگی مسئله را توضیح دهیم و نیاز ما به این کتابخانه را به صورت بخش بخش همراه با شرح مثال و توضیحات مرتبط ارائه نماییم. سپس درباره طراحی کتابخانه tf در رابطه با نیازها بحث خواهیم کرد.

مقدمه‌ای بر RVIZ نمایشگر سه‌بعدی

مقدمه‌ای بر کتابخانه tf

فرض کنید رباتی داریم که در محیطی برای انجام کاری در حال حرکت است. برای ربات ضروری است که بداند در چه مختصاتی است و یا اینکه اطراف اون چه چیزاهایی وجود دارد. (توجه شود که ما به دنبال مساله SLAM نیستم !!!).

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

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

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

محاسبه انتقال از فریم سنسور به فریم اتاق، به پایه، به بدنه اصلی.

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

در واقع،  ۳ سانتی متر به سمت چپ در فریم مختصات سنسور، همان ۳ سانتی متر به سمت پایین در فریم بدنه اصلی ربات است.

پیشنهاد می شود که این بخش را چندین بار مطالعه نمایید. تا دقیقا متوجه این مبحث بشوید.

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

جمع‌بندی

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

با ما همراه باشید تا در ادامه بیشتر با این کتابخانه مهم آشنا شویم.

Share
0

Related posts

مارس 16, 2020

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


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

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

فوریه 25, 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