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

Гутлын мэдрэгч, GPS, W/o газрын зураг бүхий роботыг жолоодох: 13 алхам (зурагтай)
Гутлын мэдрэгч, GPS, W/o газрын зураг бүхий роботыг жолоодох: 13 алхам (зурагтай)

Видео: Гутлын мэдрэгч, GPS, W/o газрын зураг бүхий роботыг жолоодох: 13 алхам (зурагтай)

Видео: Гутлын мэдрэгч, GPS, W/o газрын зураг бүхий роботыг жолоодох: 13 алхам (зурагтай)
Видео: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024, Долдугаар сарын
Anonim

Оруулсан тухай: oblu бол доторх навигацийн мэдрэгч бөгөөд oblu -ийн тухай дэлгэрэнгүй »

Робот нь урьдчилан програмчлагдсан замаар хөдөлж, бодит хөдөлгөөнийг хянах зорилгоор бодит хөдөлгөөнийхөө мэдээллийг (bluetooth-ээр) утас руу дамжуулдаг. Arduino нь замыг урьдчилан програмчилсан бөгөөд oblu нь роботын хөдөлгөөнийг мэдрэхэд ашиглагддаг. oblu нь хөдөлгөөний мэдээллийг тогтмол хугацаанд Arduino руу дамжуулдаг. Үүн дээр үндэслэн Arduino нь роботыг урьдчилан тодорхойлсон замаар явахын тулд дугуйны хөдөлгөөнийг хянадаг.

Алхам 1: ТОВЧ ТАНИЛЦУУЛГА

ТОВЧ ТАНИЛЦУУЛГА
ТОВЧ ТАНИЛЦУУЛГА

Энэхүү төсөл нь роботыг GPS, WiFi эсвэл Bluetooth ашиглан байршил тогтоох, газрын зураг, барилга байгууламжийн төлөвлөгөө ч хийхгүйгээр нарийвчлалтайгаар урьдчилан тодорхойлсон замаар хөдөлгөх тухай юм. Мөн түүний бодит замыг (хэмжээс рүү) бодит цаг хугацаанд зур. Блютүүт нь утсыг орлож, байршлын мэдээллийг бодит цаг хугацаанд дамжуулахад ашиглаж болно.

Алхам 2: СОНИРХОЛТОЙ ТҮҮХИЙН ТҮҮХ

СОНИРХОЛТОЙ СУДАЛГААНЫ ТҮҮХ
СОНИРХОЛТОЙ СУДАЛГААНЫ ТҮҮХ

Манай багийн гол зорилт бол гутал дээр суурилуулсан явган хүний навигацийн мэдрэгчийг хөгжүүлэх явдал юм. Гэсэн хэдий ч бид роботыг дотор нь жолоодож, түүний байр суурийг нэгэн зэрэг хянах шаардлагатай болсон эрдэм шинжилгээний судалгааны группээс бидэнд хандсан. Тэд ийм системийг хаалттай камер дахь цацраг туяа эсвэл үйлдвэрлэлийн байгууламжид хий алдагдсан эсэхийг тодорхойлохыг хүссэн. Ийм газрууд нь хүмүүст аюултай. манай Arduino дээр суурилсан роботыг дотор нь залуурдах найдвартай шийдлийг хайж байна.

Аливаа хөдөлгөөн мэдрэгчийн модуль (IMU) -ийн бидний хамгийн тод сонголт бол "oblu" (Зургийн дээрх Ref) байв. Гэхдээ энд хамгийн хэцүү зүйл бол oblu-ийн одоо байгаа програм хангамж нь явган хүний нас барсан хүмүүсийг тоолох (PDR) эсвэл явган хүний навигац хийхэд тохиромжтой байсан явдал юм. oblu-ийн PDR-ийн гүйцэтгэл нь хөл дээр суурилуулсан IMU-ийн хувьд маш гайхалтай юм. Андройд аппликейшн (Xoblu) нь oblu-г гутлын мэдрэгчээр цаг алдалгүй хянах боломжтой байгаа нь давуу талыг нэмж байна. Гэсэн хэдий ч хүний алхах загварт суурилсан одоо байгаа алгоритмаа ашиглан роботыг жолоодож, түүнийг хянах нь сорилт байв.

Алхам 3: "oblu" руу товч танилцуулга

Image
Image
СИСТЕМИЙН ТОДОРХОЙЛОЛТ
СИСТЕМИЙН ТОДОРХОЙЛОЛТ

"oblu" бол элэгддэг хөдөлгөөн мэдрэгч програмуудад зориулагдсан жижиг хэмжээтэй, хямд өртөгтэй, нээлттэй эх үүсвэрийн хөгжлийн платформ юм. Энэ нь Li-ion цэнэглэдэг батерей бөгөөд USB батерейг цэнэглэх боломжийг олгодог. Утасгүй холболт хийх зориулалттай Bluetooth (BLE 4.1) модультай. "oblu" нь 32 битийн хөвөгч цэгийн микроконтроллерыг (Atmel's AT32UC3C) эзэмшдэг бөгөөд энэ нь онгоцны навигацийн тэгшитгэлийг шийдвэрлэх боломжийг олгодог. Тиймээс хүн бүх хөдөлгөөнийг өөрөө боловсруулж, эцсийн үр дүнг дамжуулдаг. Энэ нь oblu -ийн түнш системтэй нэгтгэх ажлыг маш энгийн болгодог. "oblu" нь мэдрэгчийг нэгтгэх, хөдөлгөөн мэдрэх чадварыг сайжруулах олон IMU (MIMU) массивтай. MIMU хандлага нь "oblu" -ийн өвөрмөц байдлыг нэмэгдүүлдэг.

oblu -ийн дотоод тооцоолол нь хүний алхалт дээр суурилдаг. oblu нь дараалсан хоёр алхам ба гарчгийн өөрчлөлтийн хоорондох нүүлгэн шилжүүлэлтийг өгдөг. Яаж - хөл газар хүрэх үед улны хурд тэг болно, өөрөөр хэлбэл ул нь зогсонги байдалд байна. Энэ аргаар oblu нь 'алхамуудыг' илрүүлж, зарим дотоод алдааг засдаг. Алдаагаа байнга засч залруулах нь маш сайн хянах чадварыг бий болгодог. Тиймээс энд загас барих нь энд байна. Хэрэв манай робот мөн адил хэв маягаар алхвал яах вэ - хөдөл, зогс, хөдөл, зогсо … Яг үнэндээ бол oblu -г хөдөлгөөнгүй тэг ба тэгийн момент бүхий аливаа объектод ашиглаж болно. Ийнхүү бид oblu -тай урагшилж, богино хугацаанд робот болон хяналтын системийг угсарч чадсангүй.

Алхам 4: "oblu" АШИГТАЙ ЮУ ВЭ?

Бид амьдралынхаа бараг 70% -ийг гэртээ өнгөрөөдөг. Тиймээс хүн ба машины дотор навигац хийх шаардлагатай олон програмууд байдаг. Байршлыг тодорхойлох хамгийн түгээмэл шийдэл бол хиймэл дагуул дээр суурилсан GPS/GNSS бөгөөд гадаа навигаци хийхэд тохиромжтой. Энэ нь цэлмэг тэнгэрт нэвтрэх боломжгүй дотоод орчинд эсвэл хотын орчинд бүтэлгүйтдэг. Ийм хэрэглээ нь ядуусын хороолол эсвэл хүнд модны халхавч дор байгаа газрын гео судалгаа, роботын дотор навигаци, гал унтраах, уул уурхайн осол, хотын дайн гэх мэт аврах албаны байршил юм.

Облугийн өмнөх загварыг гал сөнөөгчдийг байрлуулах зориулалттай маш авсаархан гутал мэдрэгч (эсвэл PDR мэдрэгч) болгон танилцуулсан бөгөөд үүнийг дараа нь хялбархан хайж буй үйлдвэрлэгчдэд зориулан бүтээх өндөр платформ болгон сайжруулж, өөрчилжээ. хүн ба роботын дотор навигацийн боломжийн инерцийн мэдрэгчтэй шийдэл. Өнөөг хүртэл oblu-ийн хэрэглэгчид явган зорчигчдыг хянах, үйлдвэрлэлийн аюулгүй байдал, нөөцийн менежмент, тактикийн цагдаа, GPS-ийн эзгүй хэсгийн гео-судалгаа, өөрөө жолоодлоготой робот, туслах робот техник, тоглоом, AR/VR, хөдөлгөөний эмгэгийг эмчлэх, физикийг ойлгох чиглэлээр өөрсдийн хэрэглээг харуулжээ. of хөдөлгөөн гэх мэт oblu нь орон зайн хязгаарлалттай програмуудад тохиромжтой, жишээ нь элэгддэг хөдөлгөөн мэдрэгч. Блютүүтийг ашигласнаар үүнийг утасгүй IMU болгон ашиглаж болно. Усан онгоцон дээр хөвөгч цэгийг боловсруулах чадвар байгаа нь IMU-ийн дөрвөн массивын хамт мэдрэгчийг нэгтгэх, хөдөлгөөнийг модуль дотор хийх боломжийг олгодог бөгөөд энэ нь маш нарийн хөдөлгөөн мэдрэх боломжийг олгодог.

Алхам 5: ТӨСЛИЙН ТҮҮХ

Image
Image

Энэ төслийн түүхийг видеон дээр харуулав …

Алхам 6: СИСТЕМИЙН ТОДОРХОЙЛОЛТ

Робот нь урьдчилан програмчилсан замаар хөдөлж, бодит хөдөлгөөнийг хянах зорилгоор бодит хөдөлгөөнийхөө мэдээллийг (bluetooth-ээр) утас руу дамжуулдаг.

Arduino нь замыг урьдчилан програмчилсан бөгөөд oblu нь роботын хөдөлгөөнийг мэдрэхэд ашиглагддаг. oblu нь хөдөлгөөний мэдээллийг тогтмол хугацаанд Arduino руу дамжуулдаг. Үүн дээр үндэслэн Arduino нь роботыг урьдчилан тодорхойлсон замаар явахын тулд дугуйны хөдөлгөөнийг хянадаг.

Роботын замыг шулуун шугамын сегмент болгон програмчилсан болно. Шугамын сегмент бүрийг өмнөхтэй харьцуулахад урт, чиг баримжаагаар нь тодорхойлно. Роботын хөдөлгөөнийг болгоомжтой байлгадаг, өөрөөр хэлбэл шулуун шугамаар хөдөлдөг, гэхдээ жижиг хэсгүүдэд (энгийнээр нь "алхам" гэж нэрлэе). Алхам бүрийн төгсгөлд oblu нь алхам алхмын урт ба хазайлтын цар хүрээг (чиг хандлагын өөрчлөлт) шулуун шугамаас Arduino руу дамжуулдаг. Arduino нь ийм мэдээллийг хүлээн авах алхам бүртээ роботын байрлалыг засаж залруулдаг бөгөөд хэрэв урьдчилан тодорхойлсон шулуун шугамаас хазайх юм бол програмын дагуу робот үргэлж шулуун шугамаар хөдөлдөг. Гэсэн хэдий ч энэ нь шулуун шугамаас хазайж, тэгш бус гадаргуу, роботын угсралтын массын тэнцвэргүй байдал, тогтмол гүйдлийн хөдөлгүүрийн архитектур эсвэл цахилгаан тэнцвэргүй байдал, урд талын чөлөөт дугуйны санамсаргүй чиглэл гэх мэт идеал бус байдлаас шалтгаалан тодорхой өнцгөөр эсвэл хазайсан замаар явж болно. Нэг алхам хий.. толгойгоо зас … урагшаа яв. Робот нь тухайн шугамын сегментийн програмчлагдсан уртаас илүү урт замыг туулсан тохиолдолд ухрах болно. Дараагийн алхамын урт нь тухайн шулуун шугамын сегментийн үлдсэн зайнаас хамаарна. Явах зай нь илүү том байх үед робот том алхам хийж, очих газраа ойрхон жижиг алхам хийдэг (өөрөөр хэлбэл шулуун шугамын сегмент бүрийн төгсгөл). oblu нь өгөгдлийг Arduino болон утас руу (bluetooth -ээр) нэгэн зэрэг дамжуулдаг. Xoblu (Андройд апп) нь роботоос авсан хөдөлгөөний мэдээлэлд үндэслэн зам барихын тулд энгийн тооцоолол хийдэг бөгөөд үүнийг утсан дээр бодит цаг хугацаанд хянахад ашигладаг. (Xoblu ашиглан зам барих ажлыг хоёр дахь зурагт үзүүлэв).

Дүгнэж хэлэхэд, oblu нь хөдөлгөөнийг мэдэрч, хөдөлгөөний мэдээллийг Arduino болон утас руу тогтмол хугацаанд дамжуулдаг. Програмчлагдсан зам, хөдөлгөөний мэдээлэл (oblu илгээсэн) дээр үндэслэн Arduino дугуйны хөдөлгөөнийг хянадаг. Роботын хөдөлгөөнийг эхлүүлэх/зогсоох командыг эс тооцвол алсаас удирдах боломжгүй.

Oblu програмыг https://sourceforge.net/p/openshoe/_list/git хаягаар орж үзнэ үү.

Aurduino роботын кодыг авахын тулд https://github.com/vijkumsha/oblu_Robot хаягаар зочилно уу.

Алхам 7: ЗАМЫН ЗАГВАРЛАЛ

Замын загварчлал
Замын загварчлал
Замын загварчлал
Замын загварчлал

Роботыг зөвхөн шулуун шугамын сегментээр явбал хамгийн сайн удирдах боломжтой болно. Тиймээс замыг эхлээд шулуун шугамын сегмент болгон загварчлах ёстой бөгөөд зураг нь нүүлгэн шилжүүлэлт, чиглэлийн хувьд хэд хэдэн жишээ зам, тэдгээрийн дүрслэлийг агуулсан болно. Замыг Arduino дээр ингэж програмчилсан болно.

Үүний нэгэн адил шулуун шугамын сегментүүдийн аль ч замыг Arduino дээр тодорхойлж, програмчилж болно.

Алхам 8: ХУРАЛДААНЫ ХУРАЛ

ХҮРГЭЛИЙН ЧУУЛГАН
ХҮРГЭЛИЙН ЧУУЛГАН

Дээд түвшний системийг нэгтгэх диаграм. Arduino болон oblu нь тоног төхөөрөмжийн угсралтын нэг хэсэг юм. UART нь Arduino болон oblu хоёрын хоорондох харилцаанд ашиглагддаг. (Rx/Tx холболтыг анхаарна уу.) Өгөгдлийн урсгалын чиглэл нь зөвхөн лавлагаанд зориулагдсан болно. Бүх тоног төхөөрөмжийн угсралт нь bluetooth ашиглан ухаалаг гар утсаар (Xoblu) холбогддог.

Алхам 9: ХҮРЭЭЛЭХ ДИАГРАММ

ХҮРЭЭНИЙ ОНОО
ХҮРЭЭНИЙ ОНОО

Arduino, oblu, мотор драйвер, батерейны хоорондох нарийвчилсан цахилгаан холболт.

Алхам 10: Харилцаа холбооны протокол

Робот болон смартфон дээр суурилуулсан oblu мэдрэгч, өөрөөр хэлбэл Xoblu -ийн хооронд өгөгдлийн харилцаа хэрхэн явагддагийг доор харуулав.

Алхам 1: Xoblu нь oblu руу START командыг илгээдэг 2 -р алхам: oblu нь Xoblu руу тохирох ACK илгээж тушаалыг хүлээн авснаа хүлээн зөвшөөрч байна. (алхам = тэг хөдөлгөөнийг илрүүлэх эсвэл зогсонги байдлыг илрүүлэх бүрт). Алхам 4: Xoblu хамгийн сүүлийн өгөгдлийн пакетийг хүлээн авсан гэдгээ хүлээн зөвшөөрч байна. (3 ба 4 -р алхамуудын мөчлөгийг Xoblu STOP илгээх хүртэл давтана. STOP командыг хүлээн авснаар oblu 5 -р алхамыг гүйцэтгэнэ) 5 -р алхам: STOP - (i) oblu дахь боловсруулалтыг зогсоох (ii) oblu дахь бүх гаралтыг зогсоох START, ACK, DATA болон STOP -ийн дэлгэрэнгүй мэдээлэл

Алхам 11: "oblu" IMU хэрхэн ажилладаг вэ (заавал биш):

Хөл дээр суурилуулсан PDR мэдрэгчийн үндсэн ойлголт, үйл ажиллагааны үндсэн зарчмуудын талаархи зарим лавлагааг танилцуулж байна.

Боломжит oblu эх код нь хөл дээр суурилсан навигацид зориулагдсан болно. Мөн энэ зорилгоор хамгийн сайн оновчтой болгосон. Доорх видео нь түүний үндсэн үйл ажиллагааны зарчмыг харуулсан болно.

Хөл дээр суурилуулсан PDR мэдрэгчтэй холбоотой хэд хэдэн энгийн нийтлэлүүдийг энд оруулав: 1. Миний алхамуудыг дагаж мөрдөөрэй

2. Миний алхамуудыг үргэлжлүүлэн хянаж байгаарай

Хөл мэдрэгч ашиглан явган зорчигчийн нас барсан тооллогын талаархи дэлгэрэнгүй мэдээллийг та энэ баримт бичигт үзүүлж болно.

Алхам 12: "oblu.io" руу зочилно уу (заавал биш)

Image
Image

"Oblu" програмыг ашиглах боломжтой видеог үзээрэй.

-------------- Та санал хүсэлт, саналаа хуваалцаж, сэтгэгдлээ үлдээнэ үү. Хамгийн сайн сайхныг хүсье!

Алхам 13: Бүрэлдэхүүн хэсгүүд

1 oblu (нээлттэй эх үүсвэр бүхий IMU хөгжүүлэх платформ)

1 Ухаалаг мотор робот Машины батерейны хайрцаг Явах эд анги нь Arduino -д зориулсан DIY хурд кодлогч юм

1 Гагнуургүй талхны талхны хэмжээ

1 эрэгтэй/эмэгтэй холбогч утас

2 конденсатор 1000 μF

1 Texas Instruments Dual H-Bridge мотор жолооч L293D

1 Arduino Mega 2560 ба Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH цэнэглэдэг

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