Përmbajtje:

Roboti i vijës së përparuar të vijës: 22 hapa (me fotografi)
Roboti i vijës së përparuar të vijës: 22 hapa (me fotografi)

Video: Roboti i vijës së përparuar të vijës: 22 hapa (me fotografi)

Video: Roboti i vijës së përparuar të vijës: 22 hapa (me fotografi)
Video: Сборка кухни за 30 минут своими руками. Переделка хрущевки от А до Я # 35 2024, Korrik
Anonim
Image
Image
Prototyping - Perfboard
Prototyping - Perfboard

Ky është një robot pas linjës së avancuar bazuar në Teensy 3.6 dhe sensorin e linjës QTRX që kam ndërtuar dhe kam punuar për mjaft kohë. Ka disa përmirësime të mëdha në dizajn dhe performancë nga linja ime e mëparshme pas robotit. Shpejtësia dhe përgjigja e robotit është përmirësuar. Struktura e përgjithshme është kompakte dhe e lehtë. Komponentët janë rregulluar afër boshtit të rrotave në mënyrë që të minimizojnë vrullin këndor. Motorët e ingranazheve mikro metalike me fuqi të lartë sigurojnë çift rrotullues adekuat dhe rrotat silikoni me shpërndarës alumini ofrojnë tërheqje shumë të nevojshme me shpejtësi të lartë. Mburoja mbrojtëse dhe kodifikuesit e rrotave i mundësojnë robotit të përcaktojë pozicionin dhe orientimin e tij. Me Teensyview të montuar në bord, i gjithë informacioni përkatës mund të vizualizohet dhe parametrat e rëndësishëm të programit mund të përditësohen duke përdorur butona shtytës.

Për të filluar ndërtimin e këtij roboti, do t'ju duhet furnizimet e mëposhtme (dhe shumë kohë dhe durim në dispozicionin tuaj).

Furnizimet

Elektronikë

  • Adoleshentët 3.6 Bordi i Zhvillimit
  • Mburoja e prop me sensorë lëvizjeje
  • Sparkfun TeensyView
  • Grup sensori reflektimi Pololu QTRX-MD-16A
  • Prototip PCB me anë të dyfishtë 15x20cm
  • Rregullatori i tensionit Pololu Step-Up/Step-Down S9V11F3S5
  • Pololu Rregullator i Rregullimit të Tensionit 4-5-20V U3V70A
  • MP12 6V 1580 rpm motor mikro ingranazhi me kodues (x2)
  • DRV8833 Transportues me dy motorë me motor (x2)
  • Bateri 3.7V, 750mAh Li-Po
  • Çelësi ON/OFF
  • Kondensator elektrolitik 470uF
  • Kondensator elektrolitik 1000uF (x2)
  • Kondensator qeramik 0.1uF (x5)
  • Butonat me butona (x3)
  • LED 10 mm e gjelbër (x2)

Hardware

  • Rrota Silikoni Atom 37x34mm (x2)
  • Pololu Ball Raster me 3/8”Metal Metal
  • N20 motor mount (x2)
  • Bolt dhe arra

Kabllot dhe lidhësit

  • Tela fleksibël 24AWG
  • 24 pin pin FFC në DIP dhe kabllo FFC (Lloji A, gjatësi 150 mm)
  • Koka e rrumbullakët me kunja femërore
  • Terminal i gjatë me kokë me kokë femër të rrumbullakët
  • Koka femërore me rresht të dyfishtë me kënd të drejtë
  • Kreu mashkull i rreshtit të dyfishtë me kënd të drejtë
  • Koka e kokës për meshkuj
  • Koka e gjilpërës mashkullore

Mjetet

  • Multimetër
  • Makine per ngjitjen e metalit
  • Teli i saldimit
  • Zhveshës me tela
  • Prerës i telave

Hapi 1: Vështrim i përgjithshëm i sistemeve

Ashtu si me modelin tim të mëparshëm të një roboti të vetë-balancuar, ky robot është një bashkim i dërrasave shpërthyese të montuara në një tabelë, e cila gjithashtu i shërben qëllimit të një strukture.

