Организация сквозной практики по программированию на основе предметной области «Робототехника»



Автор: Борисов Николай Анатольевич, кандидат технических наук, доцент
ФГБОУ ВПО "Нижегородский государственный университет им. Н.И.Лобачевского"
Предметная область образовательной робототехники может обеспечить учебный процесс подготовки разработчиков программного обеспечения задачами различного уровня сложности для организации сквозной практики на протяжении четырех лет обучения. Если на первом курсе студенты способны решать простейшие задачи управления роботом (движение по заданной траектории, транспортировка предметов), на втором - использовать математические модели в программировании интеллектуальных задач, то к четвертому курсу ставится задача создания распределенной программной системы для управления коллективом взаимодействующих роботов с элементами компьютерного зрения и распознавания образов (на примере футбола роботов).

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

При разработке роботов студенту последовательно приходится решать задачи конструирования, программирования и отладки. Для концентрации основных усилий на разработке и отладке программного обеспечения целесообразно (особенно на младших курсах) использовать готовые робототехнические комплекты, которые в настоящее время существуют на нескольких платформах, в том числе и отечественных (Лего, ТРИК и т.д.)

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

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

На втором курсе (при изучении дисциплин «Алгоритмы и структуры данных» и «Конструирование программного обеспечения») решение робототехнических задач ведется с использованием различных математических моделей. Деревья решений используются для программирования различных интеллектуальных задач. Графовые модели – для поиска путей и планирования перемещений робота. Методы теории автоматического управления и фильтрации сигналов – для оптимизации движения по траектории.

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

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

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

Тип выступления  Устное выступление
Уровень образования  Высшее профессиональное
Ключевые слова  Программирование, практические занятия, робототехника