Orodha ya maudhui:

Jenga Gari Yako ya Kujiendesha - (Hii Inafundishwa Ni Kazi katika Mchakato): Hatua 7
Jenga Gari Yako ya Kujiendesha - (Hii Inafundishwa Ni Kazi katika Mchakato): Hatua 7

Video: Jenga Gari Yako ya Kujiendesha - (Hii Inafundishwa Ni Kazi katika Mchakato): Hatua 7

Video: Jenga Gari Yako ya Kujiendesha - (Hii Inafundishwa Ni Kazi katika Mchakato): Hatua 7
Video: Я пытался заработать деньги в Instagram 2024, Novemba
Anonim
Image
Image

Halo, Ukiangalia nyingine yangu inayoweza kufundishwa kwenye Hifadhi ya Hifadhi na Kidude cha mbali cha USB, mradi huu ni sawa, lakini kwa kiwango kidogo. Unaweza pia kufuata au kupata msaada au msukumo kutoka kwa Roboti, Utambuzi wa Sauti ya Kukua Nyumbani, au orodha za kucheza za Gari ya Kujiendesha kwenye Youtube.

Nilianza na roboti kubwa (Wallace 4), lakini tangu nilipoanzisha kikundi cha Meetup, nilihitaji kitu kwa kiwango kidogo, na kikundi kilipenda sana maono ya kompyuta.

Kwa hivyo nikapata kozi hii ya Udemy: Jijengee Gari yako ya Kujiendesha ambayo ilinipa wazo la mradi huu.

Ikiwa una nia ya kozi ya Udemy, unaweza kuendelea kuangalia huko nyuma; inaendelea kuuza kwa punguzo kubwa mara kwa mara. Kumbuka: kuna Sehemu ya 1 na Sehemu ya 2 - unahitaji kufanya uchunguzi juu ya jinsi ya kupata kozi mbili kama kifurushi (punguzo).

Madhumuni ya kufundisha hii ni mara mbili. Kwanza, kutoa viashiria na njia mbadala kwa sehemu fulani za kozi (kama sehemu na vifaa). Na pili, kupanua kozi hiyo.

Kusudi kuu la kozi ya Udemy:

kuweza kupata gari ndogo ya magurudumu ya magurudumu kujiendesha kwenye barabara iliyopunguzwa ya njia mbili.

Inapaswa kutambua kupigwa kwa njia, na wakati umefikia mwisho wa barabara.

Inapaswa kutambua ishara ya kuacha (na kuacha).

Pia, ishara nyekundu ya trafiki.

Lazima pia itambue na kuendesha karibu na kikwazo (gari lingine).

Kile ambacho kinafundishwa kinaongeza kwenye kozi:

Endesha gari dogo na USB Gamepad ya mbali, kwa njia sawa na katika hii inayoweza kufundishwa.

Toa njia mbadala kwa kile kozi inatoa.

Labda hata haifai kununua kozi hiyo:

Inaweza kufundishwa inaweza kuwa yote unayohitaji kuanza.

Vifaa

Sehemu muhimu (zilizopendekezwa):

Chassier ya roboti

Motors nne

Arduino

Raspberry Pi (3, 3B +, 4)

Kamera (USB Webcam, au moduli ya Picamera)

Nguvu ya betri

On / Off swichi

waya za kuruka

kusimama (plastiki na labda chuma, pia)

Tafadhali pitia video inayofundishwa na video zote kabla ya kujaribu kununua sehemu.

Baada ya kufanya mradi huu, ninagundua kuwa sehemu halisi sio muhimu sana.

Hatua ya 1: Maelezo Zaidi Kuhusu Sehemu…

Image
Image
Maelezo Zaidi Kuhusu Sehemu…
Maelezo Zaidi Kuhusu Sehemu…
Maelezo Zaidi Kuhusu Sehemu…
Maelezo Zaidi Kuhusu Sehemu…

Video inayohusishwa huenda kwa undani juu ya sehemu, na maswala kadhaa ambayo nimepata.

  • Angalia kote kwa chasisi / motors tofauti
  • Motors zinapaswa kuwa na waya zilizouzwa kwao
  • Unaweza kutaka kuchimba visima na kuchimba visima, AU chasisi yenye mashimo zaidi
  • Kumbuka kuwa uzito ni suala. Kila kitu kinapaswa kuwa nyepesi iwezekanavyo.
  • Dereva wa gari la L298 H-Bridge hufanya kazi vizuri. KUMBUKA: pata moja na vizuizi vya terminal (tazama picha)
  • Labda utataka standoffs zote za plastiki na chuma, saizi M3 labda ni chaguo bora.

Kusimama kwa plastiki ni nzuri kwa kuweka bodi kwenye chasisi (dereva wa gari, Arduino, Raspberry, pcb ya nguvu, swichi ya kuzima / kuzima, nk).

Kusimama kwa metali ni nzuri kwa kukusanya chasisi (nguvu), na haswa wakati unakua (programu, upimaji). Kwa maendeleo, kusimama kwa chuma kunaweza kutumika kama stilts. Kama vile ungekuwa unafanya kazi kwenye gari halisi, unataka kuongeza gari ili magurudumu yako angani na iweze kusonga kwa uhuru. Hii ni muhimu sana! Utafanya makosa na hutaki gari lianguke tu na kuanguka.

Piga + vipande vya kuchimba

Nataka sana kusisitiza utumiaji wa kuchimba visima, ikiwa utaweza, na utumie msimamo badala ya mkanda wenye nene mbili. Labda utaishia kuondoa na kuweka tena bodi zako, nk, mara kadhaa wakati wa mradi huu, na kutumia mkanda kunakuwa mbaya sana.

Kutumia kuchimba visima hufanya iwe rahisi sana kuweka tena nafasi (haswa ikiwa chasisi ni ya plastiki) na inaonekana mtaalamu zaidi.

Hatua ya 2: Kuimarisha gari wakati wa Maendeleo

Kuimarisha Gari Wakati wa Maendeleo
Kuimarisha Gari Wakati wa Maendeleo
Kuimarisha Gari Wakati wa Maendeleo
Kuimarisha Gari Wakati wa Maendeleo

Kwa maoni yangu, njia ya haraka zaidi, na rahisi zaidi ya kuanza na mradi huu, ni:

  • kwa maendeleo ya mchoro wa programu ya Arduino, unganisha Arduino kwenye kompyuta yako kupitia USB
  • kwa programu ya Raspberry Pi, unapaswa kuwa na nguvu ya USB 5V ambayo inaweza kusambaza angalau Amps 3. Na inapaswa kuwa na swichi ya kuwasha / kuzima. Isipokuwa una kitovu cha USB kizuri kinachotumiwa na kompyuta yako, labda hautaweza kuwezesha Raspberry moja kwa moja kutoka kwa kompyuta yako.
  • Kwa wakati uko tayari kupima motors / magurudumu, rahisi zaidi ni (tazama picha) usambazaji mzuri wa umeme. Walakini, hizo sio za bei rahisi.

Hoja yangu na sehemu hii ni kusema kwamba hautaki kutumia nguvu ya betri wakati wa maendeleo, kwa sababu hiyo itapunguza kasi maendeleo yako.

Pia, kwa kufanya kitu sawa na mapendekezo hapo juu, sio lazima uwe na wasiwasi (bado) juu ya jinsi utakavyowasha gari. Unaweza kuchelewesha uamuzi huo baadaye katika mradi huo.

Hatua ya 3: Kuiwezesha gari wakati wa matumizi halisi

Kuimarisha Gari Wakati wa Matumizi Halisi
Kuimarisha Gari Wakati wa Matumizi Halisi
Kuimarisha Gari Wakati wa Matumizi Halisi
Kuimarisha Gari Wakati wa Matumizi Halisi

Ikiwa unaamua kufuata kozi (au kile nilichokifanya) kwa nguvu ya 5V kwa mantiki, basi fahamu kuwa sio benki zote za umeme za 5V zinazofaa kwa mradi huu.

Jambo kuu hapa ni kwamba unahitaji 5V lakini unahitaji angalau Amps 3! Fikiria kwa njia hii - unataka benki ya umeme ambayo itawezesha kompyuta ya mbali (labda).

Ikiwa unaishi Merika nadhani njia moja bora ya kufanya hivyo ni kununua kutoka kwa Best Buy. Kwa nini? Kwa sababu ya sera yao ya kurudisha pesa ya siku 14 ya kurudi.

Kwa kweli ilibidi nijaribu nguvu tatu tofauti za umeme kabla ya kupata moja ambayo ingefanya kazi. Hizo zingine husababisha Raspberry Pi kulalamika juu ya chini ya voltage.

Nilikuwa nimeanza na benki ya umeme yenye bei ghali, na nikaendelea kujaribu modeli inayofuata (ambayo iligharimu zaidi), hadi nikapata inayofanya kazi.

Jinsi ya kumpa nguvu Arduino

Katika kozi ya Udemy, mwandishi alichagua kuwezesha Arduino moja kwa moja kutoka kwa umeme (kupitia pcb ya kawaida ambayo alifanya) na alitumia pini za nguvu kwenye kiunganishi cha GPIO cha Arduino.

Mimi, hata hivyo, nilichagua kumpa nguvu Arduino moja kwa moja kutoka kwa Raspberry Pi, kupitia kebo ya USB.

Itabidi uamue ni ipi bora.

Jinsi ya kuwezesha motors / dereva wa gari

Katika kozi ya Udemy, mwandishi alichagua kuwezesha motors / dereva moja kwa moja kutoka kwa nguvu ya 5V. Kuna mambo mawili ya kuzingatia ikiwa unatumia njia hiyo.

  1. Wakati motors kwanza zinaanza kugeuka, huchota ya sasa zaidi. Hii inaweza (itasababisha voltage ya umeme kupungua (kuzamisha) chini ya 5V, na kusababisha Raspberry kuweka upya.
  2. Kutumia 5V tu kuwezesha motors inamaanisha kuwa hautoi nguvu nyingi kadiri uwezavyo kwa motors, na gari itasonga polepole (uvivu zaidi). Nimejaribu motors (na umeme huo) (angalia picha) hadi 9V. Wanafanya kazi vizuri kwa 9V.

Uchunguzi kuhusu 9V (au zaidi)

Ikiwa utaangalia picha na video zote za hii inayoweza kufundishwa, umeona kuwa nilikusanya PCB ya kawaida ili kuunda chanzo changu cha nguvu cha 9V. Nimejifunza vitu vichache njiani.

Hivi sasa ninatumia seli kadhaa (3) 9V za betri sambamba, kuwezesha motors. Nimetumia betri zote zenye alkali na NiMH.

Uzoefu wa Kujifunza # 1: Inachukua muda mrefu (masaa mengi) kuchaji vizuri betri za NiMH 9V.

Suluhisho linalowezekana: Wekeza kwenye chaja ya NiMH yenye betri nyingi. Inapaswa kuwa chaja "smart".

Ubaya: Sio gharama nafuu.

Uzoefu wa Kujifunza # 2: Betri 9V kweli zinaundwa na seli kadhaa ndogo za ndani. Ikiwa moja ya seli hizo zinakufa, betri yote haina maana. SIJapata shida hii, lakini nilisoma juu yake.

Uzoefu wa Kujifunza # 3: Sio betri zote 9V zilizo na voltage sawa. Hii ni muhimu. Kwa sababu juu ya voltage, kasi zaidi inawezekana. Seli zingine za betri (na chaja) ni 8.4V tu. Wengine hata kidogo. Baadhi ni 9.6V.

Uzoefu wa Kujifunza # 4: Betri za 9V, haswa zile za NiMH, zina uzani mwepesi. Jambo zuri. Walakini, wengi wao hutoa tu mA ya pato la sasa. Ndio sababu ilibidi niwaweke sawa. Unahitaji jumla ya uwezo wa sasa wa Amps 2, hata kwa vipindi vifupi vya muda.

Uzoefu wa Kujifunza # 5: Kuna vifurushi vya betri 9.6V, vinavyotumika kwa vitu kama magari yanayodhibitiwa na redio. Bado sijatumia moja, lakini naamini zinatoa sasa zaidi kuliko kufanya betri za 9V zinazofanana kama nilivyofanya. Pia, unaweza kuchaji kitengo kimoja. Pakiti zina ukubwa tofauti. Na kuna uzani wa uzito. Halafu, je! Unatumia kifurushi kuwezesha gari lote, au motors tu? Ikiwa kwa gari lote, basi utahitaji mdhibiti wa kushuka chini wa 5V kwa Raspberry Pi.

L298 H-Bridge ina uwezo wa kutoa 5V kwa kusudi hili, lakini nina wasiwasi juu ya ni kiasi gani cha sasa kinachoweza kutoa kwa Raspberry Pi, na ikiwa itakuwa shida sana kwenye bodi ya L298.

Ikiwa unaamua kuwa na vyanzo viwili tofauti vya nguvu, basi unaweza kuwa na shida ya uzani (nzito sana).

Hatua ya 4: Programu ya Programu ya Kuendesha Gamepad

Nadhani nilifunua sehemu hii tayari kwenye Robot inayoendeshwa kupitia Njia ya mbali ya USB inayoweza kufundishwa, kwa hivyo sitairudia hapa.

Sehemu za programu / programu katika hiyo inayoweza kufundishwa ni maoni tu. Nadhani mtu hujifunza zaidi kwa kujaribu-na-kosa.

Hatua ya 5: Kuongeza Kamera

Inaongeza Kamera
Inaongeza Kamera
Inaongeza Kamera
Inaongeza Kamera
Inaongeza Kamera
Inaongeza Kamera

Katika kozi ya Udemy, naamini mwandishi anatumia vifuniko vya mbao vya pande zote na bunduki ya gundi kujenga njia ya kuinua kamera.

Utataka kuinua kamera ili iangalie barabara ya njia mbili, ili iweze kutambua kwa urahisi vichochoro hivyo.

Mahali ninapoishi Merika, dowels za mbao zilikuwa za bei rahisi sana. Unaweza kuzinunua katika Lowe au Home Depot. Nilichagua dowels za mraba badala ya duru za pande zote.

Nilichagua pia kuweka msingi thabiti zaidi wa mnara wa kamera, na nikafanya mnara wote utolewe kutoka kwa gari, ili niweze kucheza karibu na kujaribu juu ya nafasi nzuri zaidi kwenye gari.

Pia, nilitengeneza mnara nikiwa na wazo akilini kwamba nitaanza na kamera ya wavuti ya USB, lakini labda baadaye nenda kwa kutumia moduli ya Picamera.

Unaweza kutaka kuwekeza katika kamera ya aina ya macho ya samaki.

Nilinunua bunduki ya gundi ya moto isiyo na gharama kubwa sana, lakini nilitaka kuimarisha msingi wa mnara vizuri, kwa hivyo nilichimba visima vya visima na kuongeza visu kushikilia kila kitu vizuri zaidi.

Kisha nikafunga msingi kwenye chasisi ya gari.

Ikiwa baadaye, ninataka kuzungusha vitu karibu, ninaondoa tu msingi kutoka kwenye chasisi, kuchimba mashimo mapya katika eneo mpya la chasisi, na kuweka tena mnara kwenye chasisi.

Nilileta "nifuate" nambari ya Python na Node.js kutoka kwa roboti kubwa (Wallace Robot 4) kama njia ya kujaribu kila kitu. Tafadhali angalia picha kwenye sehemu hii kwa orodha ya nuru ambazo zinatoa maelezo zaidi juu ya "nifuate".

Kama nilivyosema, ilikuwa rahisi kwanza kuweka kamera ya wavuti ya USB. Baadaye naweza kupanda moduli ya Picamera.

Hatua ya 6: Utambuzi wa Uso - Tambua Nafasi

Image
Image

Sehemu hii sio lengo la kozi ya Udemy, lakini ilikuwa zoezi la kufurahisha.

Ikiwa utafanya utaftaji wa wavuti kwa "chatu opencv utambuzi wa uso", utapata mifano mingi mzuri ya jinsi ya kufanya hivyo, na zote zinafuata hatua sawa.

  1. pakia faili ya uso ya "haar"
  2. anzisha kamera
  3. anza kitanzi ambapo unachukua sura
  4. badilisha picha ya rangi kuwa ya kijivu
  5. lisha kwa opencv ili iweze kupata uso (s)
  6. Anza kitanzi cha ndani (kwa kila uso uliopatikana) (kwa upande wangu, ninaongeza nambari ya kutoa mimba ikiwa zaidi ya uso 1)

Kwa kusudi hili hapa, mara tu tutakapogundua uso, tunajua X, Y, W, na H ya mraba wa kufikiria ambao unaelezea uso.

Ikiwa unataka roboti isonge mbele au nyuma, lazima uzingatie W. Ikiwa W ni kubwa sana (karibu sana), rudisha robot nyuma. Ikiwa W ni mdogo sana (mbali sana), na roboti isonge mbele.

Harakati za kushoto / kulia ni ngumu zaidi lakini sio wazimu. Angalia picha ya sehemu hii inayoelezea jinsi ya kuamua nafasi ya uso wa kushoto dhidi ya kulia.

KUMBUKA:

Ikiwa unaendesha mifano yoyote ya wavuti ya OpenCV, zote zinaonyesha maoni halisi ya kile opencv ni "kuona", na uso umeainishwa kwenye mraba. Ikiwa utaangalia, mraba huo sio thabiti (mara kwa mara), hata ikiwa hausogei.

Maadili hayo yanayobadilika yangesababisha roboti hiyo kuwa katika mwendo kila wakati, mbele au nyuma, kushoto au kulia.

Kwa hivyo, utahitaji kuwa na aina fulani ya delta kwa mbele / nyuma na kwa kushoto / kulia.

Wacha tuchukue kushoto vs kulia:

Mara tu ukihesabu kushoto, na kulia, kisha pata tofauti (delta):

delta = abs (kushoto - kulia)

Unahitaji kuchukua kabisa kwa sababu haujui ni ipi itakuwa nambari kubwa.

Kisha unaongeza nambari fulani ya masharti ili kujaribu tu kusogea ikiwa delta ni kubwa kuliko kiwango cha chini.

Ungefanya kitu kimoja kwa mbele vs nyuma.

Hatua ya 7: Nafasi ya uso - Robot ya Kusonga

Mara tu unapojua kuwa unahitaji roboti kusonga kushoto au kulia, mbele au nyuma, unawezaje kufanya hivyo?

Kwa kuwa Agizo hili linafanya kazi, kwa sasa, nilinakili tu nambari kutoka kwa roboti yangu kubwa kuitumia kwa mradi huu. Tafadhali angalia orodha yangu ya kucheza ya Robotiki kwenye youtube ambapo inaelezea yote haya.

Kwa kifupi, nina nambari hiyo katika tabaka.

Hati ya kutambua uso wa Python hufanya maombi ya http kwa seva ya Node.js

Seva ya Node.js inasikiliza maombi ya http ya mwelekeo wa hoja, inabadilisha hizo kuwa itifaki ya serial ya kawaida

Itifaki ya serial ya kawaida kati ya seva ya Node.js na Arduino

Mchoro wa Arduino ambao hufanya amri halisi za kusonga roboti

Kozi ya Udemy haifanyi kama hapo juu. Lakini kwa kuwa nilitaka kufanya maendeleo mazuri na kuzingatia utambuzi halisi wa picha, nilitumia tena nambari yangu ya zamani kwa sasa.

Ilipendekeza: