Мазмуну:
- Жабдуулар
- 1 -кадам: Сигналды алуу
- 2 -кадам: жөнөкөйлөтүлгөн сигнал
- 3 -кадам: Сигналдарды иштетүү
- 4 -кадам: схемалар
- 5 -кадам: EMG сенсорлорун жайгаштыруу
- 6 -кадам: Код
- 7 -кадам: Жыйынтыктар
Video: EMG менен роботтук көзөмөл: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул долбоор булчуң активдүүлүгүн өлчөө жана иштетүү үчүн колдонулган 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 сенсорлорун жайгаштыруу
Акылга сыярлык көрсөткүчтөрдү алуу үчүн, булчуңдардын активдүүлүгүн жазып жаткан uECG түзмөктөрүн туура жерлерге коюу маанилүү. Бул жерде ар кандай варианттар болушу мүмкүн, бирок ар бири сигналды иштетүүнүн башка ыкмасын талап кылат - андыктан менин кодум менен сүрөттөрүмө окшош жайгаштырууну колдонуу эң жакшы., ошондуктан сенсорлордун бири ошол жерге жайгаштырылган жана алардын баары чыканакка жакын жайгаштырылган (булчуңдардын денесинин көпчүлүгү ошол аймакта, бирок сиздики так кайда экенин текшергиңиз келет - бул жерде чоң айырмачылык бар)
6 -кадам: Код
Негизги программаны иштетүүдөн мурун, сиз өзгөчө uECG түзмөктөрүңүздүн бирдик идентификаторлорун билишиңиз керек (ал 101 -линияны өчүрүү жана түзмөктөрдү бирден -бир күйгүзүү менен жасалат, башка нерселердин арасында учурдагы түзмөктүн идентификаторун көрөсүз) жана аларды толтуруу unit_ids массиви (37 -сап). Мындан тышкары, формула коэффициенттери менен ойноону каалайсыз (129-131-саптар) жана роботтун колуна жабыштыруудан мурун анын сериялык плоттерге кандай караарын текшериңиз.
7 -кадам: Жыйынтыктар
Болжол менен 2 саатка созулган кээ бир эксперименттер менен, мен абдан ишенимдүү иштей алдым (видео типтүү ишти көрсөтөт). Ал өзүн жакшы алып жүрбөйт жана бул иштетүү менен ачык жана жабык манжаларды гана тааный алат (ал тургай, ар бир 5 булчуңдун 3 тобун гана аныктайт: баш бармак, көрсөткүч жана орто бирге, шакек жана кичинекей манжалар чогуу). Бирок сигналды талдаган "AI" бул жерде 3 сап кодду алат жана ар бир каналдан бирден маанини колдонот. Менин оюмча, компьютерде же смартфондогу 32-бин спектралдык сүрөттөрдү талдоо аркылуу дагы көп нерселерди жасоого болот. Ошондой эле, бул версия 3 uECG түзмөктөрүн гана колдонот (EMG каналдары). Көбүрөөк каналдар менен, чынында эле татаал үлгүлөрдү таануу мүмкүн болушу керек - бирок жакшы, бул долбоордун мааниси, кызыккандардын баарына бир аз баштапкы чекитти камсыз кылуу:) Кол менен башкаруу, албетте, мындай системанын жалгыз колдонмосу эмес.
Сунушталууда:
Көз айнек менен роботтук келишим: 5 кадам
Көз айнек менен роботтук ДЕАЛ: Бул проект сизге роботтор менен келишим түзүүнү көрсөтөт. Бул долбоорго 3D работасы орнотулган, ал арзан робот стойкасы жана тиштүү бөлүктөрү менен айкалышса, сызыктуу кыймылдаткычты түзөт. Бул жерден тоону жүктөп алуу менен баштаңыз: https: //www.th
Туруктуу жана тышкы көзөмөл үчүн Strobe Blacklight Hacking: 5 кадам (Сүрөттөр менен)
Туруктуу жана тышкы көзөмөл үчүн Strobe Blacklight Hacking: Жыл сайын чоң кутучалардын дүкөндөрүндө УК диоддору менен жасалган стробдук кара чырактар сатылат. Капталында строб ылдамдыгын көзөмөлдөгөн баскыч бар. Бул кызыктуу жана арзан, бирок аларда үзгүлтүксүз режим жок. Дагы эмне, жарыкты өчүрүп коюу жакшы болмок
WiFi жана IR Remote жана Android колдонмосун колдонуп NodeMCU жана IR алуучу менен 8 релелик көзөмөл: 5 кадам (сүрөттөр менен)
WiFi жана IR Remote жана Android тиркемесин колдонуп NodeMCU жана IR алуучу менен 8 реле көзөмөлү: wifi жана ир алыскы жана андроид колдонмосу аркылуу nodemcu жана IR кабыл алгычты колдонуп 8 реле өчүргүчтөрүн көзөмөлдөө БУЛ ЖЕРДЕ
Venco - Ылдамдык жана көзөмөл: 5 кадам (Сүрөттөр менен)
Venco - Ылдамдык жана көзөмөл: Venco - бул унаанын артында борборлоштурулган, бийик орнотулган абалда орнотулган түзүлүш. Бул сенсорлордун маалыматтарын талдайт - гироскоп жана акселерометр жана унаанын учурдагы абалын көрсөтөт - ылдамдануу, тормоз
Желе көзөмөлдөгөн көзөмөл камерасы: 8 кадам (сүрөттөр менен)
Желе көзөмөлдөгөн көзөмөл камерасы: Бул иштин максаты-веб-баракча интерфейси менен байкоо системасын кантип куруу керек экенин көрсөтүү. Веб -камераны интерфейс аркылуу вертикалдуу же горизонталдуу багытка бурса болот, бирок чек ара сенсорлору уруксат берген аймакта. Уландысы