Так в итоге, что такое робототехника?

«Робототехника — отдел прикладной науки, который занимается проектированием, производством и применением автоматизированных технических систем — роботов. Робот — это программируемое механическое устройство, способное действовать без помощи человека» (ссыль), говорит гугл. Как вы понимаете, под такое описание попадает множество объектов, но те люди, которых я спрашивал отвечали – LEGO!

Всем здравствуйте!

Меня зову Сергей, мне 25 лет. Я являюсь безумным фанатом IT-сферы. Работаю в школе учителем информатики, сам изучаю и преподаю электронику, программирование, 3д-моделирование. Поучаствовав в различных соревнованиях и мероприятиях, побывав в разных городах, у меня сформировалось мнение, что образовательная робототехника в стране находится не в том русле, она немного отстала от времени. Размышления об этом начались с вопроса «Что такое робототехника?».

Лего-робототехника очень глубоко зашла в деятельность дополнительного образования технической направленности. Многие кружки робототехники используют MINDSTORMS. И это неплохо, когда ты еще вчера под столом собирал кубики из лего, а теперь занят колёсными моделями, которые программируешь на определенное поведение. Но стоит задуматься, какую профориентациюнную нотку можно получить с детского конструктора?

Профессиональное и личностное самоопределение стоит в задачах дополнительного образования. Само определение «робототехника» у любого, помимо LEGO, ассоциируется еще с такими словами, как «программирование», «механика», «моделирование», «электроника». Возьмем их за тот абсолют, при достижение которого обучающийся достигнет великого уровня профессионализма и вернемся к LEGO MINDSTORMS.

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

• Визуальное (EV3/NXT-G, Robolab (для MK RCX, NXT), stratch);

• Текстовое (Small-Basic, RobotC, ev3dev).

Что из этого следует? Начнем по порядку.

Первое, что меня очень разочаровывает, так это визуальное программирование в целом. Да, когда тебе 7 лет идея хорошая, но интерфейс расстраивает. Но когда тебе 16 лет, а ты до сих пор строишь бесконечной размерности цепи из блоков, то хочется просто все бросить и стать врачом. Особого навыка программирования ты не получаешь, так как строить «алгоритмы» подобными конструкциями и считать себя джедаем программирования – бред, хотя повторюсь, что для детей это хорошо, порог вхождения в «программирования» ниже, но сейчас я уже о подростках. Текстовый формат здесь есть, хотя не так уже и давно это появилось. RobotC – урезанный C, который дает триал на 30 дней, а потом никто не знает, что будет. Ни разу не слышал, чтобы кто-то покупал ключ. Ev3dev – уже использует язык программирования (далее ЯП) Python. Многие говорят, что выбор в эту сторону делать не стоит, так как много времени уходит на компиляцию и включение проекта, а также опрос датчиков по времени дольше, чем визуальная среда или Basic. Ну и сам Basic. ЯП адаптирован под микрокомпьютер (далее МК), т.е. может выводить на LCD, опрос датчиков, работа с моторами, массив (вектор) и все, опять-таки ничего такого, что хотелось бы дать ребенку в 15-17 лет, тем более язык неактуален, работает в рамках среды .NET, а там уж лучше C#. В итоге поверхностное вхождение в «тыжпрограммист» и такое же в робототехнику.

«Механика» тут лучше всего, относительно других компетенций. Есть все, что необходимо для воспитания от начинающего механика и до “профессионального” конструктора.

Для моделирования есть нативное приложение LEGO® Digital Designer ™. Ну и куча разных сторонних программ, но многие соревнования запрещают использовать детали не от Mindstorms =’(.

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

И цена набора составляет в среднем 34 тысячи рублей. Забавно, что контроллер Ev3 на борту имеет ARM-архитектуру, частоту 300 Мгц, ПЗУ – 16мб (16мб, КАРЛ!), ОЗУ – 64мб. Usb 2.0, 1.1. И все это чтобы юзать 4 порта датчиков и 4 для моторов. Порты поддерживают I2C, SPI интерфейсы.

Теперь кратко о соревнованиях.

• Езда по черной линии (как навигация или кто быстрее);

• Сортировка (из точки А перенести в точку В).

Есть еще немного выбившие из этих категорий, как, например, футбол, боулинг и т.д. Ну и все.

Теперь вернёмся к нашим баранам, как говорится. Поговорим о главном!

Всё прочитанное вами относится к тому, что хочется развивать и продвигать робототехнику. На дворе 21-ый век, развитие разных технологий имеет экспоненциальный рост, а значит и мы должны не стоять на месте. Нужно бежать со всех ног, чтобы только оставаться на месте, а, чтобы куда-то попасть, надо бежать как минимум вдвое быстрее! (с) «Алиса в стране чудес» Льюиса Кэрролла (математики чушь не скажут).

Я считаю, что пора уже переходить на платформы (ESP, ARDUINO, ISKRA, STM, PIC и т.д.) с синтезом МК (raspberry pi, banana pi, orange pi и т.д), так как здесь мы полноценно изучаем как программирование (С++, Python, Javasript, если в рамках IoT, IoV, умного дома и т.п. создаем веб-сервер, то еще и PHP, SQL + верстка html, css). Порог вхождения в программирование через микроконтроллеры ниже. А ведь это только программирование.

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

Работая с микроконтроллерами, основами электротехники, программирования и моделирования можно вполне воспитать очень достойное поколение инженеров, которые будут готовы к тому, что будет требовать от них рынок труда. Я понимаю, сказать легче, чем сделать. «А ТЫ ПОПРОБУЙ ЭТО ВСЕ ОБЪЯСНИ!!!». Не каждому получается и хочется сидеть и разбираться, а потом еще и детям пытаться объяснить.

Достаточно книг и видеоуроков (DI HALT, AlexGyver, Amperka, В. Петин и многие другие, чьи наработки помогают при обучении – вы лучшие), но не достаточного того, кто все это разложит по полочкам и на блюдечке преподнесёт детям, и будущим преподавателям. А также тех, кто продумает систему соревнований и оценивания знаний.

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

Так в итоге, что такое робототехника? Робототехника, Образование, Современное поколение, Воспитание, Профессия, Дополнительное образование, Arduino, Длиннопост
Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Ваше желание научить похвально, но как это сделать?

Тот же язык C++ слишком сложен для подростков, и его не понять по настоящему, если не знаешь C и assembler. А это уже выливается в несколько лет университета.

А еще люди, которые изучают Python зачастую не очень представляют себе, что такое "байт", как работает знаковая арифметика и как устроена арифметика с плавающей точкой..

Если учить с азов, с битов, с байтов, с арифметики, построения схем, то пожалуй, что лучший учебник, который я видел - это "Цифровая схемотехника и архитектура компьютера." Дэвид М. Харрис и Сара Л. Харрис.

Его можно найти в открытом доступе.

К концу книги читатель сможет понять как работает настоящий процессор.


Кстати, вопрос по 3D моделированию: какое ПО вы показываете ученикам? Как там с лицензиями? Ставите студенческую версию?

раскрыть ветку (4)
Автор поста оценил этот комментарий

Да, я понимаю. Но мы не говорим о том, чтобы сразу воспитать Senior'a, нам нужен ученик, который будет постепенно вникать в суть дела и понимать, что такое робототехника и с чем её едят. Естественно, далее в его жизни будет вуз, где он изучит уже тот материал, который вряд ли осилит в школе. Здесь главное начать и заинтересовать его чем-то приближенным к реальности. В программировании и электронике нужно постоянно поддерживать мотивацию, иначе как только она падает, сразу все к 0 сводится. Я прочитал множество русскоязычной литературы, связанной с МК в образовании, хотя материал хорош, но всё как-то сухо и академично. В этом году пошел по другому, выстраивал преподаваемый материал сам, пока полет отличный, C++ для 15-ти летних ребят очень неплохо зашел. С ООП пока еще тяжко, но в рамках проектов и участий в олимпиадах уже достаточно. Вот я хочу все сейчас перевести в бумажный вид, если хватит сил, прописать занятия. Просто тоже думал, что это тяжело - дать весь материал детям, но понял, что это вполне реально, нужно просто грамотно продумать процесс.

Моделирую в Компасе 3д, если нужно быстро накидать, то используем SketchUp. (Есть студ. версии. Компас оч. хороший вариант предлагает)

раскрыть ветку (3)
Автор поста оценил этот комментарий

Я вот наверное если меня попросят даже не смогу объяснить, что происходит вот в этом коде:

cout << "Hello World";

раскрыть ветку (2)
Автор поста оценил этот комментарий
Помню, когда только начал изучать с++, написал простенькую игру. Посмотрев на нее, мой знакомый программист посоветовал изучить указатели и оптимизировать чуток игру. Я в учебнике прочитал и не понял, знакомый мне объяснял, я так и не понял. Как только внедрил в проект, посмотрел что и как. Сразу дошло. Так же было и с транзистором и мультивибратором.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Насчет сразу дошло: тут такое дело, человек может годами использовать cout << для вывода сообщений и даже не догадываться, например, что cout - это объект класса унаследованный от другого класса и переопределяющий оператор <<. Или вот взять "Hello world" - не каждый программист с уверенностью скажет вызывается ли здесь конструктор класса std::string. А вот такие мелочи определяют глубину знания языка.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку