সুচিপত্র:
- ধাপ 1: কেন একটি নিষ্ক্রিয় পরিমাপ ইউনিট ব্যবহার করবেন?
- ধাপ 2: 2D স্থানীয়করণের জন্য BNO055 কিভাবে ব্যবহার করবেন?
- ধাপ 3: Vue এর হার্ডওয়্যার পয়েন্ট
- ধাপ 4: এটি কিভাবে কাজ করে?
- ধাপ 5: আর্কিটেকচার এবং সফটওয়্যার
- ধাপ 6: আমি কি শিখেছি?
ভিডিও: একটি নিষ্ক্রিয় পরিমাপ ইউনিট ব্যবহার করার একটি উপায়?: 6 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:56
প্রসঙ্গ:
আমি বিনোদনের জন্য একটি রোবট তৈরি করছি যা আমি একটি বাড়ির মধ্যে স্বায়ত্তশাসিতভাবে সরাতে চাই।
এটি একটি দীর্ঘ কাজ এবং আমি ধাপে ধাপে কাজ করছি।
আমি ইতিমধ্যে সেই বিষয়ে 2 টি নির্দেশাবলী প্রকাশ করেছি:
- একটি চাকা এনকোডার তৈরির বিষয়ে
- ওয়াইফাই সংযোগ সম্পর্কে একটি
আমার বাড়ির তৈরি হুইল এনকোডারের সাহায্যে আমার রোবটটি 2 ডিসি মোটর দ্বারা চালিত হয়।
আমি বর্তমানে চলমান নিয়ন্ত্রণের উন্নতি করছি এবং কিছু সময় গাইরোস্কোপ, অ্যাকসিলরোমিটার এবং আইএমইউ নিয়ে কাটিয়েছি। আমি এই অভিজ্ঞতা শেয়ার করতে পেরে খুশি হব।
আপনি স্থানীয়করণ সম্পর্কে আরো জানতে চান? এখানে কৃত্রিম বুদ্ধিমত্তা এবং আল্ট্রাসাউন্ড একত্রিত করে রোবটকে স্থানীয়করণ করার জন্য একটি নিবন্ধ দেওয়া হল
ধাপ 1: কেন একটি নিষ্ক্রিয় পরিমাপ ইউনিট ব্যবহার করবেন?
তাহলে আমি কেন একটি IMU ব্যবহার করলাম?
প্রথম কারণটি হ'ল যদি চাকা এনকোডারটি সরল চলাচল নিয়ন্ত্রণের জন্য যথেষ্ট সুনির্দিষ্ট হয়, টিউনিং করার পরেও আমি +- 5 ডিগ্রির কম ঘূর্ণনের জন্য নির্ভুলতা পেতে পারিনি এবং এটি যথেষ্ট নয়।
তাই আমি 2 টি ভিন্ন সেন্সর চেষ্টা করেছি। প্রথমে আমি একটি ম্যাগনেটোমিটার (LSM303D) ব্যবহার করি। নীতিটি সহজ ছিল: ঘূর্ণনের আগে উত্তর দিকনির্দেশনা পান, লক্ষ্য গণনা করুন এবং লক্ষ্য পৌঁছানো পর্যন্ত পদক্ষেপটি সামঞ্জস্য করুন। এটি এনকোডারের চেয়ে কিছুটা ভাল ছিল তবে খুব ছড়িয়ে দেওয়ার সাথে। তারপরে আমি একটি জাইরোস্কোপ (L3GD20) ব্যবহার করার চেষ্টা করেছি। নীতিটি ছিল ঘূর্ণন গণনার জন্য সেন্সর দ্বারা প্রদত্ত ঘূর্ণন গতি সংহত করা। এবং এটি সূক্ষ্ম কাজ করেছে। আমি +- 1 ডিগ্রিতে ঘূর্ণন নিয়ন্ত্রণ করতে সক্ষম হয়েছিলাম।
তবুও আমি কিছু IMU চেষ্টা করতে আগ্রহী ছিলাম। আমি একটি BNO055 উপাদান নির্বাচন করি। আমি এই IMU বুঝতে এবং পরীক্ষা করার জন্য কিছু সময় ব্যয় করেছি। শেষে আমি নিম্নলিখিত কারণগুলির জন্য এই সেন্সরটি নির্বাচন করার সিদ্ধান্ত নিয়েছি
- আমি L3GD20 এর পাশাপাশি ঘূর্ণন নিয়ন্ত্রণ করতে পারি
- সোজা চলার সময় আমি সামান্য ঘূর্ণন সনাক্ত করতে পারি
- রোবট স্থানীয়করণের জন্য আমাকে উত্তর দিকনির্দেশনা পেতে হবে এবং BNO055 এর কম্পাস ক্রমাঙ্কন খুবই সহজ
ধাপ 2: 2D স্থানীয়করণের জন্য BNO055 কিভাবে ব্যবহার করবেন?
BNO055 IMU একটি Bosch 9 অক্ষ বুদ্ধিমান সেন্সর যা পরম অভিমুখ প্রদান করতে পারে।
ডেটশীট একটি সম্পূর্ণ ডকুমেন্টেশন প্রদান করে। এটি একটি উচ্চ প্রযুক্তির উপাদান এটি একটি জটিল পণ্য এবং আমি এটি কিভাবে কাজ করে তা শিখতে এবং এটি ব্যবহার করার বিভিন্ন উপায় চেষ্টা করার জন্য কয়েক ঘন্টা ব্যয় করেছি।
আমার মনে হয় এই অভিজ্ঞতা শেয়ার করাটা কাজে লাগতে পারে।
প্রথমে আমি অ্যাডাফ্রুট লাইব্রেরি ব্যবহার করেছি যা সেন্সরকে ক্যালিব্রেট এবং আবিষ্কার করার জন্য একটি ভাল হাতিয়ার প্রদান করে।
শেষে এবং অনেক পরীক্ষার পর আমি সিদ্ধান্ত নিলাম
- শুধুমাত্র ক্রমাঙ্কন সংরক্ষণের জন্য অ্যাডাফ্রুট লাইব্রেরি ব্যবহার করুন
- BNO055 (NDOF, IMU, Compss) এর সম্ভাব্য মোডগুলির মধ্যে 3 টি ব্যবহার করুন
- BNO055 mesurments এর উপর ভিত্তি করে স্থানীয়করণ গণনার জন্য একটি Arduino Nano উৎসর্গ করুন
ধাপ 3: Vue এর হার্ডওয়্যার পয়েন্ট
BNO055 একটি I2C উপাদান। তাই যোগাযোগের জন্য বিদ্যুৎ সরবরাহ, এসডিএ এবং এসসিএল প্রয়োজন।
আপনার কেনা পণ্য অনুযায়ী Vdd ভোল্টেজের যত্ন নিন। Bosch চিপ পরিসরে কাজ করে: 2.4V থেকে 3.6V এবং আপনি 3.3v এবং 5v কম্পোনেন্ট খুঁজে পেতে পারেন।
ন্যানো এবং BNO055 সংযোগের জন্য কোন অসুবিধা নেই।
- BNO055 ন্যানো দ্বারা চালিত
- এসডিএ এবং এসসিএল 2 x 2k পুল-আপ প্রতিরোধকগুলির সাথে সংযুক্ত।
- 3 LED নির্ণয়ের জন্য ন্যানোর সাথে সংযুক্ত (প্রতিরোধক সহ)
- বুট করার পরে মোড সংজ্ঞায়িত করতে 2 টি সংযোগকারী ব্যবহৃত হয়
- BNO এর দিকে 1 সংযোগকারী (Gnd, Vdd, Sda, Scl, Int)
- রোবট/মেগার দিকে 1 সংযোগকারী (+9V, Gnd, sda, Scl, Pin11, Pin12)
একটু সোল্ডারিং এবং এটাই!
ধাপ 4: এটি কিভাবে কাজ করে?
ভিউ এর যোগাযোগ বিন্দু থেকে:
- ন্যানো হল I2C বাস মাস্টার
- রোবট/মেগা এবং BNO055 হল I2C ক্রীতদাস
- ন্যানো স্থায়ীভাবে BNO055 নিবন্ধন পড়ে
- রোবট/মেগা ন্যানো থেকে শব্দটি অনুরোধ করার জন্য একটি সংখ্যাসূচক সংকেত বৃদ্ধি করে
গণনার বিন্দু থেকে: BNO055 এর সাথে মিলিত ন্যানো বিতরণ করে
- কম্পাস শিরোনাম (স্থানীয়করণের জন্য ব্যবহৃত)
- একটি আপেক্ষিক শিরোনাম (ঘূর্ণন নিয়ন্ত্রণ করতে ব্যবহৃত)
- পরম শিরোনাম এবং অবস্থান (চাল নিয়ন্ত্রণ করতে ব্যবহৃত)
ভিউ এর কার্যকরী বিন্দু থেকে: ন্যানো:
- BNO055 ক্রমাঙ্কন পরিচালনা করে
- BNO055 প্যারামিটার এবং কমান্ড পরিচালনা করে
সাব সিস্টেম ন্যানো এবং BNO055:
- প্রতিটি রোবট চাকার জন্য গণনা করুন পরম শিরোনাম এবং স্থানীয়করণ (একটি স্কেল ফ্যাক্টর সহ)
- রোবটের ঘূর্ণনের সময় আপেক্ষিক শিরোনাম গণনা করুন
ধাপ 5: আর্কিটেকচার এবং সফটওয়্যার
আরডুইনো ন্যানোতে মূল সফটওয়্যার চলছে।
- আর্কিটেকচার I2C যোগাযোগের উপর ভিত্তি করে।
- আমি একটি ন্যানো উৎসর্গ করা বেছে নিলাম এই কারণে যে রোবটটি চালানো আটমেগা বরং আগে থেকেই লোড ছিল এবং এই স্থাপত্যটি অন্যত্র পুন reব্যবহার করা সহজ করে তোলে।
- ন্যানো তার নিজের রেজিস্টারে BNO055 রেজিস্টার, কম্পিউট এবং স্টোর হেডিং এবং লোকালাইজেশন পড়ে।
- Arduino Atmega যা রোবট কোড চালায়, ন্যানোতে চাকার এনকোডার তথ্য পাঠায় এবং ন্যানো রেজিস্টারের ভিতরে শিরোনাম এবং স্থানীয়করণ পড়ে।
গিটহাব -এ এখানে সাব -সিম (ন্যানো) কোড পাওয়া যায়
এডাফ্রুট ক্যালিব্রেশন টুল যদি এখানে GitHub এ থাকে (ক্রমাঙ্কন eeproom এ সংরক্ষণ করা হবে)
ধাপ 6: আমি কি শিখেছি?
I2C সম্পর্কে
প্রথমে আমি একই বাসে ২ জন মাস্টার (আরডুইনো) এবং ১ টি স্লেভ (সেন্সর) রাখার চেষ্টা করেছি কিন্তু শেষ পর্যন্ত শুধুমাত্র ন্যানোকে মাস্টার হিসাবে সেট করা এবং "টোকেনের অনুরোধ" করার জন্য ২ টি আরডুইনোর মধ্যে জিপিআইও সংযোগ ব্যবহার করা সহজ এবং সহজ। ।
2D ওরিয়েন্টেশনের জন্য BNO055 সম্পর্কিত
আমি 3 টি ভিন্ন চলমান মোডে মনোনিবেশ করতে পারি: NDOF (গাইরোস্কোপ, অ্যাকসিলেরোমিটার এবং কম্পাস একত্রিত করুন) যখন রোবটটি নিষ্ক্রিয় থাকে, IMU (গাইরোস্কোপ, অ্যাকসিলরোমিটার) যখন রোবট চলমান থাকে এবং স্থানীয়করণের পর্যায়ে কম্পাস। এই মোডগুলির মধ্যে স্যুইচ করা সহজ এবং দ্রুত।
কোড সাইজ কমাতে এবং সংঘর্ষ শনাক্ত করতে BNO055 ইন্টারাপ্ট ব্যবহার করার সম্ভাবনা বজায় রাখার জন্য, আমি অ্যাডাফ্রুট লাইব্রেরি ব্যবহার না করা পছন্দ করি এবং নিজে থেকে করি।
প্রস্তাবিত:
টেক ডেক দিয়ে ম্যাকি ম্যাকি ব্যবহার করার সহজ উপায়: 5 টি ধাপ
টেক ডেক দিয়ে ম্যাকি ম্যাকি ব্যবহার করার সহজ উপায়: হাই। আমি সম্প্রতি এই প্রতিযোগিতায় একটি টেক ডেক মেকি মেকি প্রোগ্রাম দেখেছি যা সত্যিই দুর্দান্ত ছিল কিন্তু কঠিন মনে হয়েছিল তাই আমি একটি টেক ডেক দিয়ে গেম খেলার একটি সহজ উপায় তৈরি করেছি। আপনি যদি আমার নির্দেশযোগ্য পছন্দ করেন তবে দয়া করে মেকি মেকি প্রতিযোগিতায় এটির জন্য ভোট দিন
DIY মডিউল ব্যবহার করে হোম অটোমেশন দিয়ে শুরু করার একটি অত্যন্ত সহজ উপায়: 6 টি ধাপ
DIY মডিউল ব্যবহার করে হোম অটোমেশন দিয়ে শুরু করার একটি অত্যন্ত সহজ উপায়: আমি হোম অ্যাসিস্ট্যান্টে কিছু DIY সেন্সর যোগ করার চেষ্টা করার সিদ্ধান্ত নিলে আমি আনন্দিতভাবে অবাক হয়েছিলাম। ESPHome ব্যবহার করা খুবই সহজ এবং এই পোস্টে, আমরা শিখব কিভাবে একটি GPIO পিন নিয়ন্ত্রণ করতে হয় এবং তাপমাত্রাও পাওয়া যায় & একটি বেতার n থেকে আর্দ্রতা তথ্য
ARUPI - সাউন্ডস্কেপ ইকোলজিস্টদের জন্য একটি কম খরচে স্বয়ংক্রিয় রেকর্ডিং ইউনিট/স্বায়ত্তশাসিত রেকর্ডিং ইউনিট (ARU): 8 টি ধাপ (ছবি সহ)
ARUPI - সাউন্ডস্কেপ ইকোলজিস্টদের জন্য একটি কম খরচে স্বয়ংক্রিয় রেকর্ডিং ইউনিট/স্বায়ত্তশাসিত রেকর্ডিং ইউনিট (ARU): এই নির্দেশনাটি লিখেছেন অ্যান্থনি টার্নার। প্রজেক্টটি স্কুল অব কম্পিউটিং, কেন্ট বিশ্ববিদ্যালয়ের শেডের প্রচুর সাহায্যে তৈরি করা হয়েছিল (মি Mr ড্যানিয়েল নক্স একটি দুর্দান্ত সাহায্য ছিল!) এটি আপনাকে দেখাবে কিভাবে একটি স্বয়ংক্রিয় অডিও রেকর্ডিং ইউ তৈরি করতে হয়
আরডুইনোকে একটি আরসি গাড়ি নিয়ন্ত্রণ করার একটি নতুন উপায়: 7 টি ধাপ (ছবি সহ)
আরডুইনো নিয়ন্ত্রণের একটি নতুন উপায় একটি আরসি গাড়ি: আমি আরডুইনো নিয়ন্ত্রিত গাড়ির সাথে কিছু কাজ করেছি, কিন্তু যেগুলোতে আমি কাজ করেছি সেগুলি সবসময় ধীর এবং পদ্ধতিগত ছিল। আরডুইনো শেখার সময় এটি দুর্দান্ত, তবে আমি আরও কিছু চাই … মজা। আরসি গাড়ী লিখুন আরসি গাড়িগুলি আক্ষরিকভাবে একটি
GIMP ব্যবহার করে মানুষ/মানুষ/প্রাণী/রোবটকে সত্যিই সুন্দর/উজ্জ্বল তাপদৃষ্টি (আপনার পছন্দের রঙ) করার মতো একটি সহজ/সহজ/জটিল উপায় নয়: 4 টি ধাপ
GIMP ব্যবহার করে মানুষ/মানুষ/প্রাণী/রোবটকে দেখতে সত্যিই সহজ/সহজ/জটিল উপায় নয় যে তারা সত্যিই শীতল/উজ্জ্বল তাপদর্শন (আপনার পছন্দের রঙ) ব্যবহার করে: পড়ুন … শিরোনাম