ROS برای مبتدیان III: ناوبری مبتنی بر وب با ROSBridge

ROS for Beginners III: Web-based Navigation with ROSBridge

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: استفاده از React و جاوا اسکریپت برای کنترل و نظارت بر ناوبری ROS ربات با استفاده از واسط های وب ایجاد یک رابط وب برای کار با ربات از راه دور توسعه یک رابط وب برای ناوبری ربات استفاده از JavaScript React توسعه front-end استفاده از ROSBridge برای تعامل با اکوسیستم ROS پیش نیازها:Be آشنایی با مفاهیم ROS و اکوسیستم مفاهیم ناوبری را می شناسد دارای دانش اولیه در زمینه توسعه وب درک جاوا اسکریپت

به دوره آموزشی ROS برای مبتدیان III ناوبری مبتنی بر وب با ROSBridge خوش آمدید. من انیس کوبا هستم و در این دوره مدرس شما خواهم بود. این دوره سومین دوره از سری ROS For Beginners است. این یک دوره آموزشی مبتنی بر پروژه است که به چگونگی توسعه یک رابط وب برای کار از راه دور و تعامل با روبات‌های دارای ROS می‌پردازد.

نمای کلی پروژه

در پایان این پروژه دوره، یک رابط وب ایجاد خواهید کرد که به شما امکان می دهد ربات را بر اساس ROS از راه دور و نظارت کنید. رابط وب با استفاده از ReactJS، که یک چارچوب محبوب جاوا اسکریپت برای توسعه جلویی است، توسعه خواهد یافت.

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

چرا این دوره؟

این دوره نشان دهنده اولین قدم به دنیای رباتیک ابری است.

روباتیک ابری موضوعی در حال ظهور در چند سال اخیر است و هدف آن ادغام ربات های سیار با سیستم های رایانش ابری و اینترنت اشیا از طریق رابط های خدمات وب است.

علاوه بر این، من این دوره آموزشی را توسعه داده ام زیرا اشاره گرهای کافی و آموزش جامعی در مورد نحوه تعامل مرورگرهای وب با روبات ها وجود ندارد.

ارزش این دوره چیست؟

این دوره از این نظر منحصر به فرد است که برای پر کردن شکاف بین دنیای رباتیک و دنیای توسعه وب طراحی شده است.

در واقع، اکثر مهندسانی که در حوزه رباتیک کار می کنند، سابقه ای در توسعه وب ندارند و بیشتر توسعه دهندگان وب سابقه ای در مورد روبات ها یا ROS ندارند. این دوره این دو حوزه را با هم پیوند می‌دهد و مقدمه‌ای سیستماتیک برای موضوع توسعه وب برای روبات‌های دارای ROS فراهم می‌کند.

علاوه بر این، از فناوری توسعه وب ReactJS استفاده خواهیم کرد که متحول‌ترین چارچوب توسعه جاوا اسکریپت جلویی است.

شما تمام ترفندها را در یک رویکرد گام به گام یاد خواهید گرفت تا به شما کمک کند زمان زیادی را برای جستجوی اسناد پراکنده در اطراف صرفه‌جویی کنید.

پیش نیازها

برای بهره مندی بیشتر از این دوره، باید از قبل با Robot Operating System (ROS) و پشته ناوبری آن آشنا باشید. اگر با ROS آشنایی ندارید، قبل از اینکه وارد این دوره شوید، دو دوره ROS For Beginners I و ROS For Beginners II را بگذرانید.

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

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

به دوره خوش آمدید و برای شما آرزوی تجربه یادگیری لذت بخشی دارم.


سرفصل ها و درس ها

مقدمه Introduction

  • مقدمه Introduction

  • مروری بر کتابخانه ها و منابع Overview of Libraries and Resources

  • [مهم] ساختار پروژه بذر [Important] Seed project structure

  • چگونه این دوره را دنبال کنیم؟ How to follow this course?

  • [مهم] با چه خطاهایی روبرو هستید و نیاز به اشکال زدایی و یافتن راه حل دارید؟ [IMPORTANT] What is you face errors and need to debug and find solutions?

  • دسترسی به کد مربی دوره Udemy ROSBridge Accessing the Instructor Code for the Udemy ROSBridge Course

برنامه Basic React را ایجاد کنید Create the Basic React Application

  • یک React Application جدید نصب کنید Install a new React Application

  • آناتومی یک React App را درک کنید Understand the anatomy of a React App

  • تنظیم تم بوت استرپ Setting-up the bootstrap theme

  • کامپوننت های Header و Footer ایجاد کنید Create a Header and Footer components

  • یک نوار ناوبری به مؤلفه هدر اضافه کنید Add a navigation bar to the header component

  • یک روتر از صفحات ایجاد کنید Create a Router of Pages

  • پاورقی را سفارشی کنید Customize the footer

مؤلفه اتصال: یک اتصال ربات با برنامه وب ایجاد کنید Connection Component: Establish a Robot Connection with the Web App

  • نمای کلی مولفه <Connection/> Overview of the <Connection/> component

  • مفهوم حالت را در React درک کنید Understand the concept of state in React

  • کامپوننت <Connection/> را ایجاد کنید Create the <Connection/> Component

  • وابستگی ROSLIB را وارد کنید Import the ROSLIB Dependency

  • یک مؤلفه Alert ایجاد کنید Create an Alert component

  • منطق اتصال با ROSlib و React State Connection Logic with ROSLib and React State

  • به ROSBridge متصل شوید Connect to ROSBridge

  • برخورد با اتصال مجدد خودکار Dealing with automatic reconnection

  • کد را پاک کنید و از فایل پیکربندی استفاده کنید Clean code and use configuration file

جزء عملیات از راه دور: ربات خود را از برنامه وب هدایت کنید Teleoperation Component: Drive your robot from the web app

  • یک کامپوننت دورکاری ایجاد کنید Create a Teleoperation Component

  • چیدمان صفحه را با استفاده از ساختار React Grid مرتب کنید Arrange page layout using the React Grid structure

  • React Joystick Component را توسعه دهید Develop the React Joystick Component

  • ساختار متد handleMove The structure of the handleMove method

  • یک ناشر cmd_vel در داخل handleMove ایجاد کنید Create a cmd_vel publisher inside handleMove

  • با استفاده از ROSlib یک پیام پیچشی ایجاد و منتشر کنید Create and publish a twist message using ROSLib

  • ویژگی رویداد مولفه react جوی استیک The event property of the react joystick component

  • تنظیم سرعت های مناسب از دریچه گاز جزء جوی استیک Setting the right velocities from the Joystick component throttle

  • روش HandleStop The HandleStop Method

نمایش موقعیت، جهت و سرعت ربات Display Robot Position, Orientation and Speed

  • قبل از تماشای سخنرانی های بعدی توجه داشته باشید Note before watching next lectures

  • Turtlebot3 Simulator را راه اندازی کنید Setup the Turtlebot3 Simulator

  • تست Teleop با Turtlebot3 Test Teleop with Turtlebot3

  • مولفه Robot State ReactJS را ایجاد کنید Create the Robot State ReactJS Component

  • یک مشترک موقعیت ایجاد کنید و موقعیت را روی نقشه تجسم کنید Create A position subscriber and visualize position on the map

  • یک مشترک برای جهت گیری ایجاد کنید Create a subscriber for the orientation

  • یک مشترک برای سرعت ها ایجاد کنید Create a subscriber for the velocities

ناوبری مبتنی بر نقشه در مرورگر Map-based navigation on the browser

  • نمای کلی Overview

  • یک کامپوننت <Map> ایجاد کنید Create a <Map> component

  • یک اتصال ROS را در مؤلفه <Map> راه اندازی کنید Initialize a ROS Connection in <Map> Component

  • وارد کردن نقشه و کتابخانه JS ناوبری Importing Map and Navigation JS Libraries

  • نقشه را در مرورگر تجسم کنید Visualize the map on the browser

  • طرح بندی صفحه را بهبود بخشید Improve the page layout

  • موقعیت ربات را روی نقشه تجسم کنید Visualize the robot position on the map

نمایش نظرات

ROS برای مبتدیان III: ناوبری مبتنی بر وب با ROSBridge
جزییات دوره
3 hours
45
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,564
4.5 از 5
دارد
دارد
دارد
Anis Koubaa
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Anis Koubaa Anis Koubaa

استاد علوم کامپیوتر