সুচিপত্র:
- সরবরাহ
- ধাপ 1: নির্মাণ
- ধাপ 2: তারের
- ধাপ 3: নিয়ন্ত্রণ তত্ত্ব
- ধাপ 4: MPU 6050 ব্যবহার করে
- ধাপ 5: কোডিং
- ধাপ 6: পিআইডি টিউনিং পদ্ধতি
- ধাপ 7: কনক্লুশন
ভিডিও: দুই চাকা স্ব-ভারসাম্যপূর্ণ রোবট: 7 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
এই নির্দেশযোগ্য একটি স্ব-ভারসাম্যপূর্ণ রোবটের জন্য নকশা এবং নির্মাণ প্রক্রিয়ার মধ্য দিয়ে যাবে। একটি নোট হিসাবে, আমি শুধু বলতে চাই যে স্ব-ভারসাম্যপূর্ণ রোবটগুলি একটি নতুন ধারণা নয় এবং এটি অন্যদের দ্বারা নির্মিত এবং নথিভুক্ত করা হয়েছে। আমি এই সুযোগটি ব্যবহার করতে চাই এই রোবটের ব্যাখ্যা আমার সাথে শেয়ার করার জন্য।
একটি স্ব-ভারসাম্যপূর্ণ রোবট কি?
একটি স্ব-ভারসাম্যপূর্ণ রোবট এমন একটি সিস্টেম যা একটি অনবোর্ড সেন্সর থেকে সংগৃহীত নিষ্ক্রিয় পরিমাপের ডেটা ব্যবহার করে, যা ক্রমাগত সোজা থাকার জন্য তার অবস্থান সামঞ্জস্য করে।
এটা কিভাবে কাজ করে?
বিবেচনা করার জন্য একটি সহজ উপমা হল একটি উল্টানো দুল। যেখানে ভরের কেন্দ্র পিভট পয়েন্টের উপরে। যাইহোক, আমাদের ক্ষেত্রে, আমরা ঘূর্ণনের একটি অক্ষ থাকার দ্বারা দুলকে 1 ডিগ্রী স্বাধীনতার মধ্যে সীমাবদ্ধ করছি, আমাদের ক্ষেত্রে দুটি চাকার ঘূর্ণনের অক্ষ। যেহেতু কোন ধরণের ঝামেলা রোবটকে পতিত করবে, তাই আমাদের সক্রিয়ভাবে রোবটকে ভারসাম্যপূর্ণ রাখার একটি পদ্ধতি দরকার। এখানেই আমাদের ক্লোজ-লুপ অ্যালগরিদম (পিআইডি কন্ট্রোলার) চলে আসে, আমাদের রোবট কোন দিকে পড়ছে তা জেনে আমরা সিস্টেমের ভারসাম্য বজায় রাখতে আমাদের মোটরগুলির ঘূর্ণনের দিকটি সামঞ্জস্য করতে পারি।
কিভাবে বন্ধ লুপ অ্যালগরিদম কাজ করে?
রোবটকে ভারসাম্য বজায় রাখার মূল নীতি হল, যদি রোবটটি সামনের দিকে পতিত হয় তবে এটি রোবটটির নীচের দিকে এগিয়ে গিয়ে নিজেকে ধরার জন্য ক্ষতিপূরণ দেবে এবং তাই উল্লম্ব থাকবে। একইভাবে, যদি রোবটটি পিছনের দিকে পড়ে থাকে তবে এটি রোবটের নীচের অংশটি নিজেকে ধরার জন্য ক্ষতিপূরণ দেবে।
সুতরাং, আমাদের এখানে দুটি জিনিস করতে হবে, প্রথমত, আমাদের রোবটটি যে প্রবণতা (রোল) অনুভব করছে তার কোণ গণনা করতে হবে এবং ফলস্বরূপ, আমাদের মোটরগুলির ঘূর্ণনের দিক নিয়ন্ত্রণ করতে হবে।
আমরা কিভাবে প্রবণতা কোণ পরিমাপ করব?
প্রবণতার কোণ পরিমাপ করার জন্য আমরা একটি নিষ্ক্রিয় পরিমাপ ইউনিট ব্যবহার করব। এই মডিউলগুলিতে একটি অ্যাকসিলরোমিটার এবং জাইরোস্কোপ অন্তর্ভুক্ত রয়েছে।
- অ্যাকসিলরোমিটার হল একটি ইলেক্ট্রোম্যাগনেটিক ডিভাইস যা সঠিক ত্বরণ পরিমাপ করে, এটি একটি তাত্ক্ষণিক বিশ্রাম ফ্রেমে একটি শরীরের ত্বরণ।
- জাইরোস্কোপ হল একটি ইলেক্ট্রোম্যাকানিক্যাল ডিভাইস যা কৌণিক বেগ পরিমাপ করে এবং ডিভাইসের অভিমুখ নির্ধারণ করতে ব্যবহৃত হয়।
যাইহোক, এই ধরনের সেন্সর ব্যবহারে সমস্যা হল:
- অ্যাকসিলরোমিটার খুব গোলমাল কিন্তু সময়ের সাথে সামঞ্জস্যপূর্ণ, কোণটি হঠাৎ অনুভূমিক আন্দোলনের সাথে পরিবর্তিত হয়
- অন্যদিকে, জাইরোস্কোপের মান সময়ের সাথে সাথে চলে যাবে, তবে প্রাথমিকভাবে এটি মোটামুটি সঠিক
এই নির্দেশের জন্য, আমি অনবোর্ড ডিজিটাল মোশন প্রসেসিং (ডিএমপি) ব্যবহার না করে একটি ফিল্টার প্রয়োগ করতে যাচ্ছি। অন্যরা একটি মসৃণ সংকেত পেতে একটি পরিপূরক ফিল্টার ব্যবহার করেছে, আপনি যে পদ্ধতিটি পছন্দ করেন তা চয়ন করতে পারেন। রোবট যেমন বাস্তবায়নের সাথে ভারসাম্য বজায় রাখে।
সরবরাহ
অংশ:
- 8 Mhz ATMEGA328 সহ Arduino Pro Mini 3.3V 8
- FT232RL 3.3V 5.5V FTDI USB থেকে TTL সিরিয়াল অ্যাডাপ্টার মডিউল
- GY-521 মডিউল MPU-6050 সহ
- এক জোড়া N20 মাইক্রো গিয়ার মোটর 6V - 300rpm
- L298N মোটর ড্রাইভার
- LM2596S ডিসি থেকে ডিসি বক কনভার্টার
- ব্যাটারি (রিচার্জেবল 9.7V লি-আয়ন ব্যাটারি প্যাক)
- ব্যাটারি স্ট্র্যাপ
- দুটি প্রোটোটাইপিং পিসিবি সার্কিট বোর্ড
- পুরুষ এবং মহিলা হেডার পিন জাম্পার তার
সরঞ্জাম:
- সোল্ডারিং লোহা এবং ঝাল
- নাইলন হেক্স স্পেসার স্ট্যান্ডঅফ
- যথার্থ স্ক্রু ড্রাইভার সেট
- 3D প্রিন্টার
ধাপ 1: নির্মাণ
যেহেতু আমি একটি 3 ডি প্রিন্টারে অ্যাক্সেস পেয়েছিলাম তাই আমি চেসিসকে 3 ডি মুদ্রণ করার সিদ্ধান্ত নিয়েছি এবং সবকিছুকে একসাথে সংযুক্ত করতে স্ট্যান্ডঅফ ব্যবহার করি।
রোবটটি 4 টি স্তর নিয়ে গঠিত
- নিচের স্তরটি মোটরগুলিকে সংযুক্ত করে এবং L298N মোটর ড্রাইভার মডিউলের জন্য মাউন্ট করা পয়েন্ট রয়েছে
- পরবর্তী স্তরে প্রোটোটাইপ বোর্ড রয়েছে যার মধ্যে আরডুইনো প্রো মিনি এবং হেডারগুলি সোল্ডারযুক্ত
- তৃতীয় স্তরটি IMU মাউন্ট করে
- উপরের স্তর, যাকে আমি "বাম্পার স্তর" বলি ব্যাটারি, বক কনভার্টার এবং আর্থিক সুইচ
আমার মূল নকশা নীতি সবকিছু মডুলার রাখা ছিল। এর কারণ ছিল যদি কোন উপাদানগুলির মধ্যে কিছু ভুল হয়ে যায় তবে আমি সহজেই এটিকে প্রতিস্থাপন করতে পারি অথবা যদি আমার অন্য প্রকল্পের জন্য একটি উপাদান প্রয়োজন হয় তবে আমি সিস্টেমটি আবার ব্যবহার করতে না পারার বিষয়ে উদ্বিগ্ন না হয়ে এটি সহজেই নিতে পারি।
ধাপ 2: তারের
আমি Arduino প্রো মিনি হেডার পিনের সাথে মেলে এমন একটি পারফ-বোর্ডে কিছু মহিলা হেডার পিন্ট বিক্রি করেছি। এটি অনুসরণ করে, আমি I/O অ্যাক্সেসের অনুমতি দেওয়ার জন্য পুরুষ হেডার পিনগুলি বোর্ডে পিন্ড করেছি। বাকি উপাদানগুলি 3D মুদ্রিত ফ্রেমে মাউন্ট করা হয়েছিল এবং জাম্পার তারগুলি ব্যবহার করে সংযুক্ত ছিল।
ধাপ 3: নিয়ন্ত্রণ তত্ত্ব
এখন আমরা প্রকল্পের মূল দিকে এগিয়ে যাই। রোবটকে ভারসাম্যপূর্ণ রাখতে, মোটরগুলিকে সঠিক দিকে এবং সঠিক গতিতে রোবটকে ভারসাম্যপূর্ণ এবং স্থিতিশীল রাখতে সঠিক নিয়ন্ত্রণ সংকেত তৈরি করতে হবে। এটি করার জন্য আমরা একটি জনপ্রিয় নিয়ন্ত্রণ লুপ অ্যালগরিদম ব্যবহার করব যা PID নিয়ামক হিসাবে পরিচিত। সংক্ষিপ্তসার হিসাবে এই নিয়ামকের তিনটি পদ রয়েছে, এগুলি হল আনুপাতিক, অবিচ্ছেদ্য এবং ডেরিভেটিভ পদ। যার প্রত্যেকটি সহগের সাথে থাকে যা সিস্টেমের উপর তাদের প্রভাব নির্ধারণ করে। নিয়ামক বাস্তবায়নের প্রায়শই সবচেয়ে বেশি সময় ব্যয়কারী অংশ হ'ল সর্বাধিক অনুকূল প্রতিক্রিয়া পেতে প্রতিটি অনন্য সিস্টেমের জন্য লাভের সুর।
- আনুপাতিক শব্দটি সরাসরি আউটপুট দিতে ত্রুটিকে গুণ করে, তাই যত বড় ত্রুটি তত বড় সাড়া
- অবিচ্ছেদ্য শব্দটি স্থির অবস্থা ত্রুটি কমাতে ত্রুটির সঞ্চয়ের উপর ভিত্তি করে একটি প্রতিক্রিয়া তৈরি করে। যতক্ষণ সিস্টেমটি ভারসাম্যহীন তত দ্রুত মোটর সাড়া দেবে
- ডেরিভেটিভ শব্দটি হল ত্রুটির ডেরিভেটিভ যা ভবিষ্যতের প্রতিক্রিয়ার পূর্বাভাস দিতে ব্যবহৃত হয় এবং এটি করার ফলে এটি স্থির-অবস্থার ওভারশুট করার কারণে দোলন কমায়।
এই অ্যালগরিদমের মূল নীতি হল ক্রমাগত প্রবণতার কোণ গণনা করা যা কাঙ্ক্ষিত অবস্থান এবং বর্তমান অবস্থানের মধ্যে পার্থক্য, এটি ত্রুটি হিসাবে পরিচিত। এটি তখন এই ত্রুটির মানগুলি ব্যবহার করে এবং আউটপুট পেতে আনুপাতিক, অবিচ্ছেদ্য এবং ডেরিভেটিভ প্রতিক্রিয়াগুলির যোগফল গণনা করে, যা মোটরগুলিতে পাঠানো নিয়ন্ত্রণ সংকেত। ফলস্বরূপ, যদি ত্রুটিটি বড় হয় তবে মোটরগুলিতে প্রেরিত নিয়ন্ত্রণ সংকেত একটি সুষম অবস্থায় পৌঁছানোর জন্য মোটরগুলিকে উচ্চ গতিতে ঘোরাবে। একইভাবে, যদি ত্রুটিটি ছোট হয় তবে নিয়ন্ত্রণ সংকেতটি মোটরগুলিকে কম গতিতে ঘোরাবে রোবটকে ভারসাম্যপূর্ণ রাখতে।
ধাপ 4: MPU 6050 ব্যবহার করে
MPU6050 লাইব্রেরি
github.com/jrowberg/i2cdevlib/tree/master/…
সব সেন্সর একে অপরের সঠিক প্রতিলিপি নয়। ফলস্বরূপ, যদি আপনি দুটি এমপিইউ 6050 পরীক্ষা করেন তবে আপনি একই পৃষ্ঠে স্থির থাকলে অ্যাকসিলরোমিটার এবং জাইরোস্কোপের জন্য বিভিন্ন মান পেতে পারেন। এই ধ্রুবক কোণ অফসেট কাটিয়ে উঠতে আমাদের ব্যবহার করা প্রতিটি সেন্সর উদযাপন করতে হবে। এই স্ক্রিপ্টটি চালানো হচ্ছে:
www.i2cdevlib.com/forums/topic/96-arduino-…
লুইস রোডেনাসের লেখা, আমরা অফসেট পাব। সেটআপ () রুটিনে অফসেট মান নির্ধারণ করে অফসেট ত্রুটি দূর করা যায়।
ডিজিটাল মোশন প্রসেসর ব্যবহার করা
MPU6050 একটি DMP (ডিজিটাল মোশন প্রসেসর) ধারণ করে।
ডিএমপি কি? আপনি DMP কে একটি অনবোর্ড মাইক্রোকন্ট্রোলার হিসাবে ভাবতে পারেন যা mpu6050 এর 3-অক্ষের জাইরোস্কোপ এবং 3-অক্ষের অ্যাকসিলরোমিটার থেকে জটিল গতি প্রক্রিয়া করে, তার নিজস্ব গতি ফিউশন অ্যালগরিদম ব্যবহার করে। প্রক্রিয়াকরণ অফলোড করা যা অন্যথায় Arduino দ্বারা সম্পন্ন করা হবে।
এটি কিভাবে ব্যবহার করতে? কিভাবে ডিএমপি ব্যবহার করবেন তা বের করার জন্য MPU6050_DMP6 এর উদাহরণ স্কেচ দিয়ে যান যা MPU6050 লাইব্রেরির সাথে আসে (Arduino IDE: File-> Example-> MPU6050-> MPU6050_DMP6)। আপনার সেন্সরটি আসলে কাজ করে এবং ওয়্যারিং সঠিক কিনা তা পরীক্ষা করার এটি একটি ভাল সুযোগ।
ধাপ 5: কোডিং
আমি Arduino প্রো মিনি প্রোগ্রাম করার জন্য Arduino IDE এবং একটি FTDI ইন্টারফেস ব্যবহার করেছি।
উদাহরণ স্কেচ (MPU6050_DMP6) ব্যবহার করে যা MPU6050 লাইব্রেরির সাথে আসে আমার বেস কোড হিসাবে আমি একটি PID () এবং MotorDriver () ফাংশন যোগ করেছি।
লাইব্রেরি যোগ করুন
- MPU6050: MPU6050 সেন্সর ব্যবহার করার জন্য আমাদের জেফ রোবার্গ থেকে I2C ডেভেলপার লাইব্রেরি ডাউনলোড করতে হবে এবং আপনার কম্পিউটারে প্রোগ্রাম ফাইলে পাওয়া Arduino "লাইব্রেরি" ফোল্ডারে যোগ করতে হবে।
- ওয়্যার: আমাদের আই 2 সি ডিভাইসের সাথে যোগাযোগের অনুমতি দেওয়ার জন্য ওয়্যার লাইব্রেরিরও প্রয়োজন।
সুডোকোড
লাইব্রেরি অন্তর্ভুক্ত করুন:
- ওয়্যার.এইচ
- MPU6050
- I2Cdev.h
ভেরিয়েবল, ধ্রুবক এবং বস্তুর সূচনা করুন
সেটআপ ()
- মোটর নিয়ন্ত্রণের জন্য পিন মোড সেট করুন
- স্থিতি LED এর জন্য পিন মোড সেট করুন
- MPU6050 আরম্ভ করুন এবং অফসেট মান সেট করুন
পিআইডি ()
PID মান গণনা করুন
মোটরড্রাইভার (পিআইডি প্রতিক্রিয়া)
মোটরগুলির গতি এবং দিক নিয়ন্ত্রণ করতে পিআইডি মান ব্যবহার করুন
লুপ ()
- ডিএমপি থেকে ডেটা পান
- PID () একটি MotorDriver () ফাংশন কল করুন
ধাপ 6: পিআইডি টিউনিং পদ্ধতি
এটি প্রকল্পের সবচেয়ে ক্লান্তিকর অংশ এবং যদি আপনি খুব ভাগ্যবান না হন তবে একটু ধৈর্য প্রয়োজন। এখানে ধাপগুলি:
- I এবং D শব্দটি 0 এ সেট করুন
- রোবটটি ধরে রেখে, পি সামঞ্জস্য করুন যাতে রোবটটি কেবল ভারসাম্যের অবস্থান সম্পর্কে দোলানো শুরু করে
- পি সেটের সাথে, I বাড়ান যাতে রোবট ব্যালেন্স বন্ধ হলে দ্রুত গতি পায়। পি এবং আমি যথাযথভাবে টিউন করেছি, রোবটটি অন্তত কিছু সেকেন্ডের জন্য স্ব-ভারসাম্য বজায় রাখতে সক্ষম হওয়া উচিত, কিছু দোলনা সহ
- পরিশেষে, D বৃদ্ধি দোলন কমায়
যদি প্রথম প্রচেষ্টা সন্তোষজনক ফলাফল না দেয়, তাহলে P- এর একটি ভিন্ন মান দিয়ে ধাপগুলি পুনরাবৃত্তি করুন। এছাড়াও সচেতন থাকুন যে আপনি PID- এর মানগুলিকে আরও উন্নত করতে পারফরম্যান্সকে আরও উন্নত করতে পারেন। এখানে মানগুলি হার্ডওয়্যারের উপর নির্ভরশীল, যদি আপনি খুব বড় বা খুব ছোট PID মান পান তবে অবাক হবেন না।
ধাপ 7: কনক্লুশন
যে মাইক্রো গিয়ার মোটরগুলি ব্যবহার করা হয়েছিল সেগুলি বড় ধরনের ঝামেলার প্রতিক্রিয়া জানাতে ধীরগতিতে ছিল এবং সিস্টেমটি খুব হালকা ওজনের হওয়ায় কাঙ্ক্ষিত দোলক প্রভাব পাওয়ার জন্য পর্যাপ্ত জড়তা ছিল না, তাই রোবট যদি সামনের দিকে ঝুঁকে থাকে তবে এটি কেবল একটি কোণ এবং দৌড়ের দিকে ঝুঁকে পড়ে। অবশেষে, থ্রিডি মুদ্রিত চাকাগুলি একটি খারাপ পছন্দ কারণ তারা পিছলে যায়।
উন্নতির জন্য পরামর্শ:
- উচ্চতর টর্ক সহ দ্রুত মোটর, যেমন ডিসি মোটরগুলির জন্য উচ্চতর ভোল্টেজ উচ্চতর টর্ক
- একটি ভারী ব্যাটারি পান বা ভরটি কিছুটা বেশি সরান
- আরো ট্র্যাকশন পেতে 3 ডি মুদ্রিত চাকাগুলি রাবারের সাথে প্রতিস্থাপন করুন
প্রস্তাবিত:
টাওয়ার ক্লাইম্ব হেল্পিং রোবট ভি 1 - অ্যাপের মাধ্যমে দুই লেগ, আরএফ, বিটি কন্ট্রোল: 22 টি ধাপ (ছবি সহ)
টাওয়ার ক্লাইম্ব হেল্পিং রোবট ভি 1 - অ্যাপের সাহায্যে দুই লেগ, আরএফ, বিটি কন্ট্রোল: যখনই দেয়ালে টিকটিকি দেখব তখন আমি এটির মতো একটি রোবট তৈরির পরিকল্পনা করব। এটি একটি দীর্ঘমেয়াদী ধারণা, আমি ইলেক্ট্রো-আঠালো জন্য অনেক নিবন্ধ অনুসন্ধান এবং কিছু উপায় চেক এবং তার ধারণ ক্ষমতা ব্যর্থ হয়েছে। আপাতত আমি ইলেক্ট্রোম্যাগনেট ব্যবহার করে এটি তৈরি করার পরিকল্পনা করছি
সর্বনিম্ন চাকা এবং ওপেনসিভি ভিত্তিক কালার ট্র্যাকিং রোবট:। টি ধাপ
সার্বিক নির্দেশক চাকা এবং ওপেনসিভির উপর ভিত্তি করে রঙ ট্র্যাকিং রোবট: আমি আমার রঙ ট্র্যাকিং বাস্তবায়নের জন্য একটি সর্বমুখী চাকা চ্যাসি ব্যবহার করি এবং আমি ওপেনসিভিবট নামে একটি মোবাইল সফ্টওয়্যার ব্যবহার করি। এখানে সফটওয়্যার ডেভেলপারদের ধন্যবাদ, ধন্যবাদ।
2 চাকা সেলফ ব্যালেন্সিং রোবট: 4 টি ধাপ
2 হুইল্ড সেলফ ব্যালেন্সিং রোবট: আমার বিনীত মতে আপনি প্রকৃত নির্মাতা নন, যদি না আপনি আপনার নিজের 2 চাকার সেলফ ব্যালেন্সিং রোবট তৈরি না করেন। !!! এই প্রকল্পটি দেখতে খুবই সহজ। পরিবর্তে, এর জন্য একটি ভাল স্তরের জ্ঞান প্রয়োজন
এক চাকা রোবট: 3 ধাপ
ওয়ান হুইলড রোবট: এই প্রজেক্টে আমি আপনাকে দেখাবো কিভাবে ধাপে ধাপে এক চাকার রোবট বা ইউনাইসাইকেল তৈরি করতে হয় যাতে আপনি নিজের তৈরি করতে পারেন। এই রোবট MPU6050 সেন্সরের সাহায্যে প্রবণতা গণনা করে স্বয়ংক্রিয়ভাবে ভারসাম্য বজায় রাখতে পারে, এটি দুটি নিয়ে গঠিত
বাড়িতে তৈরি রোবট চাকা: 8 টি ধাপ (ছবি সহ)
ঘরে তৈরি রোবট হুইল: হ্যালো প্রত্যেককে …….. আমি সৃজনশীলতা পছন্দ করি। প্রত্যেক মানুষেরই তাদের সৃজনশীলতা রয়েছে। কিন্তু বাস্তবে মাত্র 10% মানুষ তাদের সৃজনশীলতা খুঁজে পেয়েছে। কারণ তারা সহজ পথ নেয়। সৃজনশীলতা একটি চিন্তা করার ক্ষমতা, এটি অভিজ্ঞতা, পর্যবেক্ষণ দ্বারা বিকশিত হয়