Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Дохио олж авах
- Алхам 2: Хялбаршуулсан дохио
- Алхам 3: Дохио боловсруулах
- Алхам 4: Схем
- Алхам 5: EMG мэдрэгчийг байрлуулах
- Алхам 6: Код
- Алхам 7: Үр дүн
Видео: EMG -тэй робот гар хяналт: 7 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Энэ төсөл нь булчингийн үйл ажиллагааг хэмжих, боловсруулахад ашигладаг 3 opensource uECG төхөөрөмж (робот, EMG) ашиглан робот гар (opensource hand inMoov ашиглан) хяналтыг харуулж байна. Манай баг гар, хяналттай урт түүхтэй бөгөөд энэ бол зөв чиглэлд хийсэн сайн алхам юм:)
Хангамж
3x uECG төхөөрөмж1x Arduino (би Nano -г ашиглаж байгаа боловч бусад ихэнх нь ажиллах болно) 1x nRF24 модуль (ямар ч ерөнхий зүйл хийх боломжтой) 1x PCA9685 эсвэл үүнтэй төстэй servo драйвер1x inMoov hand5x том servo (нийцтэй төрлүүдийн inMoov зааврыг үзнэ үү) 1x 5V цахилгаан хангамж 5А ба түүнээс дээш гүйдэл
Алхам 1: Дохио олж авах
Хяналт нь EMG дээр суурилдаг - булчингийн цахилгаан үйл ажиллагаа. EMG дохиог гурван uECG төхөөрөмжөөр авдаг (энэ нь ЭКГ -ийн дэлгэц байх ёстой гэдгийг би мэднэ, гэхдээ энэ нь ерөнхий ADC дээр суурилсан тул ямар ч био дохиог хэмжиж чаддаг, үүнд EMG орно). EMG-ийг боловсруулахын тулд uECG нь 32 бинт спектрийн өгөгдөл дамжуулдаг тусгай горимтой бөгөөд "булчингийн цонх" дундаж (75-440 Гц-ийн хоорондох спектрийн дундаж эрчим). Спектрийн зургууд цаг хугацааны явцад өөрчлөгддөг цэнхэр ногоон өнгийн хэв маяг шиг харагддаг. Энд давтамж нь босоо тэнхлэгт байна (3 график тус бүр дээр, доод давтамж бага, дээд хэсэгт - 0 -ээс 488 Гц хүртэл ~ 15 Гц алхамтай), цаг нь хэвтээ байна (зүүн талын хуучин өгөгдөл энд байна) Дэлгэц дээр ойролцоогоор 10 секунд байна). Эрчим хүчийг өнгөөр кодлодог: цэнхэр - нам, ногоон - дунд, шар - өндөр, улаан - бүр ч өндөр.
Алхам 2: Хялбаршуулсан дохио
Дохио зангаа найдвартай танихын тулд эдгээр спектрийн дүрсийг компьютерт зохих ёсоор боловсруулах шаардлагатай. Гэхдээ робот гар хурууг хялбархан идэвхжүүлэхийн тулд 3 суваг дээр дундаж утгыг ашиглахад л хангалттай - uECG нь үүнийг тодорхой пакет байтаар өгдөг бөгөөд ингэснээр Arduino -ийн ноорог үүнийг задлах боломжтой болно. Эдгээр утгууд нь илүү энгийн харагдаж байна - Би Arduino -ийн цуваа плоттерын түүхий үнэ цэнийн хүснэгтийг хавсаргав. Улаан, ногоон, цэнхэр диаграмууд нь эрхий хуруу, цагираг, дунд хуруугаа зохих ёсоор нь шахаж байх үед булчингийн янз бүрийн бүлгүүдийн 3 uECG төхөөрөмжүүдийн түүхий утга юм. Бидний нүдний хувьд эдгээр тохиолдлууд өөр өөр байдаг, гэхдээ бид эдгээр утгыг "хурууны оноо" болгон хувиргах хэрэгтэй бөгөөд ингэснээр програм нь утгыг гар серверт дамжуулж чаддаг. Асуудал нь булчингийн бүлгүүдийн дохио "холилдсон" байдаг: 1, 3 -р тохиолдолд цэнхэр дохионы эрчим ойролцоогоор ижил байдаг боловч улаан, ногоон нь өөр өөр байдаг. 2 ба 3 дахь тохиолдолд ногоон дохио ижил боловч цэнхэр, улаан нь өөр өөр байдаг.
Алхам 3: Дохио боловсруулах
Эдгээр дохиог "холих" зорилгоор би харьцангуй энгийн томъёог ашигласан.
S0 = V0^2 / ((V1 * a0 +b0) (V2 * c0 +d0))), энд S0 - 0, V0, V1, V2 сувгийн оноо - 0, 1, 2, а сувгуудын түүхий утга b, c, d - миний гараар тохируулсан коэффициентүүд (a ба c нь 0.3 -аас 2.0 хүртэл, b ба d нь 15 ба 20 байсан тул та ямар ч байсан мэдрэгчийнхээ байршлыг тохируулахын тулд тэдгээрийг өөрчлөх хэрэгтэй болно). Үүнтэй ижил оноог 1, 2 -р суваг дээр тооцоолсон болно. Үүний дараа графикууд бараг төгс тусгаарлагдсан байв. Үүнтэй ижил дохио зангаагаар (энэ удаа хуруу, дунд, дараа нь эрхий хуруугаараа) дохио нь тодорхой бөгөөд босгыг харьцуулж үзэхэд servo хөдөлгөөнд хялбархан орчуулж болно.
Алхам 4: Схем
Схем нь маш энгийн, танд зөвхөн nRF24 модуль, PCA9685 эсвэл үүнтэй төстэй I2C PWM хянагч, 5V өндөр хүчдэлийн хангамж хэрэгтэй бөгөөд энэ нь эдгээр бүх сервог нэгэн зэрэг шилжүүлэхэд хангалттай байх болно (тиймээс тогтвортой ажиллахын тулд дор хаяж 5А нэрлэсэн хүч шаардагдана).
Холболтын жагсаалт: nRF24 зүү 1 (GND) - Arduino -ийн GNDnRF24 зүү 2 (Vcc) - Arduino -ийн 3.3vnRF24 зүү 3 (Чипийг идэвхжүүлэх) - Arduino D9nRF24 зүү 4 (SPI: CS) - Arduino -ийн D8nRF24 зүү 5 (SPI: SCK) - Arduino -ийн D13nRF24 зүү 6 (SPI: MOSI) - Arduino -ийн D11nRF24 зүү 7 (SPI: MISO) - Arduino -ийн D12PCA9685 SDA - Arduino -ийн A4PCA9685 SCL - Arduino -ийн A5PCA9685 Vcc - Arduino -ийн 5vPVPCA9685 GND -A55 GND5A55 -GD5A -G95A PCA сувгууд 0-4, миний эрхий хуруун дээр - 0 суваг, долоовор хуруу - 1 суваг гэх мэт.
Алхам 5: EMG мэдрэгчийг байрлуулах
Боломжит уншилт авахын тулд булчингийн үйл ажиллагааг бүртгэдэг uECG төхөөрөмжийг зөв газар байрлуулах нь чухал юм. Энд олон янзын сонголт хийх боломжтой боловч тус бүр нь дохио боловсруулах өөр өөр аргыг шаарддаг тул миний кодын хувьд миний зургуудтай төстэй байрлалыг ашиглах нь илүү тохиромжтой байдаг. Тиймээс нэг мэдрэгчийг тэнд байрлуулж, бүгдийг нь тохойнд ойрхон байрлуулна (булчингууд ихэнх хэсэгт нь байдаг, гэхдээ та яг хаана байрладаг болохыг шалгахыг хүсч байна - хувь хүний ялгаа их байна)
Алхам 6: Код
Үндсэн програмыг ажиллуулахын өмнө та өөрийн тусгай uECG төхөөрөмжүүдийн нэгжийн ID -г олж мэдэх хэрэгтэй (үүнийг 101 -р мөрийг тайлах, төхөөрөмжийг нэг нэгээр нь асаах замаар хийж болно, та бусад зүйлийн дотор одоогийн төхөөрөмжийн ID -г харах болно). unit_ids массив (мөр 37). Үүнээс гадна та томъёоны коэффициент (129-131 шугам) -аар тоглож, роботын гарт холбохоос өмнө цуваа плоттер дээр хэрхэн харагдаж байгааг шалгахыг хүсч байна.
Алхам 7: Үр дүн
2 цаг орчим үргэлжилсэн зарим туршилтуудын ачаар би нэлээд найдвартай ажиллагаатай болсон (видео нь ердийн тохиолдлыг харуулсан болно). Энэ нь төгс бус ажилладаг бөгөөд ийм боловсруулалтаар зөвхөн нээлттэй, хаалттай хурууг таних боломжтой (мөн 5 -уулаа ч биш, зөвхөн 3 булчингийн бүлгийг илрүүлдэг: эрхий хуруу, индекс ба дунд хэсэг, бөгж, жижиг хуруунууд хамтдаа). Гэхдээ дохиог шинжилдэг "AI" энд 3 мөр код авч суваг тус бүрээс нэг утгыг ашигладаг. Компьютер эсвэл ухаалаг гар утсан дээрх 32 бинт спектрийн зургийг шинжлэх замаар илүү их зүйлийг хийх боломжтой гэдэгт би итгэдэг. Түүнчлэн, энэ хувилбарт зөвхөн 3 uECG төхөөрөмж (EMG суваг) ашигладаг. Илүү олон сувагтай бол үнэхээр нарийн төвөгтэй хэв маягийг таних боломжтой байх ёстой - гэхдээ энэ бол төслийн гол зорилго бөгөөд сонирхсон бүх хүмүүст эхлэх цэгийг өгөх болно:) Гар хяналт нь ийм системийн цорын ганц програм биш юм.
Зөвлөмж болгож буй:
ESP8266, Google Home болон Openhab интеграцчлал, вэб хяналт ашиглан сохор хөшигний хяналт: 5 алхам (зурагтай)
ESP8266, Google Home болон Openhab интеграцчлал ба вэб хяналт ашиглан сохор хөшигний хяналт: Энэхүү зааварчилгаанд би хөшиг дээрээ автоматжуулалтыг хэрхэн нэмсэнээ харуулав. Би автоматжуулалтыг нэмж, устгахыг хүсч байсан тул бүх суурилуулалтыг хавсаргасан болно. Үндсэн хэсгүүд нь: Stepper мотор Stepper драйвер удирддаг bij ESP-01 Gear and mounting
Ухаалаг гар утасны видео дамжуулалт ба хяналт 4WD робот машин (Bluetooth -ээр): 5 алхам
Ухаалаг гар утасны видео дамжуулалт ба хяналт 4WD робот машин (Bluetooth -ээр): Сайн байна уу! Би Arduino -д зориулсан өвөрмөц TFT бамбайд зориулагдсан цуврал нийтлэлээ үргэлжлүүлж байна. Энэхүү нийтлэл нь " алсын хараатай " 4WD робот бүтээхэд зориулагдах болно. зураг дамжуулах нийтлэг, хямд камер OV7670 -ийг ашиглан
Робот гар тоглоом - Ухаалаг гар утасны хянагч: 6 алхам
Робот гар тоглоом - Ухаалаг гар утас хянагч: Сайн байна уу! Зуны хөгжилтэй тоглоом: Ухаалаг гар утсаар удирддаг робот гар !! Та видеон дээр харж байгаа шиг гар утсан дээрээ зарим тоглоомын тусламжтайгаар гараа удирдаж болно. роботыг давталтаар хуулбарлахын тулд
ESP8266 RGB LED зурвасын WIFI хяналт - NODEMCU нь Wifi -ээр удирддаг Led зурвасын IR алсын удирдлага болгон ашигладаг. - RGB LED STRIP ухаалаг гар утасны хяналт: 4 алхам
ESP8266 RGB LED зурвасын WIFI хяналт | NODEMCU нь Wifi -ээр удирддаг Led зурвасын IR алсын удирдлага болгон ашигладаг. | RGB LED STRIP ухаалаг гар утасны хяналт: Сайн байна уу залуусаа, энэ заавар дээр бид nodemcu эсвэл esp8266 -ийг IR алсын удирдлага болгон RGB LED зурвасыг хэрхэн ашиглах талаар сурах болно, Nodemcu нь ухаалаг гар утсаар wifi -ээр хянагдах болно. Үндсэндээ та ухаалаг гар утсаараа RGB LED STRIP -ийг удирдах боломжтой
Бодит гар хөдөлгөөнийг хянадаг энгийн робот гар: 7 алхам (зурагтай)
Бодит гар хөдөлгөөнийг хянадаг энгийн робот гар: Энэ бол эхлэгчдэд зориулсан DOF робот гар юм. Гарыг Arduino удирддаг. Энэ нь операторын гарт залгагдсан мэдрэгчтэй холбогдсон байна. Тиймээс оператор тохойны хөдөлгөөнөө нугалж гарын тохойгоо удирдах боломжтой