Мазмуну:

Bioinspired робот жылан: 16 кадам (сүрөттөр менен)
Bioinspired робот жылан: 16 кадам (сүрөттөр менен)

Video: Bioinspired робот жылан: 16 кадам (сүрөттөр менен)

Video: Bioinspired робот жылан: 16 кадам (сүрөттөр менен)
Video: Змеи. Россия 2024, Июль
Anonim
Image
Image

Робот жыландардын да, роботтордун да дарактарга чыгуусун изилдөөчү видеолорду көргөндөн кийин бул долбоорду баштоого шыктандым. Бул менин биринчи аракетим жана роботторду серпентин локомотивин колдонуу менен жасоо, бирок бул менин акыркы аракетим болбойт! Келечектеги окуяларды көргүңүз келсе YouTubeга жазылыңыз.

Төмөндө мен 3D басып чыгаруу үчүн файлдар менен бирге 2 башка жыландын курулушун жана жыланга окшош кыймылга жетүү үчүн код менен алгоритмдерди талкуулайм. Эгерде сиз дагы үйрөнүүнү улантууну кааласаңыз, бул көрсөтмөнү окугандан кийин, барактын ылдый жагындагы шилтемелер бөлүмүндөгү шилтемелерди окууну сунуштайт элем.

Бул көрсөтмө техникалык жактан 2-деги 1, мен робот жыландын 2 башка версиясын кантип жасоону түшүндүрөм. Эгерде сиз жыландардын бирин курууга гана кызыксаңыз, экинчи жыландын көрсөтмөлөрүн этибарга албаңыз. Бул 2 башка жылан төмөнкү фразаларды бири -биринин ордуна колдонууга байланыштуу болот.

  1. Бир октук жылан, 1D жылан же сары жана кара жылан
  2. Кош огтуу жылан, 2D жылан же ак жылан

Албетте жыландарды каалаган түстүү жипке басып чыгара аласыз. Эки жыландын бир гана айырмасы, 2D жыланында ар бир мотор мурдагыга салыштырмалуу 90 градуска бурулат, ал эми 1D жыланда бардык моторлор бир окто тегизделген.

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

1 -кадам: Компоненттер

Бул бир жыландын бөлүктөрүнүн тизмеси, эгер сиз эки жыланды тең жасоону кааласаңыз, анда компоненттердин көлөмүн эки эсе көбөйтүү керек болот.

  • 10 MG996R сервосу*
  • 1.75мм 3D басып чыгаруу жипчеси
  • 10 шарик подшипник, 608 -бөлүк (мен шахтаны Jitterspin фиджет спиннерлеринин сырткы четинен куткардым)
  • 20 кичинекей шарик подшипниктери, дөңгөлөктөр үчүн r188 бөлүк **
  • 40 Philips баш бурамалары 6-32 x 1/2 "(же окшош)
  • 8 узунураак бурамалар (менин номерим жок, бирок диаметри жогорудагы бурамалар менен бирдей)
  • Кеминде 20 даана 4 дюймдук зипти (канча колдонууну өзүңүз чечесиз)
  • 5м ар бири кызыл жана кара 20 калибрлүү же калыңыраак ***
  • Стандарттык 22 өлчөөчү зым
  • 30 эркек баштык казыктары (3 лотко 10 бөлүнөт)
  • Arduino Nano
  • 3D басылган бөлүктөр (кийинки бөлүмдү караңыз)
  • Күчтүн кандайдыр бир түрү (Көбүрөөк маалымат алуу үчүн "Жыланды кубаттоо" бөлүмүн караңыз), мен жеке өзүм өзгөртүлгөн ATX электр булагын колдондум
  • 1000uF 25V электролиттик конденсатор
  • Ар кандай өлчөмдөгү жылуулукту кысуучу түтүк, ширетүүчү, клей жана башка ар кандай шаймандар

*сиз башка түрлөрүн колдоно аласыз, бирок сиз 3D файлдарды сервоприводдоруңузга ылайыкташтырып кайра түзүшүңүз керек болот. Ошондой эле, эгер сиз sg90 сыяктуу кичинекей серволорду колдонууга аракет кылсаңыз, анда алардын күчү жетпейт деп ойлошуңуз мүмкүн (мен муну сынап көргөн жокмун жана эксперимент жасоо сизден көз каранды).

** дөңгөлөктөр үчүн кичинекей шарик подшипниктерди колдонуунун кажети жок, менде көп нерсе бар болчу. Же болбосо LEGO дөңгөлөктөрүн же башка оюнчук дөңгөлөктөрдү колдонсоңуз болот.

*** Бул зым 10 амперге чейин өтүшү мүмкүн, өтө ичке жана ток аны эритип жиберет. Көбүрөөк маалымат алуу үчүн бул баракты караңыз.

2 -кадам: 3D басып чыгаруу компоненттери

Жыландардын чогулушу
Жыландардын чогулушу

Эгерде сиз 1D жыланды жасап жатсаңыз, анда бул бөлүктөрдү басып чыгарыңыз.

Эгерде сиз 2D жыланды жасап жатсаңыз, анда бул бөлүктөрдү басып чыгарыңыз.

Маанилүү эскертүү: Тараза туура эмес болушу мүмкүн! Мен өз компоненттеримди Fusion 360та (мм бирдиги менен) иштеп чыгам, дизайнды MakerBot программасына.stl файлы катары экспорттоп, андан кийин Qidi Tech принтерине (MakerBot Replicator 2Xтин клон версиясы) басып чыгарам. Бул жумуш процессинде бир жерде ката бар жана менин издеримдин баары өтө кичинекей болуп чыгат. Мен мүчүлүштүктүн жайгашкан жерин аныктай алган жокмун, бирок MakerBot программасында ар бир басып чыгарууну 106% өлчөмүнө чейин масштабдоо боюнча убактылуу оңдоо бар, бул көйгөйдү чечет.

Муну эске алып, эгер сиз жогорудагы файлдарды басып чыгарсаңыз, анда алар туура эмес масштабдалышы мүмкүн экенин эскерткиле. Мен бир эле чыгарманы басып чыгарууну сунуштайм жана алардын бардыгын басып чыгарардан мурун MG996R сервоңузга туура келерин текшерүүнү сунуштайм.

Эгерде сиз кандайдыр бир файлды басып чыгарсаңыз, анда жыйынтыгы кандай экенин мага билдириңиз: эгер басып чыгаруу өтө кичине болсо, туура, өтө чоң жана канча пайыз. Коомчулук катары чогуу иштөө менен биз ар кандай 3D принтерлерди жана.stl кескичтерди колдонуп, катанын жайгашкан жерин аныктай алабыз. Маселе чечилгенден кийин мен бул бөлүмдү жана жогорудагы шилтемелерди жаңыртам.

3 -кадам: Жыландардын чогулушу

Жыландардын чогулушу
Жыландардын чогулушу
Жыландардын чогулушу
Жыландардын чогулушу
Жыландардын чогулушу
Жыландардын чогулушу

Чогуу процесси негизинен жыландын эки версиясы үчүн бирдей. Бир гана айырмасы, 2D жыланында, ар бир мотор мурдагыга салыштырмалуу 90 градуска бурулат, ал эми 1D жыланда бардык моторлор бир окто тегизделген.

Сервону чечүүдөн баштаңыз, бурамаларды сактап, кара пластик алкактын үстүнкү жана астыңкы бөлүктөрүн алып салыңыз жана тиштүү тетиктерди жоготуп алуудан сак болуңуз! Сервону жогорудагы сүрөттөрдөгүдөй багытталган 3D басылган алкакка жылдырыңыз. Серво корпусунун үстүн алмаштырыңыз жана аны 6-32 1/2 төрт бурамалар менен бурап коюңуз. Серво рамкасынын түбүн сактап коюңуз (эгер аны кийинки долбоорлордо кайра колдонууну кааласаңыз) жана аны 3D менен алмаштырыңыз басылган корпус, бир гана айырмасы - бул шарик подшипниги үчүн кошумча баскыч. Сервону кайра бурап, 10 жолу кайталаңыз.

МААНИЛҮҮ: Улантуудан мурун, кодду Arduinoго жүктөп, ар бир сервону 90 градуска жылдыруу керек. Муну аткарбоо сизди бир же бир нече servo жана/же 3D басылган кадрларды сындырууга алып келиши мүмкүн. Эгерде сиз сервону 90 градуска кантип жылдырууну билбесеңиз, бул баракты караңыз. Негизинен сервонун кызыл зымын Arduinoдогу 5Vга, күрөң зымды GNDге жана сары зымды санарип пинге 9 туташтырыңыз, андан кийин кодду шилтемеге жүктөңүз.

Эми ар бир серво 90 градуста, улантыңыз:

10 сегменттерди туташтырыңыз, бир баскычтын 3D баскычын экинчи сегменттин тешигине салып, анан кичине күч менен сервонун огун анын тешигине түртүңүз (ачыктык үчүн жогорудагы сүрөттөрдү жана видеону караңыз). Эгерде сиз 1D жыланды жасап жатсаңыз, анда бардык сегменттер тегизделиши керек, эгер сиз 2D жыланды жасап жатсаңыз, анда ар бир сегмент мурунку сегментке 90 градуска бурулушу керек. Көңүл бургула, куйрук жана баш алкак башка сегменттердин жарымынын гана узундугун түзөт, аларды туташтыргыла, бирок зымдарды бүтүргөнгө чейин пирамиданын формасындагы бөлүктөргө комментарий бербегиле.

X түрүндөгү servo колун тиркеп, аны ордуна бурап коюңуз. Шарикти 3D баскычтын үстүнө жылдырыңыз, бул үчүн эки жарым тегерек постту акырын кысуу талап кылынат. Колдонулган жиптин кайсы брендине жана толтуруунун тыгыздыгына жараша, билдирүүлөр өтө морт жана сынык болушу мүмкүн, мен андай болбойт деп ойлойм, бирок ошентсе да ашыкча күч колдонбоңуз. Мен жеке PLA жипчесин 10% толтуруу менен колдондум. Шарик подшипниги күйгүзүлгөндөн кийин, ал баскычтын үстүнөн илинип турушу керек.

4 -кадам: Район

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Район эки робот жылан үчүн бирдей. Өткөрүү процессинде ар бир сегмент үчүн, айрыкча 2D жыланында, толугу менен айлануу үчүн жетиштүү зым бар экенине ынануу керек.

Жогоруда болгону 2 сервосу бар зымдардын схемасы. Мен 10 сервос менен райондук сүрөт тартууга аракет кылдым, бирок ал өтө эле толуп кетти. Бул сүрөттүн чыныгы жашоодон бир гана айырмасы, дагы 8 сервону параллелдүү түрдө зымдап, PWM сигнал зымдарын Arduino Nanoдогу казыктарга туташтыруу керек.

Электр чубалгыларын өткөрүүдө мен жыландын узундугу боюнча иштөөчү негизги 5В линия катары 18 калибрлүү бир зымды (калыңдыгы 10 ампке чыдай тургандай) колдондум. Зым суургучтарды колдонуп, мен изолятордун кичинекей бир бөлүгүн 10 үзгүлтүксүз алып салдым жана ар бир интервалдан кыска зымды 3 эркек баш казыктан бириктирдим. Муну кара 18 калибрлүү GND зымы жана экинчи эркектин башына төөнөгүч үчүн экинчи жолу кайталаңыз. Акырында, 3 -эркек баш пинге узунураак зымды ээрчиңиз, бул пин PWM сигналын жыландын башындагы Arduino Nano сервосуна жеткирет (зым сегменттер бүгүлгөндө да жетүү үчүн жетишерлик узун болушу керек). Керектүү түрдө жылытуучу түтүктү тиркеңиз. 3 эркек баштык казыктарын, 3 аял ургаачы казыктарын сервопроводдорго туташтырыңыз. 10 сервонун ар бири үчүн 10 жолу кайталаңыз. Акыр -аягы, бул жетишкендиктер - сервопроводдорду параллелдүү түрдө туташтыруу жана Наного PWM сигнал зымдарын иштетүү. Эркек/ургаачы төөнөгүчтөрдүн себеби, сиз сегменттерди оңой эле бөлүп алып, эгер сервистерди бузбасаңыз, аларды алмаштыра аласыз.

GND жана 5V зымдарын конденсатор жана бурама терминалдар менен куйругундагы 3x7 тешиктүү тактага ээрчиңиз. Конденсатордун максаты - Arduino Nano'ду баштапкы абалга келтире турган серволорду иштетүүдө пайда болгон учурдагы бурулуштарды жок кылуу (эгер сизде конденсатор жок болсо, балким, ансыз деле кутулуп кетсеңиз болот, бирок коопсуз болгон жакшы). Эсиңизде болсун, электролитикалык конденсаторлордун узун тиши 5V линиясына, ал эми кыска тиши GND линиясына туташтырылышы керек. GND зымын нанонун GND пинине жана 5V зымын 5V пинине кошуңуз. Эгер башка чыңалууну колдонуп жатсаңыз, көңүл буруңуз (кийинки бөлүмдү караңыз), 7.4V менен Lipo батарейкасын айткыла, андан кийин кызыл зымды 5В пин эмес, Вин пинине таккыла, ошондо пин бузулат.

10 PWM сигнал зымдарын Arduino Nanoго туташтырыңыз. Мен өзүмдү төмөнкү тартипте өткөрдүм, сиз өзүңүздүкүн башкача зым менен тандай аласыз, бирок коддогу servo.attach () линияларын өзгөртүү керек экенин унутпаңыз. Эгерде мен эмнени айтып жатканымды билбесеңиз, анда аны мен сыяктуу эле өткөрүңүз, анда сизде көйгөйлөр болбойт. Жыландын куйругундагы серводон жыландын башына чейин, мен эки жыланымды тең төмөнкү тартипте зымга байладым. Сигнал казыктарын туташтыруу: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.

Зымдарды тазалоо үчүн zipties колдонуңуз. Улантуудан мурун, бардык сегменттер зымдарды ажыратпастан жылып кетиши үчүн жетиштүү бөлмө менен кыймылдай аларын текшериңиз. Эми зымдар бүткөндөн кийин, биз башы менен куйругу пирамида сымал капкактарды бурап алабыз. Көңүл буруңуз, куйрукта байлоо үчүн тешик бар, башында Arduino программалоо кабели үчүн тешик бар.

5 -кадам: Жыланды кубаттоо

Жыланды кубаттоо
Жыланды кубаттоо
Жыланды кубаттоо
Жыланды кубаттоо
Жыланды кубаттоо
Жыланды кубаттоо

Серво параллелдүү зым болгондуктан, баары бирдей чыңалууга ээ болушат, бирок токту кошуу керек. MG996r сервосунун маалымат барагын карасаңыз, алар иштеп жатканда ар бири 900 мАга чейин тарта алышат (эч кандай токтоп калууну эске албаганда). Ошентип, эгерде бардык 10 серво бир эле учурда кыймылда болсо, анда жалпы токтоочулук 0,9А*10 = 9А болот. Кадимки 5v сыяктуу, 2А дубал розеткасы адаптери иштебейт. Мен 20Ада 5в жөндөмдүү ATX электр менен камсыздоону өзгөртүүнү чечтим. Мен муну кантип жасоону түшүндүрбөйм, анткени ал Instructables жана YouTubeда буга чейин көп талкууланган. Ыкчам онлайн издөө бул энергия булактарынын бирин кантип өзгөртүү керектигин көрсөтөт.

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

Дагы бир вариант - борттогу липо батарейкасын колдонуу. Мен муну сынап көргөн жокмун, андыктан батарейкалар үчүн орнотмону иштеп чыгуу жана аларды зымга салуу сиздин колуңузда болот. Иштөө чыңалуусун, серволордун жана Ардуинонун учурдагы тартылышын эстен чыгарбаңыз (5Vдан башка эч нерсе жалгабаңыз) Arduinoдогу 5v пин, эгер сизде жогорку чыңалуу болсо, Вин пинине өтүңүз).

6 -кадам: Баары иштеп жаткандыгын текшериңиз

Улантуудан мурун, баары иштеп жатканын текшерип көрөлү. Бул кодду жүктөө. Сиздин жылан ар бир сервону жеке түрдө 0-180ге чейин жылдырып, андан кийин түз сызыкка салуу менен бүтүрүшү керек. Эгер андай болбосо, анда бир нерсе туура эмес, балким, зым туура эмес же серволор башында "жыландардын чогулушу" бөлүмүндө айтылгандай 90 градуска борбордолгон эмес.

7 -кадам: Код

Учурда жыландын алыстан башкаруу пульту жок, бардык кыймыл алдын ала программаланган жана өзүңүз каалаган нерсени тандай аласыз. Мен 2 -версияда алыстан башкарууну иштеп чыгам, бирок эгер сиз аны алыстан башкаргыңыз келсе, Instructables боюнча башка окуу куралдарын карап чыгууну жана жыланды bluetooth'га ылайыкташтырууну сунуштаар элем.

Эгерде сиз 1D жылан кылып жатсаңыз, бул кодду жүктөңүз.

Эгерде сиз 2D жыланды жасап жатсаңыз, бул кодду жүктөңүз.

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

8 -кадам: Таразалар Vs Дөңгөлөктөр

Таразалар Vs Дөңгөлөктөр
Таразалар Vs Дөңгөлөктөр
Таразалар Vs Дөңгөлөктөр
Таразалар Vs Дөңгөлөктөр
Таразалар Vs Дөңгөлөктөр
Таразалар Vs Дөңгөлөктөр
Таразалар Vs Дөңгөлөктөр
Таразалар Vs Дөңгөлөктөр

Жыландардын алдыга жылышынын негизги жолдорунун бири - таразасынын формасы. Таразалар алдыга жылууну жеңилдетет. Кошумча түшүндүрмө алуу үчүн бул видеону 3:04төн баштап көрүңүз, таразалар жыландын алдыга жылуусуна кандай жардам берерин көрүңүз. Ошол эле видеодогу 3:14кө карап, жыландар жеңде болгондо, таразанын сүрүлүүсүн алып салуунун эффектин көрсөтөт. Менин YouTube видеомдо көрсөтүлгөндөй, робот 1D жылан таразасыз чөпкө чуркап баратканда, ал алдыга да, артка да жылбайт, анткени күчтөр таза нөлгө жетет. Ошентип, биз роботтун астына кээ бир жасалма таразаларды кошушубуз керек.

Таразалар аркылуу локомотивди кайра жаратуу боюнча изилдөө Гарвард университетинде жүргүзүлгөн жана бул видеодо көрсөтүлгөн. Мен роботумдун таразасын өйдө -ылдый жылдыруу үчүн окшош ыкманы ойлоп таба алган жокмун жана анын ордуна пассивдүү 3D басылган таразаны асты жагына бекитип койдум.

Тилекке каршы, бул эффективдүү болбоду (менин YouTube видеомду 3: 38де караңыз), анткени таразалар жипчелерди кармоонун жана сүрүлүүнү жогорулатуунун ордуна килемдин үстүнөн дагы эле чийилген.

Эгерде сиз мен жасаган таразалар менен эксперимент кылгыңыз келсе, анда менин GitHubдагы файлдарды 3D басып чыгара аласыз. Эгерде сиз өзүңүздү ийгиликтүү кылып жатсаңыз, анда төмөндөгү комментарийлерде мага билдириңиз!

Башка ыкманы колдонуп, r188 шардык подшипниктерден жасалган дөңгөлөктөрдү "шиналар" катары сыртынан жылытуучу түтүктөр менен колдонууга аракет кылдым. Сиз GitHubдагы.stl файлдарынан пластикалык дөңгөлөктүн огун 3D басып чыгара аласыз. Дөңгөлөктөр биологиялык жактан так болбосо да, таразаларга окшош, анткени алдыга айлануу оңой, ал эми капталынан кыймыл кыйла кыйын. Дөңгөлөктөрдүн ийгиликтүү жыйынтыгын менин YouTube видеомон көрө аласыз.

9 -кадам: Кыймылдоо кыймылы (жалгыз октук жылан)

Make it Move конкурсунда биринчи сыйлык

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