Моя история погружения в изучение робототехники и создание робота с помощью 3d принтера. Ошибки, с которыми я столкнулся и что хотел-бы получить в итоге
Предыстория
Лет 10 назад, на первых курсах университета, узнав о существовании Arduino и научившись заказывать товары из Китая, я заказал себе стартовый набор Arduino Mega и начал, как и все, учиться мигать светодиодом. Я получал дикий восторг от того что могу не только програмировать и получать какие-то решения на экране компьютера, а могу делать какие-то устройства, которыми могу облегчить быт. Начал думать о IOT до того как узнал о таком понятии и время от времени думал чтоб такого полезного реализовать. Первым проектом на Arduino, который я для себя считал оконченным, был контроллер для террариума с пауком. Экранчик, несколько кнопок для управления, датчик температуры и влажности DHT11, автоматизация подсветки, обогрев с помощью шнура для инкубатора и все. У меня уже был опыт работы с паскалем в школе, мне нравилось программирование но я не хотел связывать с ним жизнь напрямую, для меня это было скучно, и я заведома пошел учиться на инженерную специальность, если точнее то Информационные технологии проектирования в НТУ «ХПИ».
Обещали супер продвинутое направление, передовые технологии, рассказывали насколько востребованы такие специалисты и заманивали яркими картинками расчетов в Ansys, Solidworks и остальных программных комплексах. На самом деле, сейчас, через 6 лет после окончания ВУЗа, я могу сказать что ни капли не жалею что выбрал данное направление для себя. Много чего конечно было не так как описывалось при поступлении, но на 3 курсе я все-таки дождался предметов, которые мне нравились. Я увлекся изучением CAD систем, на одной из олимпиад получил сертификат CSWA от Solidworks, вообще не напрягаясь и не готовясь к этому. Но после окончания ВУЗа я получил офер без опыта и особо знаний в программировании на должность .NET разработчика под проекты связанные с интеграцией плагинов в Solidworks. Потом 6 лет работы с .NET в нескольких компаниях, с разными направлениями, попытка работы удаленно с криптовалютами и т.д. но мне это все не приносило удовольствия. Время от времени я понимал что мне нравится процесс автоматизации обыденных процессов, но никак не мог придумать что бы такого сделать, чтобы не просто поиграться, а что-то реальное и полезное. Годы шли, универ несколько лет как окончен, свободного времени так и не появлялось, но как-то в преддверии ремонта я решил что вот этот шанс применить свои знания и попробовать сделать что-то действительно полезное, и занялся разработкой умного дома. Немного освежил знания о нынешней ситуации в микроконтроллерах в мире, узнал о существовании ESP8266 с Wifi на борту, когда-то украинском стартапе Blynk, дающий возможность условно бесплатно получить приложения для управления устройством с телефона, без опыта и знаний о разработке софта под телефоны. Через нескольких месяцев я получил прототип, собранный на макетке, но стабильно работающий. На первое время для проверки так и оставил в виде модулей, прикрученных в распредкоробках. Хотел бы написать что после тестов в реальных условиях развел плату и собрал все нормально, но нет, третий год все работает стабильно поэтому и не лезу что-то переделывать. Из полезного для меня в этом всем я получил возможность экономить электроэнергию автоматически включая основные потребители такие как бойлер, посудомойку, стиралку по ночному тарифу. Мониторинг температуры в каждой комнате и соответственно управление обогревом в каждой комнате. Там-же реализовал контроллер теплого пола и освещение на улице. 3 года назад все это решение мне обошлось примерно в 50$ с учетом того что столько стоит только нормальный контроллер для теплого пола. 3 года работы этой всей системы дали мне уверенность того что микроконтроллеры действительно можно использовать для разработок и они могут стабильно работать.
Первые попытки построения робота
Несколько лет назад я все-таки решился и выделил себе бюджет на хобби, купив 3D принтер. Фанерный клон Ultimaker сразу же начал допиливаться руками, были доделаны дверцы и короб из акрила для печати ABS, и я стал понимать что с принтером уже можно разрабатывать что-то более серьёзное, движимое и интересное для меня. Помня еще из детства передачи по телевизору с боями роботов я решил, а почему б не сделать себе что-то интересное. Сходил на фестиваль робототехники, загорелся этой идеей еще больше. Начал смотреть проекты роботов на thingiverse и понимал что это все не то, чужие разработки в основном скучные и обычные, отсутствие исходников и все-таки «ЯЖИНЖЕНЕР». Хотелось что-то с необычной механикой, а не просто колесная база. Захотелось реализовать механику подобную роботу при загрузке Solidworks.
Тот самый робот, который стал одним из вдохновителей
Посмотрел подобные конструкции, понял принцип работы и держал в голове мысль сделать что-то похожее. Первой главной ошибкой было решение что все просто, буду постепенно моделировать, печатать и проверять готовую конструкцию, не имея полного представления что и как будет устроенно, как будет управляться, какие модули будут использоваться. Как-же сильно я ошибался. Изначально, я понимал что робот будет делаться «на вырост», планировал на этом роботе использовать всякие распознавания объектов с помощью OpenCV, какая-то навигация, автоматический паркинг на зарядку, одним ESP там не обойдешься. Изначально закладывалась идея использовать ESP32 для работы с механикой и RaspberryPi3 для работы с логикой, камерой, звуком и т.д. Одним из необходимых для меня условием была автоматическая подзарядка, соответственно нужно было придумать как реализовать питание. Так-как с электроникой/электротехникой опыта особо у меня не было, сначала я пытался использовать подобие Powerbank с возможностью работы в режиме ИБП. Работа от АКБ (в моем случае 8 элементов 18650) когда нет внешнего питания и подзарядка этих-же элементов и работа от сети когда робот паркуется на зарядку. Вобщем было много попыток собрать все вместе и заставить работать, но я понял что нужно или учить матчасть или обращаться за помощью. Из-за постоянных изменений всяких модулей и плат все уже не помещалось в корпус робота и в какой-то момент я понял, что пора все переделывать.
Первый вариант конструкции с напечатанными гусеницами одним ремнем и сервой для проворота передней части гусениц
Первые работы над ошибками
После участия в вебинаре по робототехнике я познакомился с человеком, который занимается разработкой плат и для себя решил что мне проще набросать какое-то ТЗ и получить какое-то решение от человека, который разбирается в проектировании плат и разработке устройств. Параллельно я начал работу над новым корпусом примерно посмотрев на свои косяки в прошлый раз. И тут я очередной раз наступаю на те-же грабли до конца не понимая как будет выглядеть вся электроника, какие у нее будут размеры и как я это все буду размещать. Мы обсудили о том что это будет модульное решение, у меня были некоторые платы, например драйверов двигателей, батареи и я начал заново моделировать проект, но уже полностью вырисовывая каждую плату с посадочными отверстиями, выходами проводов, радиаторами и т.д. чтоб опять не столкнуться с проблемой нехватки места. На самом деле я был ограничен размерами области печати в 200*200*200мм и этот вариант корпуса я пытался сделать вообще из одной детали, на печать которой уходило около 400г пластика и несколько суток печати.
После нескольких попыток с появляющимися на вторые сутки трещинами, отлипаниями от стола я понял что сборный корпус не такая уж и плохая идея. Процесс переделывания какой-то из деталей занимал бы намного меньше времени и мороки с принтером будет намного меньше. Получив через время комплект разведенных плат со всеми моими пожеланиями я научился работать со сдвиговыми регистрами, мультиплексорами и хоть как-то начал разбираться в непонятных для меня схемах и устройствах. К тому моменту я уже очередной раз полностью переделал механику. Изменил принцип вращения передних «лап» с сервопривода на двигатель с червячным редуктором, Ушел от идеи печатать из резиноподобного эластана ремни для гусениц и переделал их под обычные сборные пластиковые гусеницы, собранные на гвоздях и наклеенными на них протекторах из эластана. Изначально была продумана система вентиляции, которая забирала воздух сзади снизу робота, через систему вентиляции проходя через все платы, трубки, в которых прокинуты провода в «голову» и выдувая из нее горячий воздух. И эта система вентиляции в какой-то момент времени даже работала, но потом опять все перестраивалось поэтому мне проще было распечатать крышку с кучей прорезей и пассивной вентиляцией.
Что есть на данный момент
На выходных в Днепре прошел технический фестиваль Interpipe TechFest, на котором я решил показать людям то что сейчас есть у меня, послушать мнение других и пообщаться с однодумцами. Там я очередной раз услышал о том что можно было б и написать где-то например на Хабре и получить какой-то отзыв от людей.
По факту для меня это платформа, на которой я буду учиться работать с ROS, пытаться ориентироваться в пространстве, отстраивать кару, попробую поработать с твердотельным лидаром, который жду с кикстартера, хочу прикрутить что-то типа стереокамеры realsense. Я понимаю что мозгов малинки мне скорее всего не хватит и со временем я перейду на что-то более мощное.
Сейчас этот робот может использоваться в качестве «домашнего сторожа». Пока управление устроенно через все то-же приложение Blynk. Он оснащен купольным сенсором движения, камера с возможностью включения/выключения ИК фильтра, ИК подсветка. Активировав с телефона режим охраны, я получаю уведомление на телефон. Могу включить RaspberryPi 3, запустить стримминг, стримминг + запись видео, сделать фото, которые отправляются мне на почту. Могу поехать посмотреть что там происходит дома и вернуться на зарядку на докстанцию.
Самосборная батарея 4s2p из модулей 18650 на 3200mAh каждая дает мне примерно 8 часов езды без подзарядки с всем включенным оборудованием и передачей видео и без какой-либо оптимизации энергосбережения. Пока до этого руки не дошли. С помощью Google TextToSpeach написав в терминал этого приложения, робот озвучивает текст. И это все с любой точки мира где у меня есть подключение к интернету.
Немного «жести» внутри
Так выглядит UI управления на телефоне
Что дальше и зачем я это все пишу
Вообще, целью посещения выставки было найти новые знакомства с однодумцами, готовыми начать что-то делать связанное с робототехникой. Мне надоело работать просто программистом, писать десктопные приложения, это уже не так круто как казалось когда-то и я считаю что это направление постепенно загибается. Вместо того чтоб переучиваться на WEB разработку я решил кардинально поменять направление и связать свою жизнь с робототехникой и IOT, которые мне действительно нравятся. Для себя я решил что работая на работе, не связанной с этим направлением у меня не хватает на все времени. Я должен выбирать между тем что нужно и тем что нравится и хочется, подкопил немного денег, ушел с работы и начал все это изучать.
У меня есть несколько задумок на тему робототехники, основная из которых связана с сельским хозяйством, основанная на компьютерном зрении, картах глубины, распознавании объектов и т.д. Я понимаю что работы очень много и сейчас я только начал разбираться с ROS. У меня есть знания в инженерии, умения работать с CAD/CAE системами и в принципе все реально сделать и самому, но понимая сколько работы нужно сделать по механике, разработке, просчетам и полностью научиться работать с ROS, картами глубины, сенсорами, ориентировании в пространстве и довести это все до ума самому будет очень сложно. Поэтому я ищу несколько человек. которые готовы серьезно заняться работой над этим стартапом и стать одними из сооснователей. Само собой я не могу обещать, что все будет круто и через пол года наш стартап будет приносить нам кучу денег, но пока эта ниша не переполнена можно пробовать что-то реализовать на уровне первого прототипа и с ним уже выходить на акселераторы, краудфандинговые площадки и как-то рекламировать себя.
Также я готов к рассмотрению предложений в данном направлении. Готов работать с кем-то над чьим-то стартапом, или не обязательно стартапом а просто разработками какой-то компании но в интересном для меня направлении.
Поэтому хотелось бы услышать какие-либо комментарии по этому поводу. Возможно все-таки это кого-то заинтересует. Сам я территориально проживаю в г.Днепр, Украина. Соответственно было б правильней работать над одним проектом в относительной близости хотя б в сотнях километров а не тысячах, но рассматриваются все варианты.
Если есть какие-то вопросы об устройстве моего данного робота готов ответить и обсудить. Так-же на странице facebook есть несколько видео работы робота и его преодоление препятствий
Если что меня всегда можно найти здесь, на facebook или написать мне на почту marchenko.andrii@gmail.com
Комментарии (17)
CombaSoft
24.10.2019 23:14-2Как я понимаю, для сельского хозяйства Украины в целом критически важно восстановить ветрозаградительные лесополосы(полезащитные лесополосы). Как минимум, несколько лет к ряду на повестке дня сильные засухи. Так что я ожидаю, что сейчас и далее будут актуальными два направления: земледелие на защищенной почве и лесопосадки.
Если сможете помочь сделать оборудование для осуществления автоматизированных лесопосадок, автоматизированной обработки существующих уцелевших, но бесхозных лесополос(от разросшегося кустарника, например) — этим сможете и стране помочь и заодно интересным вам делом позаниматься.TriKrista
24.10.2019 23:56+1Стране может помочь адекватное законодательство в этой сфере, а сейчас никто не будет этим заниматься, хоть с оборудованием, хоть без.
marchenko_andrii Автор
25.10.2019 06:10Ваша идея вполне реализуема и имеет право на реализацию. Скажем так, сейчас я начал разбираться со SLAM навигацией, Это как-раз даст основу от которой можно отталкиваться с направлением дальнейших разработок. У меня просто есть несколько задумок и по большей степени все зависит от того, найду ли я людей в команду.
Alvlad
25.10.2019 05:33Хороший робот. Любовь ваша к этому делу видна понятна, как говорят, «охота пуще неволи» :)
Но на мой взгляд — это уровень детских поделок, примерно чуть сложнее или таких же, как работы у шестиклссницы Алёны — Аленамобиль и Тренажёр для кошек
Может быть с бросанием работы немного погорячились? Для детского конкурса, оно самое то, но продакшн, по моему мнению, это ведь совсем другая история…marchenko_andrii Автор
25.10.2019 05:42Спасибо. Ну я там в статье написал, что именно этот робот вообще никак не относится ни к прошакшену ни к стартапу. Это прообраз просто мобильной платформы на которой можно было б пробовать учиться чему-то более серьезному чем просто ручное управление. Причем купить готового робота было б значительно быстрее и дешевле, таких вариантов хватает от 100$. Сейчас я понимаю что не зря начал делать с нуля сам. Я действительно собрал все косяки которые мог и по ходу дела искал пути их решений. Ну и как ни как проект полностью прошел от этапов задумки до этапов реализации. Теперь я понимаю ситуацию на собственном опыте и реально представля с чего и как лучше начинать разработку нового устройства с нуля
St_Sinner
25.10.2019 05:53Автоматизация наблюдения за периметром предприятия с помощью дронов. «Посменные вылеты», распознавание объектов, запись и передача картинки по обнаружению, возврат на «дозаправку» после смены и вот это вот все…
Вот такая идея давно в голове крутится. Даже потратил пару выходных, что бы положить идею на бумагу. Прорисовал и расписал очень много мелочей. Но дальше так и не занялся, к сожалению
marchenko_andrii Автор
25.10.2019 06:17Да, я тоже думал об этом. Но уже есть мега крутые разработки в этом направлении и я понимаю что сам не потяну конкуренцию с какими-то крупные предприятиями которые работают над этим. Я не помню кто выпускает, нужно поискать, но там у тебя еще с роботов которые патрулируют территорию могут вылетать дроны преследуя объект
St_Sinner
25.10.2019 06:34У меня в задумке наземные отсутствовали. Я изначально прикинул сложность такого робота. Ночь, неровности местности и ограниченный обзор (не будешь же его делать 2 метровым). А вот с дронами немного проще. Им с высоты видно лучше, в воздухе препятствий меньше, скорость передвижения может быть выше. Ну и, в случае агрессии со стороны непрошеных объектов, дрону проще свалить по кратчайшему пути, предварительно запечатлев и отправив фото/видео живому сотруднику для дальнейшего реагирования
marchenko_andrii Автор
25.10.2019 06:46Ну да, на самом деле сейчас ниша автономных роботов еще более менее свободна. Осталось получить какой-то опыт разработки и можно начинать выводить мир на новый уровень
dronsovest
25.10.2019 09:09Странно, что еще никто не написал, но у робота направление протектора гусениц не правильное.
На первой картинке это ведь перед робота?marchenko_andrii Автор
25.10.2019 09:55На самом деле я тоже так думаю. Вообще они симметриячны, так что можно менять местами и например вообще на передней части поставить в одну сторону на задней в другую
Tarson
25.10.2019 11:17Интересно, но маловато информации. Хотелось бы поподробнее о деталях проекта.
marchenko_andrii Автор
25.10.2019 13:15Как уже писал выше, подробней будет с инструкциями доработанная немного модель
kiling
25.10.2019 16:14Можете объяснить какую роль выполняет поворотная стрела с гусеницей?
marchenko_andrii Автор
25.10.2019 19:12Ну, проще понять конечно по видео на facebook. Если попытаться объяснить — передача «полного привода». Гусеницы на этой поворотной стреле вращаются вместе с основной. Эта стрела, в зависимости от необходимости может быть собрана(робот минимальный по длинне) — выставленна вперед (максимальная длинна и устойчивость), можно повернуть ее под любым углом или вращать бесконечное число раз в любую сторону. Так-же с ее помощью можно как поднять зад робота и заехать на какую-то возывшенность задом/подняться на эти лапы и ездить только на них, так и наоборот с их помощью заехать на возвышенность передом (бордюр, невысокие ступеньки)/спуститься с какой-то приграды не спрыгивая.
На самом деле это больше прикольная механика, дающая некоторые возможности, но все-таки робот вышел тяжелым и центр масс примерно расположен по всему роботу в собранном состоянии. Это основная причина почему он не может забраться на совсем крутые ступеньки
lenz1986
Вот не в обиду… Робот прикольный… НО 4 раза перечитал статью но так и не нашел ссылки на файлы для печати… Указан топик DIY или Сделай САМ… А ссылок нет…
marchenko_andrii Автор
Без паники. У меня есть такая мысль сделать доброе дело и выложить весь проект куда-то на thingiverse но сейчас вижу некоторые вещи которые стоит переделать для удобства и начал небольшую модификацию. Заодно привожу в порядок схему питания, делаю его более универсальным. Доведу до варианта когда не стыдно поделиться моделью и выложу