Satura rādītājs:

Papildu līnijas sekošanas robots: 22 soļi (ar attēliem)
Papildu līnijas sekošanas robots: 22 soļi (ar attēliem)

Video: Papildu līnijas sekošanas robots: 22 soļi (ar attēliem)

Video: Papildu līnijas sekošanas robots: 22 soļi (ar attēliem)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Jūlijs
Anonim
Image
Image
Prototipēšana - Perfboard
Prototipēšana - Perfboard

Šis ir uzlabots līnijas sekošanas robots, kura pamatā ir Teensy 3.6 un QTRX līnijas sensors, kuru esmu izveidojis un pie kura strādāju jau ilgu laiku. Ir daži būtiski uzlabojumi dizainā un veiktspējā, salīdzinot ar manu iepriekšējo līniju sekojošo robotu. Robota ātrums un reakcija ir uzlabojusies. Kopējā struktūra ir kompakta un viegla. Sastāvdaļas ir izvietotas tuvu riteņa asij, lai samazinātu leņķisko impulsu. Lieljaudas mikrometāla pārnesumu motori nodrošina atbilstošu griezes momentu, un alumīnija rumbas silikona riteņi nodrošina tik ļoti nepieciešamo vilkmi lielā ātrumā. Atbalsta vairogs un riteņu kodētāji ļauj robotam noteikt tā stāvokli un orientāciju. Ja Teensyview ir uzstādīts uz kuģa, visu attiecīgo informāciju var vizualizēt un svarīgus programmas parametrus var atjaunināt, izmantojot spiedpogas.

Lai sāktu veidot šo robotu, jums būs nepieciešami šādi materiāli (un daudz laika un pacietības jūsu rīcībā).

Piegādes

Elektronika

  • Teensy 3.6 attīstības padome
  • Prop Shield ar kustības sensoriem
  • Sparkfun TeensyView
  • Pololu QTRX-MD-16A atstarošanas sensora bloks
  • 15x20 cm divpusējs prototips PCB
  • Pololu paaugstināšanas/pazemināšanas sprieguma regulators S9V11F3S5
  • Pololu regulējams 4-5-20V paaugstinošs sprieguma regulators U3V70A
  • MP12 6V 1580 apgr./min. Mikro pārnesumu motors ar kodētāju (x2)
  • DRV8833 divu motoru vadītāja nesējs (x2)
  • 3,7 V, 750 mAh Li-Po akumulators
  • ON/OFF slēdzis
  • Elektrolītiskais kondensators 470uF
  • Elektrolītiskais kondensators 1000uF (x2)
  • Keramikas kondensators 0.1uF (x5)
  • Spiedpogas (x3)
  • 10 mm zaļa gaismas diode (x2)

Aparatūra

  • Atom silikona ritenis 37x34mm (x2)
  • Pololu lodīšu ritentiņš ar 3/8”metāla lodīti
  • N20 motora stiprinājums (x2)
  • Skrūve un uzgriežņi

Kabeļi un savienotāji

  • 24AWG elastīgi vadi
  • 24 kontaktu FFC līdz DIP sadalījums un FFC kabelis (A tips, 150 mm garš)
  • Apaļš sieviešu tapas galviņa
  • Apaļš sieviešu tapas galviņas garais terminālis
  • Taisnleņķa divrindu sieviešu galvene
  • Taisnleņķa divrindu tēviņa galvene
  • Vīriešu tapas galvene
  • Vīriešu adatas adatas galviņa

Rīki

  • Multimetrs
  • Lodāmurs
  • Lodēšanas stieple
  • Stiepļu noņēmējs
  • Stiepļu griezējs

1. darbība. Sistēmu pārskats

Tāpat kā manā iepriekšējā pašbalansējošā robota dizainā, šis robots ir uz plākšņu plāksnes uzstādīts sadalīšanas dēļu komplekts, kas kalpo arī struktūras mērķim.

Turpmāk ir aprakstītas galvenās robota sistēmas.

Mikrokontrolleris: Teensy 3.6 izstrādes plate ar 32 bitu 180 MHz ARM Cortex-M4 procesoru.

Līnijas sensors: Pololu QTRX-MD-16A 16 kanālu analogās izejas līnijas sensoru masīvs vidēja blīvuma izkārtojumā (8 mm sensora solis).

Piedziņa: 6 V, 1580 apgriezieni minūtē, lieljaudas mikro metāla pārnesumu motori ar magnētisko riteņu kodētāju un silikona riteņi, kas uzstādīti uz alumīnija rumbām.

Odometrija: magnētiskie riteņu kodētāju pāri, lai novērtētu koordinātas un nobraukto attālumu.

Orientācijas sensors: balsts ar kustības sensoriem, lai novērtētu robota stāvokli un virzienu.

Barošanas avots: 3.7V, 750mAh lipo akumulators kā barošanas avots. 3.3V pastiprināšanas/samazināšanas regulators darbina mikrokontrolleru, sensorus un displeja ierīci. Regulējams pastiprināšanas regulators darbina abus motorus.

Lietotāja saskarne: Teensyview informācijas parādīšanai. Trīs spiedpogu slēdzis lietotāja ievades pieņemšanai. Divi 10 mm diametra zaļas gaismas diodes statusa indikācijai skriešanas laikā.

2. darbība: sāksim prototipu veidošanu

Image
Image

Mēs īstenosim iepriekš minēto shēmu uz perfboard. Mums vispirms jāsaglabā savi sadalīšanas dēļi, pie tiem lodējot galvenes. Video sniegs priekšstatu par to, kuras galvenes ir jāpielodē uz kādiem sadalīšanas dēļiem.

Pēc lodēšanas galviņu uz sadalīšanas dēļiem sakraujiet Teensyview un spiedpogu sadalījumu virs Teensy.

3. solis: prototipu veidošana - perfboard

Prototipēšana - Perfboard
Prototipēšana - Perfboard

Iegūstiet 15x20 cm divpusēju prototipa plātni un atzīmējiet robežu ar pastāvīgu marķieri, kā parādīts attēlā. Izurbiet M2 izmēra caurumus sensoru bloka, riteņa riteņa un mikro metāla pārnesumu motoru uzstādīšanai vietās, kas apzīmētas ar baltu apli. Pēc visu detaļu lodēšanas un pārbaudes mēs pārgriezīsim perforatoru gar robežu.

Mēs sāksim savu prototipu veidošanu, lodējot galvenes tapas un kontaktligzdas uz perforatora. Izlaušanas dēļi vēlāk tiks ievietoti šajās galvenēs. Pievērsiet uzmanību galvenes novietojumam uz plātnes. Mēs savienosim visus vadus, pamatojoties uz šo galvenes izkārtojumu.

4. solis: prototipu veidošana - Prop Shield

Prototipēšana - Prop Shield
Prototipēšana - Prop Shield
Prototipēšana - Prop Shield
Prototipēšana - Prop Shield
Prototipēšana - Prop Shield
Prototipēšana - Prop Shield
Prototipēšana - Prop Shield
Prototipēšana - Prop Shield

Vispirms mēs pielodēsim savienojumus ar balsta vairogu. Tā kā mēs izmantojam tikai balsta vairoga kustības sensorus, mums ir jāpievieno tikai SCL, SDA un IRQ tapas, izņemot 3V un iezemējuma aizsargapvalka tapas.

Kad savienojums ir pabeigts, ievietojiet Teensy un prop vairogu un kalibrējiet kustības sensorus, veicot šeit minētās darbības.

5. solis: prototipēšana - jauda un zeme

Prototipēšana - spēks un zeme
Prototipēšana - spēks un zeme

Lodējiet visus strāvas un zemes savienojumus, atsaucoties uz attēlu. Ievietojiet visus sadalīšanas dēļus vietā un nodrošiniet nepārtrauktību, izmantojot multimetru. Pārbaudiet dažādus sprieguma līmeņus uz kuģa.

  • Li-po izejas spriegums (parasti no 3 V līdz 4,2 V)
  • Augšup/lejup regulatora izejas spriegums (3.3V)
  • Regulējams pastiprinātāja izejas spriegums (iestatīts uz 6V)

6. solis: prototipēšana - motora vadītāja nesējs

Prototipēšana - motora vadītāja nesējs
Prototipēšana - motora vadītāja nesējs
Prototipēšana - motora vadītāja nesējs
Prototipēšana - motora vadītāja nesējs
Prototipēšana - motora vadītāja nesējs
Prototipēšana - motora vadītāja nesējs

DRV8833 divu motoru vadītāja nesēja plāksne var nodrošināt 1,2A nepārtrauktu un 2A maksimālo strāvu katrā kanālā. Mēs savienosim abus kanālus paralēli, lai darbinātu vienu motoru. Lodējiet savienojumus, veicot tālāk norādītās darbības.

  • Paralēli motora vadītāja nesēja divām ieejām un divām izejām, kā parādīts attēlā.
  • Pievienojiet ieejas vadības vadus motora vadītājam.
  • Pievienojiet 1000uF elektrolītisko kondensatoru un 0,1uF keramikas kondensatoru divu nesēja plākšņu Vin un Gnd spailēm.
  • Pievienojiet 0.1uF keramikas kondensatoru motora vadītāja izejas spailēm.

7. solis: prototipēšana - līnijas sensora masīva galvene

Prototipēšana - līnijas sensoru masīva galvene
Prototipēšana - līnijas sensoru masīva galvene
Prototipēšana - līnijas sensoru masīva galvene
Prototipēšana - līnijas sensoru masīva galvene
Prototipēšana - līnijas sensoru masīva galvene
Prototipēšana - līnijas sensoru masīva galvene
Prototipēšana - līnijas sensoru masīva galvene
Prototipēšana - līnijas sensoru masīva galvene

Teensy 3.6 ir divi ADC - ADC0 un ADC1, kas ir multipleksēti līdz 25 pieejamām tapām. Mēs varam piekļūt jebkurai divām tapām no abiem ADC vienlaicīgi. Mēs savienosim astoņus līnijas sensorus ar ADC0 un ADC1. Pāra skaitļu sensori tiks savienoti ar ADC1, bet nepāra skaitļu sensori - ar ADC0. Lodējiet savienojumus, veicot tālāk norādītās darbības. Mēs vēlāk pievienosim līnijas sensoru, izmantojot FFC, ar DIP adapteri un kabeli.

  • Pievienojiet visas vienmērīgās sensora tapas (16, 14, 12, 10, 8, 6, 4, 2), kā parādīts attēlā. Izvelciet vadu sensora tapas 12 savienošanai caur perfboard aizmugurējo pusi.
  • Pievienojiet emitenta vadības tapu (pat) pie Teensy tapas 30.
  • Pievienojiet visas nepāra sensoru tapas (15, 13, 11, 9, 7, 5, 3, 1), kā parādīts attēlā.
  • Pievienojiet 470uF elektrolītisko kondensatoru pāri Vcc un Gnd.

Ja jūs uzmanīgi novērojat līnijas sensora tapas un tām atbilstošās galvenes tapas uz tāfeles, jūs pamanīsit, ka līnijas sensora augšējā rinda ir saistīta ar perboard galvenes apakšējo rindu un otrādi. Tas ir tāpēc, ka, savienojot līnijas sensoru ar perforatoru, izmantojot divrindu taisnleņķa galvenes, rindas izlīdzinās pareizi. Pagāja diezgan ilgs laiks, lai to izdomātu un izlabotu programmā esošos pin uzdevumus.

8. solis: prototipēšana - mikro pārnesumu motors un kodētājs

Prototipēšana - mikro pārnesumu motors un kodētājs
Prototipēšana - mikro pārnesumu motors un kodētājs
  • Piestipriniet mikro metāla zobratu motoru ar kodētāju, izmantojot N20 motora stiprinājumus.
  • Pievienojiet motora un kodētāja vadus, kā parādīts attēlā.
  • Kreisais kodētājs - teensy tapas 4 un 0
  • Labais kodētājs - teensy tapas 9 un 27

9. solis: prototipēšana - gaismas diodes

Prototipēšana - gaismas diodes
Prototipēšana - gaismas diodes
Prototipēšana - gaismas diodes
Prototipēšana - gaismas diodes

Abas gaismas diodes norāda, vai robots ir atklājis pagriezienu vai nē. Es esmu izmantojis 470 omu sērijas rezistoru, lai savienotu gaismas diodes ar Teensy.

  • Kreisais LED anods līdz Teensy tapai 6
  • Labais LED anods līdz Teensy tapai 8

10. solis: prototipēšana - izlaušanās

Image
Image
Prototipēšana - izlaušanās
Prototipēšana - izlaušanās

Tagad, kad mēs esam pabeiguši visu lodēšanu uz perforatora, mēs varam rūpīgi izgriezt gar robežu, kas atzīmēta uz plātnes, un noņemt liekos perfora gabalus. Pievienojiet arī divus riteņus un ritentiņu.

Ievietojiet visus sadalīšanas dēļus attiecīgajās ligzdās. Lai ievietotu FFC-DIP pārtraukumu un fiksētu QTRX-MD-16A līnijas sensoru, skatiet videoklipu.

11. darbība. Pārskats par programmatūras bibliotēkām

Programmatūras bibliotēku pārskats
Programmatūras bibliotēku pārskats

Mēs programmēsim Teensy Arduino IDE. Pirms darba sākšanas mums būs vajadzīgas dažas bibliotēkas. Mēs izmantosim šādas bibliotēkas:

  • Kodētājs
  • Teensyview
  • EEPROM
  • ADC
  • NXPMotionSense

Un daži, kas ir rakstīti tieši šim robotam,

  • Uzspied pogu
  • LineSensor
  • TeensyviewMenu
  • Motori

Šim robotam raksturīgās bibliotēkas ir detalizēti apspriestas un ir pieejamas lejupielādei turpmākajās darbībās.

12. darbība: paskaidrojiet bibliotēkas - spiedpoga

Šī bibliotēka ir paredzēta, lai saspiestu spiedpogas sadalīšanas paneli ar Teensy. Izmantotās funkcijas ir

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

Zvanot šim konstruktoram, izveidojot objektu, spiedpogas tapas tiek konfigurētas režīmā INPUT_PULLUP.

int8_t waitForButtonPress (tukšs);

Šī funkcija gaida, līdz tiek nospiesta un atlaista poga, un atgriež atslēgas kodu.

int8_t getSingleButtonPress (tukšs);

Šī funkcija pārbauda, vai poga ir nospiesta un atlaista. Ja jā, atgriež atslēgas kodu, cits atgriež nulli.

13. darbība. Bibliotēku skaidrojums - līnijas sensors

LineSensor ir bibliotēka līnijas sensoru masīva sasaistei ar Teensy. Tālāk ir izmantotas funkcijas.

LineSensor (anulēts);

Šī konstruktora izsaukšana, izveidojot objektu, inicializē ADC0 un ADC1, nolasa sliekšņa, minimālās un maksimālās vērtības no EEPROM un konfigurē sensora tapas ievades režīmā un emitētāja vadības tapu izejas režīmā.

void calibrate (uint8_t calibrationMode);

Šī funkcija kalibrē līnijas sensorus. Kalibrēšanas režīms var būt MIN_MAX vai MEDIAN_FILTER. Šī funkcija ir detalizēti izskaidrota vēlāk.

void getSensorsAnalog (uint16_t *sensorValue, uint8_t režīms);

Nolasa sensoru masīvu jebkurā no trim režīmiem, kas nodoti kā arguments. Režīms ir izstarotāju stāvoklis, un tas var būt ieslēgts, izslēgts vai pārslēgts. TOGGLE režīms kompensē sensora atstarojuma rādījumus apkārtējās gaismas ietekmē. Ar ADC0 un ADC1 savienotie sensori tiek nolasīti sinhroni.

int getLinePosition (uint16_t *sensorValue);

Aprēķina sensoru masīva stāvokli virs līnijas, izmantojot vidējās svērtās metodes.

uint16_t getSensorsBinary (uint16_t *sensorValue);

Atgriež sensoru stāvokļa 16 bitu attēlojumu. Binārais skaitlis norāda, ka sensors atrodas virs līnijas, un binārā nulle norāda, ka sensors ir ārpus līnijas.

uint8_t countBinary (uint16_t binaryValue);

Nododot šai funkcijai sensoru vērtību 16 bitu attēlojumu, tiek atgriezts sensoru skaits, kas atrodas virs līnijas.

void getSensorsNormalized (uint16_t *sensorValue, uint8_t režīms);

Nolasa sensora vērtības un ierobežo katra sensora vērtību līdz atbilstošajām min un max vērtībām. Sensora vērtības tiek kartētas no to atbilstošā min līdz max diapazona līdz 0 līdz 1000 diapazonam.

14. darbība: paskaidrotas bibliotēkas - TeensyviewMenu

TeensyviewMenu ir bibliotēka, kurā var piekļūt displeja izvēlnes funkcijām. Tālāk ir izmantotas funkcijas.

TeensyViewMenu (tukšs);

Zvanot šim konstruktoram, tiek izveidots LineSensor, PushButton un TeensyView klases objekts.

void intro (anulēts);

Tas ir paredzēts navigācijai izvēlnē.

anulēts tests (anulēts);

To sauc iekšēji izvēlnē, kad līnijas sensoru vērtības ir jāparāda Teensyview testēšanai.

15. darbība. Bibliotēkas - motori

Motors ir bibliotēka, ko izmanto abu motoru darbināšanai. Tālāk ir izmantotas funkcijas.

Motori (nav spēkā);

Izsaucot šo konstruktoru, izveidojot objektu, tiek konfigurēta motora virziena vadība un PWM vadības tapas izejas režīmā.

void setSpeed (int leftMotorSpeed, int rightMotorSpeed);

Šīs funkcijas izsaukšana darbina abus motorus ar ātrumu, kas nodots kā arguments. Ātruma vērtība var svārstīties no -255 līdz +255 ar negatīvu zīmi, kas norāda, ka rotācijas virziens ir apgriezts.

16. darbība. Testēšana - kodētāja odometrija

Mēs pārbaudīsim magnētiskos riteņu kodētājus un parādīsim robota novietojumu un attālumu.

Augšupielādējiet vietni DualEncoderTeensyview.ino. Programma parāda kodētāja ērces vietnē Teensyview. Kodētājs atzīmē pieaugumu, ja pārvietojat robotu uz priekšu, un samazinās, ja pārvietojat to atpakaļ.

Tagad augšupielādējiet EncoderOdometry.ino. Šī programma parāda robota stāvokli x-y koordinātās, parāda kopējo nobraukto attālumu centimetros un leņķi, kas pagriezts grādos.

Es esmu atsaucies uz Sietlas Robotikas biedrības odometrijas ieviešanu, izmantojot robotu ar R/C servo diferenciālo piedziņu, lai noteiktu pozīciju no kodētāja ērcēm.

17. darbība: pārbaude - Prop Shield kustības sensori

Pārliecinieties, ka esat kalibrējis kustības sensorus, veicot šeit minētās darbības.

Tagad augšupielādējiet PropShieldTeensyView.ino. Jums vajadzētu redzēt Teensyview visu trīs asu akselerometra, žiroskopu un magnetometra vērtības.

18. darbība. Programmas pārskats

Uzlaboto līniju sekotāju programma ir uzrakstīta Arduino IDE. Programma darbojas šādā secībā, kas izskaidrota zemāk.

  • EEPROM saglabātās vērtības tiek nolasītas un tiek parādīta izvēlne.
  • Nospiežot LAUNCH, programma nonāk cilpā.
  • Tiek nolasītas normalizētās līnijas sensoru vērtības.
  • Līnijas pozīcijas binārā vērtība tiek iegūta, izmantojot normalizētas sensora vērtības.
  • To sensoru skaits, kas atrodas virs līnijas, tiek aprēķināts no līnijas pozīcijas binārās vērtības.
  • Tiek atjauninātas kodētāja ērces un atjaunots kopējais nobrauktais attālums, x-y koordinātas un leņķis.
  • Dažādām bināro skaitļu vērtībām, sākot no 0 līdz 16, tiek izpildīta instrukciju kopa. Ja binārais skaits ir diapazonā no 1 līdz 5 un ja sensori, kas atrodas virs līnijas, atrodas blakus viens otram, tiek izsaukta PID rutīna. Rotācija tiek veikta citās binārās vērtības un bināro skaitļu kombinācijās.
  • PID režīmā (kas faktiski ir PD rutīna) motori tiek darbināti ar ātrumu, kas aprēķināts, pamatojoties uz kļūdu, kļūdas izmaiņām, Kp un Kd vērtībām.

Pašlaik programma nemēra orientācijas vērtības no balsta vairoga. Šis darbs turpinās un tiek atjaunināts.

Augšupielādējiet TestRun20.ino. Mēs redzēsim, kā pārvietoties izvēlnē, pielāgot iestatījumus un kā kalibrēt līnijas sensorus nākamajās darbībās, pēc kurām mēs pārbaudīsim savu robotu.

19. darbība. Pārvietošanās izvēlnē un iestatījumos

Izvēlnē ir šādi iestatījumi, kurus var pārvietoties, izmantojot kreiso un labo pogu un atlasīt, izmantojot centrālo pogu. Iestatījumi un to funkcijas ir aprakstītas zemāk.

  1. KALIBRĒT: Lai kalibrētu līnijas sensorus.
  2. TEST: Lai parādītu līnijas sensora vērtības.
  3. SĀKT: Lai sāktu sekojošo rindu.
  4. MAX SPEED: lai iestatītu robota ātruma augšējo robežu.
  5. Rotācijas ātrums: lai iestatītu robota ātruma augšējo robežu, kad tas veic pagriezienu, t.i., kad abi riteņi griežas ar vienādu ātrumu pretējos virzienos.
  6. KP: proporcionāla konstante.
  7. KD: atvasinājuma konstante.
  8. RUN MODE: lai izvēlētos starp diviem darbības režīmiem - NORMAL un ACCL. NORMAL režīmā robots darbojas ar iepriekš noteiktu ātrumu, kas atbilst līnijas pozīcijas vērtībām. ACCL režīmā robota MAX SPEED tiek aizstāts ar ACCL SPEED iepriekš noteiktos trases posmos. To var izmantot, lai paātrinātu robotu taisnos sliežu ceļa posmos. Tālāk norādītie iestatījumi ir pieejami tikai tad, ja RUN MODE ir iestatīts kā ACCL.
  9. LAP DISTANCE: lai iestatītu kopējo sacīkšu trases garumu.
  10. ACCL SPEED: lai iestatītu robota paātrinājuma ātrumu. Šis ātrums aizstāj MAX SPEED dažādos trases posmos, kā noteikts turpmāk.
  11. NĒ. OF STADES: lai iestatītu posmu skaitu, kuros tiek izmantots ACCL SPEED.
  12. 1. POSMS: lai iestatītu sākuma un beigu attālumus posmā, kurā MAX SPEED tiek aizstāts ar ACCL SPEED. Katram posmam sākuma un beigu attālumu var iestatīt atsevišķi.

20. darbība: līnijas sensora kalibrēšana

Image
Image

Līnijas sensora kalibrēšana ir process, ar kuru nosaka sliekšņa vērtību katram no 16 sensoriem. Šo sliekšņa vērtību izmanto, lai izlemtu, vai konkrētais sensors ir virs līnijas vai nē. Lai noteiktu 16 sensoru sliekšņa vērtības, mēs izmantojam kādu no abām metodēm.

MEDIAN FILTER: Izmantojot šo metodi, līnijas sensori tiek novietoti virs baltās virsmas, un visiem 16 sensoriem tiek ņemts iepriekš noteikts sensoru rādījumu skaits. Tiek noteiktas visu 16 sensoru vidējās vērtības. Tas pats process tiek atkārtots pēc līnijas sensoru novietošanas virs melnās virsmas. Sliekšņa vērtība ir melnbalto virsmu vidējo vērtību vidējā vērtība.

MIN MAX: Šajā metodē sensora vērtības tiek nolasītas atkārtoti, līdz lietotājs pieprasa apstāties. Tiek saglabātas katra sensora maksimālās un minimālās vērtības. Sliekšņa vērtība ir minimālo un maksimālo vērtību vidējā vērtība.

Šādi iegūtās robežvērtības tiek kartētas no 0 līdz 1000 diapazonam.

Līnijas sensoru kalibrēšana ar MIN MAX metodi ir parādīta video. Pēc līnijas sensoru kalibrēšanas datus var vizualizēt, kā parādīts attēlā. Tiek parādīta šāda informācija.

  • Līnijas pozīcijas 16 bitu binārs attēlojums ar bināro 1, kas norāda, ka atbilstošais līnijas sensors atrodas virs līnijas, un binārais 0, kas norāda, ka līnijas sensors ir ārpus līnijas.
  • Kopējais sensoru skaits, kas atrodas virs līnijas.
  • Minimālās, maksimālās un sensoru vērtības (neapstrādātas un normalizētas) no 16 sensoriem, viens sensors vienlaikus.
  • Līnijas pozīcija diapazonā no -7500 līdz +7500.

Minimālās un maksimālās līnijas sensora vērtības tiek saglabātas EEPROM.

21. darbība. Testa izpilde

Image
Image

Video ir par testa braucienu, kurā robots ir ieprogrammēts apstāties pēc viena apļa pabeigšanas.

22. solis: galīgās domas un uzlabojumi

Robotu konkurss
Robotu konkurss

Aparatūra, kas ir salikta, lai izveidotu šo robotu, netiek pilnībā izmantota programmā, kas to vada. Programmas daļā varētu veikt daudz uzlabojumu. Balsta vairoga kustības sensori pašlaik netiek izmantoti pozīcijas un orientācijas noteikšanai. Kodētāju odometrijas datus var apvienot ar orientācijas datiem no balsta vairoga, lai precīzi noteiktu robota stāvokli un virzienu. Pēc tam šos datus var izmantot, lai ieprogrammētu robotu apgūt trasi vairākos apļos. Es iesaku jums eksperimentēt un dalīties ar saviem rezultātiem.

Veiksmi.

Robotu konkurss
Robotu konkurss

Otrā balva robotu konkursā

Ieteicams: