Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Ujenzi
- Hatua ya 2: Wiring
- Hatua ya 3: Nadharia ya Kudhibiti
- Hatua ya 4: Kutumia MPU 6050
- Hatua ya 5: Usimbuaji
- Hatua ya 6: Utaratibu wa Kuweka PID
- Hatua ya 7: Mlolongo
Video: Magurudumu mawili ya Kujisawazisha Roboti: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:49
Hii inaweza kufundishwa kupitia mchakato wa kubuni na kujenga kwa roboti ya kujisawazisha. Kama noti, ninataka tu kusema kwamba roboti za kujilinganisha sio dhana mpya na zimejengwa na kuhifadhiwa na wengine. Ninataka kutumia fursa hii kushiriki na wewe tafsiri yangu ya roboti hii.
Je! Roboti ya kusawazisha ni nini?
Roboti ya kujisawazisha ni mfumo ambao hutumia data ya kipimo cha inertial, iliyokusanywa kutoka kwa sensor ya ndani, ili kuendelea kurekebisha msimamo wake ili iwe sawa.
Inafanyaje kazi?
Mfano rahisi wa kuzingatia ni pendulum iliyogeuzwa. Ambapo katikati ya misa iko juu ya sehemu ya msingi. Walakini, kwa upande wetu, tunazuia pendulum kwa kiwango cha 1 cha uhuru kwa kuwa na mhimili mmoja wa mzunguko, kwa upande wetu mhimili wa mzunguko wa magurudumu mawili. Kwa kuwa aina yoyote ya usumbufu itasababisha roboti kuanguka, tunahitaji njia ya kuweka robot sawa. Hapa ndipo algorithm yetu ya kitanzi kilichofungwa (mtawala wa PID) inapoanza kucheza, tukijua ni mwelekeo gani robot yetu inaanguka tunaweza kurekebisha mwelekeo wa kuzunguka kwa motors zetu ili kuweka mfumo usawa.
Je! Algorithm ya kitanzi kilichofungwa inafanyaje kazi?
Kanuni ya msingi ya kuweka usawa wa roboti ni kwamba, ikiwa roboti inaangukia mbele italipa fidia kwa kusogeza chini ya roboti mbele ili kujinasa na kwa hivyo kuweka wima. Vivyo hivyo, ikiwa roboti inaanguka nyuma italipa fidia kwa kusonga chini ya robot nyuma ili kujinasa.
Kwa hivyo, tunahitaji kufanya mambo mawili hapa, kwanza, tunahitaji kuhesabu angle ya mwelekeo (Roll) ambayo roboti inakabiliwa na kama matokeo, tunahitaji kudhibiti mwelekeo wa kuzunguka kwa motors.
Je! Tutapimaje pembe ya mwelekeo?
Kupima pembe ya mwelekeo tutatumia Kitengo cha Upimaji wa Inertial. Moduli hizi zinajumuisha accelerometer na gyroscope.
- Accelerometer ni kifaa cha umeme kinachopima kuongeza kasi inayofaa, hii ndio kuongeza kasi kwa mwili katika fremu ya kupumzika mara moja.
- Gyroscope ni kifaa cha elektroniki kinachopima kasi ya angular na hutumiwa kuamua mwelekeo wa kifaa.
Walakini, shida ya kutumia sensorer kama hizo ni kwamba:
- Accelerometer ni kelele sana lakini ni thabiti kwa muda, pembe inatofautiana na harakati za usawa ghafla
- Thamani ya gyroscope, kwa upande mwingine, itapita kwa muda, lakini mwanzoni, ni sahihi
Kwa hili linaweza kufundishwa, sitatumia kichujio badala yake nitatumia Usindikaji wa Mwendo wa Dijiti (DMP). Wengine wametumia kichujio cha ziada kupata ishara laini, unaweza kuchagua njia yoyote unayopenda. kama mizani ya roboti na utekelezaji wowote.
Vifaa
Sehemu:
- Arduino Pro Mini 3.3V 8 na 8 Mhz ATMEGA328
- FT232RL 3.3V 5.5V FTDI USB kwa moduli ya adapta ya serial ya TTL
- Moduli ya GY-521 na MPU-6050
- Jozi ya N20 motor ndogo ya gia 6V - 300rpm
- Dereva wa gari L298N
- LM2596S DC kwa DC kubadilisha fedha
- Betri (Chaji ya betri inayoweza kuchajiwa tena ya 9.7V Li-ion)
- Kamba ya betri
- Bodi mbili za mzunguko wa PCB zinazojitokeza
- Pini za kichwa cha kiume na kike waya za kuruka
Zana:
- Chuma cha kutengeneza na solder
- Msuguano wa spacer ya nylon
- Usawazishaji wa bisibisi
- Printa ya 3D
Hatua ya 1: Ujenzi
Kwa kuwa nilikuwa na idhini ya kupata kichapishaji cha 3D niliamua kuchapisha chasisi ya 3D na kutumia kusimama kuunganisha kila kitu pamoja.
Roboti ina tabaka 4
- Safu ya chini huunganisha motors na ina alama za kuweka kwa moduli ya dereva wa L298N
- Safu inayofuata ina bodi ya mfano na mini Arduino pro na vichwa vilivyouzwa
- Safu ya tatu imeweka IMU
- Safu ya juu, ambayo naita "safu ya bumper" hufunga betri, kibadilishaji cha dume, na ubadilishaji wa pesa
Kanuni yangu kuu ya muundo ilikuwa kuweka kila kitu kawaida. Sababu ya hii ilikuwa ikiwa kuna kitu kilienda vibaya na moja ya vifaa ningeweza kuibadilisha kwa urahisi au ikiwa ningehitaji sehemu ya mradi mwingine ninaweza kuichukua bila wasiwasi juu ya kutoweza kutumia mfumo tena.
Hatua ya 2: Wiring
Niliuza rangi za vichwa vya kike kwenye ubao wa manukato ili kufanana na pini za kichwa cha Arduino pro mini. Kufuatia hii, niliuza pini za kichwa cha kiume bodi ili kuruhusu ufikiaji wa I / O. Vipengele vingine vilikuwa vimewekwa kwenye fremu iliyochapishwa ya 3D na kuunganishwa kwa kutumia waya za kuruka.
Hatua ya 3: Nadharia ya Kudhibiti
Sasa tunaendelea na msingi wa mradi huo. Ili kuweka robot sawa, tunahitaji kutoa ishara inayofaa ya kudhibiti kuendesha motors kwa mwelekeo sahihi na kwa kasi sahihi kuweka roboti iwe sawa na imara. Ili kufanya hivyo tutatumia algorithm maarufu ya kitanzi inayojulikana kama mtawala wa PID. Kama kifupi kinachoonyesha kuna masharti matatu kwa mdhibiti huyu, haya ni maneno sawa, muhimu, na yanayotokana. Kila moja ambayo inaambatana na coefficients ambayo huamua ushawishi wao kwenye mfumo. Mara nyingi sehemu inayotumia wakati mwingi ya utekelezaji wa mdhibiti ni upangaji wa faida kwa kila mfumo wa kipekee kupata jibu bora zaidi.
- Neno sawia huzidisha kosa moja kwa moja kutoa pato, kwa hivyo kosa ni kubwa majibu yanakuwa makubwa
- Neno muhimu hutengeneza majibu kulingana na mkusanyiko wa kosa ili kupunguza kosa la hali thabiti. Kwa muda mrefu mfumo hauna usawa kasi ya motors itajibu
- Neno linalotokana na neno hili ndilo linalotokana na kosa ambalo hutumiwa kutabiri majibu ya siku zijazo na kwa kufanya hivyo hupunguza kutoweka kwa sababu ya kupitiliza hali thabiti.
Kanuni ya msingi ya algorithm hii ni kuendelea kuhesabu pembe ya mwelekeo ambayo ni tofauti kati ya nafasi inayotakiwa na nafasi ya sasa, hii inajulikana kama kosa. Halafu hutumia maadili haya ya makosa na kuhesabu jumla ya majibu sawia, muhimu, na yanayotokana kupata pato, ambayo ni ishara za kudhibiti ambazo zinatumwa kwa motors. Kama matokeo, ikiwa kosa ni kubwa ishara ya kudhibiti iliyotumwa kwa motors itazunguka motors kwa kasi kubwa ili kufikia hali ya usawa. Vivyo hivyo, ikiwa hitilafu ni ndogo ishara ya kudhibiti itazunguka motors kasi ndogo kuweka roboti usawa.
Hatua ya 4: Kutumia MPU 6050
Maktaba ya MPU6050
github.com/jrowberg/i2cdevlib/tree/master/…
Sio sensorer zote ni nakala halisi za kila mmoja. Kama matokeo, ukijaribu MPU 6050 mbili unaweza kupata maadili tofauti ya accelerometer na gyroscope wakati umewekwa sawa kwenye uso huo. Ili kushinda kukabiliana mara kwa mara kwa pembe tunahitaji kusherehekea kila sensa tunayotumia. Kuendesha hati hii:
www.i2cdevlib.com/forums/topic/96-arduino-…
iliyoandikwa na Luis Rodenas, tutapata malipo. Makosa ya kukabiliana yanaweza kuondolewa kwa kufafanua maadili ya kukabiliana na utaratibu () wa kawaida.
Kutumia Prosesa ya Mwendo wa Dijiti
MPU6050 ina DMP (Digital Motion Processor).
DMP ni nini? Unaweza kufikiria DMP kama microcontroller ya ndani ambayo inashughulikia mwendo tata kutoka kwa gyroscope ya 3-axis na 3-axis accelerometer kwenye bodi ya mpu6050, kwa kutumia algorithms zake za fusion mwendo. Kupakua usindikaji ambao ungefanywa na Arduino
Jinsi ya kuitumia? Ili kujua jinsi ya kutumia DMP pitia mfano mchoro MPU6050_DMP6 ambayo inakuja na maktaba ya MPU6050 (katika Arduino IDE: Faili-> Mfano-> MPU6050-> MPU6050_DMP6). Hii pia ni fursa nzuri ya kuangalia sensor yako inafanya kazi na wiring ni sahihi
Hatua ya 5: Usimbuaji
Nilitumia Arduino IDE na kiolesura cha FTDI kupanga Arduino pro mini.
Kutumia mchoro wa mfano (MPU6050_DMP6) ambao unakuja na maktaba ya MPU6050 kama nambari yangu ya msingi niliongeza kazi za PID () na MotorDriver ().
Ongeza maktaba
- MPU6050: Kutumia sensa ya MPU6050 tutahitaji kupakua maktaba ya msanidi programu ya I2C kutoka Jeff Rowberg na kuiongeza kwenye folda ya "maktaba" ya Arduino iliyopatikana kwenye faili za programu kwenye kompyuta yako.
- Waya: Tunahitaji pia maktaba ya waya kuturuhusu kuwasiliana na vifaa vya I2C.
Msimbo wa bandia
Jumuisha Maktaba:
- Waya.h
- MPU6050
- I2Cdev.h
Anzisha vigeuzi, vizuizi, na vitu
Sanidi ()
- Weka mode ya pini kwa kudhibiti motors
- Weka hali ya pini kwa hali ya LED
- Anzisha MPU6050 na uweke maadili ya kukabiliana
PID ()
Hesabu thamani ya PID
MotorDriver (majibu ya PID)
Tumia thamani ya PID kudhibiti kasi na mwelekeo wa motors
Kitanzi ()
- Pata data kutoka kwa DMP
- Piga PID () kazi za MotorDriver ()
Hatua ya 6: Utaratibu wa Kuweka PID
Hii ndio sehemu ya kuchosha zaidi ya mradi na inahitaji uvumilivu kidogo isipokuwa upate bahati sana. Hapa kuna hatua:
- Weka muda wa I na D kuwa 0
- Kushikilia roboti, rekebisha P ili roboti ianze tu kusonga juu ya nafasi ya usawa
- Na seti ya P, ongeza mimi ili roboti iharakishe haraka ikiondoka kwenye usawa. Na P na mimi tumewekwa vizuri, roboti inapaswa kuwa na uwezo wa kujisawazisha kwa angalau sekunde chache, na kusisimua kidogo
- Mwishowe, ongeza D punguza oscillation
Ikiwa jaribio la kwanza halitoi matokeo ya kuridhisha, rudia hatua kwa thamani tofauti ya P. Pia fahamu kuwa unaweza kurekebisha maadili ya PID baadaye, ili kuongeza utendaji. Maadili hapa yanategemea vifaa, usishangae ikiwa unapata maadili makubwa sana au ndogo sana ya PID.
Hatua ya 7: Mlolongo
Magari ya gia ndogo yaliyotumika yalikuwa polepole kuguswa na usumbufu mkubwa na ikipewa mfumo ulikuwa mwepesi sana hakukuwa na inertia ya kutosha kupata athari inayotaka ya pendulum, kwa hivyo ikiwa roboti itaegemea mbele ingeegemea tu kwa pembe na mbio mbele. Mwishowe, magurudumu yaliyochapishwa ya 3D yalikuwa chaguo mbaya kwani yanaendelea kuteleza.
Mapendekezo ya kuboresha:
- Motors haraka na torque ya juu, i.e.kwa motors DC ni juu kiwango cha voltage wakati wa juu
- pata betri nzito au songa tu misa juu zaidi
- Badilisha magurudumu yaliyochapishwa ya 3D na yale ya mpira ili kupata mvuto zaidi
Ilipendekeza:
Kujisawazisha Roboti - PIDI ya Udhibiti wa PID: 3 Hatua
Roboti ya kusawazisha ya kibinafsi - Algorithm ya Udhibiti wa PID: Mradi huu ulibuniwa kwa sababu nilikuwa na hamu ya kujifunza zaidi juu ya Udhibiti wa algorithms na jinsi ya kutekeleza kwa ufanisi matanzi ya PID. Mradi huo bado uko katika awamu ya maendeleo kwani moduli ya Bluetooth bado haijaongezwa ambayo
HeadBot - Roboti ya Kujisawazisha ya STEM Kujifunza na Kufikia: Hatua 7 (na Picha)
HeadBot - Roboti ya Kujisawazisha ya STEM Kujifunza na Kufikia: Headbot - urefu wa futi mbili, robot ya kujisawazisha - ni ubongo wa Timu ya Roboti ya Kusini (SERT, FRC 2521), timu ya roboti ya shule ya upili ya ushindani katika FIRST Mashindano ya Roboti, kutoka Eugene, Oregon. Roboti hii maarufu ya ufikiaji hufanya upya
Jinsi ya kuunda Roboti ya Kujisawazisha iliyodhibitiwa kwa mbali ya 3D: Hatua 9 (na Picha)
Jinsi ya kuunda Roboti ya Kujisawazisha Iliyodhibitiwa kwa mbali ya 3D: Hii ni mageuzi ya toleo la zamani la B-roboti. CHANZO CHA KUFUNGUA 100% / roboti ya Arduino. CODE, sehemu za 3D na vifaa vya elektroniki viko wazi kwa hivyo jisikie huru kuibadilisha au kuunda toleo kubwa la roboti. Ikiwa una mashaka, maoni au unahitaji msaada fanya
Jinsi ya Kurekebisha Magurudumu ya Kawaida kwa R / C Magurudumu Moto: D: 6 Hatua (na Picha)
Jinsi ya Kurekebisha Magurudumu ya Kawaida kwa R / C Magurudumu Moto: D: Tangu nilipokuwa mtoto mdogo, ninapenda Magari ya Moto ya Magurudumu. Ilinipa msukumo wa kubuni magari ya kufikiria. Wakati huu walijizuia na Magurudumu Moto ya Vita vya Star, C-3PO. Walakini, ninataka zaidi ya kusukuma tu au kusafiri kwenye wimbo, niliamua, "L
Ondoa Breki ya Magurudumu ya Magurudumu: Hatua 6 (na Picha)
Ondoa Brake ya Magurudumu ya Magurudumu: Kuondoa kuvunja usalama wa umeme kutoka kwa gari la magurudumu ni jambo la haraka na rahisi kufanya. Maagizo haya yamekusudiwa watu ambao wanatarajia kutumia tena gari ya kiti cha magurudumu kwa miradi ya DIY. Kulemaza usalama wa usalama kunafanya kudhibiti umeme