Робототехника для начинающих. От новичка до инженера.

В статье «Робототехника для начинающих» мы постарались собрать дорожную карту (roadmap), в которой точка А – абсолютный новичок, а точка Б — инженер-робототехник. Мы не предлагаем готовых решений, но подсвечиваем направление, в котором стоит двигаться, чтобы изучить робототехнику.

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

Робикс — кружок робототехники для детей. Нашим ученикам — от 5 до 16 лет — поэтому мы не могли оставить юных робототехников без внимания. Мы разделили весь маршрут «Робототехника для начинающих» на уровни:

0 уровень — мы написали специально для самых маленьких робототехников (от 5+ лет)

1 уровень — для новичков подросткового возраста и взрослых

2 уровень — для продолжающих и тех, кто не знает куда двигаться после Arduino

3 уровень — выбор профиля и специализация

Юные робототехники на пути в светлое будущее

Робототехника – наука междисциплинарная, под одним словом объединено несколько независимых дисциплин. В самом начале нашего путешествия мы должны собрать рюкзак. 

Знаете, без чего никак нельзя ехать в путешествие в страну Робототехнику?

1.       Программирование

Это наш словарь. Вы не сможете достичь взаимопонимания с роботом, не зная его языка.

2.       Электроника

Это наше зарядное устройство, ведь так важно в путешествии оставаться с внешним миром на связи. Именно электроника отвечает за внутреннее устройство нашего робота и помогает ему быть “в сети”.

3.       Механика (кинематика, моделирование, проектирование)

Кажется, мы забыли про зубную щетку! Стоит помнить и о внешнем виде робота. Механика  поможет материализовать нашего будущего робота: сделать его видимым и осязаемым, а также поможет ему ориентироваться и перемещаться в пространстве.

Самое важное – это точные науки. Они как документы — без них нас не пустят в другую страну.

Все, что нужно для изучения робототехники новичку

Даже если сейчас вам кажется, что эти школьные предметы сложные и скучные, поверьте, придется их освоить. Вы не сможете планировать траекторию, не зная физики; заниматься компьютерным зрением, ничего не зная о матрицах; заниматься искусственным интеллектом или машинным обучением, не зная о теории вероятности. Мы понимаем, что пока эти термины пугают. Не переживайте – всему свое время.

Оглавление:

С чего начинать самостоятельно обучение робототехнике?

0 уровень 

Этот уровень – колеса нашего туристического автобуса, на котором мы отправляемся в путешествие. Без колес машина не поедет. Так и мы без этих базовых знаний не сможем двигаться дальше.

1. Snap, Snap4arduino, Scratch

Чтобы изучить робототехнику самостоятельно — начинайте с теории. Важно уметь отличить алгоритм от функции, знать, что такое цикл. Не забывайте про переменные. 

Для самых маленьких, кто еще не умеет читать, и тех, кто никогда не сталкивался с языками программирования, есть графические блочные языки, которые не требуют написания кода. Например, Snap! или Scratch. 

Программа состоит из цветных блоков, их нужно перетаскивать на специальное поле, их действия обозначены картинками или словами. Несмотря на доступный интерфейс, эти программы помогают понять ребенку основы создания любой программы (последовательность кода, тестовые запуски).

Интерфейс программы Scratch. Робототехника для начинающих
Интерфейс программы Scratch

Главное отличие Snap! от Scratch — возможность создавать собственные блоки, то есть мы не ограничены набором функций программы, что безусловно, больше подходит для совсем новичков. 

На занятиях с детьми младшего школьного возраста (7-9 лет) мы используем Snap4arduino. Это вариация языка Scratch, построенная на платформе Snap. Эта версия позволяет подключать компьютер к плате Arduino и управлять каждым ПИНом (контактом платы), то есть, подавать и считывать напряжение. Таким образом, мы можем программировать контроллер на плате, а значит и робота.

Начинайте с простых программ: напишите код для движения объекта вперед, для движения в разные стороны, постепенно переходите к более сложным проектам.

Полезные ссылки:

Scratchhttps://scratch.mit.edu/ 

Snap https://snap.berkeley.edu/

Snap4Arduino http://snap4arduino.rocks/ 

Обе программы имеют большую базу уроков и проектов в открытом доступе. На нашем сайте есть не только уроки посвященные интерфейсу и основным блокам Scratch, но  6 уроков, в рамках которых мы делаем популярные игры, такие как Flappy Bird, Doodle Jump и другие: https://robx.org/wiki/prog/igry-na-scratch/

Кроме этого, у нас есть онлайн-курс посвященный разработке игра на Scratch: https://robx.org/online/scratch_game/  Итог курса – 24 самостоятельно написанных игры.

Учебные пособия по Scratch:

Учебное пособие по Scratch для начинающих
Учебное пособие по Scratch для начинающих

Scratch отлично подойдет для детей до 10-11 лет, дальше можно переходить к текстовым языкам программирования.

2.  Основы электроники: закон Ома, ток, напряжение, простые компоненты; плата Micro:bit и конструктор Знаток

Вновь начинаем с теории. Вы можете черпать ее из школьных учебников. Мы же посоветуем несколько сторонних полезных ресурсов.

Основы электроники: 

·       Для самых маленьких советуем «Занимательные уроки Р. Саакаянц» https://www.youtube.com/watch?v=C2UP6G6j2ss  (в роли учителя, кстати, робот PP-17, но учит он скорее  общим основам физики, но это тоже пригодиться новичкам в робототехнике)

·       Для тех, кто постарше, советуем почитать статьи на этом сайте: https://radiokot.ru/start/analog/basics/ Список статьей небольшой, но основы электроники точно будут изучены.

·       Для тех, кто любит учиться по печатным материалам, советуем книгу Эйвинда Нидал Даля «Электроника для детей». 

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

Кроме этого, основы электроники можно закрепить на эмуляторе Tinkercad Circuits. Это онлайн-конструктор электронных схем, в котором можно их создавать и моделировать.

Интерфейс эмулятора Tincercad Circuits. Робототехника для начинающих
Интерфейс эмулятора Tincercad Circuits

Бумажная электроника

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

В нашей группе Вконтакте мы писали инструкцию, как сделать такую же дома самостоятельно: читать инструкцию.

Пример проекта дошкольников
Открытки со светодиодом для мам, которые сделали наши ученики

Есть уже готовые наборы, например, “Электричество на бумаге”.

Набор "Электричество на бумаге" для новичков

Конструктор “Знаток”

Для того, чтобы тренироваться и применять полученные знания, на этом этапе можно использовать конструктор «Знаток».

Этот конструктор отлично подойдет для детей от 5 лет, которые еще не сталкивались с электроникой. Но интересно будет и детям постарше, а также их родителям. 

Модуль на конструкторе Знаток. Робототехника для начинающих
Пример схемы на конструкторе Знаток

Не зря «Знаток» — это конструктор, все детали легко (никакой пайки) соединяются между собой, пристегиваются к прозрачной и прочной пластиковой плате. В каждом наборе есть разноцветные, крупные детали: резисторы, транзисторы, переключатели, проводники, диоды и блок питания.

Начните создавать базовые электронные схемы. Первые схемы будут очень простые: зажечь светодиод. Затем зажгите больше светодиодов, попробуйте сделать простой сигнал светофора. Реализуйте переключатели.

В наборах побольше – 180, 320 и 999 схем – которые предназначены для детей постарше, схемы в буклете обозначены с помощью символов схемотехники, без цветных картинок модулей. Нужно освоить базовые элементы схемотехники.

Плата Micro:bit

Плата Micro:bit – это компактный микрокомпьютер, который отлично подходит для обучения. Она самодостаточна, ей не нужны дополнительные модули, на ней есть все необходимые для обучения светодиоды, кнопки и датчики. Встроенных функций платы — bluetooth, компас, акселерометр и др., достаточно, чтобы ребенок смог выполнить первые проекты.

Плата ориентирована на детей от 7 лет.

Код для платы пишется на графическом языке MakeCode.

На официальном сайте платы есть небольшая коллекция проектов: https://microbit.org/projects/

Интерфейс браузерной программы для работы с Micro:bit
Интерфейс браузерной программы для работы с Micro:bit

В  Робиксе есть целый курс посвященный основам электроники с платой Micro:bit.

Читать подробнее: https://robx.org/online/electronics-microbit/

3. Объемные фигуры из картона и 3D Slash

На самом базовом уровне – это развитие образного мышления, то есть умение представлять объемные фигуры в голове, поворачивать их и соотносить. Для того, чтобы осваивать эту область на первых парах для самых маленьких прекрасно подойдут подручные материалы: картон, клей и ножницы.

Объемные фигуры

Попробуйте вырезать и склеить: конус, цилиндр, параллелепипед или шар. Фигуры можно объединять, склеивать между собой, вырезать в них отверстия.

Вы можете скачать шаблоны для вырезания по ссылке: https://3mu.ru/?p=48990

Бумажные развертки персонажей

Конечно, интереснее клеить не просто фигуры, а персонажей любимых игр или мультиков! Мы рекомендуем сервис: https://www.pixelpapercraft.com/ 

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

Робот Робикс в разобранном виде
Робот Робикс в разобранном виде

 У нас есть бумажная развертка  робота Робикса, вы можете скачать его по ссылке  https://vk.com/robxorg?w=wall-69501379_17876

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

3D Slash и Tinkercad

Ознакомьтесь с интерфейсом простых 3d программ, например – 3D Slash. Эта программа построена на основе рабочего процесса как из строительных блоков игры Minecraft. То есть вы собираете модель из виртуальных кубиков, используя инструменты: молоток, шпатель, долото, скребок или фрезу.

Интерфейс 3D Slash. Робототехника для начинающих.
Интерфейс 3D Slash

Также отлично подойдет браузерная программа Tinkercad.

Кроме этого, можем посоветовать два интересных гаджета:

3D принтер

Детских принтеров для настоящей 3D печати на самом деле нет. Но на сегодняшний день выпустили уже довольно много небольших, подходящих по габаритам для квартиры, и безопасных принтеров. 

3D принтер можно заказать из Китая, его цена будет до 20000-25000 рублей. 

На что стоит обратить внимание при выборе принтера для ребенка?

  1. Закрытый корпус, который ограничивает доступ к нагреваемым элементам
  2. Отсутствие торчащих проводов
  3. Удобный интерфейс и управление, не требующее специальной подготовки

Мы советуем находиться рядом с ребенком во время работы с 3D принтером, все-таки это серьезная техника, которая питается от сети 220 вольт. 

3D принтер FlashForge Finder. Робототехника для начинающих.
FlashForge Finder
3D принтер Flying Bear Ghost 6. Робототехника для начинающих.
Flying Bear Ghost 6

Фрезерный станок 

Мы в Робиксе используем станок Playmat, но также есть и китайские аналоги. Playmat — это 4 устройства в 1 — электролобзик, вертикально-сверлильный станок, токарный и шлифовальный станки. Станок Playmat абсолютно безопасный, при соблюдении техники безопасности им невозможно порезаться. 

При помощи этого станка можно делать различные корпуса для проектов из фанеры или использовать деревянные заготовки. 

Детский фрезерный станок Playmat. Робототехника для начинающих.
Детский фрезерный станок Playmat

1 уровень  

Все, что изучают дети —  упрощенная версия. Этот уровень — переход к настоящей робототехнике. 

1.  Python и С++

Переходим к текстовым языкам программирования. На нашем сайте есть статья: на каком языке говорит робот?  В ней мы выделили 5 основных языков, которые используются в программировании роботов.

Сейчас мы находимся на развилке — какой же язык выбрать? Фиксированного стандарта языка программирования для робототехники — нет. Мы можем посоветовать два варианта пути: Pyhton или C++.  

Текстовый язык программировани. Робототехника для начинающих.

Есть несколько критериев, от которых будет зависеть наш выбор:

  1. Какой микроконтроллер мы выберем? Если мы идем по пути Arduino, то это – Arduino Wiring  (С++). Если же вы выберет какой-то аналог, например, Raspberry — больше подойдет Python. 
  2. Как быстро мы хотим получить результат? Python проще, его синтаксис будет понятнее для того, кто никогда ничего не программировал. Результат не заставит себя ждать. На начальном этапе вы будете учить не язык, а учиться программировать: изучать логику кода, тестировать и учиться искать ошибки.

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

Но, кажется, что рано или поздно, изучить С++ все-таки придется. Если углубляться и решать сложные задачи, то разница между языками будет увеличиваться. 

Бесплатные материалы для изучения Python:

  1. Программирование на Python  — https://stepik.org/course/67/promo 
  2. Основы программирования на языке Python в примерах и задачах — https://stepik.org/course/58638/promo 
  3. Roadmap по Python — https://roadmap.sh/python 

Бесплатные материалы для изучения C++:

  1. Введение в программирование (С++) — https://stepik.org/course/363/promo 
  2. Программирование на языке С++ — https://stepik.org/course/7/promo 

Курсы на Stepike дают базу и понимание основ языка.

В Робиксе есть онлайн курс для тех, кто захочет углубиться в язык программирования С++. Подробнее об онлайн курсе: https://robx.org/online/c_plus_plus/

2. Электроника на макетной плате, Arduino, Raspberry Pi Pico

После того как были освоены простые схемы, можно двигаться дальше. Постарайтесь закрепить все знания, полученные до этого. Вы должны уметь рисовать электронные схемы и читать их. Во время работы над роботом вам потребуется разобраться и интегрировать множество датчиков ,различные типы электромоторов (сервомотор, мотор DC, шаговый мотор), поэтому у вас должно быть четкое представление.

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

Электроника для начинающих

Если вы чувствуете, что знаний еще недостаточно, советуем книгу:

“Электроника для начинающих” Чарльз Платт

От простого к сложному, автор поясняет на наглядных примерах принцип взаимодействия электронных компонентов. Особенность этой книги в том, что обучение происходит в ходе экспериментов, преимущественно из которых и состоит книга. Более 500 фотографий и рисунков — идеально для новичков. 

Набор, который потребуется для экспериментов книги, есть у  фирмы “Амперка”. 

Набор "Электроника для начинающих" фирма Амперка

Вы можете собрать такой набор самостоятельно, это будет дешевле. Но это по секрету 🙂 

Макетная плата 

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

Соединение происходит при помощи проводов-перемычек  — джамперов.

Макетная плата. Робототехника для начинающих
Беспаечная макетная плата

На нашем сайте есть отличная инструкция по работе с макетной платой. Мы даже сломали одну плату, чтобы рассказать вам, что хранится внутри. А еще там есть интересные задания для новичков. 

Микроконтроллеры

В работе с микроконтроллерами придется освоить пайку. Ликбез по пайке: http://easyelectronics.ru/likbez-po-pajke.html 

Слева - Raspberry Pi Pico, справа - Arduino UNO
Слева — Raspberry Pi Pico, справа — Arduino UNO

Arduino

Arduino — отлично подходит, если вы хотите заняться робототехникой по ряду причин: доступность (На aliexpress Arduino Nano CH340 ~ 200 руб) развитое комьюнити (будет легко найти ответ на свой вопрос), быстрый и легкий старт без сложных настроек, поддерживается в нескольких операционных системах.

У Arduino целая армия фанатов и любителей, которые продвигают этот микроконтроллер в массы и создают базы знаний и уроки.

Стартовая страница Arduino IDE
Среда разработки Arduino

Полезные ссылки с проектами на Arduino:

  1. Ютуб-канал “Заметки Ардуинщика” (От первых шагов на Arduino до более сложных проектов) https://www.youtube.com/c/%D0%97%D0%B0%D0%BC%D0%B5%D1%82%D0%BA%D0%B8%D0%90%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D1%89%D0%B8%D0%BA%D0%B0/featured
  2. База знаний “Амперки”, в которой собраны 20 мини-проектов и устройства из серии “Умный дом” http://wiki.amperka.ru/ 

Raspberry Pi Pico

Pi Pico — более современный контроллер, он работает быстрее (за счет 2-х ядерного процессора), поддерживает быстрый стандарт загрузки программы и отличается большим объемом памяти, в сравнении с аналогом от Arduino. 

Так как эта плата появилась сравнительно недавно (в начале 2021 года), у нее еще не появилось такого же развитого камьюнити в России. Но за рубежом Raspberry Pi Pico уже популярны и на англоязычных форумах их активно обсуждают. 

Эта плата позволяет писать программы и на Python, и на C++. При желании можно подключить визуальный язык MakeCode.

3. CAD 

Ознакомьтесь с программами для 3D моделирования. Для учебных целей отлично подойдет FreeCAD или русская программа Компас 3D. 

Интерфейс программы Компас 3D
Интерфейс программы Компас 3D

Мы советуем почитать о современных возможность цифрового производства: где и как используется печать на 3D принтерах.

Проекты

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

У нас есть инструкция по сборке и программированию робота- паука

Инструкция достаточно короткая и может быть не совсем понятна новичку, но это отличная возможность разобраться самостоятельно. В инструкции вы найдете список необходимых материалов, файл с чертежом для резки деталей и последовательность соединения деталей. 

Робот-паук
Робот-паук

Включайте воображение 🙂 

Также, присмотритесь к нашим образовательным программам:

Электронные часы на Arduino

Электронные часы на Arduino

Робот для соревнования

Робот для соревнований в дисциплине Кегельринг
Робот для соревнований в дисциплине Кегельринг

Манипулятор

Если вам меньше 16, приглашаем на занятия, а если учиться в Робиксе уже поздно, то наши роботы — отличный источник вдохновения!

2 уровень

1. Библиотеки, IoT-системы, Linux

В зависимости от того, какая область робототехники вас интересует, вам нужно больше узнать о теории, лежащей в ее основе. Узнайте о манипулировании роботизированной рукой (кинематика и управление), восприятии (компьютерное зрение, линейная алгебра, матрицы), машинном обучении / искусственном интеллекте (вероятность, статистика, математика).

Библиотеки

Продолжайте изучать язык, подключая различные библиотеки. На Python существуют различные библиотеки, написанные для реализации алгоритмов машинного обучения и компьютерного зрения, например, TensorFlow и OpenCV. Аналогичным образом, многие виды искусственного интеллекта можно практиковать и на Python. Конечно, вы можете сделать то же самое в C / C++.

При помощи библиотеки компьютерного зрения OpenCV можно реализовать следующие проекты:

  • Duckietown

По дорогам перемещаются машинки —  Duckiebots. Главная задача — решать задачи автономного движения машины с помощью камеры. Необходимо научить  роботов распознавать дорожные знаки и соблюдать правила дорожного движения.  Со временем робот начинает держаться в своей дорожной полосе и находит разметку.

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

Эмулятор  Gym-Duckietown — это open-source проект, написанный на языке Python.

Этот проект разработали в 2016 году как одну из дисциплин для аспирантов Массачусетсткого Технологического Института (MIT).

У нас есть онлайн-курс по Duckietown: там и Python, и Linux, и компьютерное зрение, и чуть линейной алгебры. В рамках курса мы не только учимся автономному вождению, но и участвуем в соревнованиях. Подробнее: https://robx.org/online/duckietown-robot/ 

  • Квадрокоптеры

Еще одна большая область, в которой не обошлось без компьютерного зрения.

Существуют образовательные коптеры, например,российское изобретение —  Геоскан Пионер. Это устройство разработано специально для обучения робототехнике. Изначально он направлен на обучение детей, но подходит и для обучения взрослых.

Квадрокоптер программируется на Python, но можно даже на Scratch.

Геоскан Пионер
DJI Tello Edu (Образовательная версия). Это китайская версия. Также есть возможность программировать на Scratch (для взрослых — Python).Разработчики оставили открытый доступ к данным видеопотока, благодаря чему каждый может совершенствовать дрон и реализовывать больше функций: распознавание объектов/предметов, отслеживание, компьютерное зрение. Можно экспериментировать и самому привязать плату ESP к полетному контроллеру и управлять полетом через код.

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

IoT-системы

IoT — интернет вещей — технология, которая объединяет предметы в компьютерную сеть и позволяет им собирать и передавать данные другим объектам. Чаще всего используются в “умных” вещах. Например, возможность включить чайник через мобильное приложение. 

https://www.youtube.com/playlist?list=PLJEYfuHbcEIBzi4AAJA1Vhneyc2Zp2pL8 — “IT Академии Samsung” онлайн-лекторий Samsung Innovation Campus по Интернету вещей. 

Разработка «умных» устройств осуществляется преимущественно на языках низкого уровня (Assembler). Поэтому, если вы решили идти в эту сторону — придется их осваивать. 

Программа «Hello, world!» на Assembler
Программа «Hello, world!» на Assembler

Linux

Крайне важно, чтобы тот, кто хочет глубже погрузиться в робототехнику, ознакомился с Linux. Множество библиотек, пакетов и программного обеспечения, разработанных для робототехники, очень легко и эффективно распространяются в средах Linux. Популярный выбор ОС Linux: Ubuntu.  Вы не сможете установить ROS (операционную систему для работы с роботами) на Windows или Mac OS. 

Советуем бесплатный курс по основам ОС Linux от Института Биоинформатики: https://stepik.org/course/73/promo 

Кроме этого, советуем создать аккаунт на  GitHub. Git — это систем контроля версий. Вы сможете сохранять туда код своих проектов и различные наработки, так постепенно будет собираться портфолио. Навык работы с Git — частое требование различных It-вакансий, ведь эта система позволяет работать в большой команде, не терять данные и иметь доступ к различным версия проекта. 

Введение в Git: https://selectel.ru/blog/tutorials/git-setup-and-common-commands/

2. Схемотехника, разводка печатной платы и микроконтроллеры (AVR и STM)

Следующая ступень после Arduino — разработка и проектирование собственных электронных устройств. До этого уровня мы работали с готовыми решениями: макетными платами, микроконтроллерами и другими элементами. Теперь необходимо учиться производить их самостоятельно. Зачем? Для того чтобы понимать и уметь проектировать электронные устройства. В масштабных, серьезных проектах редко используются готовые решения. Под каждое устройство собирается плата, к которой правильно подобраны резисторы, транзисторы, с учетом рассчитанного тока и энергопотребления. 

Схемотехника

Классический учебник по схемотехнике “Искусство схемотехники” П. Хоровиц и У. Хилл

В книге доступным языком, с самых азов,  с примерами и формулами, описывают как проектировать схемы. 

Но найти эту книгу сейчас сложно, поэтому советуем также одноименный цикл лекций от доцента кафедры Общей физики СПБГУ. 16 лекций, которые соответствуют содержанию первого тома «Искусства схемотехники»: https://www.youtube.com/playlist?list=PLKT-Mf5xK5brEZe4V2R9bPq5PRpK9kPvw

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

Сначала мы делаем проект на макетной плате, о ней мы писали на 1 уровне, а далее переносим на чистовой вариант — на печатную плату. 

Разводка печатной платы

Подробно об изготовлении печатной плате в домашних условиях вы можете посмотреть на ютубе, например:

https://www.youtube.com/watch?v=Rbf7AZkfNwQ&t=8s — разводка в EasyEDA

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

Также, в домашних условиях вам пригодиться: Метод ЛУТа (лазерно-утюжная технология).

https://www.youtube.com/watch?v=NJTeIALlztI&t=21s — ЛУТ в домашних условиях.

В качестве лазера — лазерный принтер. 

Микроконтроллеры

К самодельной плате вы будете самостоятельно припаивать компоненты, поэтому в них тоже стоит разбираться.

Ознакомитесь с архитектурой микроконтроллера, то есть с его внутренним устройством.

Какой микроконтроллер выбрать? AVR или STM? Изучение микроконтроллеров советуем начинать с линейки AVR, а именно с 8-битного микроконтроллера ATmega-8. 

На канале “Заметки Ардуинщика” есть видео, в котором автор рассказывает как развести платы (также с помощью браузерной программы EasyEDA) с микроконтроллером: https://www.youtube.com/watch?v=NJTeIALlztI&t=21s 

3. Параметрическое моделирование, OpenSCAD

Больше практикуйтесь! Создавайте различные модели под свои проекты, изучайте интерфейсы разных программ.

Можно попробовать более сложную 3D программу, например SolidWorks или OpenSCAD. Осваивать их можно через документацию. 

Также присмотритесь к этим программам:

Fusion 360 — для твердотельного моделирования и визуализации

Rhinoceros + Grasshopper — для параметрического моделирования

Процесс параметрического моделирования в Grasshopper

3 уровень

Этот уровень мы не будем разделяться по отдельным пунктам-дисциплинам. Если вы прошли предыдущие этапы, то уже поняли, что невозможно заниматься всем и сразу. Робототехника делиться на множество узких профессий. 

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

Ваш must have —  знание ROS.

ROS (Robot Operating System) 

Сейчас ROS — это фреймворк для программирования роботов, он подходит  для решения самых разных задач: навигации и локализации (SLAM), распознавания трехмерных объектов, планирования действий, управления движением многосуставных рук, машинного обучения.

https://habr.com/ru/post/663230/ — переводы книг по ROS (*Перевод осуществляли как часть учебного процесса и приобщения к инструментам программирования, поэтому он выложен на github c визуализацией в gitbook.)

Перед созданием настоящего робота необходимо протестировать концепт, отладить все системы и, в конце концов, понять, тот ли путь разработки был выбран. Для этих задач вам понадобиться 3D  симулятор, например — Gazebo.

Интерфейс Gazebo

Послушать об использовании Gazebo: https://www.youtube.com/watch?v=tAlRXYLtmVE

И последнее, машинное обучение

Машинное обучение тесно связано с математикой, а именно — линейная алгебра, теория вероятности, математический анализ и основы математической статистики. 

Огромная подборка с теоритическими материалами (книгами, статьями и курсами) https://ru.stackoverflow.com/questions/678970/%d0%9a%d0%bd%d0%b8%d0%b3%d0%b8-%d0%b8-%d1%83%d1%87%d0%b5%d0%b1%d0%bd%d1%8b%d0%b5-%d1%80%d0%b5%d1%81%d1%83%d1%80%d1%81%d1%8b-%d0%bf%d0%be-%d0%bc%d0%b0%d1%88%d0%b8%d0%bd%d0%bd%d0%be%d0%bc%d1%83-%d0%be%d0%b1%d1%83%d1%87%d0%b5%d0%bd%d0%b8%d1%8e/683632#683632 

Важно определиться, чему вы будете учить робота. Вариант алгоритмов машинного обучения:

  1. Зрение и понимание 
  2. Детектирование объектов — находить объекты заданных типов
  3. Оценка глубины — находить препятствия на пути
  4. Ориентация в пространстве
  5. Решения по перемещению в пространстве 
  6. Захват объектов

И многое другое. 

Для тестирования алгоритмов обучения можно использовать платформу OpenAI Gym.

Анализ вакансий

Далее мы советуем осваивать те технологии, которые требуются в конктреных вакансия.

Например, требования на должность «Инженер-разработчик» в компанию «Геоскан»

С помощью вакансий вы сможете понять, какие знания уже есть, а с чем еще предстоит ознакомиться.

Заключение

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

Путь в тысячу верст начинается с первого шага

Всем удачи!

Сохраните или поделитесь

Добавить комментарий

Ваш адрес email не будет опубликован.