Как сделать робота с нуля. С чего начать

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

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

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

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

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

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

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

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

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

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

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

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

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

С чего начать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

f117870502b2ff31af2c987e55aefd31.jpg

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

Заключение

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

© Habrahabr.ru