О связи робототехники с механикой, электроникой и программированием, а также о междисциплинарных связях

УДК 372.016

М. В. Лазарев

О СВЯЗИ РОБОТОТЕХНИКИ С МЕХАНИКОЙ, ЭЛЕКТРОНИКОЙ И ПРОГРАММИРОВАНИЕМ, А ТАКЖЕ О МЕЖДИСЦИПЛИНАРНЫХ СВЯЗЯХ

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

Ключевые слова: робот, робототехника, механика, электроника, конструкция, обучение, умение.

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

Детям, чтобы научиться создавать роботов и писать к ним программы, необходимо усвоить дополнительные специфические знания как по каждой дисциплине (механике, радиоэлектронике, программированию), так и междисциплинарные [1-3]. Одних знаний для создания роботов, разумеется, недостаточно. Ученикам необходимо получить соответствующие умения и навыки в каждой дисциплине, включая технологию. Процесс обучения таким знаниям имеет определенные педагогические особенности и должен быть соответствующим образом организован.

Ученики в результате обучения как в области механики, так и в области электроники должны:

- научиться определять функции и технические характеристики компонентов робота (механических и электронных);

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

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

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

- получать и обрабатывать входные сигналы робота (от датчиков, кнопок и пр.);

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

- создавать программы в соответствии с техническим заданием.

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

Роль механики в обучении робототехнике

Знания, умения и навыки из области механики в освоении робототехники могут быть необходимы в следующих случаях:

- при оценке механических характеристик робота и вычислении параметров необходимых деталей и узлов, соответствующих данным характеристикам;

- при изготовлении различных механических частей робота.

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

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

Например, мы хотим сделать робота, движущегося по линии, массой 1 кг, чтобы он ездил со скоростью до 1 м/с, временем разгона до максимальной скорости 2 с, на колесах диаметром 5 см. Исходя из этих данных вычисляется мощность и скорость вращения вала двигателя, выбирается его тип. Аналогичный подход делается относительно всех остальных узлов робота.

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

Изготовление отдельной детали самодельного робота в большинстве случаев состоит из трех этапов:

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

- изготовление детали;

- ввода детали в конструкцию робота.

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

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

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

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

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

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

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

Роль электроники в обучении робототехнике

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

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

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

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

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

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

Изучив радиоэлектронику, ученик должен знать:

- физические законы из данной области;

- основные радиоэлектронные компоненты, их назначение, основные технические характеристики;

- схемы включения электронных компонентов;

- простейшие электронные схемы;

- методику расчета простейших электронных схем.

А также уметь:

- монтировать и демонтировать электронные схемы;

- работать с измерительными приборами;

- налаживать простейшие электронные схемы;

- рассчитывать схемы включения радиоэлектронных компонентов и простейшие электронные схемы.

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

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

Роль информатики в обучении робототехнике

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

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

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

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

- объем понятий, изучаемых в информатике, шире объема понятий, изучаемых в математике;

- объем понятий изучаемых в программировании, шире объема понятий, изучаемых в пользовании;

- объем понятий, изучаемых в робототехнике, шире объема понятий, изучаемых в программировании и пользовании.

Это, как минимум, относится к следующим понятиям: «переменная», «функция», «байт», «интерфейс».

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

В программировании байт обычно является числом определенного диапазона ([0, 255], [-128, 127]), которое может определенным образом обрабатываться. Типичными задачами в этом случае являются задачи с изменением значения числа.

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

Необходимо также помнить и о многозначности терминов. Например, термин «слово» в программировании обозначает как 16-битное значение, так и термин, являющийся синонимом понятий «оператор» или «команда» в языке программирования «Форт».

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

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

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

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

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

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

- приняты программой;

- правильно интерпретированы программой;

- правильно обработаны программой;

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

Связь механических параметров робота и программы

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

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

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

Анализ существующих подходов

Итак, качественное освоение детьми основ робототехники требует не просто изучения ими таких дисциплин, как механика, радиоэлектроника и программирование, но и рассмотрения всех взаимосвязей между этими тремя дисциплинами. В настоящее время в образовательной робототехнике в данном направлении имеется несколько подходов: обучение робототехнике с помощью конструкторов Lego, Fisher и т. п. [4]; обучение на основе контроллеров, например Arduino [5]. Имеются книги, в основном переводные, которые рассматривают процесс изготовления робота на основе микроконтроллеров, например AVR, PIC [6]. Но эти книги не являются учебниками или учебными пособиями какой-либо учебной программы, утвержденной в нашей стране официально.

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

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

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

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