Sistemet kryesore të robotit janë përshkruar më poshtë.

Mikrokontrolluesi: Bordi i zhvillimit Teensy 3.6 me procesor 32-bit 180MHz ARM Cortex-M4.

Sensori i linjës: Grupi i sensorit analog të daljes analoge të QTRX-MD-16A të Pololu me 16 kanale në aranzhim me densitet të mesëm (lartësia e sensorit 8 mm).

Nxjerrja: 6V, 1580rpm, motorë me shpejtësi të lartë mikro metalike me kodifikues të rrotave magnetike dhe rrota silikoni të pajisura në shpërndarës alumini.

Odometri: Çiftet kodifikues magnetikë të rrotave për vlerësimin e koordinatave dhe distancës së mbuluar.

Sensori i orientimit: Mburoja mbështetëse me sensorë lëvizjeje për vlerësimin e pozicionit dhe drejtimit të robotit.

Furnizimi me energji: 3.7V, bateri lipo 750mAh si burim energjie. Rregullatori 3.3V për ngritjen/uljen fuqizon mikrokontrolluesin, sensorët dhe pajisjen e ekranit. Rregullatori i rregullueshëm i rritjes fuqizon dy motorët.

Ndërfaqja e përdoruesit: Teensyview për shfaqjen e informacionit. Ndarja me tre butona për pranimin e hyrjeve të përdoruesit. Dy numra LED të gjelbër me diametër 10 mm për tregues të statusit gjatë funksionimit.

Hapi 2: Le të Fillojmë Prototyping

Image
Image

Ne do të zbatojmë qarkun e mësipërm në dërrasën e dërrasës. Ne së pari duhet t'i mbajmë bordet tona të prishjes gati duke bashkuar tituj mbi to. Videoja do të japë një ide në lidhje me se cilat tituj duhet të ngjiten në cilat dërrasa shpërthyese.

Pas bashkimit të titujve në dërrasat e plasaritjes, vendosni Teensyview dhe breaktutton në krye të Teensy.

Hapi 3: Prototipizimi - Perfboard

Prototyping - Perfboard
Prototyping - Perfboard

Merrni parfumin prototip me anë të dyfishtë 15x20cm dhe shënoni kufirin me një shënues të përhershëm siç tregohet në figurë. Stërvitni vrima të madhësisë M2 për montimin e grupit të sensorit, rrotës së rrotullimit dhe motorëve të ingranazheve mikro metalike në vendet e shënuara me një rreth të bardhë. Më vonë do të presim tabelën e perfit përgjatë kufirit pas bashkimit dhe testimit të të gjithë përbërësve.

Ne do të fillojmë prototipimin tonë duke bashkuar kunjat dhe bazat e kokës në tabelën e shpinës. Tabelat e shpërthimit do të futen më vonë në këto tituj. Kushtojini vëmendje pozicionit të titujve në tabelën e sipërme. Ne do të lidhim të gjitha telat bazuar në këtë paraqitje të titujve.

Hapi 4: Prototipizimi - Mburoja e Mbështetjes

Prototipizimi - Mburoja e Prop
Prototipizimi - Mburoja e Prop
Prototipizimi - Mburoja e Prop
Prototipizimi - Mburoja e Prop
Prototipizimi - Mburoja e Prop
Prototipizimi - Mburoja e Prop
Prototipizimi - Mburoja e Prop
Prototipizimi - Mburoja e Prop

Ne së pari do të lidhim lidhjet me mburojën mbështetëse. Meqenëse ne po përdorim vetëm sensorët e lëvizjes të mburojës mbështetëse, ne duhet të lidhim vetëm kunjat SCL, SDA dhe IRQ përveç kunjave 3V dhe tokëzues të mburojës mbështetëse.

Pasi lidhja të jetë e plotë, futni Teensy and prop shield dhe kalibroni sensorët e lëvizjes duke ndjekur hapat e përmendur këtu.

Hapi 5: Prototipizimi - Fuqia dhe Toka

Prototipizimi - Fuqia dhe Toka
Prototipizimi - Fuqia dhe Toka

Lidhni të gjitha lidhjet e energjisë dhe tokës duke iu referuar figurës. Vendosni të gjitha dërrasat në vend dhe siguroni vazhdimësinë duke përdorur një multimetër. Verifikoni nivelet e ndryshme të tensionit në bord.

  • Tensioni i daljes Li-po (zakonisht midis 3V dhe 4.2V)
  • Tensioni i daljes së rregullatorit të ngritur/ulur (3.3V)
  • Tensioni i daljes i rregullatorit të rregullueshëm të rritjes (i vendosur në 6V)

Hapi 6: Prototipizimi - Transportuesi i shoferit të motorit

Prototipizimi - Transportuesi i shoferit të motorit
Prototipizimi - Transportuesi i shoferit të motorit
Prototipizimi - Transportuesi i shoferit të motorit
Prototipizimi - Transportuesi i shoferit të motorit
Prototipizimi - Transportuesi i shoferit të motorit
Prototipizimi - Transportuesi i shoferit të motorit

Pllaka mbajtëse e shoferit me motor të dyfishtë DRV8833 mund të japë 1.2A rryma të vazhdueshme dhe 2A për kanal. Ne do t'i lidhim dy kanalet paralelisht për të drejtuar një motor. Lidhni lidhjet duke ndjekur hapat e mëposhtëm.

  • Paralelisht me dy hyrjet dhe dy daljet e transportuesit të shoferit të motorit siç tregohet në figurë.
  • Lidhni telat e kontrollit të hyrjes me drejtuesin e motorit.
  • Lidhni një kondensator elektrolitik 1000uF dhe një kondensator qeramik 0.1uF përgjatë terminaleve Vin dhe Gnd të dy bordeve mbajtëse.
  • Lidhni një kondensator qeramik 0.1uF në terminalet e daljes së drejtuesit të motorit.

Hapi 7: Prototipizimi - Titulli i grupit të sensorit të linjës

Prototipizimi - Koka e grupit të sensorit të sensorit të linjës
Prototipizimi - Koka e grupit të sensorit të sensorit të linjës
Prototipizimi - Koka e grupit të sensorit të sensorit të linjës
Prototipizimi - Koka e grupit të sensorit të sensorit të linjës
Prototipizimi - Koka e grupit të sensorit të sensorit të linjës
Prototipizimi - Koka e grupit të sensorit të sensorit të linjës
Prototipizimi - Koka e grupit të sensorit të sensorit të linjës
Prototipizimi - Koka e grupit të sensorit të sensorit të linjës

Teensy 3.6 ka dy ADC - ADC0 dhe ADC1 që janë të shumëfishta në 25 kunja të arritshme. Ne mund të hyjmë në çdo dy kunja nga dy ADC në të njëjtën kohë. Ne do të lidhim tetë sensorë të linjës secili me ADC0 dhe ADC1. Sensorët e numrit çift do të lidhen me ADC1 dhe sensorët e numrave tek me ADC0. Lidhni lidhjet duke ndjekur hapat e mëposhtëm. Më vonë do të lidhim sensorin e linjës duke përdorur FFC në përshtatësin dhe kabllon DIP.

  • Lidhni të gjitha kunjat e sensorit (16, 14, 12, 10, 8, 6, 4, 2) siç tregohet në figurë. Kaloni tela për lidhjen e kunjit të sensorit 12 përmes anës së kundërt të tabelës.
  • Lidhni kunjin e kontrollit të emetuesit (EVEN) me kunjin Teensy 30.
  • Lidhni të gjitha kunjat e çuditshëm të sensorit (15, 13, 11, 9, 7, 5, 3, 1) siç tregohet në figurë.
  • Lidhni një kondensator elektrolitik 470uF përgjatë Vcc dhe Gnd.

Nëse vëzhgoni nga afër kunjat e sensorit të linjës dhe kunjat e tyre përkatëse të kokës në bord, do të vini re se rreshti i sipërm i sensorit të linjës përputhet me rreshtin e poshtëm të kokës në bord dhe anasjelltas. Kjo ndodh sepse kur lidhim sensorin e linjës me tabelën e dyshemesë duke përdorur tituj të dyfishtë me kënd të drejtë, rreshtat do të rreshtohen saktë. M’u desh mjaft kohë për ta kuptuar këtë dhe për të korrigjuar detyrat e kunjave në program.

Hapi 8: Prototipizimi - Motor Micro Gear dhe Encoder

Prototipizimi - Mikro Gear Motor dhe Encoder
Prototipizimi - Mikro Gear Motor dhe Encoder
  • Fiksoni motorin mikro metalik të ingranazheve me kodues duke përdorur montues të motorit N20.
  • Lidhni telat e motorit dhe koduesit siç tregohet në figurë.
  • Kodifikues i majtë - Kunjat e adoleshentëve 4 & 0
  • Kodifikues i djathtë - Kunjat e adoleshentëve 9 & 27

Hapi 9: Prototipizimi - LED

Prototipizimi - LED
Prototipizimi - LED
Prototipizimi - LED
Prototipizimi - LED

Dy LED tregojnë nëse roboti ka zbuluar një kthesë apo jo. Unë kam përdorur një rezistencë të serisë 470-ohm për të lidhur LED-të me Teensy.

  • Anoda LED e majtë te kunja Teensy 6
  • Anoda LED e djathtë te kunja Teensy 8

Hapi 10: Prototipizimi - Breakout

Image
Image
Prototipizimi - Shpërthimet
Prototipizimi - Shpërthimet

Tani që kemi përfunduar të gjitha saldimet tona në pllakën e sipërme, ne mund të presim me kujdes përgjatë kufirit të shënuar në tabelën dhe të heqim pjesët shtesë të tabelës së shpinës. Gjithashtu, bashkëngjitni dy rrota dhe rrota rrotulluese.

Futni të gjitha dërrasat e prishjes në prizat e tyre përkatëse. Për futjen e prishjes FFC-DIP dhe për fiksimin e sensorit të linjës QTRX-MD-16A, referojuni videos.

Hapi 11: Përmbledhje e Bibliotekave të Softuerëve

Përmbledhje e Bibliotekave të Softuerëve
Përmbledhje e Bibliotekave të Softuerëve

Ne do të programojmë Teensy në Arduino IDE. Do të na duhen disa biblioteka para se të fillojmë. Bibliotekat që do të përdorim janë:

  • Kodifikues
  • Shikim adoleshent
  • EEPROM
  • ADC
  • NXPMotionSense

Dhe disa që janë shkruar posaçërisht për këtë robot,

  • Butoni Push
  • Sensori i linjës
  • TeensyviewMenu
  • Motorët

Bibliotekat specifike për këtë robot diskutohen në detaje dhe janë në dispozicion për shkarkim në hapat e ardhshëm.

Hapi 12: Bibliotekat Shpjegohen - PushButton

Kjo bibliotekë është për të ndërlidhur tabelën e shpërthimit të butonit me Teensy. Funksionet e përdorura janë

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

Thirrja e këtij konstruktori duke krijuar një objekt konfiguron kunjat e butonit në modalitetin INPUT_PULLUP.

int8_t waitForButtonPress (e pavlefshme);

Ky funksion pret derisa të shtypet dhe lëshohet një buton dhe të kthejë kodin kryesor.

int8_t getSingleButtonPress (e pavlefshme);

Ky funksion kontrollon nëse një buton shtypet dhe lëshohet. Nëse po, kthen kodin kyç tjetër kthehet zero.

Hapi 13: Bibliotekat Shpjegohen - Sensori i Linjës

LineSensor është biblioteka për ndërlidhjen e grupit të sensorëve të linjës me Teensy. Më poshtë janë funksionet e përdorura.

Sensori Line (i pavlefshëm);

Thirrja e këtij konstruktori duke krijuar një objekt inicializon ADC0 dhe ADC1, lexon pragun, vlerat minimale dhe maksimale nga EEPROM dhe konfiguron kunjat e sensorit në modalitetin e hyrjes dhe pinin e kontrollit të emetuesit në modalitetin e daljes.

kalibrimi i pavlefshëm (uint8_t calibrationMode);

Ky funksion kalibron sensorët e linjës. Modaliteti i kalibrimit mund të jetë ose MIN_MAX ose MEDIAN_FILTER. Ky funksion shpjegohet në detaje në një hap të mëvonshëm.

void getSensorsAnalog (uint16_t *sensorValue, uint8_t mode);

Lexon grupin e sensorit në cilëndo nga tre mënyrat e kaluara si argument. Modaliteti është gjendja e emetuesve dhe mund të jetë ON, OFF ose TOGGLE. Modaliteti TOGGLE kompenson leximet e sensorit të reflektimit për shkak të dritës së ambientit. Sensorët e lidhur me ADC0 dhe ADC1 lexohen në mënyrë sinkronike.

int getLinePosition (uint16_t *sensorValue);

Llogarit pozicionin e grupit të sensorëve mbi vijën me metodën mesatare të ponderuar.

uint16_t merrniSensoreBinare (uint16_t *sensorVlera);

Kthen një paraqitje 16-bit të gjendjes së sensorëve. Një binar tregon se sensori është mbi vijë dhe një zero binare tregon që sensori është jashtë linjës.

uint8_t countBinary (uint16_t binarVlera);

Kalimi i përfaqësimit 16-bit të vlerave të sensorit në këtë funksion kthen numrin e sensorëve që janë mbi vijë.

void getSensorsNormalized (uint16_t *sensorValue, uint8_t mode);

Lexon vlerat e sensorit dhe kufizon secilën vlerë të sensorit në vlerat përkatëse min dhe max. Vlerat e sensorit më pas përcaktohen nga kufiri i tyre përkatës në intervalin maksimal në intervalin 0 deri në 1000.

Hapi 14: Bibliotekat Shpjegohen - TeensyviewMenu

TeensyviewMenu është biblioteka ku mund të aksesohen funksionet për menunë e ekranit. Më poshtë janë funksionet e përdorura.

TeensyViewMenu (e pavlefshme);

Thirrja e këtij konstruktori krijon një objekt të klasës LineSensor, PushButton dhe TeensyView.

pavlefshme hyrje (e pavlefshme);

Kjo është për të lundruar në menu.

test i pavlefshëm (i pavlefshëm);

Kjo quhet brenda menysë kur vlerat e sensorit të linjës duhet të shfaqen në Teensyview për testim.

Hapi 15: Shpjegohen bibliotekat - Motorët

Motors është biblioteka e përdorur për drejtimin e dy motorëve. Më poshtë janë funksionet e përdorura.

Motorë (të pavlefshëm);

Thirrja e këtij konstruktori duke krijuar një objekt konfiguron kontrollin e drejtimit të motorit dhe kunjat e kontrollit PWM në modalitetin e daljes.

void setSpeed (int leftMotorSpeed, int rightMotorSpeed int);

Thirrja e këtij funksioni i drejton dy motorët me shpejtësi të kaluara si argumente. Vlera e shpejtësisë mund të shkojë nga -255 në +255 me një shenjë negative që tregon se drejtimi i rrotullimit është i kundërt.

Hapi 16: Testimi - Odometria e koduesit

Ne do të testojmë kodifikuesit e rrotave magnetike dhe do të shfaqim pozicionin dhe distancën e mbuluar nga roboti.

Ngarko DualEncoderTeensyview.ino. Programi shfaq rriqrat e koduesit në Teensyview. Koduesi shënon rritje nëse e lëvizni robotin përpara dhe zvogëlohet nëse e lëvizni prapa.

Tani ngarkoni EncoderOdometry.ino. Ky program tregon pozicionin e robotit në aspektin e koordinatave x-y, tregon distancën totale të përshkuar në centimetër dhe këndin e kthyer në gradë.

Unë kam referuar Zbatimin e Llogaritjes së Vdekur me Odometry në një Robot me R/C Servo Differential Drive nga Shoqëria Robotike e Seattle për përcaktimin e pozicionit nga rriqrat e koduesit.

Hapi 17: Testimi - Sensorët e Lëvizjes Mburoja e Mburojës

Sigurohuni që të keni kalibruar sensorët e lëvizjes duke ndjekur hapat e përmendur këtu.

Tani ngarkoni PropShieldTeensyView.ino. Ju duhet të jeni në gjendje të shihni vlerat e përshpejtuesit, xhiros dhe magnetometrit të të tre akseve në Teensyview.

Hapi 18: Vështrim i përgjithshëm i programit

Programi për ndjekësin e linjës së avancuar është shkruar në Arduino IDE. Programi funksionon në sekuencën e mëposhtme të shpjeguar më poshtë.

  • Vlerat e ruajtura në EEPROM lexohen dhe shfaqet menyja.
  • Duke shtypur LAUNCH, programi hyn në lak.
  • Vlerat e normalizuara të sensorit të linjës lexohen.
  • Vlera binare e pozicionit të linjës merret duke përdorur vlerat e normalizuara të sensorit.
  • Numërimi i numrit të sensorëve që janë mbi vijë llogaritet nga vlera binare e pozicionit të linjës.
  • Kutitë e koduesit azhurnohen dhe distanca totale e mbuluar, koordinatat x-y dhe këndi azhurnohen.
  • Për vlera të ndryshme të numërimit binar që variojnë nga 0 në 16, ekzekutohen një sërë udhëzimesh. Nëse numërimi binar është në rangun 1 deri në 5 dhe nëse sensorët që janë mbi vijë janë ngjitur me njëri -tjetrin, quhet rutina PID. Rrotullimi kryhet në kombinime të tjera të vlerës binare dhe numrit binar.
  • Në rutinën PID (e cila është një rutinë PD), motorët drejtohen me shpejtësi të llogaritura bazuar në gabimin, ndryshimin e gabimit, vlerat Kp dhe Kd.

Programi aktualisht nuk mat vlerat e orientimit nga mburoja mbështetëse. Kjo është një punë në progres dhe po përditësohet.

Ngarko TestRun20.ino. Ne do të shohim se si të lundroni në meny, të rregulloni cilësimet dhe si të kalibroni sensorët e linjës në hapat e ardhshëm, pas të cilave do të testojmë robotin tonë.

Hapi 19: Lundrimi në Meny dhe Cilësimet

Menyja ka cilësimet e mëposhtme të cilat mund të lundrohen duke përdorur butonat e majtë dhe të djathtë dhe të përzgjidhen duke përdorur butonin qendror. Cilësimet dhe funksionet e tyre përshkruhen më poshtë.

  1. KALIBRIMI: Për të kalibruar sensorët e linjës.
  2. TEST: Për të shfaqur vlerat e sensorit të linjës.
  3. Nisja: Për të filluar vijimin në vijim.
  4. SHPEJTXSIA MAX: Për të vendosur kufirin e sipërm të shpejtësisë së robotit.
  5. SHPEJTSIA E RROTULLIMIT: Për të vendosur kufirin e sipërm të shpejtësisë së robotit kur kryen një kthesë, domethënë kur të dy rrotat kthehen me shpejtësi të barabarta në drejtime të kundërta.
  6. PK: Konstanta proporcionale.
  7. KD: Konstanta derivative.
  8. RUN MODE: Për të zgjedhur midis dy mënyrave të funksionimit - NORMAL dhe ACCL. Në modalitetin NORMAL, roboti funksionon me shpejtësi të paracaktuara që korrespondojnë me vlerat e pozicionit të linjës. Në modalitetin ACCL, MAX SPEED e robotit zëvendësohet nga ACCL SPEED në fazat e paracaktuara të pistës. Kjo mund të përdoret për të shpejtuar robotin në pjesët e drejta të pista. Cilësimet e mëposhtme janë të arritshme vetëm nëse RUN MODE është vendosur si ACCL.
  9. DISTANCA NAP LAP: Për të vendosur gjatësinë totale të pistës së garës.
  10. ACCL SPEED: Për të vendosur shpejtësinë e nxitimit të robotit. Kjo shpejtësi zëvendëson MAX SPEED në faza të ndryshme të pista siç përcaktohet më poshtë.
  11. JO E Fazave: Për të vendosur numrin e fazave ku përdoret ACCL SPEED.
  12. Faza 1: Për të vendosur distancat e fillimit dhe mbarimit të fazës në të cilën MAX SPEED zëvendësohet me ACCL SPEED. Për secilën fazë, distancat e fillimit dhe mbarimit mund të vendosen veçmas.

Hapi 20: Kalibrimi i sensorit të linjës

Image
Image

Kalibrimi i sensorit të linjës është procesi me të cilin përcaktohet vlera e pragut të secilit prej 16 sensorëve. Kjo vlerë e pragut përdoret për të vendosur nëse një sensor i caktuar është jashtë linjës apo jo. Për të përcaktuar vlerat e pragut të 16 sensorëve, ne përdorim njërën nga dy metodat.

FILTER MEDIAN: Në këtë metodë, sensorët e linjës vendosen mbi sipërfaqen e bardhë dhe një numër i paracaktuar i leximeve të sensorëve merret për të 16 sensorët. Vlerat mesatare të të gjithë 16 sensorëve përcaktohen. I njëjti proces përsëritet pas vendosjes së sensorëve të linjës mbi sipërfaqen e zezë. Vlera e pragut është mesatarja e vlerave mesatare të sipërfaqeve bardh e zi.

MIN MAX: Në këtë metodë, vlerat e sensorit lexohen në mënyrë të përsëritur derisa përdoruesi të kërkojë një ndalesë. Vlerat maksimale dhe minimale të hasura nga secili sensor ruhen. Vlera e pragut është mesatarja e vlerave minimale dhe maksimale.

Vlerat e pragut të marra në këtë mënyrë janë të hartuara në intervalin 0 deri në 1000.

Kalibrimi i sensorëve të linjës me metodën MIN MAX tregohet në video. Pas kalibrimit të sensorëve të linjës, të dhënat mund të vizualizohen siç tregohet në figurë. Informacioni i mëposhtëm shfaqet.

  • Një paraqitje binare 16-bit e pozicionit të linjës me një binar 1 që tregon se sensori përkatës i linjës është mbi vijë dhe një binar 0 që tregon se sensori i linjës është jashtë linjës.
  • Një numërim i numrit të përgjithshëm të sensorëve që janë mbi linjë.
  • Vlerat minimale, maksimale dhe të sensorit (të papërpunuara dhe të normalizuara) të 16 sensorëve, një sensor në të njëjtën kohë.
  • Pozicioni i linjës në rangun -7500 deri +7500.

Vlerat minimale dhe maksimale të sensorit të linjës ruhen më pas në EEPROM.

Hapi 21: Test i ekzekutuar

Image
Image

Videoja është një provë në të cilën roboti është programuar të ndalet pasi të përfundojë një xhiro.

Hapi 22: Mendimet dhe Përmirësimet Përfundimtare

Konkursi i robotëve
Konkursi i robotëve

Pajisja kompjuterike e bashkuar për të ndërtuar këtë robot nuk përdoret plotësisht nga programi që e drejton atë. Shumë përmirësime mund të bëhen në pjesën e programit. Sensorët e lëvizjes së mburojës mbështetëse nuk përdoren aktualisht për përcaktimin e pozicionit dhe orientimit. Të dhënat e odometrisë nga koduesit mund të kombinohen me të dhënat e orientimit nga mburoja për të përcaktuar me saktësi pozicionin dhe drejtimin e robotit. Këto të dhëna mund të përdoren më pas për të programuar robotin që të mësojë pistën në xhiro të shumta. Ju inkurajoj të eksperimentoni në këtë pjesë dhe të ndani rezultatet tuaja.

Paç fat.

Konkursi i robotëve
Konkursi i robotëve

Çmimi i dytë në Konkursin e Robotëve

Recommended: