Агуулгын хүснэгт:

EyeRobot - Робот цагаан таяг: 10 алхам (зурагтай)
EyeRobot - Робот цагаан таяг: 10 алхам (зурагтай)

Видео: EyeRobot - Робот цагаан таяг: 10 алхам (зурагтай)

Видео: EyeRobot - Робот цагаан таяг: 10 алхам (зурагтай)
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Арваннэгдүгээр
Anonim
EyeRobot - Цагаан таяг робот
EyeRobot - Цагаан таяг робот

Товч агуулга: iRobot Roomba Create -ийг ашиглан би eyeRobot нэртэй төхөөрөмжийн загварыг гаргалаа. Энэ нь харааны бэрхшээлтэй, харааны бэрхшээлтэй хэрэглэгчдийг эмх замбараагүй, хүн ам ихтэй орчинд хөтлөх бөгөөд Roomba-г суурь болгож, уламжлалт цагаан таягийн энгийн байдлыг хардаг нохойн зөн совинтой гэрлэх болно. Хэрэглэгч бариулыг зөн совинтойгоор мушгих замаар хүссэн хөдөлгөөнөө илэрхийлдэг. Робот энэ мэдээллийг авч, коридор эсвэл өрөөнөөс гарах тодорхой замыг олж, хэрэглэгчийг статик болон динамик саад тотгорыг тойроход тохиромжтой чиглэлд чиглүүлдэг. Дараа нь хэрэглэгч бариулаас мэдрэгдэх мэдэгдэхүйц хүчээр хэрэглэгчийг хүссэн чиглэл рүү нь чиглүүлж байхдаа роботыг дагаж явдаг. Энэхүү робот сонголт нь бага зэрэг сургалт шаарддаг: явах, түлхэх, зогсоох, эргүүлэх, эргүүлэх. Алсын зайн алсын хараа нь нүдний хараатай нохойтой төстэй бөгөөд цагаан таяг ашигласныг харуулсан байнгын туршилт, алдаанаас хамаагүй давуу талтай юм. Гэсэн хэдий ч eyeRobot нь хөтөч нохойноос хамаагүй хямд хувилбар санал болгож байгаа бөгөөд энэ нь 12,000 доллараас дээш үнэтэй бөгөөд ердөө 5 жилийн хугацаанд ашиглагддаг бөгөөд прототипийг 400 доллараас бага үнээр бүтээжээ. Энэ нь харьцангуй энгийн машин бөгөөд хэд хэдэн хямд мэдрэгч, төрөл бүрийн потенциометр, зарим тоног төхөөрөмж, мэдээж Roomba Create шаарддаг.

Алхам 1: Видео үзүүлэх

Видео жагсаал
Видео жагсаал

Өндөр чанарын хувилбар

Алхам 2: Үйл ажиллагааны тойм

Үйл ажиллагааны тойм
Үйл ажиллагааны тойм

Хэрэглэгчийн хяналт: eyeRobot -ийн ажиллагаа нь сургалтыг эрс багасгах эсвэл аль болох хялбар болгох үүднээс хийгдсэн. Хөдөлгөөнийг эхлүүлэхийн тулд хэрэглэгч зүгээр л урагшаа алхаж эхлэх ёстой бөгөөд савааны ёроолд байрлах шугаман мэдрэгч энэ хөдөлгөөнийг аваад роботыг урагш хөдөлгөж эхэлнэ. Энэхүү шугаман мэдрэгчийг ашигласнаар робот нь хэрэглэгчийн хүссэн хурдтай тохирч чадна. eyeRobot нь хэрэглэгч хүссэнээрээ хурдан хөдөлнө. Эргэлт хийхийг хүсч байгаагаа илэрхийлэхийн тулд хэрэглэгч бариулыг мушгих хэрэгтэй бөгөөд хэрэв эргэх боломжтой бол робот хариу өгөх болно.

Роботын навигаци: Нээлттэй орон зайд аялахдаа eyeRobot нь шулуун замаар явахыг хичээж, хэрэглэгчдэд саад болж буй аливаа саад бэрхшээлийг илрүүлж, тухайн объектын эргэн тойронд хэрэглэгчийг анхны зам руу нь чиглүүлэх болно. Практик дээр хэрэглэгч роботын араас ухамсаргүйгээр дагаж чаддаг. Коридороор явахын тулд хэрэглэгч роботыг хоёр талын хананы аль нэг рүү түлхэхийг оролдох ёстой. хэрэглэгч коридороор. Уулзвар хүрэх үед хэрэглэгч робот эргэж эхэлснийг мэдэрч, бариулаа эргүүлснээр шинэ мөчрөөсөө татгалзах эсвэл шулуун замаар явах эсэхээ сонгох боломжтой болно. Ийм байдлаар робот нь цагаан таягтай маш адилхан бөгөөд хэрэглэгч роботыг хүрээлэн буй орчныг мэдэрч, энэ мэдээллийг дэлхийн навигацид ашиглах боломжтой болно.

Алхам 3: Хүрээний мэдрэгч

Хүрээний мэдрэгч
Хүрээний мэдрэгч

Ultrasonics: eyeRobot нь 4 хэт авианы хүрээ илрүүлэгчтэй (MaxSonar EZ1). Хэт авианы мэдрэгчийг роботын урд талын нуман дээр байрлуулсан бөгөөд роботын урд болон хажуугийн объектуудын талаар мэдээлэл өгөх боломжтой. Тэд роботыг тухайн объектын хамрах хүрээний талаар мэдээлж, тухайн объектын эргэн тойронд нээлттэй замыг хайж олоход нь тусалдаг.

IR хэмжигч: EyeRobot нь хоёр IR мэдрэгчтэй (GP2Y0A02YK). IR алсын удирдлага нь роботын хананд туслахын тулд баруун, зүүн тийш 90 градус харсан байхаар байрлуулсан байна. Тэд мөн роботод хажуу тийш нь хэт ойрхон байгаа объектын талаар хэрэглэгч анхааруулж болно.

Алхам 4: Таягны байрлалын мэдрэгч

Таягны байрлалын мэдрэгч
Таягны байрлалын мэдрэгч

Шугаман мэдрэгч: eyeRobot нь хэрэглэгчийн хурдтай таарч тохирохын тулд eyRobot нь хэрэглэгч урагшлах хөдөлгөөнөө түлхэж байгаа эсвэл удаашруулж байгааг мэдэрдэг. Потенциометр нь таягны байрлалыг мэдэрдэг тул таягны суурийг замын дагуу гулсуулах замаар олж авдаг. EyeRobot нь энэхүү оролтыг ашиглан роботын хурдыг зохицуулдаг. Шугаман мэдрэгчээр дамжуулан хэрэглэгчийн хурдаар дасан зохицох тухай нүдний роботын санаа нь гэр бүлийн зүлэгжүүлэгчээс үүдэлтэй бөгөөд таягны суурь нь төмөр замын дагуу хөдөлж буй хөтөч блоктой холбогддог. Чиглүүлэгч блокийн байрлалыг уншиж, процессорт мэдээлдэг слайд потенциометрийг хавсаргасан болно. Зөөгчийг роботтой харьцуулахад эргүүлэх боломжийг олгохын тулд модоор дамжин өнгөрөх саваа байдаг бөгөөд энэ нь эргэдэг холхивч үүсгэдэг. Дараа нь энэ холхивчийг нугасанд холбож, саваа нь хэрэглэгчийн өндөрт тохируулах боломжтой болно.

Twist Sensor: Эргэлтийн мэдрэгч нь хэрэглэгчийг роботыг эргүүлэхийн тулд бариулыг мушгих боломжийг олгодог. Нэг модон босоо амны төгсгөлд потенциометрийг холбож, бариулын дээд хэсэгт бариулыг оруулж наасан байна. Утаснууд нь гогцооноос доош урсаж, эргэлтийн мэдээллийг процессор руу оруулдаг.

Алхам 5: Процессор

Процессор
Процессор

Процессор: Роботыг Robodyssey Advanced Motherboard II дээр сууж буй Zbasic ZX-24a удирддаг. Процессорыг хурд, ашиглахад хялбар, боломжийн өртөг, 8 аналог оролтоор сонгосон. Үүнийг хурдан, хялбар өөрчлөх боломжийг олгохын тулд том загвартай талхны самбартай холбосон болно. Роботын бүх хүчийг эх хавтан дээрх тэжээлээс авдаг. Zbasic нь ачааны булангийн боомтоор дамжуулан Roomba -тай харилцдаг бөгөөд Roomba -ийн мэдрэгч, моторыг бүрэн хянадаг.

Алхам 6: Кодын тойм

Кодын тойм
Кодын тойм

Саад бэрхшээлээс зайлсхийх: Саад бэрхшээлээс зайлсхийхийн тулд eyeRobot нь роботын ойролцоо байгаа объектууд түүнийг объектоос холдуулж буй роботод виртуал хүчээр нөлөөлөх аргыг ашигладаг. Өөрөөр хэлбэл объектууд роботыг өөрөөсөө холдуулдаг. Миний хэрэгжүүлэлтэнд объектын оруулсан виртуал хүч нь зайны квадраттай урвуу пропорциональ байдаг тул объект ойртох тусам түлхэлтийн хүч нэмэгдэж шугаман бус хариултын муруй үүсгэдэг: PushForce = ResponseMagnitudeConstant/Distance2Мэдрэгч бүрээс ирэх түлхэлтүүдийг хамтад нь нэмнэ; Зүүн талын мэдрэгч нь баруун тийш, эсрэгээр роботын аялалын векторыг олж авдаг. Дараа нь дугуйны хурдыг өөрчилдөг тул робот энэ вектор руу эргэдэг. Роботын өмнө үхсэн биетүүд "ямар ч хариу үйлдэл үзүүлэхгүй" байхын тулд (хоёр талын хүч тэнцвэрждэг), үхсэн урд талын объектууд роботыг илүү нээлттэй тал руу түлхдэг. Робот объектыг дайран өнгөрөхөд өөрчлөлтийг засч залруулж, анхны вектор руу буцахын тулд Roomba кодлогч ашигладаг.

Ханын дагах: Ханыг дагаж мөрдөх зарчим нь хүссэн зай ба хананы зэрэгцээ өнцгийг хадгалах явдал юм. Ганц мэдрэгч нь ашиггүй хүрээний уншилтыг өгдөг тул роботыг хананд харьцуулж эргүүлэхэд асуудал үүсдэг. Хэмжилтийн уншилт нь роботын хананы өнцөгөөс хананд хүрэх бодит зайд нөлөөлдөг. Өнцөгийг тодорхойлохын тулд энэ хувьсагчийг арилгахын тулд робот нь роботын өнцгийг олж авахын тулд харьцуулж болох хоёр цэгтэй байх ёстой. EyeRobot нь зөвхөн нэг талдаа IR туяа харагчтай тул эдгээр хоёр цэгт хүрэхийн тулд робот хөдөлж байх үед цаг хэмжигч хүртэлх зайг харьцуулах ёстой. Дараа нь робот хананы дагуу хөдөлж байх үед хоёр уншилтын зөрүүгээс түүний өнцгийг тодорхойлно. Дараа нь энэ мэдээллийг буруу байрлалыг засахын тулд ашигладаг. Робот тодорхой хугацаанд ханатай байх үед хананы дагаж мөрдөх горимд шилжиж, замд нь саад учруулах үед замаасаа холдуулах, эсвэл эргүүлэх бариулыг ашигласан тохиолдолд түүнийг гаргадаг. робот хананаас хол байна.

Алхам 7: эд ангиудын жагсаалт

Эд ангиудын жагсаалт
Эд ангиудын жагсаалт

Шаардлагатай эд ангиуд: 1x) Roomba үүсгэх1x) Том хэмжээтэй нийлэг2x) Sharp GP2Y0A02YK IR хүрээ хэмжигч4x) Maxsonar EZ1 хэт авианы хэмжигч1x) ZX-24a микропроцессор1x) Robodyssey Нарийвчилсан эх хавтан II1x) Слайд потенциометр1x) 1 талт) Нэг талт портал Нугас, алчуур, шураг, самар, хаалт, утас

Алхам 8: Мотиваци ба сайжруулалт

Урам зориг ба сайжруулалт
Урам зориг ба сайжруулалт

Хүсэл эрмэлзэл: Энэхүү робот нь чадварлаг боловч үнэтэй хөтөч нохой, хямд боловч хязгаарлагдмал хэмжээтэй цагаан таяг хоёрын хоорондох ялгааг арилгах зорилготой юм. Зах зээлд нэвтрэх чадвартай, илүү чадвартай робот цагаан таяг бүтээхэд Roomba Create нь энэхүү загвар нь үр дүнтэй эсэхийг харахын тулд хурдан загвар зохион бүтээх төгс хэрэгсэл байв. Нэмж дурдахад шагналууд нь илүү чадварлаг робот бүтээхэд шаардагдах зардлыг эдийн засгийн хувьд дэмжих болно.

Сайжруулалт: Энэхүү роботыг бүтээхэд сурч мэдсэн материалын хэмжээ маш их байсан бөгөөд энд би хоёр дахь үеийн робот бүтээх гэж оролдож байхдаа сурсан зүйлээ тайлбарлахыг хичээх болно: 1) Саад бэрхшээлээс зайлсхийх - Би бодит цагийн саад бэрхшээлийн талаар маш их зүйлийг сурч мэдсэн. зайлсхийх. Энэхүү роботыг бүтээх явцад би саад тотгороос зайлсхийх хоёр өөр кодыг даван туулсан. Анхны объектын хүчний санаанаас эхлээд хамгийн нээлттэй векторыг хайж олох зарчимд шилжиж, дараа нь объектын хүчний санаа руу буцаж орлоо. Объектын хариу үйлдэл нь шугаман бус байх ёстой гэдгийг ойлгох гол түлхүүр юм. Ирээдүйд би төслөө эхлүүлэхээсээ өмнө өмнө нь ашигласан аргуудын талаар онлайн судалгаа хийгээгүй байсан алдаагаа засах болно, учир нь би одоо Google -ээс хурдан хайлт хийж сурснаар энэ сэдвээр олон сайхан баримт бичиг гарах болно. Мэдрэгч - Энэ төслийг эхлүүлж байхдаа шугаман мэдрэгчийн хувьд миний цорын ганц сонголт бол слайд тогоо болон ямар нэгэн шугаман холхивч ашиглах явдал гэж бодож байсан. Бариулын дээд хэсгийг зүгээр л джойстик дээр бэхлэх нь илүү хялбар сонголт байх байсан тул саваа урагш түлхэх нь джойстикийг урагш түлхэх болно гэдгийг би одоо ойлгож байна. Нэмж дурдахад энгийн бүх нийтийн холбоос нь модны эргэлтийг орчин үеийн олон joystick -ийн мушгирах тэнхлэгт орчуулах боломжийг олгоно. 3) Чөлөөт эргүүлэх дугуй - Хэдийгээр Roomba -ийн хувьд энэ нь боломжгүй байсан ч чөлөөт эргэдэг дугуйтай робот энэ ажилд хамгийн тохиромжтой байх нь ойлгомжтой мэт санагдаж байна. Идэвхгүй эргэлддэг роботод мотор шаардлагагүй, жижиг зай шаардагдах тул илүү хөнгөн болно. Нэмж дурдахад энэ системд хэрэглэгчдийн түлхэлтийг илрүүлэх шугаман мэдрэгч шаардлагагүй бөгөөд робот нь хэрэглэгчдийн хурдаар эргэлддэг. Роботыг дугуй мэт жолоодож машиныг эргүүлж болох бөгөөд хэрэв хэрэглэгчийг зогсоох шаардлагатай бол тоормосоо нэмж болно. Дараагийн үеийн eyeRobot -ийн хувьд би энэ өөр аргыг ашиглах нь дамжиггүй. өөр өөр лавлах цэгүүдэд хүрэх. 5) Илүү их мэдрэгч - Энэ нь илүү их мөнгө зарцуулах байсан ч процессороос гадуур дэлхий дээр маш цөөн цонхтой энэ роботыг кодлоход хэцүү байсан. Энэ нь навигацийн кодыг илүү нарийвчлалтай sonar массиваар илүү хүчирхэг болгох байсан (гэхдээ мэдээжийн хэрэг мэдрэгч нь надад үнэтэй биш байсан.

Алхам 9: Дүгнэлт

Дүгнэлт
Дүгнэлт

Дүгнэлт: iRobot нь робот цагаан таягны үзэл баримтлалыг туршиж үзэх хамгийн тохиромжтой загварчлалын платформыг батлав. Энэхүү загварчлалын үр дүнгээс харахад ийм төрлийн робот үнэхээр амьдрах чадвартай болох нь харагдаж байна. Roomba Create -ийг ашиглан сурч мэдсэн зүйлээсээ хоёр дахь үеийн роботыг бүтээнэ гэж найдаж байна. EyeRobot -ийн ирээдүйн хувилбаруудад би хонгилоор хүнийг чиглүүлэхээс илүүтэйгээр өдөр тутмын амьдралдаа ашиглахын тулд сохор хүмүүсийн гарт өгөх боломжтой төхөөрөмжийг төсөөлж байна. Энэхүү роботыг ашигласнаар хэрэглэгч зорьсон газраа зүгээр л хэлэх бөгөөд робот нь хэрэглэгчдийн ухамсартай хүчин чармайлтгүйгээр тэднийг тийш нь чиглүүлэх болно. Энэхүү робот нь хөнгөн бөгөөд авсаархан бөгөөд шатаар амархан өргөгдөж, хувцасны шүүгээнд аваачих болно. Энэхүү робот нь орон нутгийнхаас гадна дэлхийн хэмжээний навигацийг хийх боломжтой бөгөөд хэрэглэгчийг урьдчилан мэдлэг, туршлагагүйгээр эхнээс нь зорьсон газар руу чиглүүлэх боломжтой юм. Энэхүү чадвар нь хөтөч нохойгоос ч илүү гарах болно, GPS болон илүү дэвшилтэт мэдрэгч бүхий төхөөрөмжүүд нь хараагүй хүмүүст дэлхийг чөлөөтэй зорчих боломжийг олгодог Натаниэль Баршай, (Оруулсан Стивен Баршай) (Roomba Create -ийн Жек Хиттэд онцгой талархал илэрхийлье)

Алхам 10: Барилга ба код

Барилга ба код
Барилга ба код

Барилга угсралтын талаар хэд хэдэн онцгүй үг: Нийлэг эдлэлээр хийсэн тавцан нь электроникийн хүртээмжтэй байхын тулд арын нүхийг тойрог болгон хайчилж, ачааны булангийн хажууд байрлах нүхэнд шургуулдаг. Прототип хийх самбарыг булангийн доод хэсэгт шураг нүхэнд шургуулдаг. Zbasic нь тавцантай ижил эрэг бүхий L хаалтанд бэхлэгдсэн байна. Сонар бүрийг нийлэг хэсэг болгон шургуулдаг бөгөөд энэ нь тавцан дээр бэхлэгдсэн L хаалтанд бэхлэгддэг (илүү сайн харахын тулд L хаалтуудыг 10 градусаар нугална). Шугаман мэдрэгчийн замыг шууд тавцан руу шургуулж, слайдны савыг L хаалтанд байрлуулна. Шугаман мэдрэгч ба хяналтын саваа барих техникийн дэлгэрэнгүй тайлбарыг 4 -р алхамаас олж болно.

Код: Би роботын кодын бүрэн хувилбарыг хавсаргав. Нэг цагийн дотор би үүнийг файл дотор байсан гурав, дөрвөн үеийн кодоос цэвэрлэхийг оролдсон бөгөөд одоо дагаж мөрдөхөд хялбар байх ёстой. Хэрэв танд ZBasic IDE байгаа бол үүнийг тэмдэглэх дэвтэр ашиглахгүй бол main.bas файлаас эхлээд бусад.bas файлуудаар дамжуулж болно.

Зөвлөмж болгож буй: