সুচিপত্র:

POLOLU QTR 8RC- সেন্সর অ্যারে সহ রোবট অনুসরণ করে PID ভিত্তিক লাইন: 6 টি ধাপ (ছবি সহ)
POLOLU QTR 8RC- সেন্সর অ্যারে সহ রোবট অনুসরণ করে PID ভিত্তিক লাইন: 6 টি ধাপ (ছবি সহ)

ভিডিও: POLOLU QTR 8RC- সেন্সর অ্যারে সহ রোবট অনুসরণ করে PID ভিত্তিক লাইন: 6 টি ধাপ (ছবি সহ)

ভিডিও: POLOLU QTR 8RC- সেন্সর অ্যারে সহ রোবট অনুসরণ করে PID ভিত্তিক লাইন: 6 টি ধাপ (ছবি সহ)
ভিডিও: What is IR Line Follower Array | Line Follower Robot 🤖🤖 2024, নভেম্বর
Anonim
POLOLU QTR 8RC- সেন্সর অ্যারে সহ রোবট অনুসরণ করে PID ভিত্তিক লাইন
POLOLU QTR 8RC- সেন্সর অ্যারে সহ রোবট অনুসরণ করে PID ভিত্তিক লাইন

হ্যালো!

ইন্সট্রাক্টেবলগুলিতে এটি আমার প্রথম লেখা, এবং আজ আমি আপনাকে রাস্তায় নামাব, এবং কিউটিআর -8 আরসি সেন্সর অ্যারে ব্যবহার করে রোবটকে অনুসরণ করে পিআইডি ভিত্তিক লাইনটি কীভাবে বুলিড করবেন তা ব্যাখ্যা করুন।

রোবটের ভবনে যাওয়ার আগে, আমাদের বুঝতে হবে পিআইডি কাকে বলে,

ধাপ 1: কাজের নীতি

পিআইডি কি?

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

পোলালু নথিতে উল্লেখ করা মূল শর্তাবলী

লাইনের সাপেক্ষে আনুপাতিক মান আপনার রোবটের অবস্থানের প্রায় আনুপাতিক। অর্থাৎ, যদি আপনার রোবটটি সঠিকভাবে লাইনে কেন্দ্রীভূত হয়, আমরা ঠিক 0 এর আনুপাতিক মান আশা করি।

অবিচ্ছেদ্য মান আপনার রোবটের গতির ইতিহাস লিপিবদ্ধ করে: এটি রোবট চলতে শুরু করার পর থেকে রেকর্ড করা সমানুপাতিক মেয়াদের সমস্ত মানের সমষ্টি।

ডেরিভেটিভ হল আনুপাতিক মান পরিবর্তনের হার।

এই টিউটোরিয়ালে, আমরা কেবল Kp এবং Kd পদ সম্পর্কে কথা বলব, যাইহোক, Ki শব্দটি ব্যবহার করেও ফলাফল অর্জন করা যেতে পারে। তাই মূলত সেন্সরটি 0 থেকে 2500 পর্যন্ত সর্বোচ্চ প্রতিফলন থেকে সর্বনিম্ন প্রতিফলন পর্যন্ত মান প্রদান করে, কিন্তু, একই সাথে, রোবট লাইন থেকে কতদূর আটকে আছে সে সম্পর্কেও তথ্য প্রদান করে।)

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

তারপর আসে হিসাব অংশ,।

1) ত্রুটি গণনা করুন

ত্রুটি = সেটপয়েন্ট মান - বর্তমান মান = 3500 - অবস্থান

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

2) মোটরগুলির সমন্বিত গতি নির্ধারণ করুন।

MotorSpeed = Kp * Error + Kd * (Error - LastError);

LastError = ত্রুটি;

RightMotorSpeed = RightBaseSpeed + MotorSpeed;

LeftMotorSpeed = LeftBaseSpeed - MotorSpeed;

যৌক্তিকভাবে বলতে গেলে, 0 এর একটি ত্রুটি মানে আমাদের রোবটটি বাম দিকে বেরিয়ে গেছে, যার মানে হল যে আমাদের রোবটটিকে একটু ডানদিকে যেতে হবে, যার অর্থ হল, ডান মোটরকে ধীর করতে হবে এবং বাম মোটরকে গতি বাড়ানো দরকার। এটা পিআইডি!

মোটরস্পিড মান সমীকরণ থেকে নির্ধারিত হয়। RightBaseSpeed এবং LeftBaseSpeed হল গতি (PWM 0-255 এর যেকোনো মান) যেখানে ত্রুটি শূন্য হলে রোবট চলে।

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

আপনি যদি আপনার রোবটটি বাস্তবায়নের সময় সমস্যায় পড়েন, তাহলে শুধু সমীকরণের লক্ষণগুলি পরিবর্তন করে দেখুন এবং দেখুন !!!

এবং এখন কেপি এবং কেডি খোঁজার সবচেয়ে কঠিন অংশ, এলোমেলো মান রাখার পরিবর্তে আমার রোবটকে পুরোপুরি টিউন করার জন্য আমাকে 1 ঘন্টারও বেশি সময় ব্যয় করতে হয়েছিল।

  1. Kp এবং Kd এর সমান 0 দিয়ে শুরু করুন, এবং Kp দিয়ে শুরু করুন, প্রথমে Kp থেকে 1 সেট করার চেষ্টা করুন এবং রোবটটি পর্যবেক্ষণ করুন, আমাদের লক্ষ্য হল লাইনটি অনুসরণ করা, এমনকি যদি এটি অস্থির হয়, যদি রোবটটি ওভারশুট করে এবং লাইনটি হারায় তাহলে কেপি মান হ্রাস করুন.যদি রোবটটি মোড় নেভিগেট করতে না পারে এবং অলস হয়ে কেপি মান বাড়ায়।
  2. একবার রোবট কিছুটা লাইন অনুসরণ করে বলে মনে হয় কেডি মান (কেডি মান> কেপি মান) 1 থেকে শুরু করুন এবং মানটি বাড়ান যতক্ষণ না আপনি কম ঝাঁকুনি সহ একটি মসৃণ ড্রাইভ দেখতে পান।
  3. একবার রোবট লাইনটি অনুসরণ করতে শুরু করলে, গতি বাড়ান এবং দেখুন যে এটি লাইন ধরে রাখতে এবং অনুসরণ করতে সক্ষম কিনা।

মনে রাখবেন যে পিআইডি টিউনিংয়ের উপর গতির সরাসরি প্রভাব রয়েছে এবং আপনার রোবটের গতির সাথে মেলাতে আপনাকে কখনও কখনও পুনরাবৃত্তি করতে হতে পারে।

এখন আমরা আমাদের রোবট তৈরিতে নামতে পারি।

ধাপ 2: বিল্ড

বিল্ড
বিল্ড
বিল্ড
বিল্ড
বিল্ড
বিল্ড

ইউএসবি কেবল সহ Arduino atmega 2560 - এটি হল প্রধান মাইক্রোকন্ট্রোলার।

চ্যাসিস- রোবট চ্যাসিসের জন্য আমি 2 টি বৃত্তাকার এক্রাইলিক প্লেট ব্যবহার করেছি যা অন্য প্রকল্পের জন্য ব্যবহার করা হয় যা এর জন্য উপযুক্ত। বাদাম এবং স্ক্রু ব্যবহার করে আমি একটি 2 তলা চ্যাসি তৈরি করেছি, যাতে আমি উপরের মডেলের অন্যান্য মডিউল সংযুক্ত করতে পারি। আপনি প্রস্তুত প্রস্তুত চেসিস ব্যবহার করতে পারেন।

www.ebay.com/itm/2WD-DIY-2-Wheel-Drive-Rou…

মাইক্রোমেটাল গিয়ার মোটর- পিআইডি রুটিন মোকাবেলা করার জন্য রোবটকে দ্রুত ঘোরানো মোটরের প্রয়োজন ছিল, তার জন্য আমি 6V 400rpm এবং উপযুক্ত গ্রিপি চাকার রেটযুক্ত মোটর ব্যবহার করেছি।

www.ebay.com/itm/12mm-6V-400RPM-Torque-Gea…

www.ebay.com/itm/HOT-N20-Micro-Gear-Motor-…

QTR 8Rc সেন্সর অ্যারে - এটি লাইন ট্র্যাকিংয়ের জন্য ব্যবহার করা যেতে পারে, যেমনটি আগে উল্লেখ করা হয়েছে আমি মনে করি আপনি এখন PID দিয়ে সেন্সর অ্যারে কিভাবে পরিচালনা করবেন তার একটি পরিষ্কার বোঝা পেয়েছেন। কোডটি খুবই সহজ এবং বিদ্যমান arduino লাইব্রেরি ব্যবহার করে আপনি সক্ষম হবেন একটি দ্রুত লাইন অনুসারী তৈরি করতে।

www.ebay.com/itm/Pololu-QTR-8RC-Reflectanc…

TB6612FNG মোটর ড্রাইভার-আমি একটি মোটর চালক ব্যবহার করতে চেয়েছিলাম যা মোড়কে পরিচালনা করতে পারে এবং দিকনির্দেশনা পরিবর্তন করতে পারে, যা PWM সংকেত কম হলে মোটরগুলিকে কার্যকরভাবে ব্রেক করতে সক্ষম।

www.ebay.com/itm/Pololu-Dual-DC-Motor-Driv…

লাইপো ব্যাটারি- 11.1V লাইপো ব্যাটারি রোবটকে শক্তি জোগাতে ব্যবহার করা হয় ।যদিও আমি 11.1 V লাইপো ব্যাটারি ব্যবহার করেছি, এই ক্ষমতাটি আরডুইনো এবং মোটরগুলির জন্য যা প্রয়োজন তার চেয়ে বেশি। যদি আপনি একটি হালকা ওজনের 7.4V লিপো ব্যাটারি বা 6V Ni-MH ব্যাটারি প্যাক এটি নিখুঁত হবে এই কারণে আমাকে ভোল্টেজ 6V তে রূপান্তর করতে একটি বক কনভার্টার ব্যবহার করতে হবে।

11.1V-

7.4 V-

বাক কনভার্টার মডিউল-

অতিরিক্ত যে আপনি জাম্পার তারের, বাদাম এবং বোল্ট, স্ক্রু ড্রাইভার এবং বৈদ্যুতিক টেপ এবং জিপ বন্ধন প্রয়োজন নিশ্চিত করতে সবকিছু ঠিক আছে।

ধাপ 3: একত্রিত করা

একত্রিত করা
একত্রিত করা
একত্রিত করা
একত্রিত করা
একত্রিত করা
একত্রিত করা
একত্রিত করা
একত্রিত করা

বাদাম এবং স্ক্রু ব্যবহার করে একটি প্লেটে মোটর এবং একটি ছোট কাস্টার চাকা সংযুক্ত করুন এবং তারপরে কিউটিআর সেন্সর, মোটর ড্রাইভার, আরডুইনো বোর্ড এবং অবশেষে ব্যাটারিটি চ্যাসিসে লাগান।

এখানে আমি ইন্টারনেটে পাওয়া একটি নিখুঁত চিত্র, যা আপনাকে বলে যে সংযোগগুলি কীভাবে তৈরি করা উচিত।

ধাপ 4: আপনার লাইন ট্র্যাক ডিজাইন করুন

আপনার লাইন ট্র্যাক ডিজাইন করুন
আপনার লাইন ট্র্যাক ডিজাইন করুন

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

ধাপ 5: আপনার কোড প্রোগ্রাম করুন

1. Arduino ডাউনলোড এবং ইনস্টল করুন

ডেস্কটপ আইডিই

· উইন্ডোজ -

· ম্যাক ওএস এক্স -

· লিনাক্স -

2. Arduino লাইব্রেরি ফোল্ডারে QTR 8 RC সেন্সর অ্যারে ফাইল ডাউনলোড করে পেস্ট করুন।

Https://github.com/pololu/qtr-sensors-arduino

The পাথে ফাইল আটকান - C: / Arduino / লাইব্রেরি

3. ডাউনলোড করুন এবং LINEFOLLOWING.ino খুলুন

4. একটি USB তারের মাধ্যমে কোডটি আরডুইনো বোর্ডে আপলোড করুন

ধাপ 6: সম্পন্ন

Image
Image

এখন আপনার নিজের তৈরি একটি রোবট অনুসরণ করে একটি লাইন আছে।

আশা করি এই টিউটোরিয়ালটি সহায়ক ছিল

আরেকটি নতুন প্রকল্পের সাথে শীঘ্রই দেখা হবে।

বিল্ডিং উপভোগ করুন !!

প্রস্তাবিত: