Мазмуну:

Walking Strandbeest, Java/Python жана App Controled: 4 Steps (Сүрөттөр менен)
Walking Strandbeest, Java/Python жана App Controled: 4 Steps (Сүрөттөр менен)

Video: Walking Strandbeest, Java/Python жана App Controled: 4 Steps (Сүрөттөр менен)

Video: Walking Strandbeest, Java/Python жана App Controled: 4 Steps (Сүрөттөр менен)
Video: TrotBot, Klann, Strandbeest, & Strider Linkages in Motion 2024, Июль
Anonim

By arrowlikeFollow More by Author:

Жөнөкөй гармониялык кыймылды эксперименталдык изилдөө
Жөнөкөй гармониялык кыймылды эксперименталдык изилдөө
Жөнөкөй гармониялык кыймылды эксперименталдык изилдөө
Жөнөкөй гармониялык кыймылды эксперименталдык изилдөө

Бул Strandbeest комплект Тео Жансен ойлоп тапкан Strandbeestке негизделген DIY эмгеги. Гениалдуу механикалык дизайнга таң калып, аны толук маневрлүүлүк менен, андан кийин компьютердик интеллект менен жабдууну каалайм. Бул көрсөтмөдө биз биринчи бөлүктүн үстүндө иштейбиз, маневр. Биз ошондой эле компьютердик көрүнүш жана AI иштетүү менен ойной алышыбыз үчүн, кредиттик карта өлчөмүндөгү компьютердин механикалык түзүлүшүн камтыйбыз. Курулуш иштерин жөнөкөйлөтүү үчүн мен arduino же ушуга окшош программалоочу компьютерди колдонгон жокмун, анын ордуна bluetooth аппараттык контроллерин курдум. Робот жабдыктары менен иштөөчү терминал катары иштеген бул контролер, андроид телефон колдонмосу же RaspberryPi сыяктуу күчтүү системалар тарабынан көзөмөлдөнөт. Башкаруу уюлдук телефон интерфейсинин көзөмөлү, же python же Java тилинде программалоочу көзөмөл болушу мүмкүн. Ар бир программалоо тили үчүн бир SDK https://github.com/xiapeiqing/m2robots.git сайтында ачык булак болуп саналат

Mini-Strandbeest колдонмосу курулуш кадамдарын түшүндүрүү жагынан бир топ түшүнүктүү болгондуктан, бул нускамада биз адатта колдонуучунун колдонмосунда камтылбаган маалыматтарга жана электрдик/электрондук бөлүктөргө токтолобуз.

Эгерде бизге бул комплектти механикалык чогултуу боюнча интуитивдүү идея керек болсо, анда монтаж темасында бир нече жакшы видеолор бар, мисалы

Жабдуулар

Механикалык бөлүктү куруу жана бул Strandbeestтин бардык электрдик туташууларын жасоо үчүн, 3D басып чыгарууну күтүү убактысы эсепке алынбаса, бүтүрүү үчүн 1 сааттан аз убакыт кетиши керек. Ал төмөнкү бөлүктөрдү талап кылат:

(1) 1x стандарттуу Strandbeest комплект (https://webshop.strandbeest.com/ordis-parvus)

(2) 2x DC мотору Gear Box менен (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1x Bluetooth контроллери (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x LiPo Батареясы (3.7V, мАч кубаттуулугун тандоо)

(5) 12x M2x5.6mm жыгач бурамалары

(6) 2мм диаметри Көмүр же бамбук таягы

Төмөнкү бөлүктөрдү 3D басып чыгаруу:

(1) 1x робототехниканын негизги органы

(Bluetooth контроллери менен 3D басып чыгаруу файлы жүктөлүп алынат)

(Кошумча OrangePi Nano жүктөө менен 3D принтер дизайн файлы)

(2) 2x Drive вал фланеци (3D принтер дизайн файлын жүктөө)

(3) 2x электр системасынын жабдуулары (3D принтер дизайн файлын жүктөө)

Башкалар:

Android уюлдук телефону. Google playstoreго өтүңүз, M2ROBOTSту издеп, башкаруу колдонмосун орнотуңуз.

Google Play дүкөнүнө кирүү кыйын болсо, колдонмону жүктөөнүн альтернативалуу ыкмасын көрүү үчүн менин жеке башкы баракчама баш багыңыз

1 -кадам: Бөлүктөрдү уюштуруу

Бөлүктөрдү уюштуруу
Бөлүктөрдү уюштуруу
Бөлүктөрдү уюштуруу
Бөлүктөрдү уюштуруу
Бөлүктөрдү уюштуруу
Бөлүктөрдү уюштуруу
Бөлүктөрдү уюштуруу
Бөлүктөрдү уюштуруу

Бул кадамда биз чогултула турган бардык тетиктерди уюштурабыз. 1 -сүрөт. Strandbeest моделин куруу үчүн колдонгон бардык пластикалык тетиктерди көрсөтөт. Алар 3D принтер же фрезерлөө сыяктуу башка иштетүү өндүрүш методдоруна салыштырмалуу абдан натыйжалуу болгон сайынуу жолу менен жасалат. Мына ошондуктан биз массалык түрдө чыгарылган продукциянын максималдуу артыкчылыгын колдонууну каалайбыз жана бөлүктөрдүн эң аз өлчөмүн гана ыңгайлаштырабыз.

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

Пластикалык бөлүктү чоңураак пластикалык тактайдан кесип салуу үчүн, кайчы менен бычак Fig.4 жана 5те көрсөтүлгөндөй эле коопсуз жана натыйжалуу болбошу мүмкүн.

Бул жерде бардыгы пластмассадан жасалган, манжалардын материалдары резина эмес, 6 -сүрөттү караңыз. Биз алдын ала даярдалган кесимдер боюнча кесип алабыз. Резина материалынын жумшак мүнөзү strandbeestтин жакшыраак кармалышын камсыз кылат. Бул айрыкча тоого чыкканда туура болот. Кийинки темаларда биз резина манжалары бар жана ансыз ар кандай эңкейиш бурчта чыгуу жөндөмүн текшере алабыз. Эч кандай тайып кетүү болбогондо, ал статикалык сүрүлүү деп аталат. Ал туткасын жоготкондон кийин, кинетикалык сүрүлүүгө айланат. Сүрүлүү коэффициенти колдонулган материалдардан көз каранды, ошондуктан резина манжаларыбыз бар. Экспериментти кантип иштеп чыгуу керек, колуңузду көтөрүп сүйлөңүз.

Акыркы Сүрөттө "ECU", "Power train" жана Strandbeest моделинин шассиси камтылган.

2 -кадам: Механикалык чогултуу учурунда көңүл бурууга татыктуу пункттар

Механикалык чогултуу учурунда көңүл бурууга татыктуу пункттар
Механикалык чогултуу учурунда көңүл бурууга татыктуу пункттар
Механикалык чогултуу учурунда көңүл бурууга татыктуу пункттар
Механикалык чогултуу учурунда көңүл бурууга татыктуу пункттар
Механикалык чогултуу учурунда көңүл бурууга татыктуу пункттар
Механикалык чогултуу учурунда көңүл бурууга татыктуу пункттар

Mini-Strandbeest абдан жакшы колдонуучуга ээ. Нускаманы ээрчүү жана кураштырууну бүтүрүү оңой жумуш болушу керек. Мен бул мазмунду өткөрүп жиберип, көңүл бурууга татыктуу болгон бир нече кызыктуу пункттарды бөлүп көрсөтөм.

1-сүрөттө, резина манжаларын кармаган уячанын бир тарабы 90 градустук бурч, ал эми экинчи тарабында 45 градуска эңкейиши бар, ал расмий түрдө палка деп аталат. Мындай эңкейиш резина манжасын пластикалык бутка батууга багыттайт. Бутуңузду манжалар менен капталынан орнотуп көрүңүз, 2 -сүрөттү караңыз, андан кийин экинчи жагын байкап көрүңүз. Айырмасы абдан байкалат. 3 -сүрөттүн оң жагы биздин Stranbeestтеги кривош. Бул кыймылдаткычтагы, машинанын моторундагы, мотоциклдеги кыймылдаткычка абдан окшош, бардыгы бирдей түзүлүшкө ээ. Strandbeestте, кранк бурулганда, ал буттарды кыймылга келтирет. Кыймылдаткыч үчүн, бул поршеньдин кривону бурууга түрткү берген кыймылы. Чөйрөдөгү 120 градустук бөлүү да үч фазалуу моторго же генераторго алып келет, электр кубаты 120-градуста айырмаланат, Fig.4. Биз сол жана оң капталынын механикалык бөлүктөрүн чогулткандан кийин, эми биз Strandbeestке кошкон бөлүктөрүбүз менен иштей баштайбыз, 5 -сүрөттү караңыз. Fig.6-бул 3-D басылган шассиге моторду бекитүү үчүн 3-D басылган мотор кыскычын колдонгон кадам. Бул кадамда трюк мотордун позициясы шассидин каптал бети мотордун бети менен бирдей болушу үчүн жөнгө салынганга чейин эч кандай бурамалар тартылбашы керек. Трассага ыраазы болгондон кийин, бардык бурамаларды катыра алабыз. Fig.7ге өтүңүз, биз фланец муфтасын орнотуунун үстүндө иштейбиз, мотордун чыгымын кранкка туташтырабыз. Кыймылдуу тараптын туташуусуна караганда мотор тарабын орнотуу кыйыныраак, 8 -сүрөттү караңыз. Ошондуктан биз биринчи кезекте мотор каптал фланецин туташтырабыз. Fig.9да көрсөтүлгөндөй, эки мотор үчүн фланец кошкучу орнотулгандан кийин, биз шасси менен сол/оң жөө түзүлүшүн туташтыруу үчүн диаметри 2мм көмүр таякчаларынын эки бөлүгүн колдонобуз. Бул 10 -сүрөттө болуп жатат. Жалпысынан, биз бул жактарды туташтыруу үчүн 3 даана көмүр таякчасын колдонобуз. Бирок бул кадамда биз мунун экөөнү гана туташтырабыз, анткени биз кранкты бурап, фланец менен кривоштун ортосундагы байланышты туура орнотушубуз керек. Эгерде 3 даана көмүр таякчасы турган болсо, салыштырмалуу абалды тууралоо жана аларды туташтыруу кыйыныраак болот. Акыр -аягы, бизде акыркы курулган механикалык система бар, 11 -сүрөттө. Кийинки кадам, электроника боюнча иштейли.

3 -кадам: Электр туташуусу

Электр байланышы
Электр байланышы
Электр байланышы
Электр байланышы
Электр байланышы
Электр байланышы

Бардык электрондук системалар электр менен камсыздоого муктаж. Биз 1-уячалуу батареяны ыңгайлуу жерге, мисалы, 1-схемадагы схеманын астына койсок болот. Электр менен камсыздоонун полярдуулугу ушунчалык маанилүү болгондуктан, аны талкуулоо үчүн атайын фигурага татыктуу. Fig.2 батарейканын байланышын баса белгилейт. Контроллер тактасында полярдуулук "+" жана "GND" менен белгиленген, 3 -сүрөттү караңыз. Батарейканын ширеси түгөнгөндө, USB кабели батарейканы кайра толтуруу үчүн колдонулат, 4 -сүрөттү караңыз. Батарея кайра толгондо "заряддоо процессинде" деген LED автоматтык түрдө өчөт. Акыркы кадам - мотор розеткаларын контроллер тактасындагы мотор коннекторлоруна туташтыруу. 3 -мотордо 16 саны менен белгиленген 3 мотор коннектору бар. 5 -сүрөттө, сол мотор PWM12 менен белгиленген эң солку туташтыргычка, ал эми оң мотор ортоңку туташтыргычка туташтырылган. Учурда, танкты (дифференциалдуу айдоочу унаа) солго буруу, PWM12 мотор портуна туташкан мотордун кирүү кубатынын төмөндөшү катары катуу коддолгон. Ошондуктан PWM12 портуна туташкан мотор сол буттарды айдаш керек. Мен кийинчерээк бардык аралаштыруу функциясын колдонуучунун конфигурациясына айландырам. Мотор туташтыргычтын тандоосун алмаштырып же мотор туташтыргычынын багытын артка кайтаруу менен, биз туура эмес багытты буруп, артка жылуу буйругу менен Strandbeest сыяктуу маселени чече алабыз, эгерде DC зымы кирүүчү зым болсо, айлануу багытын өзгөртөт тескери тартипте башкаруу күчүнө туташкан.

4 -кадам: Колдонмонун жөндөөлөрү жана иштеши

Колдонмонун жөндөөлөрү жана иштеши
Колдонмонун жөндөөлөрү жана иштеши
Колдонмонун жөндөөлөрү жана иштеши
Колдонмонун жөндөөлөрү жана иштеши
Колдонмонун жөндөөлөрү жана иштеши
Колдонмонун жөндөөлөрү жана иштеши
Колдонмонун жөндөөлөрү жана иштеши
Колдонмонун жөндөөлөрү жана иштеши

Биз адегенде Google Play дүкөнүнөн андроид тиркемесин түшүрөбүз, 1 -сүрөттү караңыз. Бул колдонмодо биз үйрөтө албаган башка көптөгөн функциялар бар, биз Strandbeestтин түз байланышкан темаларына гана токтолобуз.

Аппараттык bluetooth контроллерин күйгүзүңүз, ал ачылыш түзмөктөрүнүн тизмесинде көрүнөт. Узак чыкылдатуу бизди эфирден жүктөө мүмкүнчүлүгүнө алып келет, кийинчерээк "үйрөтүлүшү" керек. Биз чыкылдатып, көзөмөлдү баштоодон мурун, келгиле, адегенде жогорку оң бурчтагы "Орнотуулар" чыкылдатуу менен бир нече конфигурацияны жасайбыз. 2 -сүрөттө… сүрөтчөсүнүн астында жашырылган. Fig.3 бир нече жөндөө категорияларын көрсөтөт. Колдонмодо конфигурацияланган бул орнотуулар үч жол менен ишке ашырылат: 1) кээ бир жөндөөлөр колдонмонун иштешине таасирин тийгизет, мисалы арифметика ар бир мотордун кубатын башкаруу буйругун сиздин рулду жана дроссель буйругунан алуу үчүн. Алар Колдонмодо жашашат. Кийинчерээк көрсөтмөлөрдө биз аларды Python/Java программаларыбыз менен кантип алмаштырарыбызды көрсөтөбүз. 2) кээ бир жөндөө абадагы башкаруу протоколунун бир бөлүгү катары аппараттык жабдууларга жөнөтүлөт, мисалы, түз башкаруу ортосундагы которуу (серво буйруктун бурчун так бурат) жана зым көзөмөлү менен учуу (автономдуу контроллер функция модулу сервону башкарат) канал колдонуучунун буйругу жана учурдагы мамилеге ылайык)) 3) кээ бир жөндөө аппараттык контроллердеги туруксуз эстутумга жөнөтүлөт. Демек, жабдык конфигурацияланбастан күйгүзүлгөн сайын бул жөндөөлөргө баш ийет. Буга мисал түзмөктүн bluetooth берүү аталышы болот. Мындай орнотуулар күчүнө кириши үчүн кубат циклине муктаж. Биринчи категория - биз 4 -сүрөттөгү "Жалпы орнотуулар". 5 -сүрөттөгү "Колдонмолорду башкаруу функциясы" бул колдонмонун кандай роль ойногонун аныктайт, түз байланыш аркылуу Bluetooth жабдууларын башкаруучу; телепрезентацияны көзөмөлдөө үчүн интранет/интернет аркылуу көпүрө; жана башкалар Кийинки, Fig.6дагы "HW түрү" барагы дифференциалдуу айдоочу унаа менен иштеп жатканыңызды билдирет, андыктан "танк" режимин тандоо керек. Бизде бардыгы болуп 6 PWM чыгышы бар. Strandbeest үчүн 1 -каналдан 4 -сүрөткө ылайык конфигурациялашыбыз керек.7. Ар бир PWM каналы төмөнкү режимдердин биринде иштейт: 1) нормалдуу servo: RC servo 1ден 2msге чейин PWM сигналы менен башкарылат 2) servo тескери: контроллер колдонуучунун көзөмөлүн кайтарат 3) DC моторунун иштөө цикли: DC мотор же кандайдыр бир электрдик түзүлүш, цикл режиминде иштесе болот, 0% өчүрүлөт, 100% дайыма күйүк. 4) DC кыймылдаткычынын циклинин артка кайтарылышы: кайра контроллер колдонуучунун көзөмөлүн кайра кайтарат, анткени биз DC моторун колдонобуз жана мотордун айлануу багытын аппараттык зым менен камсыз кылабыз, биз 1 -канал үчүн "DC моторлуу циклди" тандайбыз. 4, 8 -сүрөттү карагыла. Биз ошондой эле 2 PWM каналын 1 H-көпүрөсүнө бириктирүүбүз керек, ошондуктан эки тараптуу башкарууну иштетүү үчүн. Бул кадам 9 -сүрөттө көрсөтүлгөн. "2 PWM каналы 1 H-көпүрөсүнө" режиминде, канал 1, 3 жана 5 байланышкан эки каналды көзөмөлдөө үчүн колдонулат. Бул дроссель контролун, джойстикти өйдө-ылдый көзөмөлдөөнү демейки 2-каналдан 3-каналга алмаштыруу зарылдыгын киргизет. Бул 10-жөндөөлөрдө ишке ашат. 11 -сүрөттө көрсөтүлгөндөй, ар бир канал ээнбаштык киргизүү булагын алуу үчүн конфигурацияланган.

Бинго, азыр биз минималдуу керектүү конфигурацияны бүтүрдүк, жана көрүнүп турган bluetooth түзмөгүн көрсөткөн баракка кайтып, аны туташтыра алабыз. 12 -сүрөттө, джойстикти ойноп көрүңүз, биз бул Strandbeest менен кызыктуу боло алабыз. Бир аз эңкейишке чыгууга аракет кылыңыз, материалдардын түрлөрүнүн ортосундагы сүрүлүүнүн анализин эстеп көрүңүз жана "RPY (deg)" деп белгиленген катарда көрсөтүлгөн учуу контроллеринин болжолдуу мамилесин окуңуз, бул катардагы төрт жазуу түрмөк, кадам, ийри бурч бороскоп жана акселерометр менен бааланат; акыркы жазуу-компастын компастын чыгышы.

Келечектеги иш: кийинки көрсөтмөлөрдө биз акырындык менен анын программалоо интерфейсин камтыйбыз, Strandbeest менен баарлашуу үчүн сүйүктүү Java же Python тилин тандап, уюлдук телефондун экранынан strandbeest статусун окубай калабыз. Биз дагы RaspberryPi типтеги Linux компьютеринде программалоону баштайбыз, акыркы программалоо темалары үчүн, акыркы Сүрөттү караңыз. 3D басып чыгаруунун механикалык бөлүктөрү үчүн https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ жана SDK үчүн https://github.com/xiapeiqing/m2robots.gitти текшерип көрүңүз жана эгер тез арада баштоону кааласаңыз.. Java же Python болбосо, каалаган программалоо тилиңиз кандай экенин мага билдириңиз, мен SDKнын жаңы версиясын кошо алам.

Хакерлик менен көңүл ачыңыз жана кийинки көрсөтмөлөрдү карап туруңуз.

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