সুচিপত্র:

ওয়ালেস স্বায়ত্তশাসিত রোবট - পর্ব 4 - IR দূরত্ব এবং "Amp" সেন্সর যোগ করুন: 6 টি ধাপ
ওয়ালেস স্বায়ত্তশাসিত রোবট - পর্ব 4 - IR দূরত্ব এবং "Amp" সেন্সর যোগ করুন: 6 টি ধাপ
Anonim
Image
Image
সহায়ক সার্কিট্রি যোগ করুন (MCP3008)
সহায়ক সার্কিট্রি যোগ করুন (MCP3008)

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

নেভিগেশনের মাধ্যমে, প্রাথমিকভাবে এটি কেবল দুটি প্রধান লক্ষ্য হবে:

  1. বাধা এড়ানো
  2. যখন এটি কোথাও আটকে থাকে এবং কোন অগ্রগতি হয় না তখন স্বীকৃতি দিন। ("অগ্রগতি" মানে এটি কোন অর্থপূর্ণ দূরত্বকে এগিয়ে নিয়ে গেছে)
  3. একটি সম্ভাব্য তৃতীয় লক্ষ্য হতে পারে যে এটি একটি প্রাচীরের সাথে বর্গাকারভাবে সারিবদ্ধ করার চেষ্টা করে।

এই প্রকল্পটি একটি রোবট কিট দিয়ে শুরু হয়েছিল এবং একটি কীবোর্ড এবং এসএসএইচ সংযোগ ব্যবহার করে কাজ করার জন্য মৌলিক আন্দোলন পেয়েছিল।

দ্বিতীয় পর্যায়টি ছিল অনেক সেন্সর যোগ করার জন্য প্রস্তুতির জন্য পর্যাপ্ত সাপোর্টিং সার্কিট্রি যোগ করা।

পূর্ববর্তী নির্দেশনায়, আমরা বেশ কয়েকটি HCSR04 অ্যাকোস্টিক সেন্সর যুক্ত করেছি এবং রোবটটি এখন অ্যাপার্টমেন্টের চারপাশে চলাচলে বাধা এড়াতে পারে।

যদিও এটি রান্নাঘর এবং হলওয়েতে ভাল, শক্ত সমতল পৃষ্ঠের সাথে ভাল কাজ করে, ডাইনিং রুমের কাছে যাওয়ার সময় এটি সম্পূর্ণ অন্ধ। এটি টেবিল এবং চেয়ার পা "দেখতে" পারে না।

একটি উন্নতি হতে পারে সাধারণ মোটর-স্রোতের উপর নজর রাখা, এবং যদি মানগুলি লাফিয়ে ওঠে, তাহলে রোবটটি অবশ্যই কিছু আঘাত করবে। এটি একটি ভাল "পরিকল্পনা বি" বা এমনকি সি।

(আপডেট: আসলে, আপাতত, বর্তমান-পর্যবেক্ষণ হল পরিকল্পনা A যখন আমি সাময়িকভাবে অপসারণ করেছি এবং পিছন থেকে সেন্সরগুলি প্রত্যাহার করছি)।

এই বিভাগের ভিডিওটি বাধা-পরিহার সেন্সরের চূড়ান্ত পর্যায় গঠন করে।

ভিডিওতে আপনি যা দেখছেন তা হল ছয়টি সামনের HCSR04 অ্যাকোস্টিক সেন্সর এবং দুটি শার্প আইআর সেন্সর। আইআর সেন্সরগুলি ভিডিওতে খুব বেশি কাজ করে নি। তাদের ফোর্টে 'বেশিরভাগ সময় হয় যখন রোবটটি টেবিল এবং চেয়ার পা মুখ করে ডাইনিং এলাকায় নিজেকে খুঁজে পায়।

সেন্সর ছাড়াও, বর্তমান-মনিটরটি বিশেষত বিপরীত সময়ে কাজ করতে শুরু করে, যদি এটি কিছুতে ধাক্কা খায়।

অবশেষে, এটি শেষ 100 টি পদক্ষেপের ইতিহাস এবং একটি প্রশ্নের উত্তর দেওয়ার জন্য কিছু মৌলিক বিশ্লেষণ ব্যবহার করে:

"সম্প্রতি কি প্রকৃত অগ্রগতি হয়েছে (নাকি এটি কিছু পুনরাবৃত্তি নাচে আটকে আছে)?"

সুতরাং ভিডিওতে যখন আপনি একটি ফরওয়ার্ড-রিভার্স পুনরাবৃত্তি দেখতে পান, তখন এটি পরিণত হয়, এর অর্থ হল এটি ফরওয়ার্ড-রিভার্স প্যাটার্নকে চিনতে পেরেছে, এভাবে অন্য কিছু চেষ্টা করে।

সফটওয়্যারের এই সংস্করণের একমাত্র প্রোগ্রামযুক্ত লক্ষ্য ছিল ক্রমাগত এগিয়ে যাওয়ার চেষ্টা করা, এবং বাধা এড়ানোর চেষ্টা করা।

ধাপ 1: সহায়ক সার্কিট্রি যোগ করুন (MCP3008)

সহায়ক সার্কিট্রি যোগ করুন (MCP3008)
সহায়ক সার্কিট্রি যোগ করুন (MCP3008)
সহায়ক সার্কিট্রি যোগ করুন (MCP3008)
সহায়ক সার্কিট্রি যোগ করুন (MCP3008)
সহায়ক সার্কিট্রি যোগ করুন (MCP3008)
সহায়ক সার্কিট্রি যোগ করুন (MCP3008)

আমরা আইআর সেন্সর যোগ করার আগে, আমাদের তাদের এবং রাস্পবেরি পাই এর মধ্যে ইন্টারফেস সার্কিটরি লাগবে।

আমরা একটি MCP3008 এনালগ-টু-ডিজিটাল কনভার্টার যুক্ত করব। এই চিপটিকে রাস্পবেরি পাইয়ের সাথে কীভাবে সংযুক্ত করা যায় সে সম্পর্কে অনেক অনলাইন সংস্থান রয়েছে, তাই আমি এখানে খুব বেশি কিছু করব না।

মূলত, আমাদের একটি পছন্দ আছে। যদি IR সেন্সরের সংস্করণ 3V তে কাজ করে, তাহলে MCP3008 এবং আমরা সরাসরি রাস্পবেরির সাথে সংযোগ করতে পারি।

[3V IR সেন্সর] - [MCP3008] - [রাস্পবেরি পাই]

আমার ক্ষেত্রে, যাইহোক, আমি বেশিরভাগ 5V চালাচ্ছি, তাই এর মানে একটি দ্বি-নির্দেশমূলক স্তর শিফটার।

[5V IR সেন্সর]-[MCP3008]-[5V-to-3V দ্বি-নির্দেশমূলক বাস]-[রাস্পবেরি পাই]

দ্রষ্টব্য: IR সেন্সর থেকে শুধুমাত্র একটি সিগন্যাল আউটপুট আছে। এটি সরাসরি MCP3008 এর একটি ইনপুট এনালগ সিগন্যাল লাইনে যায়। MCP3008 থেকে, 4 টি ডেটা লাইন রয়েছে যা আমাদের রাস্পবেরি পাইতে (দ্বিমুখী বাসের মাধ্যমে) সংযোগ করতে হবে।

এই মুহুর্তে, আমাদের রোবটটি কেবল দুটি আইআর সেন্সর ব্যবহার করে চলতে চলেছে, তবে আমরা সহজেই আরও যুক্ত করতে পারি। MCP3008 আটটি এনালগ ইনপুট চ্যানেল।

পদক্ষেপ 2: মাউন্ট আইআর সেন্সর

মাউন্ট আইআর সেন্সর
মাউন্ট আইআর সেন্সর
মাউন্ট আইআর সেন্সর
মাউন্ট আইআর সেন্সর
মাউন্ট আইআর সেন্সর
মাউন্ট আইআর সেন্সর
মাউন্ট আইআর সেন্সর
মাউন্ট আইআর সেন্সর

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

(আপডেট: যাইহোক, এটি কোন ব্যাপার না, কারণ এই সেন্সরগুলি অভ্যন্তরীণ পরিবেষ্টিত আলো দ্বারা বিভ্রান্ত হতে পারে বলে মনে হচ্ছে। আমি এখনও সেই সমস্যাটি অন্বেষণ করছি)

রোবটে এই সেন্সর মাউন্ট করার অন্তত তিনটি উপায় আছে।

  1. তাদের একটি নির্দিষ্ট অবস্থানে রাখুন, সামনে, একে অপরের থেকে কিছুটা দূরে মুখোমুখি।
  2. একে অপরের থেকে কিছুটা দূরে মুখোমুখি, সামনে একটি সার্ভোতে রাখুন।
  3. তাদের একটি নির্দিষ্ট অবস্থানে রাখুন, সামনে, কিন্তু বামদিকের এবং ডানদিকের সবচেয়ে দূরবর্তী কোণে, একে অপরের দিকে কোণযুক্ত।

পছন্দ #1 কে পছন্দ #3 এর সাথে তুলনা করার ক্ষেত্রে, আমি মনে করি যে #3 সংঘর্ষের এলাকাটি আরও বেশি কভার করবে। যদি আপনি ছবিগুলি একবার দেখে নেন, #3 পছন্দটি করা যেতে পারে না যাতে সেন্সর ক্ষেত্রগুলি ওভারল্যাপ হয়, তবে তারা কেন্দ্র এবং রোবটের বাইরের প্রস্থের বাইরেও আবরণ করতে পারে।

পছন্দের #1 এর সাথে, সেন্সরগুলি একে অপরের থেকে যতটা দূরে থাকে, কেন্দ্রে একটি অন্ধ স্পট তত বেশি।

আমরা #2 করতে পারতাম, (আমি সম্ভাবনার সাথে সার্ভো সহ কিছু ছবি যোগ করেছি) এবং সেগুলি একটি ঝাড়ু দিতে হবে, এবং স্পষ্টতই এটি সর্বাধিক এলাকা জুড়ে দিতে পারে। যাইহোক, আমি কমপক্ষে দুটি কারণে একটি সার্ভোর ব্যবহার যতটা সম্ভব বিলম্ব করতে চাই:

  • আমরা রাস্পবেরি পাইতে PWM যোগাযোগ চ্যানেলগুলির একটি ব্যবহার করব। (এটি উন্নত করা সম্ভব কিন্তু এখনও …)
  • Servo সঙ্গে বর্তমান ড্র উল্লেখযোগ্য হতে পারে
  • এটি হার্ডওয়্যার এবং সফটওয়্যারে আরো যোগ করে

আমি আরো গুরুত্বপূর্ণ সেন্সর যুক্ত করার সময় সার্ভের বিকল্পটি ছেড়ে দিতে চাই, যেমন টাইম-অফ-ফ্লাইট (টিওএফ), অথবা সম্ভবত একটি ক্যামেরা।

পছন্দ #2 এর সাথে আরেকটি সম্ভাব্য সুবিধা রয়েছে যা অন্য দুটি পছন্দের সাথে উপলব্ধ নয়। এই আইআর সেন্সর আলোর উপর নির্ভর করে বিভ্রান্ত হতে পারে। এটি হতে পারে যে রোবটটি এমন একটি বস্তুর পাঠ পায় যা খুব কাছাকাছি থাকে যখন বাস্তবে কোনও কাছাকাছি বস্তু নেই। পছন্দ #3 এর সাথে, যেহেতু তাদের ক্ষেত্রগুলি ওভারল্যাপ হতে পারে, উভয় সেন্সর একই বস্তু (বিভিন্ন কোণ থেকে) নিবন্ধন করতে পারে।

তাই আমরা প্লেসমেন্ট পছন্দ #3 নিয়ে যাচ্ছি।

ধাপ 3: পরীক্ষার সময়

Image
Image

আমরা রাস্পবেরি পাই, এমসিপি 3008 এডিসি এবং শার্প আইআর সেন্সরের মধ্যে সমস্ত সংযোগ তৈরি করার পরে, এটি পরীক্ষার সময়। সিস্টেমটি নতুন সেন্সরের সাথে কাজ করছে তা নিশ্চিত করার জন্য একটি সহজ পরীক্ষা।

পূর্ববর্তী নির্দেশাবলী হিসাবে, আমি wiringPi C লাইব্রেরি যতটা সম্ভব ব্যবহার করি। জিনিস সহজ করে তোলে। এমন কিছু যা wiringPi ওয়েবসাইট পর্যালোচনা করে খুব স্পষ্ট নয়, তা হল MCP3004/3008 এর জন্য সরাসরি সমর্থন।

এমনকি এটি ছাড়াও, আপনি কেবল এসপিআই এক্সটেনশনটি ব্যবহার করতে পারেন। কিন্তু করার দরকার নেই। আপনি যদি ওয়্যারিংপিআই -এর জন্য গর্ডনের গিট রিপোজিটরিটি ঘনিষ্ঠভাবে দেখেন, আপনি সমর্থিত চিপগুলির একটি তালিকা দেখতে পাবেন, যার মধ্যে একটি MCP3004/3008 এর জন্য।

আমি কোডটি একটি ফাইল হিসাবে সংযুক্ত করার সিদ্ধান্ত নিয়েছি কারণ আমি এই পৃষ্ঠায় এটি সঠিকভাবে প্রদর্শন করতে পারিনি।

ধাপ 4: একটি ভার্চুয়াল সেন্সর - AmpSensor

রোবট বাইরের দুনিয়া সম্পর্কে যত বেশি উপায়ে তথ্য পেতে পারে, ততই ভালো।

রোবটটিতে বর্তমানে আটটি HCSR04 অ্যাকোস্টিক সোনার সেন্সর রয়েছে (তারা এই নির্দেশের কেন্দ্রবিন্দু নয়), এবং এটিতে এখন দুটি শার্প আইআর দূরত্ব সেন্সর রয়েছে। আগেই বলা হয়েছে, আমরা অন্য কিছুর সুবিধা নিতে পারি: রোবোক্লোর মোটর-স্রোত সেন্সিং বৈশিষ্ট্য।

আমরা সেই প্রশ্নটি মোটর-নিয়ন্ত্রকের কাছে C ++ ক্লাসে মোড়ানো এবং এটিকে একটি AmpSensor বলতে পারি।

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

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

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

ধাপ 5: নেভিগেশন

রোবটটি বর্তমানে বাস্তব জগতের প্রতিক্রিয়া সীমাবদ্ধ। বাধা এড়ানোর জন্য এটির কাছে কয়েকটি দূর-দূরত্বের সেন্সর রয়েছে এবং দূরত্ব সেন্সরগুলি যদি কোনও বাধা মিস করে তবে এটিতে বর্তমান-পর্যবেক্ষণ পর্যবেক্ষণের একটি ফল-ব্যাক কৌশল রয়েছে।

এটিতে এনকোডার সহ মোটর নেই এবং এটিতে একটি IMU (জড়-পরিমাপ-ইউনিট) নেই, যাতে এটি সত্যিই চলমান বা ঘোরানো কিনা তা জানা আরও কঠিন করে তোলে এবং কতটা।

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

আমি ইচ্ছাকৃতভাবে একটি মাইক্রো-কন্ট্রোলার ব্যবহার না করার জন্য বেছে নিয়েছি যেমন একটি Arduino কারণ a) আমি এটা psuedo-C ++ পরিবেশ পছন্দ করি না, খ) এবং যে খুব বেশি উন্নয়ন পড়া-লেখার মেমরি (?), এবং যে আমি (?) বিকাশের জন্য একটি হোস্ট কম্পিউটারের প্রয়োজন হবে। অথবা হয়তো আমি রাস্পবেরি পাই এর মতোই ঘটব।

পাই চালানো রাস্পবিয়ান, যাইহোক, রিয়েল-টাইম ওএস নয়, তাই এই সেন্সরগুলির অস্থিরতা এবং ওএস 'প্রতিবার ঠিক না পড়ার মধ্যে, আমি অনুভব করেছি যে এই সেন্সরগুলির উদ্দেশ্য বাধা-এড়ানোর জন্য আরও উপযুক্ত ছিল এবং নয় প্রকৃত দূরত্ব-পরিমাপ

সেই পদ্ধতিকে জটিল মনে হচ্ছিল এবং এত বেশি সুবিধা না দিয়ে, যখন আমরা সেই উদ্দেশ্যে (SLAM) জন্য আরও ভাল ToF (ফ্লাইটের সময়) সেন্সর (পরে) ব্যবহার করতে পারি।

একটি পদ্ধতি যা আমরা ব্যবহার করতে পারি তা হল গত এক্স সেকেন্ড বা কমান্ডের মধ্যে কোন মুভমেন্ট-কমান্ড ইস্যু করা হয়েছে তার কিছু ট্র্যাক রাখা।

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

উপরের উদাহরণটি কেবল একটি খুব সহজ কেস। কিছু স্মার্ট যুক্ত করা কেবল পুনরাবৃত্ত প্যাটার্নকে একটি নতুন স্তরে উন্নীত করতে পারে, তবে রোবটটি কোণে আটকে থাকে।

উদাহরণস্বরূপ, জায়গায় পিছনে ঘুরানোর পরিবর্তে, এটি এক দিকে ঘোরায়, ক্ষণস্থায়ী বিপরীত করে (যা তখন সমালোচনামূলক দূরত্বের ইঙ্গিতগুলি পরিষ্কার করে), এবং এমনকি যদি এটি অন্য দিকে ঘোরায়, তবুও এটি কোণে ফিরে কিছু কোণে এগিয়ে যায়, মূলত একই জিনিসের একটি আরো জটিল প্যাটার্ন পুনরাবৃত্তি।

এর মানে হল আমরা সত্যিই কমান্ডের ইতিহাস ব্যবহার করতে পারি, এবং কিভাবে সেই তথ্যকে কাজে লাগাতে এবং ব্যবহার করতে হয় তা দেখে নিই।

আমি আন্দোলন-ইতিহাস ব্যবহারের দুটি মৌলিক (প্রাথমিক) উপায় চিন্তা করতে পারি।

  • শেষ X সংখ্যক চালের জন্য, তারা কি Y প্যাটার্নের সাথে মেলে। একটি সহজ উদাহরণ হতে পারে (এবং এটি ঘটেছে) "ফরওয়ার্ড, রিভার্স, ফরওয়ার্ড, রিভার্স,….."। সুতরাং এই মিলে ফাংশন আছে যা সত্য (প্যাটার্ন পাওয়া) অথবা মিথ্যা (পাওয়া যায় নি) ফেরত দেয়। যদি সত্য, প্রোগ্রামের নেভিগেশন অংশে, অন্যান্য আন্দোলন-ক্রম চেষ্টা করুন।
  • শেষ X সংখ্যক চালের জন্য, একটি সাধারণ বা নেট ফরওয়ার্ড আন্দোলন আছে। কিভাবে একটি বাস্তব এগিয়ে আন্দোলন কি নির্ধারণ করতে পারে? আচ্ছা.. একটি সহজ তুলনা হল যে শেষ এক্স চালের জন্য, "ফরওয়ার্ড" "রিভার্স" এর চেয়ে বেশি ঘটে। কিন্তু এটি একমাত্র হতে হবে না। এটি সম্পর্কে: "ডান, ডান, বাম, ডান"। সেক্ষেত্রে রোবটকে কোন কোণ থেকে বেরিয়ে আসার জন্য ডানদিকে ঘুরতে হয় অথবা এটি একটি কোণে প্রাচীরের কাছে আসার কারণে এটিকে বাস্তব অগ্রগতি হিসেবে বিবেচনা করা যেতে পারে। অন্যদিকে, "বাম, ডান, বাম, ডান …" প্রকৃত অগ্রগতি হিসাবে বিবেচিত হতে পারে না। সুতরাং, যদি "ডান" "বাম" এর চেয়ে বেশি ঘটে, বা "বাম" "ডান" এর চেয়ে বেশি ঘটে, তাহলে এটি বাস্তব অগ্রগতি হতে পারে।

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

ধাপ 6: চূড়ান্ত চিন্তা, পরবর্তী পর্যায় …

আশা করি এই নির্দেশযোগ্য কিছু ধারণা দিয়েছে।

আরো সেন্সর যোগ করা কিছু সুবিধা, এবং চ্যালেঞ্জের পরিচয় দেয়।

উপরের ক্ষেত্রে, সমস্ত শাব্দ সেন্সর একসাথে ভালভাবে কাজ করেছিল এবং এটি সফ্টওয়্যারের সাথে বরং সোজা ছিল।

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

আর তাই চ্যালেঞ্জ ছিল কি করতে হবে যদি কোন অ্যাকোস্টিক সেন্সর আমাদের বলছে যে কোন বাধা নেই, কিন্তু IR সেন্সর।

আপাতত, ট্রায়াল-এন্ড-এর এর পরে, বিষয়গুলি এই অগ্রাধিকারে শেষ হয়েছে:

  1. amp- সেন্সিং
  2. আইআর-সেন্সিং
  3. শাব্দ-অনুভূতি

এবং আমি যা করেছি তা কেবল আইআর সেন্সরের সংবেদনশীলতা হ্রাস করার জন্য, তাই তারা কেবল খুব কাছের বস্তুগুলি সনাক্ত করবে (যেমন আসন্ন চেয়ার পা)

এখন পর্যন্ত, কোনও মাল্টি-থ্রেডিং বা ইন্টারাপ্ট-চালিত সফ্টওয়্যার করার প্রয়োজন হয়নি, যদিও আমি মাঝে মাঝে রাস্পবেরি পাই এবং রোবোক্লো মোটর-কন্ট্রোলারের মধ্যে নিয়ন্ত্রণ হারানোর সম্মুখীন হই (সিরিয়াল যোগাযোগের ক্ষতি)।

এখানেই ই-স্টপ সার্কিট (পূর্ববর্তী নির্দেশাবলী দেখুন) সাধারণত ব্যবহৃত হবে। যাইহোক, যেহেতু আমি (এখনো) উন্নয়নের সময় রোবোক্লোকে পুনরায় সেট করতে মোকাবেলা করতে চাই না, এবং রোবটটি তত দ্রুত যাচ্ছে না, এবং আমি এটি পর্যবেক্ষণ করতে এবং এটি বন্ধ করতে উপস্থিত, আমি নেই ই-স্টপ সংযুক্ত।

অবশেষে, মাল্টি-থ্রেডিং সম্ভবত প্রয়োজন হবে।

পরবর্তী পদক্ষেপ…

এতদূর নিয়ে আসার জন্য ধন্যবাদ।

আমি কিছু ভিএল 53 এল 1 এক্স আইআর লেজার টিওএফ (ফ্লাইটের সময়) সেন্সর পেয়েছি, তাই সম্ভবত এটি একটি সার্ভোর সাথে পরবর্তী নির্দেশের বিষয়।

প্রস্তাবিত: