Oc-windows.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Основы программирования роботов

Робототехника онлайн: шесть бесплатных курсов на русском языке

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

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

1. Курс «Строим роботов и другие устройства на Arduino. От светофора до 3D-принтера» от Московского физико-технического института на Coursera

Возраст: от 13 лет

Преподаватели: руководитель и научный сотрудник направления робототехники Лаборатории инновационных образовательных технологий МФТИ Алексей Перепёлкин и Дмитрий Савицкий

Длительность: 6 недель

Ближайший курс: 3 июля 2017

Эта программа существует уже почти два года, за это время её прошли несколько сотен человек. Из основных плюсов студенты выделяют структурированность и доступность учебного материала. Видео-лекции расскажут, как проектировать, собирать и программировать устройства. Каждую неделю — новое практическое задание. Создателям удалось рассказать о сложном простыми словами, и курс действительно подходит даже тем, у кого нет бэкграунда по теме. Можете не сомневаться: к концу занятий вы перейдете на «ты» с роботами и самостоятельно соберете 3D-принтер.

2. Курс «Роботы в быту» от МГТУ им. Н.Э. Баумана на «Универсариуме»

Возраст: от 15 лет

Преподаватели: Андрей Витальевич Кравцов и Борис Сергеевич Старшинов — к.т.н., доц., проф. Академии военных наук, доцент кафедры «Основы физики» МГТУ им. Н.Э. Баумана

Длительность: 1 месяц

Ближайший курс: 12 июня – 10 июля 2017

Это более общий и теоретический курс для аудитории, которая понимает, чем мехатроника отличается от робототехники. Он состоит из четырех модулей, и практические задания предусмотрены на последнем этапе из 6 занятий с захватывающим названием «Применение робототехнических устройств в экстремальных условиях».

3. Курс «Основы программирования роботов» от МГУПИ на «Универсариуме»

Возраст: от 13 лет

Преподаватели: Андрей Назарович Будняк — Заместитель директора ЦТПО МГУПИ, Вице-президент Ассоциации спортивной робототехники, победитель соревнований Российской Федерации 2012 года по робо-сумо в номинации «Самый технологичный робот». Победитель и лауреат многочисленных соревнований по спортивной робототехнике: Кубок Политехнического музея, GEEK PICNIC, Чемпионат России по робо-сумо, RobotChallenge в Вене.

Длительность: по своему усмотрению

Ближайший курс: лекции доступны в записи

Курс от титулованного робототехника, победителя всевозможных соревнований Андрея Будняка рассчитан на тех, кто освоил школьную программу по физике и информатике (особенно разделы о электричестве и алгоритмах). При этом курс будет полезен даже тем, кто далек от электроники, но может применять микроконтроллеры в своей работе: архитекторы, дизайнеры, врачи, звуковики. В общем, всё, что вы хотели знать о регуляторах, индикаторах, приводах и датчиках, но боялись спросить.

4. Курс «Arduino для начинающих» от «Занимательной робототехники»

Возраст: от 10 лет

Длительность: по своему усмотрению

Ближайший курс: уроки доступны в записи

Команда «Занимательной робототехники» создала простой курс для новичков, где есть текстовые объяснения, фотографии и обучающие видео. Роль ведущего исполняет мальчик Саша, который последовательно выполняет все необходимые действия и сопровождает их комментариями. В этом заключается сразу и основной плюс и главный минус этой программы: действительно, каждый сможет повторить манипуляции, описанные в пошаговой инструкции, тем более когда есть подробное видео, но при этом часто остаются пробелы в понимании, что и зачем делается. С другой стороны, у курса довольно оживленное онлайн-коммьюнити, где все вопросы можно обсудить.

Читать еще:  1с программирование обучение онлайн бесплатно

5. Уроки на Robot Class

Возраст: от 10 лет

Преподаватель: Олег Евсегнеев

Длительность: по своему усмотрению

Ближайший курс: уроки доступны в записи

Сборник разрозненных уроков по робототехнике и программированию от Олега Евсегнеева, которые разделены по уровню сложности: для новичков и для продвинутых. Это скорее тематический блог, нежели полноценный курс, но найти что-то полезное и интересное для себя смогут все, кто уже интересуется робототехникой. В отличие от других вариантов здесь нет видео — только текст с фотографиями, формулами, схемами и кусками кода. И такой, казалось бы, устаревший формат даже немного освежает.

6. Курс «Мой друг – робот. Социокультурные аспекты социальной робототехники» на Coursera

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

Длительность: 7 недель

Ближайший курс: 10 июля 2017

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

План урока. Основы программирования роботов

Методическая разработка занятия по образовательной робототехнике Введение в программирование роботов лего

В данной статье мы разберем урок по образовательной робототехнике Основы программирования роботов. Данное занятие познакомит учащихся с основами программирования роботов lego в увлекательной форме и разовьет устойчивый интерес к робототехнике.
Тема занятия основы программирования роботов Введение в образовательную программу. Основы программирования роботов.
Возраст детей: 10-11 лет.
Цель занятия основы программирования роботов Познакомить учеников с робототехникой, показать межпредметную связь между робототехникой и информатикой. Сформировать интерес к занятиям робототехникой.
Образовательная: объяснить, что такое робототехника, рассказать об основах программирования, познакомить с понятием алгоритма.
Воспитательная: повысить мотивацию к, исследованию , научить работать в команде
Развивающая: развивать творческие возможности учащихся; расширить речевое поле за счет введения новых понятий в активный словарь ребенка
Задачи:
1 Развивать творческие способности и фантазию.
2 Воспитывать веру ребенка в свои силы и стремление к творческому созиданию.
3 Сформировать представление о значении робототехники в современном мире
Методы: объяснительно-иллюстративный (беседа, демонстрация), практический (упражнение, самостоятельная творческая работа).
Тип учебного занятия: учебное занятие изучения и первичного закрепления новых знаний. Игра соревнование.
Форма занятия: групповая.
Оборудование: собранные модели роботов футболистов (NXT или EV3), компьютеры с установленным программным обеспечением для программирования роботов LEGO MINDSTORMS. На 2 или 3 человека необходим один комплект робот + компьютер.
Структура занятия
1 подготовительный этап
2 основной этап;
3 заключительный этап.

Этап занятия, время

1. Подготовительный этап (5 мин.)

2. Знакомство с детьми.

2. Основной этап

1. Беседа «Значение робототехники в современном мире». Презентация с примерами использования роботов

Вопросы ученикам : где используется робототехника?

Какие примеры роботов вы знаете?

Перед нами робот футболист.

Сегодня нас ждет увлекательный футбольный чемпионат между роботами. Вы научитесь программировать своих роботов футболистов. Давайте поделимся на команды, придумаем название команды. В команде (2 или 3 человека).

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

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

Т.е. написать программу.

Читать еще:  Программирование и дизайн сайтов

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

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

Как вы думаете, коллеги, какие команды может выполнять наш робот футболист?

Поворот налево на какой-то угол,

Поворот направо на какой-то угол,

Из этих команд мы составим цепочку (алгоритм). Задача

У нас есть поле и ворота, которые сдвинуты относительно центра(это сделано, чтобы роботы не мешали другу другу). Необходимо совершить маневр, подъехать к воротам противника и вогнать туда шар.

Давайте поставим робота на поле и пройдем все шаги для выполнения задачи

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

1. Поворот направо на 90 градусов

2. Едем вперед на два оборота колеса

3. Поворот налево на 90 градусов

4. Едем вперед на два оборота

5. Удар по воротам (поворот маленького мотора на 1 оборот)

Такие простые последовательные цепочки команд, которые выполняются один раз, называются линейным алгоритмом.

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

Знакомимся с интерфейсом программы LEGO MINDSTORMS .

Эта программа очень удобная, любая команда задается с пмощью квадратиков.(блоков)

На каждом блоке мы введем нужные нам числа.

Для управления движением робота нужно использовать блок независимое управление двумя моторами. Один мотор у нас А , другой B .

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

Итак, давайте научим нашего робота двигаться вперед.

Давайте научим его поворачиваться.

Как вы думаете, ребята как можно повернуть робота быстро?

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

Дети программируют и проверяют повороты.

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

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

Проводится футбольный турнир. По 2 — 5 минуты на матч отборочный тур.

Резерв если остается время:

Знакомимся с циклическим алгоритмом: Цепочка действий, которая повторяется несколько раз.

Программа движения по квадрату

Поворот направо 90 градусов

Движение вперед 2 оборота

Повторить 4 раза

Используется блок цикл.

3. Заключительный этап (5 мин.)

2. Подведение итогов:

«Фотография на память с роботами футболистами».

Методические рекомендации к проведению урока.
Необходимое оборудование для занятия по робототехнике введение в программирование роботов
1 Собранный робот EV3 футболист
2 Проектор
3 Доска
4 Поле для роботов , ворота

Составил методическую разработку урока введение в программирование роботов Пашнин Андрей Александрович
Познакомиться с другими методическими разработками по образовательной робототехнике и программированию

Урок 3. Языки программирования, используемые в робототехнике

Продолжаем курс «Ардуино для начинающих». Мы уже поговорили о платах Ардуино, разобрали конкретную модель Arduino Uno во втором уроке и сегодня мы коснемся темы языков программирования для робототехники и электроники.

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

Тем не менее, в отношении плат Ардуино и ряда других аналогичных микроконтроллеров широкое применение получил язык C++.

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

Стоит отметить, что C++ используется для:

  • разработки программного обеспечения;
  • создания операционных систем;
  • создания различных программ;
  • создния драйверов устройств;
  • реализации приложений для встраиваемых систем, высокопроизводительных серверов, игр.
Читать еще:  Экзотические языки программирования

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

LISP является вторым старейшим языком программирования в мире (FORTRAN старше, но только на один год). Он не так широко используется, как многие другие языки программирования в этом списке; однако, это все еще весьма важно в программировании искусственного интеллекта. Части ROS написаны на LISP, хотя не нужно знать это, чтобы использовать ROS.

Hardware Discription Languages (HDLs)

Эти языки довольно знакомы некоторым робототехникам, потому что они используются для программирования полевых программируемых массивов шлюзов (FPGA).

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

Assembly

Assembly позволяет программировать на «уровне единиц и нулей». Это программирование на самом низком уровне (более или менее). В недавнем прошлом, большинству низкоуровневой электроники требовалось программирование на Assembly.

С ростом Arduino и других подобных микроконтроллеров, теперь можно легко программировать на этом уровне, используя C/C++, что означает, что Assembly станет менее необходимой для большинства роботов.

MATLAB

MATLAB и его родственники с открытым исходным кодом, такие как Octave, очень популярны среди инженеров-робототехников для анализа данных и разработки систем управления. Существует также очень популярный Robotics Toolbox для MATLAB. Существуют люди, которые разработали целые робототехнические системы, используя только MATLAB.

C# / .NET

C# — проприетарный язык программирования, предоставляемый Microsoft. Если планируется использовать эту систему,то вероятно, придется использовать C#.

Тем не менее, изучение C/C++ может быть хорошим вариантом для долгосрочного развития навыков программирования.

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

Java «скрывает» основные функции памяти от программиста, что облегчает программирование, чем, скажем, C, но это также означает, что программист меньше понимает, что на самом деле делает его код.

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

Python

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

Вероятно, одной из причин его популярности является то, что Python (и C++) являются двумя основными языками программирования, найденными в ROS. Как и Java, это интерпретирующий язык. В отличие от Java, основной целью языка является простота использования.

Python обходится без многих обычных вещей, которые отнимают время в программировании, таких как определение и приведение типов переменных. Кроме того, существует огромное количество бесплатных библиотек, что означает, что не нужно «изобретать велосипед», когда нужно реализовать некоторые базовые функции. А поскольку он допускает простые привязки с кодом C/C ++, это означает, что на этих языках могут быть реализованы части кода, требующие высокой производительности, чтобы избежать потери производительности.

В последние годы такие опции программирования, как ROS Industrial, стали предоставлять более стандартизированные опции для программистов. Однако, если программист является техническим специалистом, ему, скорее всего, придется использовать язык производителя.

В следующих уроках этого курса мы более детально коснемся основ программирования плат Ардуино.

Ссылка на основную публикацию
Adblock
detector
×
×