механики, наиболее часто используемых в робото- работы ученик неформально изучает необходи-

технике [7]. Отличием данной программы от дру- мые дисциплины, и на этом пути ему раскрыва-

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

пользование языка программирования «Форт». выше.

Роботы изготавливаются учениками полностью, Результатом эффективности программы можно

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

составляющих робота и отладка программы дела- роботов и, самое главное, большое количество уче-

ется учеником или группой учеников самостоя- ников, успешно обучающихся по данному направ-

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

Список литературы

1. Борисова Т. С., Куликов С. Б. Формирование инновационного поведения молодежи институтами социального воспитания // Вестн. Томского гос. пед. ун-та. 2012. Вып. 8 (123). С. 47-50.

2. Дмитриев В. А. Творческая подготовка инженеров и педагогов профессионального образования как дидактическая проблема // Вестн. Томского гос. пед. ун-та. 2009. Вып. 5 (83). С. 64-70.

3. Жукова Е. А. Hi-Tech и Hi-Hume: новые требования к подготовке профессионала // Вестн. Томского гос. пед. ун-та. 2005. Вып. 5 (49). С. 70-72.

4. Филиппов С. А. Робототехника для детей и родителей. СПб.: Наука, 2011. 263 с.

5. Бачинин А., Панкратов В., Никоряков В. Основы программирования микроконтроллеров. М.: Амперка, 2013. 207 с.

6. Жимарши Ф. Сборка и программирование мобильных роботов в домашних условиях / пер. с фр. М. А. Комаров. М.: НТ Пресс, 2007. 288 с.

7. Лазарев М. В. Об опыте создания кружка робототехники в центре детского творчества «Родник» (г. Орехово-Зуево) // Мобильные роботы и мехатронные системы: материалы научной школы-конференции. М.: Изд-во Моск. ун-та, 2005. Ч. 1. С. 134-136.

Лазарев М. В., педагог дополнительного образования, соискатель.

Муниципальное образовательное учреждение дополнительного образования детей «Центр детского творчества „Родник“».

Ул. Ленина, 93, Орехово-Зуево, Московская область, Россия, 142600.

E-mail: mvlaz@yandex.ru

Материал поступил в редакцию 12.12.2012.

M. V Lazarev

ABOUT THE CONNECTION OF ROBOTICS WITH MECHANICS, ELECTRONICS AND PROGRAMMING,

AND ALSO ABOUT INTERDISCIPLINARY LINKS

The article considers the issues of education for children aged 12-16 to basics of robotics. The value of knowledge of basics in physics, mathematics, computer science and technology in the course of robot creation are shown. It reveals the need for linkage, when designing a robot, for students between mechanical, electronic and software components on the construction of various types of robots. It defines the knowledge and skills to be acquired by the student for a qualitative studying of basics of robotics.

Key words: robot, robotics, mechanics, electronics, design, training, ability.

References

1. Borisova T. S., Kulikov S. B. Formation of innovative behaviour among young people by social education institutions. Tomsk State Pedagogical University Bulletin, 2012, no. 8 (123), pp. 47-50 (in Russian).

2. Dmitriev V. A. Creative training of engineers and teachers of professional education as a didactic problem. Tomsk State Pedagogical University Bulletin, 2009, no. 5 (83), pp. 64-70 (in Russian).

3. Zhukova E. A. Hi-Tech and Hi-Hume: New requirements to preparation of the professional. Tomsk State Pedagogical University Bulletin, 2005, no. 5 (49), pp. 70-72 (in Russian).

4. Filippov S. A. Robotics for children and parents. St.-Petersburg, Nauka Publ., 2011. 263 p. (in Russian).

5. Bachinin А., Pancratov V., Nicoryakov V. Bases of programming of microcontrollers. Moscow, Amperka Publ., 2013. 207 p. (in Russian).

6. Gimarchi F. Robot mobiles programmables. Techniques avancees. ETSF, France (Russ. ed.: Sborka i programmirovanie mobil'nykh robotov v domashnikh usloviyakh. per. s fran. M. A. Komarov. Moscow, NT Press Publ., 2007. 288 p. (in Russian)).

7. Lazarev M. V. A glimpse experience of basing the robotics club of interest in the Central Home of Creation “Rodnik” (Orekhovo-Zuevo). Mobile robots and mechatronic systems: Materials of scientific school-conference. Moscow, Moscow State University Publ., 2005, vol. 1, pp. 134-136 (in Russian).

Municipal School of Additional Education “Rodnik”.

Ul. Lenina, 93, Orekhovo-Zuevo, Moskovskaya obl., Russia, 142600.