সুচিপত্র:

রুম্বা স্কাউট এক্সপ্লোরার: 8 টি ধাপ
রুম্বা স্কাউট এক্সপ্লোরার: 8 টি ধাপ

ভিডিও: রুম্বা স্কাউট এক্সপ্লোরার: 8 টি ধাপ

ভিডিও: রুম্বা স্কাউট এক্সপ্লোরার: 8 টি ধাপ
ভিডিও: DJ Snake - Taki Taki ft. Selena Gomez, Ozuna, Cardi B (Official Music Video) 2024, নভেম্বর
Anonim
রুম্বা স্কাউট এক্সপ্লোরার
রুম্বা স্কাউট এক্সপ্লোরার

সবচেয়ে প্রত্যাশিত এবং ব্যাপকভাবে গবেষণা করা আমেরিকান প্রকল্পগুলির মধ্যে একটি হিসাবে, মঙ্গল গ্রহের রোভার প্রকল্পগুলি লাল গ্রহের পিছনের স্থলভাগ এবং পৃষ্ঠতলগুলি অনুসন্ধান এবং ব্যাখ্যা করার একমাত্র উদ্দেশ্যে উচ্চ প্রযুক্তির স্বায়ত্তশাসিত সিস্টেমগুলির ক্রমবর্ধমান উৎপাদনে মানুষের সাফল্য হয়ে উঠেছে। পৃথিবী. মঙ্গল অভিযানের প্রতি শ্রদ্ধা জানাতে আরও ব্যক্তিগত প্রকল্পের অংশ হিসাবে, আমাদের উদ্দেশ্য ছিল একটি রুমবা রোবট তৈরি করা যা একটি নির্দিষ্ট সময়সীমার মধ্যে স্বায়ত্তশাসিতভাবে কাজ করতে পারে এবং তার আশেপাশে নির্দিষ্ট মানদণ্ড অনুযায়ী প্রতিক্রিয়া জানাতে পারে।

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

ধাপ 1: সরঞ্জাম

-রুম্বা w/ সংযুক্তযোগ্য ক্যামেরা (নির্দিষ্ট নাম পরিচিত)

-সংযুক্ত সার্ভার

-উইন্ডোজ 10 / ম্যাক ইন্টারনেট সংযোগ সহ

-উজ্জ্বল প্ল্যাটফর্ম

-অন্ধকার মেঝে

-একরঙা ডিজাইনের যেকোনো বিপথগামী বস্তু

ধাপ 2: MATLAB সেটআপ

MATLAB সেটআপ
MATLAB সেটআপ

আপনার রুমবা জন্য কাজ এবং ফাংশন তৈরি করার জন্য, আপনার অবশ্যই রুমবা কমান্ড সম্বলিত নির্দিষ্ট কোড এবং টুলকিট থাকতে হবে।

MATLAB 2016a এবং পরবর্তী ডাউনলোডের সাথে, এই রোবট ফাইলগুলিকে ধারণ করার জন্য একটি ফোল্ডার তৈরি করুন এবং নিচের MATLAB ফাইলটি ফোল্ডারে ertোকান এবং বাকি প্রয়োজনীয় রুমবা ফাইলগুলি ইনস্টল করার জন্য এটি চালান।

এর পরে, বর্তমান ফোল্ডার উইন্ডোতে ডান ক্লিক করুন, "একটি পথ যোগ করুন" এর উপরে আপনার মাউসটি ঘুরান এবং "বর্তমান ফোল্ডার" এ ক্লিক করুন। এখন, এমন একটি পথ নির্ধারণ করা উচিত যাতে এই ফাইলগুলির প্রত্যেকটি রুমবা সক্রিয় করতে ব্যবহৃত হবে।

এখন, রুমবা সেট আপ করার জন্য কমান্ড উইন্ডোতে নিচের কমান্ডটি ব্যবহার করুন:

r = রুমবা (#)।

প্রতীক # হল নির্দিষ্ট রুমবা'র 'সংখ্যা'; যাইহোক, যদি আপনি কেবল রুমবা এর একটি সিমুলেটর চান, কেবল নিম্নলিখিত কমান্ডটি টাইপ করুন:

r = রুমবা (0)।

আন্দোলনের ধরণ পরীক্ষা করার জন্য সিমুলেশন সুপারিশ করা হবে।

রুমবা কোন আদেশগুলি অনুসরণ করতে পারে সে সম্পর্কে আপনি যদি আগ্রহী হন তবে কমান্ড উইন্ডোতে নিম্নলিখিতটি টাইপ করুন:

ডক রুমবা।

আরো বিস্তারিত জানার জন্য, নিম্নলিখিত ওয়েবসাইট দেখুন:

ef.engr.utk.edu/ef230-2017-08/projects/roomba-s/setup-roomba-instructable.php

ধাপ 3: ফাংশন: আন্দোলন

ফাংশন: আন্দোলন
ফাংশন: আন্দোলন
ফাংশন: আন্দোলন
ফাংশন: আন্দোলন

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

-ক্ষতি কমাতে, রোবটকে গতি কমিয়ে আনতে হবে।

-যখন একটি চূড়া বা প্রাচীরের কাছে আসে, রোবটটি বিপরীত দিকে চলে যাবে এবং প্রভাবের বিন্দুর উপর নির্ভর করে তার কোণ পরিবর্তন করবে

কিছুক্ষণ গাড়ি চালানোর পর, রুমবা শেষ পর্যন্ত থামবে এবং আশেপাশের এলাকার ছবি তুলবে

লক্ষ্য করুন যে ব্যবহৃত মানগুলি সিমুলেটর সম্পর্কিত ছিল; যন্ত্রের ত্রুটির জন্য স্থিতিশীলতা এবং হিসাবরক্ষণ নিশ্চিত করার জন্য প্রকৃত রোবট ব্যবহার করার সময় টার্ন অ্যাঙ্গেল টার্ন বেগ এবং রোবট সেন্সর প্রিসেটের মতো মান পরিবর্তন করা উচিত।

ধাপ 4: ফাংশন: ইমেজ প্রসেসিং

ফাংশন: ইমেজ প্রসেসিং
ফাংশন: ইমেজ প্রসেসিং

অনুরোধ অনুসারে, আমাদেরকে রোবটের ক্যামেরা দ্বারা প্রাপ্ত একটি চিত্রের (বা বেশ কয়েকটি চিত্র) ডেটা সংশোধন করার দায়িত্ব দেওয়া হয়েছিল, যার জন্য আমরা রুমবাকে ছবিতে যে বস্তুর সংখ্যা দেখে তা "গণনা" করার সিদ্ধান্ত নিয়েছি।

আমরা ম্যাটল্যাবকে কালো রঙের বস্তুর চারপাশে সীমানা আঁকার কৌশল অনুসরণ করেছি যা একটি সাদা পটভূমির বিপরীতে। যাইহোক, এই ফাংশনটি একটি খোলা এলাকায় অসুবিধা হতে পারে কারণ ক্যামেরা দ্বারা উপলব্ধ বিভিন্ন আকার এবং রঙ, যার ফলে অস্বাভাবিকভাবে উচ্চ গণনা হয়।

মনে রাখবেন যে এই ফাংশনটি সিমুলেটরে কাজ করতে পারে না যেহেতু একটি ক্যামেরা সরবরাহ করা হয় না; যদি চেষ্টা করা হয়, শুধুমাত্র একটি (:,:, 3) ম্যাট্রিক্স ব্যবহার করে একটি ত্রুটি ঘটবে।

ধাপ 5: ফাংশন: ম্যাপিং

ফাংশন: ম্যাপিং
ফাংশন: ম্যাপিং
ফাংশন: ম্যাপিং
ফাংশন: ম্যাপিং
ফাংশন: ম্যাপিং
ফাংশন: ম্যাপিং
ফাংশন: ম্যাপিং
ফাংশন: ম্যাপিং

একটি অতিরিক্ত বৈশিষ্ট্য যা আমরা চেয়েছিলাম রোবটটি তার অবস্থানগুলি ম্যাপিং করবে কারণ এটি পরিবেশের সাথে সরাসরি যোগাযোগ করে। সুতরাং, নীচের কোডটি একটি মানচিত্র খুলতে এবং একটি সমন্বয় ব্যবস্থা স্থাপন করতে চায় যা প্রতিটি অবস্থানের বিবরণ দেয় যেখানে রোবটের বাম্পার সেন্সরগুলি চাপানো হয়। এটি পৃথকভাবে পরীক্ষা করার জন্য তিনটি অংশের দীর্ঘতম অংশ হিসাবে প্রমাণিত হয়েছিল, তবে চূড়ান্ত স্ক্রিপ্টে প্রয়োগ করার সময় এটি অনেক সহজ প্রমাণিত হয়েছিল।

ফাংশনের রান টাইমের দৈর্ঘ্যে একটি সীমা যুক্ত করার স্বার্থে, যখন লুপের n <20 সীমা পরীক্ষার উদ্দেশ্যে ব্যবহার করা হয়েছিল।

মনে রাখবেন যদিও কোডের জটিলতার কারণে, কোড সেগমেন্ট দীর্ঘ সময় ধরে চলার কারণে আরো ত্রুটি ঘটে; পূর্ববর্তী পরীক্ষাগুলি থেকে, উল্লেখযোগ্য ত্রুটি হওয়ার আগে দশটি বাধা পয়েন্টের সংখ্যা বলে মনে হয়।

ধাপ 6: Juxtaposition

Juxtaposition
Juxtaposition
Juxtaposition
Juxtaposition
Juxtaposition
Juxtaposition
Juxtaposition
Juxtaposition

যেহেতু এই সবগুলি একটি একক ফাইলে রাখা হবে, আমরা পূর্ববর্তী দুটি ধাপের প্রতিটিকে তার সাব -ফাংশন হিসাবে ব্যবহার করে একটি ফাংশন তৈরি করেছি। "রিকন" নামক রেডক্স ফাংশনে নিম্নলিখিত পরিবর্তন সহ একটি চূড়ান্ত খসড়া তৈরি করা হয়েছিল। MATLAB এর জন্য বিভ্রান্তি এড়ানোর জন্য, "কাউন্টার" এবং "rombplot3" স্ক্রিপ্টগুলিকে যথাক্রমে এম্বেডেড ফাংশন "CountR" এবং "plotr" হিসাবে নামকরণ করা হয়েছিল।

পূর্ববর্তী স্ক্রিপ্টের বিপরীতে চূড়ান্ত সংস্করণে বেশ কিছু পরিবর্তন করতে হয়েছিল:

-উৎপত্তি সবসময় একটি লাল বৃত্ত দ্বারা চিহ্নিত করা হবে

-প্রতিবার রুমবা তার বাম্পার থেকে থেমে যায়, অবস্থান একটি কালো বৃত্ত দ্বারা চিহ্নিত করা হয়

-প্রতিবারই রুমবা তার ক্লিফ সেন্সর থেকে থেমে যায়, অবস্থানটি একটি নীল বৃত্ত দিয়ে চিহ্নিত করা হয়

-প্রতিবার রুমবা এলাকাটি তদন্ত করা বন্ধ করে দেয়, অবস্থানটি সবুজ বৃত্ত দিয়ে চিহ্নিত করা হয়

সম্ভাব্য ফলাফলে হস্তক্ষেপের সময় স্ট্যাম্পের কারণে উপরের অংশটি সরানোর জন্য ছবিগুলি সংশোধন করা হয়েছে

-অধিক সংখ্যক অর্জিত হওয়ার কারণে সীমানা একটি বস্তু হিসাবে গণনা করা হবে না

-বেশ কয়েকটি ভেরিয়েবল পরিবর্তন করা হয়েছে, তাই বিভ্রান্তি এড়াতে রেফারেন্সের জন্য উপরের সংস্করণগুলি ব্যবহার করুন।

ধাপ 7: পরীক্ষা

পরীক্ষামূলক
পরীক্ষামূলক

প্রতিটি পৃথক উপাদানগুলির জন্য পরীক্ষাগুলি অনেক সময় মিশ্রিত প্রমাণিত হয়েছিল, সেজন্য নির্দিষ্ট প্রিসেট মানগুলির পরিবর্তন প্রয়োজন ছিল। থিম্যাটিক ব্যাকগ্রাউন্ড যার উপর আমরা একটি বদ্ধ এলাকায় রোবটের ক্ষমতা পরীক্ষা করতে চেয়েছিলাম কেবল একটি গাer় মেঝেতে একটি হোয়াইটবোর্ড ছিল। আপনি এলাকার চারপাশে বস্তু ছড়িয়ে দিতে পারেন; তাদেরকে রোবটের চলমান এলাকা থেকে বা দূরের বস্তুতে ধাক্কা দেওয়ার মতো বস্তু হিসাবে কাজ করুন।

তার নিয়ন্ত্রিত সময় এবং ভিত্তি বেগ নির্ধারণের পর, রুমবা পর্যাপ্ত নড়াচড়ার আচরণ প্রদর্শন করে, থামিয়ে দেয় এবং প্রতিটি "ক্লিফ" বা বস্তু থেকে দূরে সরে যায় এবং বস্তুতে এটি ছুটে যায় এবং এটি কাছাকাছি কিছু সনাক্ত করার সাথে সাথে ধীর হয়ে যায়। কাঙ্ক্ষিত তিন মিটার ভ্রমণের দূরত্ব পৌঁছানোর পরে, রোবটটি থামতে এবং মূল্যায়ন করতে এগিয়ে যাবে, প্রতিটি 45 ডিগ্রি অঞ্চলের ছবি তুলবে এবং সময় হলে এগিয়ে যাবে। যাইহোক, এর পালাগুলি অনুরোধের চেয়ে বড় আকারে উপস্থিত হয়েছিল, যার অর্থ সমন্বয়কারী ডেটা অস্পষ্ট হবে।

প্রতিবার এটি থামলে, একটি নতুন বিন্দু স্থানাঙ্ক ব্যবস্থায় তার অবস্থানের আনুমানিক অঞ্চলে স্থাপন করা হয়; যাইহোক, এটি লক্ষ করা যায় যে রুমবা শুরু করার প্রাথমিক দিকটি মানচিত্রের নকশায় গুরুত্বপূর্ণ ভূমিকা পালন করে। যদি একটি কম্পাস বৈশিষ্ট্য বাস্তবায়ন করা যেত, এটি মানচিত্র নকশার একটি গুরুত্বপূর্ণ অংশ হিসেবে ব্যবহৃত হত।

ফাংশনটি সম্পূর্ণরূপে চালাতে যে সময় লাগে তা সর্বদা অনুরোধ করা সময়ের চেয়ে বেশি হয়, যা এটিকে পুনরুদ্ধারের মাঝখানে থামাতে পারে না বলে বিবেচনা করে। দুর্ভাগ্যবশত, ইমেজ কাউন্টিং এর এই সংস্করণটির সমস্যা আছে, বিশেষ করে যেসব এলাকায় বেশিরভাগ একরঙা বা উজ্জ্বলতার তারতম্য রয়েছে; কারণ এটি দুটি ছায়াগুলির মধ্যে পার্থক্য করার চেষ্টা করে, এটি এমন বস্তুগুলি অনুধাবন করে যা অনাকাঙ্ক্ষিত নয়, তাই এটি সর্বদা অতিমাত্রায় উচ্চ সংখ্যার গণনা করে।

ধাপ 8: উপসংহার

উপসংহার
উপসংহার

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

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

তা সত্ত্বেও, এটি একটি দীর্ঘ কিন্তু বুদ্ধিবৃত্তিক উদ্দীপক প্রকল্প যা প্রকৃত রোবটের আচরণকে সরাসরি প্রভাবিত করার জন্য কোড এবং কমান্ড প্রয়োগের জন্য একটি আকর্ষণীয় শিক্ষার অভিজ্ঞতা হিসেবে কাজ করেছিল।

প্রস্তাবিত: