Mundarija:

Robotni kuzatib boradigan ilg'or chiziq: 22 qadam (rasmlar bilan)
Robotni kuzatib boradigan ilg'or chiziq: 22 qadam (rasmlar bilan)

Video: Robotni kuzatib boradigan ilg'or chiziq: 22 qadam (rasmlar bilan)

Video: Robotni kuzatib boradigan ilg'or chiziq: 22 qadam (rasmlar bilan)
Video: Пилотируйте Cessna вокруг света! 🛩🌥🌎 - Geographical Adventures GamePlay 🎮📱 🇷🇺 2024, Iyul
Anonim
Image
Image
Prototip yaratish - Perfboard
Prototip yaratish - Perfboard

Bu men yaratgan va anchadan buyon ishlab kelayotgan Teensy 3.6 va QTRX liniyasi sensori asosida ishlab chiqarilgan robotdan keyingi rivojlangan chiziq. Robotni ta'qib qilishning oldingi qatoridan dizayn va ishlashda ba'zi yaxshilanishlar mavjud. Robotning tezligi va reaktsiyasi yaxshilandi. Umumiy tuzilish ixcham va engil. Burilish momentini minimallashtirish uchun komponentlar g'ildirak o'qiga yaqin joylashgan. Yuqori quvvatli mikro metall tishli motorlar etarli torkni ta'minlaydi va alyuminiy uyadan silikon g'ildiraklar yuqori tezlikda kerakli tortish imkoniyatini beradi. Qalqon va g'ildirakli enkoderlar robotga o'z pozitsiyasini va yo'nalishini aniqlashga imkon beradi. Bortga Teensyview o'rnatilgan bo'lsa, barcha tegishli ma'lumotlarni vizualizatsiya qilish va tugmalar yordamida dasturning muhim parametrlarini yangilash mumkin.

Ushbu robotni yaratishni boshlash uchun sizga quyidagi materiallar kerak bo'ladi (va ko'p vaqt va sabr -toqat).

Ta'minotlar

Elektronika

  • Teensy 3.6 Rivojlanish kengashi
  • Harakat sensori bilan pervanel qalqoni
  • Sparkfun TeensyView
  • Pololu QTRX-MD-16A aks ettirish sensori massivi
  • 15x20 sm o'lchamdagi ikki tomonlama PCB prototipi
  • Pololu Z9V11F3S5 zo'riqish regulyatori
  • Pololu sozlanishi 4-5-20V zo'riqish regulyatori U3V70A
  • MP12 6V 1580 aylanuvchi, enkoderli mikro tishli dvigatel (x2)
  • DRV8833 ikki dvigatelli haydovchi tashuvchisi (x2)
  • 3.7V, 750mAh Li-Po batareyasi
  • ON/OFF tugmasi
  • Elektrolitik kondansatör 470uF
  • Elektrolitik kondansatör 1000uF (x2)
  • Seramika kondansatör 0.1uF (x5)
  • Tugmalar (x3)
  • 10 mm yashil LED (x2)

Uskuna

  • Atom silikon g'ildiragi 37x34mm (x2)
  • 3/8 dyuymli metall to'pli Pololu Ball Caster
  • N20 dvigatel moslamasi (x2)
  • Bolt va yong'oqlar

Kabellar va ulagichlar

  • 24AWG moslashuvchan simlar
  • 24 pinli FFC - DIP uzilishi va FFC kabeli (A turi, uzunligi 150 mm)
  • Dumaloq ayol pin sarlavhasi
  • Dumaloq ayol pinli uzun terminali
  • To'g'ri burchakli ikki qatorli ayol boshi
  • To'g'ri burchakli ikki qatorli erkak bosh
  • Erkak pin sarlavhasi
  • Erkak igna pin sarlavhasi

Asboblar

  • Multimetr
  • Lehimlash temir
  • Lehim sim
  • Tel -striptizchi
  • Tel kesuvchi

1 -qadam: tizimlarga umumiy nuqtai

Oldingi o'z-o'zini muvozanatlash robotining dizayni kabi, bu robot-bu perforator taxtasida o'rnatilgan, shuningdek, konstruktsiyaning maqsadiga xizmat qiladigan sindiruvchi taxtalar yig'indisi.

Robotning asosiy tizimlari quyida keltirilgan.

Mikrokontroller: 32 bitli 180 MGts chastotali ARM Cortex-M4 protsessorli Teensy 3.6 ishlab chiqish platasi.

Chiziq sensori: Pololu's QTRX-MD-16A 16-kanalli analog chiqish liniyasi sensori qatori o'rta zichlikdagi (8 mm datchikli).

Drayv: 6V, 1580 rpm, magnit g'ildirakli kodlovchi va alyuminiy uyalarga o'rnatilgan silikon g'ildirakli yuqori quvvatli mikro metall tishli motorlar.

Odometriya: bosib o'tgan masofa va koordinatalarni hisoblash uchun magnitli g'ildirak kodlovchi juftlari.

Yo'nalish sensori: Robotning joylashuvi va yo'nalishini taxmin qilish uchun harakat sensorlar bilan himoyalangan qalqon.

Quvvat manbai: 3.7V, 750mAh lipo batareya quvvat manbai sifatida. 3.3V ko'tarish/tushirish regulyatori mikrokontroller, sensorlar va displey qurilmasini quvvatlaydi. Sozlanishi regulyator ikki dvigatelga quvvat beradi.

Foydalanuvchi interfeysi: ma'lumotlarni ko'rsatish uchun Teensyview. Foydalanuvchilarning kirishini qabul qilish uchun uchta tugmacha. Ishlayotgan holatini ko'rsatish uchun diametri 10 mm bo'lgan ikkita yashil LED.

2 -qadam: Keling, prototiplashni boshlaylik

Image
Image

Biz yuqoridagi sxemani perfboardda qo'llaymiz. Biz birinchi navbatda, taxtalarni sarlavhalarini lehimlab, tayyor holda ushlab turishimiz kerak. Videoda qaysi sarlavhalarni qaysi kesish taxtalariga lehimlash kerakligi haqida tushuncha beriladi.

Sarlavhalarni kesish taxtalarida lehimlagandan so'ng, Teensyview va tugmachalarning yorilishini Teensy -ning ustiga qo'ying.

3 -qadam: Prototip yaratish - Perfboard

Prototip yaratish - Perfboard
Prototip yaratish - Perfboard

15x20 sm o'lchamdagi ikki tomonlama prototip perfboardini oling va rasmda ko'rsatilgandek chegarani doimiy marker bilan belgilang. Sensor qatorini, g'ildirak g'ildiragini va mikro metall tishli dvigatellarni oq aylana bilan belgilangan joylarga o'rnatish uchun M2 o'lchamdagi teshiklarni burang. Keyinchalik, biz barcha komponentlarni lehimlash va sinovdan o'tkazgandan so'ng, chegara bo'ylab taxtani kesib o'tamiz.

Biz prototipni pervaz taxtasida sarlavhalar va rozetkalarni lehimlashdan boshlaymiz. Keyinchalik bu sarlavhalarga ajratuvchi taxtalar joylashtiriladi. Perfboarddagi sarlavhalarning joylashishiga diqqat bilan qarang. Biz sarlavhalarning joylashuvi asosida barcha simlarni ulaymiz.

4 -qadam: Prototip yaratish - Prop Shield

Prototiplash - Qalqon qalqoni
Prototiplash - Qalqon qalqoni
Prototiplash - Qalqon qalqoni
Prototiplash - Qalqon qalqoni
Prototiplash - Qalqon qalqoni
Prototiplash - Qalqon qalqoni
Prototiplash - Qalqon qalqoni
Prototiplash - Qalqon qalqoni

Biz avval pervanelga ulanishlarni lehimlaymiz. Biz faqat tayanch qalqonining harakat sensorlaridan foydalanayotganimiz uchun, biz 3V va pervanelning tuproqli pimlaridan tashqari faqat SCL, SDA va IRQ pinlarini ulashimiz kerak.

Ulanish tugagandan so'ng, Teensy va prop ekranini joylashtiring va bu erda ko'rsatilgan amallarni bajarib, harakat sensorlarini sozlang.

5 -qadam: Prototip yaratish - Quvvat va er

Prototiplash - quvvat va er
Prototiplash - quvvat va er

Rasmga qarab, barcha quvvat va erga ulanishlarni lehimlang. Barcha kesish taxtalarini joyiga joylashtiring va multimetr yordamida uzluksizligini ta'minlang. Bortdagi turli xil kuchlanish darajasini tekshiring.

  • Li-po chiqish voltaji (odatda 3V va 4.2V orasida)
  • Bosim-ko'tarish regulyatorining chiqish voltaji (3,3V)
  • O'rnatish regulyatorining chiqish voltaji (6V ga o'rnatilgan)

6 -qadam: prototip yaratish - dvigatel haydovchisi

Prototiplash - motorli haydovchi tashuvchisi
Prototiplash - motorli haydovchi tashuvchisi
Prototiplash - motorli haydovchi tashuvchisi
Prototiplash - motorli haydovchi tashuvchisi
Prototiplash - motorli haydovchi tashuvchisi
Prototiplash - motorli haydovchi tashuvchisi

DRV8833 ikkita dvigatelli haydovchi tashuvchi kartasi har bir kanal uchun 1,2A uzluksiz va 2A maksimal oqimlarni etkazib berishi mumkin. Biz bitta dvigatelni haydash uchun ikkita kanalni parallel ulaymiz. Quyidagi amallarni bajarib, ulanishlarni lehimlang.

  • Rasmda ko'rsatilgandek, dvigatel haydovchisining ikkita kirish va ikkita chiqishiga parallel ravishda.
  • Dvigatel drayveriga kirishni boshqarish simlarini ulang.
  • 1000uF elektrolitik kondansatkichni va 0,1uF sopol kondansatkichni ikkita tashuvchi plataning Vin va Gnd terminallariga ulang.
  • Dvigatel drayverining chiqish terminallariga 0,1uF sopol kondansatkichni ulang.

7 -qadam: prototip yaratish - chiziq sensori massivining sarlavhasi

Prototiplash - chiziq sensori qatorining sarlavhasi
Prototiplash - chiziq sensori qatorining sarlavhasi
Prototiplash - chiziq sensori qatorining sarlavhasi
Prototiplash - chiziq sensori qatorining sarlavhasi
Prototiplash - chiziq sensori qatorining sarlavhasi
Prototiplash - chiziq sensori qatorining sarlavhasi
Prototiplash - chiziq sensori qatorining sarlavhasi
Prototiplash - chiziq sensori qatorining sarlavhasi

Teensy 3.6 ikkita ADC -ga ega - ADC0 va ADC1, ular 25 ta kirish pimiga ko'paytiriladi. Biz bir vaqtning o'zida ikkita ADC -dan har qanday ikkita pinga kirishimiz mumkin. Biz ADC0 va ADC1 ga sakkizta chiziqli sensorni ulaymiz. Juft sonli sensorlar ADC1 ga, toq sonli sensorlar ADC0 ga ulanadi. Quyidagi amallarni bajarib, ulanishlarni lehimlang. Keyinchalik biz chiziq sensori FFC yordamida DIP adapter va kabelga ulanamiz.

  • Sensorli barcha pinlarni (16, 14, 12, 10, 8, 6, 4, 2) rasmda ko'rsatilgandek ulang. Sensor pimini 12 ulash uchun simni perfboardning teskari tomoniga o'tkazing.
  • Emitentni boshqarish pimini (EVEN) Teensy pin 30 ga ulang.
  • Sensorli barcha pinlarni (15, 13, 11, 9, 7, 5, 3, 1) rasmda ko'rsatilgandek ulang.
  • Vcc va Gnd bo'ylab 470uF elektrolitik kondansatkichni ulang.

Agar siz perborddagi chiziq sensori pimlarini va ularga mos keladigan sarlavhali pinlarni diqqat bilan kuzatib qo'ysangiz, chiziq sensori ustki qatori perboard ustidagi sarlavhaning pastki qatoriga to'g'ri kelishini sezasiz. Buning sababi shundaki, biz ikkita qatorli to'g'ri burchakli sarlavhalar yordamida chiziq sensori perfordga ulanganimizda, qatorlar to'g'ri tekislanadi. Buni aniqlash va dasturdagi pin topshiriqlarini to'g'rilash uchun menga ancha vaqt kerak bo'ldi.

8 -qadam: prototiplash - mikro tishli dvigatel va kodlovchi

Prototiplash - mikro tishli dvigatel va kodlovchi
Prototiplash - mikro tishli dvigatel va kodlovchi
  • N20 dvigatel moslamalari yordamida mikro metall tishli dvigatelni kodlovchi bilan mahkamlang.
  • Dvigatel va enkoder simlarini rasmda ko'rsatilgandek ulang.
  • Chap kodlovchi - 4 va 0 yoshli pinlar
  • O'ng kodlovchi - 9 va 27 yoshli pinlar

9 -qadam: prototiplash - LEDlar

Prototip yaratish - LEDlar
Prototip yaratish - LEDlar
Prototip yaratish - LEDlar
Prototip yaratish - LEDlar

Ikkita LEDlar robotning burilishni aniqlagan yoki qilmaganligini ko'rsatadi. LEDlarni Teensy-ga ulash uchun men 470 ohmli qarshilik rezistoridan foydalandim.

  • Chap LED anod Teensy pin 6 ga
  • Teensy pin 8 uchun o'ng LED anod

10 -qadam: prototip yaratish - uzilishlar

Image
Image
Prototip yaratish - uzilishlar
Prototip yaratish - uzilishlar

Endi biz perforator taxtasida lehimlash ishlarini tugatganimizdan so'ng, biz perfboardda belgilangan chegarani ehtiyotkorlik bilan kesib, perfboardning qo'shimcha qismlarini olib tashlashimiz mumkin. Bundan tashqari, ikkita g'ildirak va g'ildirakni ulang.

Barcha kesish taxtalarini o'z rozetkalariga joylashtiring. FFC-DIP uzilishini o'rnatish va QTRX-MD-16A liniyasi sensorini tuzatish uchun videoga qarang.

11 -qadam: dasturiy ta'minot kutubxonalariga umumiy nuqtai

Dasturiy ta'minot kutubxonalariga umumiy nuqtai
Dasturiy ta'minot kutubxonalariga umumiy nuqtai

Biz Teensy -ni Arduino IDE -da dasturlashtiramiz. Ishni boshlashdan oldin bizga ba'zi kutubxonalar kerak bo'ladi. Biz foydalanadigan kutubxonalar:

  • Kodlovchi
  • Yoshlar ko'rinishi
  • EEPROM
  • ADC
  • NXPMotionSense

Va bu robot uchun maxsus yozilganlar.

  • PushButton
  • LineSensor
  • TeensyviewMenyu
  • Dvigatellar

Ushbu robotga xos kutubxonalar batafsil muhokama qilinadi va keyingi bosqichlarda yuklab olish mumkin.

12 -qadam: Kutubxonalar tushuntiriladi - PushButton

Bu kutubxona Teensy bilan tugmachali taxtani ulash uchun mo'ljallangan. Amaldagi funktsiyalar

PushButton (int leftButtonPin, int centreButtonPin, int rightButtonPin);

Ob'ekt yaratish orqali ushbu konstruktorni chaqirish tugmachalarini INPUT_PULLUP rejimiga moslashtiradi.

int8_t waitForButtonPress (bekor);

Bu funksiya tugma bosilguncha kutib turiladi va kalit kodi qaytariladi.

int8_t getSingleButtonPress (bekor);

Bu funksiya tugma bosilgan va qo'yilganligini tekshiradi. Ha bo'lsa, kalit kodini qaytaradi, aks holda nol qaytariladi.

13 -qadam: Kutubxonalar tushuntiriladi - chiziq sensori

LineSensor - Teensy bilan chiziq sensori qatorini bog'laydigan kutubxona. Quyida ishlatiladigan funktsiyalar keltirilgan.

LineSensor (bekor qilingan);

Ob'ektni yaratish orqali ushbu konstruktorni chaqirish ADC0 va ADC1 ni ishga tushiradi, EEPROM chegarasini, minimal va maksimal qiymatlarini o'qiydi va sensorlar pimlarini kirish rejimiga, emitent boshqaruv pinini chiqish rejimiga moslashtiradi.

bekor kalibrlash (uint8_t calibrationMode);

Bu funksiya chiziqli sensorlarni sozlaydi. CalibrationMode MIN_MAX yoki MEDIAN_FILTER bo'lishi mumkin. Bu funksiya keyingi bosqichda batafsil tushuntiriladi.

void getSensorsAnalog (uint16_t *sensorValue, uint8_t rejimi);

Sensor qatorini argument sifatida berilgan uchta rejimdan birida o'qiydi. Rejim - emitentlarning holati va ON, OFF yoki TOGGLE bo'lishi mumkin. TOGGLE rejimi atrof -muhit yorug'ligi tufayli sensorning aks ettirish o'qilishini qoplaydi. ADC0 va ADC1 ga ulangan sensorlar sinxron o'qiladi.

int getLinePosition (uint16_t *sensorValue);

Sensor massivining chiziq ustidagi o'rnini o'rtacha og'irlikdagi usulda hisoblab chiqadi.

uint16_t getSensorsBinary (uint16_t *sensorValue);

Datchiklar holatining 16-bitli tasvirini qaytaradi. Ikkilik sensori chiziq ustida ekanligini, ikkilik nol esa sensorning chiziqdan tashqarida ekanligini ko'rsatadi.

uint8_t countBinary (uint16_t binaryValue);

Sensor qiymatlarining 16-bitli tasvirini bu funktsiyaga o'tkazish chiziq ustidagi sensorlar sonini qaytaradi.

void getSensorsNormalized (uint16_t *sensorValue, uint8_t rejimi);

Sensor qiymatlarini o'qiydi va har bir sensor qiymatini unga mos keladigan min va maksimal qiymatlarga cheklaydi. Sensor qiymatlari mos keladigan min dan maksimal diapazonga 0 dan 1000 gacha o'zgaradi.

14 -qadam: Kutubxonalar tushuntirildi - TeensyviewMenu

TeensyviewMenu - bu displey menyusining funktsiyalariga kirish mumkin bo'lgan kutubxona. Quyida ishlatiladigan funktsiyalar keltirilgan.

TeensyViewMenu (bekor);

Ushbu konstruktorni chaqirish LineSensor, PushButton va TeensyView sinfining ob'ektini yaratadi.

bo'sh kirish (bo'sh);

Bu menyu bo'ylab harakatlanish uchun.

bo'sh test (bo'sh);

Sinov uchun Teensyview -da chiziq sensori qiymatlari ko'rsatilganda, bu menyu ichida chaqiriladi.

15 -qadam: Kutubxonalar tushuntiriladi - motorlar

Motors - bu ikkita dvigatelni boshqaradigan kutubxona. Quyida ishlatiladigan funktsiyalar keltirilgan.

Dvigatellar (bo'sh);

Ushbu konstruktorni ob'ekt yaratish orqali chaqirish dvigatel yo'nalishini boshqarish va PWM boshqaruv pimlarini chiqish rejimiga moslashtiradi.

void setSpeed (int leftMotorSpeed, int rightMotorSpeed);

Ushbu funktsiyani chaqirish ikkita dvigatelni argument sifatida berilgan tezlikda harakatlantiradi. Tezlik qiymati -255 dan +255 gacha bo'lishi mumkin, bu burilish yo'nalishi teskari ekanligini ko'rsatuvchi salbiy belgi bilan.

16 -qadam: Test - Odometriya kodlovchi

Biz magnitli g'ildirakli kodlovchilarni sinovdan o'tkazamiz va robot bosib o'tgan joy va masofani ko'rsatamiz.

DualEncoderTeensyview.ino -ni yuklang. Dastur Teensyview -da kodlovchi belgisini ko'rsatadi. Agar siz robotni oldinga siljitsangiz, enkoder ortadi, agar siz uni orqaga harakatlantirsangiz - kamayadi.

Endi EncoderOdometry.ino -ni yuklang. Bu dastur x-y koordinatalari bo'yicha robotning pozitsiyasini ko'rsatadi, umumiy masofani santimetrda va burchakni burilish darajasida ko'rsatadi.

Men Sietl Robototexnika Jamiyatining R/C Servo Differentsial haydovchisiga ega bo'lgan robotda Odometriya yordamida "O'lik hisob -kitoblarni amalga oshirish" ni kodlovchi shomillardan o'rnini aniqlash uchun havola qildim.

17 -qadam: Sinov - qalqonsimon harakat sensorlar

Bu erda aytib o'tilgan qadamlarni bajarib, harakat sensori sozlanganligiga ishonch hosil qiling.

Endi PropShieldTeensyView.ino -ni yuklang. Teensyview -da siz uchta o'qning akselerometri, girro va magnitometr qiymatlarini ko'rishingiz kerak.

18 -qadam: Dasturga umumiy nuqtai

Murakkab chiziq izdoshlari uchun dastur Arduino IDE -da yozilgan. Dastur quyida keltirilgan quyidagi ketma -ketlikda ishlaydi.

  • EEPROMda saqlangan qiymatlar o'qiladi va menyu ko'rsatiladi.
  • LAUNCH tugmachasini bosganingizda, dastur tsiklga kiradi.
  • Normallashtirilgan chiziq sensori qiymatlari o'qiladi.
  • Chiziq pozitsiyasining ikkilik qiymati normallashtirilgan sensor qiymatlari yordamida olinadi.
  • Chiziq ustidagi sensorlar soni chiziq pozitsiyasining ikkilik qiymatidan hisoblanadi.
  • Enkoder shomillari yangilanadi va umumiy masofani bosib o'tadi, x-y koordinatalari va burchagi yangilanadi.
  • 0 dan 16 gacha bo'lgan ikkilik hisoblashning har xil qiymatlari uchun ko'rsatmalar to'plami bajariladi. Agar ikkilik hisoblash 1 dan 5 gacha bo'lsa va chiziq ustidagi sensorlar bir -biriga ulashgan bo'lsa, PID tartibi chaqiriladi. Qaytish ikkilik qiymat va ikkilik hisoblashning boshqa kombinatsiyalarida amalga oshiriladi.
  • PID rejimida (bu PD tartibiga taalluqli), dvigatellar xato, xato o'zgarishi, Kp va Kd qiymatlari asosida hisoblangan tezlikda boshqariladi.

Hozirgi vaqtda dastur tayanch ekranining yo'nalish qiymatlarini o'lchamaydi. Bu ish davom etmoqda va yangilanmoqda.

TestRun20.ino -ni yuklang. Biz robotni sinovdan o'tkazadigan keyingi bosqichlarda biz menyuda qanday harakatlanishni, sozlamalarni qanday sozlashni va chiziq sensorlarini qanday sozlashni ko'rib chiqamiz.

19 -qadam: Menyu va sozlamalarga o'tish

Menyu quyidagi sozlamalarga ega, ularni chap va o'ng tugmalar yordamida boshqarib, markaziy tugma yordamida tanlash mumkin. Sozlamalar va ularning funktsiyalari quyida tasvirlangan.

  1. KALIBRAT: chiziqli sensorlarni kalibrlash uchun.
  2. TEST: chiziq sensori qiymatlarini ko'rsatish uchun.
  3. Ishga tushirish: keyingi qatorni boshlash uchun.
  4. MAX SPEED: robot tezligining yuqori chegarasini belgilash uchun.
  5. ROTATE SPEED: aylanish tezligi, ya'ni har ikki g'ildirak qarama -qarshi yo'nalishda teng tezlikda aylanganda, robot tezligining yuqori chegarasini belgilash uchun.
  6. KP: mutanosib doimiy.
  7. KD: lotin doimiysi.
  8. RUN MODE: ikkita ish rejimidan birini tanlash uchun - NORMAL va ACCL. NORMAL rejimda robot chiziq pozitsiyasi qiymatlariga mos keladigan oldindan belgilangan tezlikda ishlaydi. ACCL rejimida, robotning MAX SPEED yo'lning oldindan belgilangan bosqichlarida ACCL SPEED bilan almashtiriladi. Bu robotni yo'lning to'g'ri uchastkalarida tezlashtirish uchun ishlatilishi mumkin. Quyidagi sozlamalarga faqat RUN MODE ACCL sifatida o'rnatilgan bo'lsa kirish mumkin.
  9. LAP DISTANCE: poyga yo'lining umumiy uzunligini o'rnatish.
  10. ACCL SPEED: robotning tezlanish tezligini sozlash. Bu tezlik quyida ta'riflanganidek, trekning turli bosqichlarida MAX SPEED o'rnini bosadi.
  11. YO'Q. Bosqichlar: ACCL SPEED ishlatiladigan bosqichlar sonini belgilash uchun.
  12. 1 -QADAM: MAX SPEED ACCL SPEED bilan almashtiriladigan bosqichning boshlanish va tugash masofalarini o'rnatish uchun. Har bir bosqich uchun boshlanish va tugash masofalari alohida belgilanishi mumkin.

20 -qadam: chiziq sensori kalibrlanishi

Image
Image

Chiziq sensori kalibratsiyasi - bu 16 ta sensorning har birining pol qiymatini aniqlash jarayoni. Bu chegara qiymati ma'lum bir sensorning chiziq ustida yoki yo'qligini aniqlash uchun ishlatiladi. 16 datchikning chegaraviy qiymatlarini aniqlash uchun biz ikkala usuldan birini ishlatamiz.

MEDIAN FILTR: Bu usulda chiziqli datchiklar oq yuzaning tepasiga joylashtiriladi va 16 ta sensorlar uchun oldindan aniqlangan sensorlar o'qishlari olinadi. Barcha 16 datchiklarning o'rtacha qiymatlari aniqlanadi. Xuddi shu jarayon, chiziqli datchiklarni qora yuza ustiga qo'ygandan keyin takrorlanadi. Eshik qiymati - qora va oq yuzalarning o'rtacha qiymatlarining o'rtacha qiymati.

MIN MAX: Bu usulda foydalanuvchi to'xtashni so'raguncha sensor qiymatlari qayta -qayta o'qiladi. Har bir sensor duch keladigan maksimal va minimal qiymatlar saqlanadi. Chegara qiymati - bu minimal va maksimal qiymatlarning o'rtacha qiymati.

Shunday qilib olingan chegara qiymatlari 0 dan 1000 gacha diapazonga moslashtiriladi.

Videoda chiziq sensorlarining MIN MAX usuli bilan kalibrlanishi ko'rsatilgan. Chiziq sensorlarini kalibrlashdan so'ng, ma'lumotlarni rasmda ko'rsatilgandek ko'rish mumkin. Quyidagi ma'lumotlar ko'rsatiladi.

  • Tegishli chiziq sensori chiziq ustida ekanligini ko'rsatuvchi ikkilik 1 bilan chiziqli pozitsiyaning 16-bitli ikkilik tasviri va chiziq sensori chiziqdan tashqarida ekanligini bildiruvchi 0-ikkilik.
  • Chiziq ustidagi sensorlarning umumiy soni.
  • 16 ta sensorning minimal, maksimal va sensorli qiymatlari (xom va normallashgan), bir vaqtning o'zida bitta sensor.
  • Chiziq pozitsiyasi -7500 dan +7500 gacha.

Minimal va maksimal chiziq sensori qiymatlari EEPROMda saqlanadi.

21 -qadam: sinovdan o'tish

Image
Image

Video sinovdan iborat bo'lib, unda robot bir aylanishdan so'ng to'xtashi uchun dasturlashtirilgan.

22 -qadam: Yakuniy fikrlar va yaxshilanishlar

Robotlar musobaqasi
Robotlar musobaqasi

Ushbu robotni yaratish uchun o'rnatilgan uskunalar, uni boshqaradigan dastur tomonidan to'liq ishlatilmaydi. Dastur qismida juda ko'p yaxshilanishlar bo'lishi mumkin. Qalqonning harakatlantiruvchi sensori hozirda joylashuv va yo'nalishni aniqlash uchun ishlatilmaydi. Robotning joylashuvi va yo'nalishini aniq aniqlash uchun enkoderlardan olingan odometriya ma'lumotlarini prop qalqonining yo'naltiruvchi ma'lumotlari bilan birlashtirish mumkin. Bu ma'lumotlar robotni trekni bir necha turda o'rganishga dasturlash uchun ishlatilishi mumkin. Men sizni ushbu bo'limda tajriba o'tkazishni va natijalaringiz bilan bo'lishishni taklif qilaman.

Omad.

Robotlar musobaqasi
Robotlar musobaqasi

Robotlar tanlovining ikkinchi sovrini

Tavsiya: