Мазмуну:

EMG менен роботтук көзөмөл: 7 кадам
EMG менен роботтук көзөмөл: 7 кадам

Video: EMG менен роботтук көзөмөл: 7 кадам

Video: EMG менен роботтук көзөмөл: 7 кадам
Video: Видеоинструкция: Как собрать насадку соковыжималку к мясорубке Wollmer M905? 2024, Ноябрь
Anonim
Image
Image
Сигнал алуу
Сигнал алуу

Бул долбоор булчуң активдүүлүгүн өлчөө жана иштетүү үчүн колдонулган 3 opensource uECG приборлору менен робот колун (opensource hand inMoov колдонуп) башкарууну көрсөтөт (электромиограмма, EMG). Биздин команданын колу жана көзөмөлү менен узак тарыхы бар жана бул туура багытта жакшы кадам:)

Жабдуулар

3x uECG түзмөктөрү 1x Arduino (мен Nano колдонуп жатам, бирок башкалары иштейт) 1x nRF24 модулу (кандайдыр бир жалпы нерсе жасайт) 1x PCA9685 же ушуга окшош servo драйвер1x inMoov hand5x чоң сервос (inMoov инструкцияларын караңыз) 1x 5V кубаттуулугу 5А же андан көп ток

1 -кадам: Сигналды алуу

Башкаруу EMGге негизделген - булчуңдардын электрдик активдүүлүгү. EMG сигналы үч uECG түзмөгү тарабынан алынат (билем, бул ЭКГ монитору болушу керек, бирок ал жалпы АДКга негизделгендиктен, ар кандай биосигналдарды, анын ичинде 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 pin 1 (GND) - Arduino's GNDnRF24 pin 2 (Vcc) - Arduino's 3.3vnRF24 pin 3 (Chip Enable) - Arduino's D9nRF24 pin 4 (SPI: CS) - Arduino's D8nRF24 pin 5 (SPI: SCK) - Arduino's D13nRF24 pin 6 (SPI: MOSI) - Arduino's D11nRF24 pin 7 (SPI: MISO) - Arduino's D12PCA9685 SDA - Arduino's A4PCA9685 SCL - Arduino's A5PCA9685 Vcc - Arduino's 5vPDCA9685 GND - A55 - GND5A55 - GND5A55 PCA каналдары 0-4, менин бармагымда - 0 канал, сөөмөй - 1 канал ж.

5 -кадам: EMG сенсорлорун жайгаштыруу

EMG сенсорлорун жайгаштыруу
EMG сенсорлорун жайгаштыруу
EMG сенсорлорун жайгаштыруу
EMG сенсорлорун жайгаштыруу

Акылга сыярлык көрсөткүчтөрдү алуу үчүн, булчуңдардын активдүүлүгүн жазып жаткан uECG түзмөктөрүн туура жерлерге коюу маанилүү. Бул жерде ар кандай варианттар болушу мүмкүн, бирок ар бири сигналды иштетүүнүн башка ыкмасын талап кылат - андыктан менин кодум менен сүрөттөрүмө окшош жайгаштырууну колдонуу эң жакшы., ошондуктан сенсорлордун бири ошол жерге жайгаштырылган жана алардын баары чыканакка жакын жайгаштырылган (булчуңдардын денесинин көпчүлүгү ошол аймакта, бирок сиздики так кайда экенин текшергиңиз келет - бул жерде чоң айырмачылык бар)

6 -кадам: Код

Негизги программаны иштетүүдөн мурун, сиз өзгөчө uECG түзмөктөрүңүздүн бирдик идентификаторлорун билишиңиз керек (ал 101 -линияны өчүрүү жана түзмөктөрдү бирден -бир күйгүзүү менен жасалат, башка нерселердин арасында учурдагы түзмөктүн идентификаторун көрөсүз) жана аларды толтуруу unit_ids массиви (37 -сап). Мындан тышкары, формула коэффициенттери менен ойноону каалайсыз (129-131-саптар) жана роботтун колуна жабыштыруудан мурун анын сериялык плоттерге кандай караарын текшериңиз.

7 -кадам: Жыйынтыктар

Болжол менен 2 саатка созулган кээ бир эксперименттер менен, мен абдан ишенимдүү иштей алдым (видео типтүү ишти көрсөтөт). Ал өзүн жакшы алып жүрбөйт жана бул иштетүү менен ачык жана жабык манжаларды гана тааный алат (ал тургай, ар бир 5 булчуңдун 3 тобун гана аныктайт: баш бармак, көрсөткүч жана орто бирге, шакек жана кичинекей манжалар чогуу). Бирок сигналды талдаган "AI" бул жерде 3 сап кодду алат жана ар бир каналдан бирден маанини колдонот. Менин оюмча, компьютерде же смартфондогу 32-бин спектралдык сүрөттөрдү талдоо аркылуу дагы көп нерселерди жасоого болот. Ошондой эле, бул версия 3 uECG түзмөктөрүн гана колдонот (EMG каналдары). Көбүрөөк каналдар менен, чынында эле татаал үлгүлөрдү таануу мүмкүн болушу керек - бирок жакшы, бул долбоордун мааниси, кызыккандардын баарына бир аз баштапкы чекитти камсыз кылуу:) Кол менен башкаруу, албетте, мындай системанын жалгыз колдонмосу эмес.

Сунушталууда: