সুচিপত্র:

SnappyXO প্রিসাইজ মুভার রোবট: Ste টি ধাপ
SnappyXO প্রিসাইজ মুভার রোবট: Ste টি ধাপ

ভিডিও: SnappyXO প্রিসাইজ মুভার রোবট: Ste টি ধাপ

ভিডিও: SnappyXO প্রিসাইজ মুভার রোবট: Ste টি ধাপ
ভিডিও: Porikhit Gogoi || APS RANK 35 || APSC CCE 2022 || #ekuhipath Mock Interview #apscexam #pcs 2024, নভেম্বর
Anonim
SnappyXO প্রিসাইজ মুভার রোবট
SnappyXO প্রিসাইজ মুভার রোবট

PreciseMovement Arduino লাইব্রেরি ব্যবহার করে আপনার Arduino রোবটকে একটি নির্দিষ্ট দূরত্বের জন্য সোজা করুন অথবা একটি নির্দিষ্ট কোণে ঘুরান।

রোবটটি ঘূর্ণন কমানোর জন্য একটি ঘূর্ণায়মান বল কাস্টার বা সমতুল্য প্রয়োজন।

www.pololu.com/product/954

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

এটি SnappyXO রোবটের সাথে কাজ করার জন্য পরীক্ষা করা হয়েছে।

ধাপ 1: টিউটোরিয়ালের অবস্থান পরিবর্তন করা হয়েছে

টিউটোরিয়ালটি নীচের পৃষ্ঠায় সরানো হয়েছে। এই টিউটোরিয়াল আর রক্ষণাবেক্ষণ করা হয় না।

sites.google.com/stonybrook.edu/premo

ধাপ 2: SnappyXO ডিফারেনশিয়াল ড্রাইভ রোবট তৈরি করুন

প্রিসাইজ মুভমেন্ট লাইব্রেরি যা আমরা ব্যবহার করব তা কেবল ডিফারেনশিয়াল ড্রাইভ রোবটগুলির সাথে সামঞ্জস্যপূর্ণ। আপনি অন্যান্য 2 হুইল ড্রাইভ রোবট ব্যবহার করতে পারেন।

ধাপ 3: ইলেকট্রনিক্স সংযোগ করুন

ইলেকট্রনিক্স সংযোগ করুন
ইলেকট্রনিক্স সংযোগ করুন

স্ট্যান্ডার্ড SnappyXO অপটিক্যাল এনকোডারের জন্য:

D0 (এনকোডার আউটপুট) -> আরডুইনো ডিজিটাল পিন

VCC -> Arduino 5V

GND -> GND

মোটর এবং Arduino শক্তি:

মোটর পাওয়ার উৎস আপনার ব্যবহৃত মোটরগুলির জন্য পর্যাপ্ত হওয়া উচিত। স্ন্যাপিএক্সও কিটের জন্য, মোটর পাওয়ারের জন্য 4AA ব্যাটারি এবং Arduino পাওয়ারের জন্য 9V ব্যাটারি ব্যবহার করা হয়। নিশ্চিত করুন যে তাদের সবার একটি সাধারণ GND আছে।

ধাপ 4: PreciseMovement Arduino Library ইনস্টল করুন

ডাউনলোড করুন:

github.com/jaean123/PreciseMovement-library/releases

Arduino লাইব্রেরি কিভাবে ইনস্টল করবেন:

wiki.seeedstudio.com/How_to_install_Arduino_Library/

ধাপ 5: কোড

Arduino কোড:

create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview

এই পরামিতিগুলির সমন্বয় প্রয়োজন। কোডে প্রস্তাবিত লেবেলযুক্ত অন্যান্য পরামিতিগুলি আরও ভাল পারফরম্যান্সের জন্য সামঞ্জস্য করা যেতে পারে।

  • ARDUINO PINS এর অধীনে মোটর পিনগুলি পরীক্ষা করে সেট করুন।
  • LENGTH এবং RADIUS সেট করুন।

    • LENGTH হল বাম চাকা থেকে ডান চাকার দূরত্ব।
    • RADIUS হল চাকার ব্যাসার্ধ।
  • PULSES_PER_REV সেট করুন, যা এক চাকা বিপ্লবের জন্য এনকোডার আউটপুট ডালের সংখ্যা।

    • মনে রাখবেন এটি একটি মোটর শ্যাফ্ট বিপ্লবের জন্য এনকোডার আউটপুট ডালের সংখ্যা থেকে আলাদা, যদি না এনকোডারগুলি হুইল শ্যাফ্ট থেকে সরাসরি পড়ার সাথে সংযুক্ত থাকে।
    • PULSES_PER_REV = (মোটর শ্যাফটের প্রতি এক বিপ্লবের ডাল) x (গিয়ার অনুপাত)
  • STOP_LENGTH সেট করুন যদি আপনি দেখতে পান যে রোবট ফরওয়ার্ড মুভমেন্টের পর ওভারশুট করছে।

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

  • পিআইডি পরামিতি

    KP_FW: এটি ফরওয়ার্ড গতির আনুপাতিক উপাদান। রোবট সোজা না হওয়া পর্যন্ত এটি বাড়ান। যদি আপনি এটি টিউন করে সরাসরি যেতে না পারেন, তাহলে হার্ডওয়্যারটি সম্ভবত দোষের। (উদা চাকা misalignment, ইত্যাদি)

    KP_TW: এটি টুইস্টিং মোশন PID এর আনুপাতিক উপাদান। কেবলমাত্র একটি কম মান থেকে শুরু করুন এবং এটিকে বাড়ান যতক্ষণ না টুইস্ট স্পিড, অথবা রোবটের কৌণিক বেগ মোচড়ানোর সময় যথেষ্ট দ্রুত হয়, কিন্তু ওভারশুট করে না। পর্যবেক্ষণ করার জন্য, আপনি 0 থেকে 90 পর্যন্ত রোবট বিকল্প করতে পারেন এবং লুপ ফাংশনে নিম্নলিখিতগুলি সন্নিবেশ করিয়ে দিতে পারেন।

KP_FW টিউন করার জন্য এটি লুপে রাখুন:

mover.forward (99999);

কেপি_টিডব্লিউ টিউন করার জন্য 0 থেকে 90 পর্যন্ত বিকল্পভাবে এটি লুপে রাখুন:

mover.twist (90); // টুইস্ট 90 CW

বিলম্ব (2000);

mover.twist (-90) // টুইস্ট 90 CCW

বিলম্ব (2000);

লক্ষ্য করুন যে প্রকৃতপক্ষে TARGET_TWIST_OMEGA এ কৌণিক বেগকে মোচড়ানোর জন্য, KI_TW- কেও টিউন করতে হবে কারণ একটি আনুপাতিক নিয়ামক কখনই সঠিক লক্ষ্যে স্থির হবে না। যাইহোক, ঠিক কৌণিক বেগ এ মোচড়ানোর প্রয়োজন নেই। কৌণিক বেগ শুধু যথেষ্ট ধীর হওয়া প্রয়োজন।

ধাপ 6: এটি কিভাবে কাজ করে

যদি আপনি এটি কীভাবে কাজ করে সে সম্পর্কে আগ্রহী হন।

একটি সরলরেখার পথে বিশুদ্ধ সাধনা অ্যালগরিদম ব্যবহার করে সামনের আন্দোলনকে সোজা রাখা হয়।

টুইস্ট পিআইডি কন্ট্রোলার টুইস্ট কৌণিক বেগ TARGET_TWIST_OMEGA এ রাখার চেষ্টা করে। লক্ষ্য করুন যে এই কৌণিক বেগ হল পুরো রোবটের কৌণিক বেগ, চাকার নয়। শুধুমাত্র একটি PID কন্ট্রোলার ব্যবহার করা হয় এবং আউটপুট হল বাম এবং ডান উভয় মোটরের PWM লেখার গতি। কোণ গণনা করার জন্য মৃত হিসাব করা হয়। একবার কোণটি ত্রুটির প্রান্তে পৌঁছে গেলে, রোবটটি থেমে যায়।

প্রস্তাবিত: