Krijimi i një roboti të vetë-balancimit Arduino të kontrolluar nga distanca: B-robot EVO: 8 hapa
Krijimi i një roboti të vetë-balancimit Arduino të kontrolluar nga distanca: B-robot EVO: 8 hapa
Anonim
Image
Image
Krijimi i një roboti të vetë-balancimit Arduino të kontrolluar nga distanca: B-robot EVO
Krijimi i një roboti të vetë-balancimit Arduino të kontrolluar nga distanca: B-robot EVO
Krijimi i një Roboti të vetë-balancimit Arduino të kontrolluar nga distanca: B-robot EVO
Krijimi i një Roboti të vetë-balancimit Arduino të kontrolluar nga distanca: B-robot EVO

Ndiqni më shumë nga autori:

Pybot: Krah Robotik i Shtypur 3D me Python +
Pybot: Krah Robotik i Shtypur 3D me Python +
Pybot: Krah Robotik i Shtypur 3D me Python +
Pybot: Krah Robotik i Shtypur 3D me Python +
Ekran i thjeshtë rrotullues i motorizuar (i bazuar në Arduino + i kontrolluar nga smartphone juaj)
Ekran i thjeshtë rrotullues i motorizuar (i bazuar në Arduino + i kontrolluar nga smartphone juaj)
Ekran i thjeshtë rrotullues i motorizuar (i bazuar në Arduino + i kontrolluar nga smartphone juaj)
Ekran i thjeshtë rrotullues i motorizuar (i bazuar në Arduino + i kontrolluar nga smartphone juaj)
Shtrëngues i krahut robotik
Shtrëngues i krahut robotik
Shtrëngues i krahut robotik
Shtrëngues i krahut robotik

Rreth: Ne i duam robotët, DIY dhe shkencën qesharake. JJROBOTS synon të sjellë projektet robotike të hapura më pranë njerëzve duke ofruar pajisje, dokumentacion të mirë, udhëzime ndërtimi+kod, "si funksionon" informacion … Më shumë rreth jjrobots »

-------------------------------------------------

UPDATE: ekziston një version i ri dhe i përmirësuar i këtij roboti këtu: B-robot EVO, me veçori të reja

-------------------------------------------------

Si punon?

B-ROBOT EVO është një robot arduino i vetë-balancuar nga distanca i krijuar me pjesë të printuara 3D. Me vetëm dy rrota, B-ROBOT është në gjendje të ruajë ekuilibrin e tij gjatë gjithë kohës duke përdorur sensorët e tij të brendshëm dhe duke drejtuar motorët. Ju mund ta kontrolloni Robotin tuaj, duke e bërë atë të lëvizë ose të rrotullohet, duke dërguar komanda përmes një Smartphone, Tableti ose PC ndërsa ruan ekuilibrin e tij.

Ky robot vetë -balancues lexon sensorët e tij inerciale (nxitues dhe xhiroskopë të integruar në çipin MPU6000) 200 herë në sekondë. Ai llogarit qëndrimin e tij (këndi në lidhje me horizontin) dhe e krahason këtë kënd me këndin e synuar (0º nëse dëshiron të ruajë ekuilibrin pa lëvizur, ose një kënd pozitiv ose negativ nëse dëshiron të lëvizë përpara ose prapa). Duke përdorur ndryshimin midis këndit të synuar (le të themi 0º) dhe këndit aktual (le të themi 3º) ai drejton një Sistem Kontrolli për të dërguar komandat e duhura tek motorët për të ruajtur ekuilibrin e tij. Komandat për motorët janë nxitime. Për shembull nëse roboti është i përkulur përpara (këndi i robotit është 3º) atëherë ai dërgon një komandë tek motorët që të përshpejtojnë përpara derisa ky kënd të reduktohet në zero për të ruajtur ekuilibrin.

Hapi 1: Pak më shumë në thellësi…

Pak më thellë…
Pak më thellë…
Pak më thellë…
Pak më thellë…
Pak më thellë…
Pak më thellë…

Problemi fizik që zgjidh B-ROBOT quhet Lavjerrësi i përmbysur. Ky është i njëjti mekanizëm që ju nevojitet për të balancuar një ombrellë mbi dorën tuaj. Pika e boshtit është nën qendrën e masës së objektit. Më shumë informacion mbi lavjerrësin e përmbysur këtu. Zgjidhja matematikore e problemit nuk është e lehtë, por ne nuk kemi nevojë ta kuptojmë atë në mënyrë që të zgjidhim çështjen e ekuilibrit të robotit tonë. Ajo që duhet të dimë është se si duhet bërë për të rivendosur ekuilibrin e robotit, në mënyrë që të zbatojmë një Algoritëm Kontrolli për të zgjidhur problemin.

Një sistem kontrolli është shumë i dobishëm në robotikë (një automatizim industrial). Në thelb është një kod që merr informacion nga sensorët dhe komandat e synuara si hyrje dhe krijon, si pasojë, sinjale dalëse për të drejtuar aktivizuesit Robot (motorët në shembullin tonë) në mënyrë që të rregullojnë sistemin. Ne po përdorim një kontrollues PID (Proporcional + Derivativ + Integral). Ky lloj kontrolli ka 3 konstante për të rregulluar kP, kD, kI. Nga Wikipedia: "Një kontrollues PID llogarit një vlerë" gabimi "si diferenca midis një [Input] të matur dhe një pike të caktuar të dëshiruar. Kontrolluesi përpiqet të minimizojë gabimin duke rregulluar [një dalje]. " Pra, ju i thoni PID -it se çfarë të matë ("Input"), ku dëshironi të jetë ajo matje ("Setpoint",) dhe variablin që dëshironi të rregulloni për ta bërë këtë ("Output".)

PID pastaj rregullon daljen duke u përpjekur që hyrja të jetë e barabartë me pikën e caktuar. Për referencë, një rezervuar uji që duam të mbushim deri në një nivel, Input, Setpoint dhe Output do të jetë niveli sipas sensorit të nivelit të ujit, nivelit të dëshiruar të ujit dhe ujit të pompuar në rezervuar. kP është pjesa proporcionale dhe është pjesa kryesore e kontrollit, kjo pjesë është proporcionale me gabimin. kD është pjesa Derivative dhe zbatohet në derivatin e gabimit. Kjo pjesë varet nga dinamika e sistemit (varet nga roboti, motorët e peshës, inercitë …). E fundit, kI zbatohet në integralin e gabimit dhe përdoret për të zvogëluar gabimet e qëndrueshme, është si një zbukurim në daljen përfundimtare (mendoni në butonat e zbukurimit në timonin e makinës RC për ta bërë makinën të shkojë plotësisht drejt, kI heq kompensimin midis objektivit të kërkuar dhe vlerës aktuale).

Në B-ROBOT komanda drejtuese nga përdoruesi i shtohet daljes së motorëve (njëri motor me shenjë pozitive dhe tjetri me shenjë negative). Për shembull nëse përdoruesi dërgon komandën drejtuese 6 të kthehet në të djathtë (nga -10 në 10) ne duhet të shtojmë 6 në vlerën e motorit të majtë dhe të zbresim 6 nga motori i djathtë. Nëse roboti nuk lëviz përpara ose prapa, rezultati i komandës drejtuese është një rrotullim i robotit

Hapi 2: Po në lidhje me telekomandën?

"ngarkimi =" dembel"

Recommended: