Я разрабатываю роботов и меня часто спрашивают — «как сделать робота», «где ты находишь информацию, какие ресурсы используешь»?

Если вы не знаете с чего начать и хотите сделать собственного робота — эта статья для вас — в ней я постараюсь объяснить процесс, а также расскажу какие должны быть первые шаги.

Шагающий робот - корпус распечатан на 3Д принтере
Шагающий робот - корпус распечатан на 3Д принтере

Чуть-чуть обо мне

Долгое время я работал на различных предприятиях инженером-конструктором, занимался проектированием механической части устройств. Там я овладел специализированными программами 3Д-проектирования. Также занимался обучением учеников старших классов в ЦМИТе (3Д-печать, САПР, ЧПУ).

Несколько лет назад я перешел в другую профессиональную сферу и стал фронтенд девелопером.

Также с детства я увлекался робототехникой, данная тема меня всегда интересовала. Стартовой точкой идеи создания своего робота у меня стала покупка робот-пылесоса, мне понравилась идея управления устройством через приложение на телефоне.

Что такое робот?

При анализе задачи создания собственного робота, я для себя выделил основные части:

  • Механическая часть - это непосредственно тело робота: корпус, двигатели, прочие механизмы.

  • Электрическая часть - это то, с помощью чего осуществляется контроль механической части: вращение двигателей, управление другими механизмами. Сюда можно отнести мини-ПК, платы управления двигателями, ультразвуковые датчики, гироскопы и прочее.

  • Программная часть - эта часть, включающая в себя всю логику робота - движения, выполнение команд, интерфейс взаимодействия человека - робота. Это может быть приложение, сайт, терминал.

С чего начать

Предлагаю вам ответить на следующие вопросы:

  • Что вы хотите? - Вы хотите создать все три части робота с нуля, или взять готового и написать только программную часть?

    Существует много готовых решений как для механической части, так и для электрической, причем все они довольно доступны в цене и продаются на таких платформах как amazon или aliexpress. Также есть полностью готовые роботы, которые нужно только собрать и написать свой собственный софт.

    Если вас интересует создание робота полностью с нуля, в данном случае вы можете закупить необходимые детали и полностью спаять всю электронику самостоятельно. Особенные энтузиасты создают все модули сами, начиная с редукторов и заканчивая электроникой. Также различные детали можно изготавливать на 3Д принтерах или на ЧПУ станках.

  • Что будет делать ваш робот? - Здесь надо определиться с основным функционалом — будет ли это шагающий робот, робот на колесах, робот — манипулятор и т. п. В процессе никто не мешает нам добавлять новые функции, но без базы это будет сложно. Не обязательно создавать робота с какой-то полезной нагрузкой - быть социально значимым и делать общество лучше. Пусть он просто передвигается или крутит головой, этого вполне достаточно на первом этапе.

  • Что вы уже умеете? Насколько вы владеете тем или иным языком программирования. Мой выбор пал на JavaScript (тут понятно почему), но можно и на C++, Python. Перед началом создания робота желательно иметь какие-нибудь навыки программирования.

Как съесть слона?

Ответ очень простой - надо разбить сложную задачу на подзадачи того размера, с которыми вы можете справиться.

Иным словами, я предлагаю начинать с чего‑то простого, например управлением светодиодом или обычным вращением двигателем. Так, постепенно усложняя задачи и двигаясь по спирали, вы будете добавлять необходимый функционал на каждой итерации и в итоге устройство превратится в полноценного робота. Нет ничего страшного в том, если придется откатиться назад и переделать какую‑либо часть, созданную раннее — это обычный подход при проектировании.

Мой личный опыт. Небольшой экскурс.

У меня была идея сделать робота, управляемого через интернет. Корпус я решил спроектировать сам и распечатать его на 3Д принтере. Различные электрические устройства приобрел на китайском маркетплейсе - это двигатели, мини-компьютер, драйвера управления двигателями, гироскоп и ультразвуковые датчики, аккумуляторы. На самом первом этапе была цель - заставить двигатель вращаться, светодиод - светиться.

Первый тест работы двигателя
Первый тест работы двигателя

Далее приступил к проектированию корпуса. Перед этим закрепил электронику на алюминиевых профилях, таким образом можно было уже тестировать управление. Среди знакомых оказался владелец 3Д принтера, и он распечатал мне детали.

Один из начальных этапов - собранная рама с электроникойРазработка сайта для управления роботом
Один из начальных этапов - собранная рама с электроникой

Параллельно занимался разработкой приложения для управления роботом - веб интерфейса и аппаратной части. Для веб интерфейса использовался React, аппаратная и серверная части были написаны на Node.js.

Разработка сайта управления роботом
Разработка сайта управления роботом

В итоге был создан робот и протестирован на улице. Весь процесс занял у меня около года - с момента первого мигания светодиода до полноценного устройства.

Далее я приступил к разработке шагающего робота, но это совсем другая история.

Заключение

Если вами интересна данная тема, я напишу более подробно детали реализации. Помните, самое сложное - это начать, проверено на себе.

Комментарии (12)


  1. sepetov
    03.07.2023 15:13
    +3

    Мой путь "к технике" тоже начался с декомпозиции проекта на части. Правда, начинать пришлось не с робота, а обычного ленточного транспортёра. Для начинающего меня этот этап простым тогда не казался. Это сильно отличалось от написания кода в моей работе :-)

    Затем к транспортёру добавил сканер, считывающий штрихкоды с проезжающего товара. А теперь возникла потребность в фотодатчике. Потом, подозреваю, нужно будет пневмоцилиндр к транспортёрной ленте приспособить, чтобы сталкивал с неё товар, который не удалось прочитать. Для кого-то это работы на полдня, наверное. Зато интересно!


    1. don_alex_88 Автор
      03.07.2023 15:13
      +3

      Главное чтобы самому нравилось :)


  1. oleg_rico
    03.07.2023 15:13
    +2

    А буду немножко занудой-изначально под роботами подразумевались устройства, которые могут самостоятельно что-то выполнять и не нуждаются в постоянном внешнем управлении.

    Короче, хочу работа Ваську, которому можно было бы сказать: "Вась, приберись в доме и пловчик приготовь."

    На крайний случай годятся роботы как в XXI век возвращение Стругацких которые работали дворниками и превращали мусор и упавшие деревья в солнечный свет и кислород. Вот как бы таких сделать:)


    1. PuerteMuerte
      03.07.2023 15:13
      -3

      А буду немножко занудой-изначально под роботами подразумевались устройства, которые могут самостоятельно что-то выполнять и не нуждаются в постоянном внешнем управлении.

      Изначально под роботами подразумевались металлические ящики с ногами-трубами на колёсиках, с телескопическими клешнями, с круглой металлической башкой, лампочкой вместо носа или глаз и антеннами вместо ушей. Ах да, и со стрелочным вольтметром где-то в районе пупка.


      1. oleg_rico
        03.07.2023 15:13
        +2

        Изначально роботами назывались механические работники на заводах придуманные Карлом Чапеком.

        Которые были полностью автономны.

        И более-менее человекоподобные.

        Раньше фантастике встречались ещё киберы от слова кибернетика сейчас правда таких уже не осталось


        1. PuerteMuerte
          03.07.2023 15:13

          РУР не считается, то фантастика. А ящики - в каждом втором кружке юных техников были :)


    1. don_alex_88 Автор
      03.07.2023 15:13

      Похоже уже на алхимию :) На самом деле хороший вопрос "Что такое робот" - автономное устройство и насколько оно должно быть автономным.


      1. oleg_rico
        03.07.2023 15:13
        +1

        Если брать фантастическое определение то робот практически всегда полностью автономный.

        Начиная с первых роботов, которых придумал Чапек и продолжая роботами из фантастических произведений Азимова.

        Роботы, те которые в виде манипуляторов или подобных, на современных заводах тоже выполняют все работы автономно.

        Просто в какой-то момент роботами стали называть и дистанционно управляемые механизмы хотя это неправильно если исходить из духа самого определения.


    1. nikolz
      03.07.2023 15:13

      А Вася отвечает: "А не пошел бы ты сам это делать."

      Вот так они и жили. Вася -робот, и его хозяин -Ваня.


      1. oleg_rico
        03.07.2023 15:13

        На фиг его знает как будет. Но иногда думаю, что мой робот-пылесос, когда я отправляю его подметать, негромко материться про себя.


  1. PuerteMuerte
    03.07.2023 15:13

    del


  1. DashBerlin
    03.07.2023 15:13

    В начале 90-х 20 века из определения станков с ЧПУ убрали букву "Ч" и они стали станками с программным, а в 20-х годах 21 века буква "Ч" снова нарисовалась, это на тренды такие?