ওয়েবটস প্রকল্প

এই পৃষ্ঠায় Google সিজন অফ ডক্সের জন্য গৃহীত প্রযুক্তিগত লেখার প্রকল্পের বিশদ বিবরণ রয়েছে৷

প্রকল্পের সারসংক্ষেপ

ওপেন সোর্স সংস্থা:
ওয়েবটস
কৌশলী লেখক:
নরম বিভ্রম চ্যানেল
প্রকল্পের নাম:
ওয়েবটসের জন্য ভিডিও টিউটোরিয়াল সিরিজ (ROS2 এর সাথে ইন্টিগ্রেশন)
প্রকল্পের দৈর্ঘ্য:
স্ট্যান্ডার্ড দৈর্ঘ্য (3 মাস)

প্রকল্প বর্ণনা

শিক্ষা:

এই ভিডিও টিউটোরিয়াল সিরিজটি নতুন ব্যবহারকারীদের ওয়েবটসের সাথে সম্ভাব্য সর্বোত্তম সূচনা করতে সক্ষম করবে এবং নির্দিষ্ট সিমুলেশনগুলি অর্জনের জন্য দর্শকদের স্পষ্ট ধাপে ধাপে সমাধান প্রদান করবে।

লক্ষ্য:

এই সিরিজের শেষ নাগাদ, দর্শকরা মৌলিক ROS2 নোড তৈরি করতে এবং Webots এর সাথে ইন্টারঅ্যাক্ট করার পাশাপাশি মোবাইল রোবটে উন্নত প্রজেক্টে কাজ করার আস্থা অর্জন করতে সক্ষম হবে। এই ভিডিও সিরিজটি রোবোটিক্সের ক্ষেত্রে বেশ কিছু গুরুত্বপূর্ণ ধারণার ভালো তাত্ত্বিক ব্যাখ্যাও দেবে।

ভিডিও সিরিজের বিবরণ:

  1. ROS 2 ইনস্টলেশন এবং ভিজ্যুয়াল স্টুডিও কোডে একটি সংগ্রহস্থল সেট আপ করুন। এর মধ্যে রয়েছে ROS2-এর কমান্ড অনুসারে ইনস্টলেশন এবং এর কাজের মূল বিষয়গুলি। দ্বিতীয়ত, এতে VS কোডে ROS ওয়ার্কস্পেস সেট আপ করা এবং VS কোডে মৌলিক ট্যাবের কার্যকারিতা অন্তর্ভুক্ত থাকবে।

  2. মৌলিক ROS2 এবং Webots উদাহরণ। ওয়েবটস ROS2-এর কিছু উদাহরণ দর্শকদের বোঝার জন্য ব্যবহার করা হবে যে আমরা যদি সিমুলেশনের জন্য Webots-এর সাথে ROS2 ব্যবহার করি তাহলে কী আশ্চর্য কাজ করা যেতে পারে। এতে ROS2 এবং Webots এর মধ্যে যোগাযোগের মৌলিক তত্ত্বগুলিও অন্তর্ভুক্ত থাকবে।

  3. Webots এর সাথে ইন্টারঅ্যাক্ট করতে ROS2 পরিষেবা ব্যবহার করা। ROS এবং ROS2-এর পরিষেবাগুলির মধ্যে পার্থক্য ব্যাখ্যা করে ROS পরিষেবার প্রাথমিক শিক্ষা দেওয়া। দ্বিতীয়ত, পরিষেবাতে কল করার জন্য ধাপে ধাপে টিউটোরিয়াল দেখানো এবং রিডিংয়ের জন্য সেন্সর বিষয় এবং গতির জন্য অ্যাকুয়েটর সক্ষম করা।

  4. ROS2 প্রকাশকের সাথে কাস্টম রোবট নিয়ন্ত্রণ করুন। ওয়েবট-এ ROS2 প্রকাশকদের ব্যবহার করে বার্তাগুলি কীভাবে প্রকাশ করতে হয় তা শেখা। আমরা একটি বিষয়ে কীবোর্ড আউটপুট প্রকাশ করে রোবট গতি নিয়ন্ত্রণের একটি উদাহরণ বাস্তবায়ন করতে পারি যা ওয়েবটসে গতির জন্য ROS পরিষেবাগুলি ব্যবহার করতে পারে।

  5. ROS2 সাবস্ক্রাইবার সহ রোবট থেকে প্রতিক্রিয়া পান। এই ভিডিওতে, আমরা দূরত্বের সেন্সরগুলির সেন্সর রিডিং সাবস্ক্রাইব করব এবং রোবটটিকে থামিয়ে দেব যদি এটি সংঘর্ষের কথা বলে। তাই মূলত এটি ইন্টারেক্টিভ বার্তা প্রকাশের সাথে একটি বাধা পরিহার নোড হবে।

  6. ROS2 সহ মাস্টার(প্রকাশক) স্লেভ(সাবস্ক্রাইবার) রোবট। এই ভিডিওতে, আমরা একটি কীবোর্ড দিয়ে একটি রোবটকে নিয়ন্ত্রণ করব এবং অন্য রোবটকে ম্যানুয়াল রোবট থেকে দূরে সরিয়ে দেব। চোর এবং পুলিশের একটি দৃশ্যের অনুরূপ :) [এটি 3,4,5 ভিডিওগুলির ধারাবাহিকতা হবে]। এটি দর্শকদের যোগাযোগ পরীক্ষা করতে সক্ষম করবে এবং ROS-এ কোনও সমস্যা হলে সিমুলেশনে ত্রুটিগুলি পাবে।

  7. Rviz সেট আপ করা হচ্ছে (বিভিন্ন সেন্সর আউটপুট দেখানো হচ্ছে)। এই ভিডিওতে, আমরা আরও কয়েকটি সেন্সর যোগ করব এবং Rviz-এ তাদের ডেটা প্রকাশ করব। এই ভিডিওর শেষে, দর্শকরা Rviz সেট আপ করতে সক্ষম হবে (অর্থাৎ ভিজ্যুয়ালাইজেশনের জন্য লিডার, ক্যামেরা ইত্যাদি সেন্সর যোগ করা), কনফিগারেশন সেভ করা এবং পরের বার সেভ করা কনফিগারেশন তৈরি করা।

  8. ডিবাগিং ভিডিও (রোস্টোপিক ইকো, রোস্টোপিক তথ্য, আরকিউটি_গ্রাফ)। ডিবাগিং এর কৌশল বুঝতে সাহায্য করার জন্য এই ভিডিওটিতে কয়েকটি বিষয়ের ইচ্ছাকৃত ভুল কার্যকারিতা অন্তর্ভুক্ত করা হবে। আমরা RQT গ্রাফ দেখার একটি প্রক্রিয়া অনুসরণ করব এবং কোন বিষয়গুলি সমস্যার জন্য দায়ী তা জানার জন্য। টপিকটি প্রকাশ হচ্ছে কিনা তা পরীক্ষা করতে rostopic echo ব্যবহার করে এবং শেষে আমাদের সমস্যা পেতে rostopic তথ্য চেক করুন। সমস্যা সমাধান এবং স্বাভাবিক কার্যকারিতা আছে.

  9. ভিডিও ডিবাগ করা প্রয়োজনীয় কার্যকারিতা পেতে ডামি বার্তা প্রকাশ করতে rqt_gui ব্যবহার করার জন্যও এই ভিডিওটি প্রসারিত করা হবে। কিছু বাগ ঠিক করার জন্য এটি একটি বিকল্প পদ্ধতি হতে পারে।

  10. অ্যাডভান্স টপিক ভিডিও: একটি অজানা পরিবেশে SLAM লাইব্রেরির একীকরণের উপর (SLAM টুলবক্স বা লামা) [পর্ব 1] এই ভিডিওটি SLAM সমস্যার মৌলিক তত্ত্ব দিয়ে শুরু হবে। এর পরে আমরা প্রকল্পের মূল বিষয় বোঝার জন্য উপরের শেখানো ধারণাগুলির অবকাঠামো ব্যবহার করব। অবশেষে, আমরা টার্মিনালের মাধ্যমে প্রয়োজনীয় নোডগুলি তৈরি করব এবং Rviz-এ ম্যাপিং আউটপুট দেখব।

  11. অ্যাডভান্স টপিক ভিডিও: একটি অজানা পরিবেশে SLAM লাইব্রেরির একীকরণের উপর (SLAM টুলবক্স বা লামা) [পর্ব 2] 10 তম ভিডিওর ধারাবাহিকতা হিসাবে, এই ভিডিওতে, আমি শিখাব কিভাবে সমস্ত নোড একসাথে চালু করার জন্য একটি লঞ্চ ফাইল তৈরি করতে হয়। এবং ROS ফ্রেমওয়ার্কের ধারণাগুলির সঠিক বোঝার জন্য rqt_graph পরীক্ষা করুন। শেষ পর্যন্ত, আমরা একটি মানচিত্র সার্ভার ব্যবহার করে প্যাকেজ দ্বারা তৈরি মানচিত্র সংরক্ষণ করব।

  12. অ্যাডভান্স টপিক ভিডিও: OpenCV (AR-ট্যাগ সনাক্তকরণ, Ar_track_alvar প্যাকেজ) এর একীকরণের উপর [পর্ব 1] ভিডিওটি শুরু হবে এআর ট্যাগগুলি কী এবং কম্পিউটার দৃষ্টি ব্যবহার করে স্থানীয়করণে তাদের তাত্পর্য। তারপরে আমরা কীভাবে এআর ট্র্যাক আলভার প্যাকেজ কাজ করে তা তৈরি করব। এটি প্রকল্পের একটি সামগ্রিক দৃষ্টিভঙ্গি প্রদান করতে সাহায্য করবে। অবশেষে, ওয়েবটস থেকে একটি ROS বিষয়ে ভিডিও ফ্রেমের একটি স্ট্রীম সক্ষম করার জন্য পরিষেবা তৈরি করা হবে।

  13. অ্যাডভান্স টপিক ভিডিও: ওপেনসিভি (এআর-ট্যাগ সনাক্তকরণ, Ar_track_alvar প্যাকেজ) এর একীকরণের উপর [পর্ব 2] এই ভিডিওটি 12 তম ভিডিওর ধারাবাহিকতা হবে যেখানে উপরের চিত্র স্ট্রীমটি প্যাকেজ দ্বারা ব্যবহার করা হবে এবং এর মধ্যে রূপান্তরের একটি বিষয় রোবট এবং এআর ট্যাগ প্রকাশিত হবে যা Rviz-এ দেখা যাবে। অবশেষে, আমরা যখন রোবটটিকে ঘুরিয়ে নিয়ে যাই, আমরা দেখতে পাব বিভিন্ন ট্যাগ অবস্থিত হচ্ছে এবং Rviz এবং rostopic বার্তাগুলিতে তাদের অবস্থান পরিবর্তন হচ্ছে।

উপসংহার:

এই GSOD প্রজেক্ট হল একটি স্বনির্ভর প্যাকেজ যাতে ওয়েবটস-এর সাথে ROS2-এর একীকরণের প্রাথমিক উপলব্ধি করা যায়। এই প্যাকেজটি ROS2-তে বিষয়, পরিষেবা, নোড, লঞ্চ ফাইল, প্রকাশক, গ্রাহক, বিভিন্ন ডিবাগিং টুল, এবং VS কোড ব্যবহার করার মত ধারণাগুলির ব্যবহারিক বাস্তবায়ন অন্তর্ভুক্ত করবে। এটি SLAM এবং OpenCV-এর মতো উন্নত বিষয়ের প্রকল্পগুলিকেও জড়িত করবে৷ এটি দর্শকদের ROS2 এবং Webots ব্যবহার করে শেষ থেকে শেষ কাজের একটি দৃষ্টান্ত দেবে৷