Частное учреждение Средняя общеобразовательная школа «Петровская школа» Северного округа г. Москвы ИСПОЛЬЗОВАНИЕ LEGO MINDSTORMS ДЛЯ ИЗУЧЕНИЯ ОСНОВ ПРОГРАММИРОВАНИЯ Презентация Михаила Некрасова, 4 «А» Классный руководитель Волынец Людмила Владимировна Москва, 2014-2015 Цель проекта - изучение теории роботостроения и разработки программного обеспечения, исследование возможности использования набора LEGO Mindstorms для изготовления адаптивного робота, создание и программирование робота, выполняющего полезные функции при исследования космоса. Проектный продукт: спроектированный, собранный и запрограммированный робот LEGO MINDSTORMS, выполняющий функции сбора грунта и защитника от опасностей. ГИПОТЕЗА ИССЛЕДОВАНИЯ Разработка моделей LEGO MINDSTORMS позволяет получить основные знания и навыки всех основных этапов разработки программы: постановки задачи, разработки аппаратной и программной части, выработки алгоритмов действия модели, разработки программного обеспечения, отладки и тестирования. Использование роботов LEGO MINDSTORMS помогает сформировать мышление для дальнейшего совершенствования в области разработки программного обеспечения и связанных с этой областей одной из самых востребованных современных профессий. О РОБОТОСТРОЕНИИ Человек всегда мечтал получить себе помощника в разных видах деятельности. Сейчас нас уже окружают много роботов, а вскоре мы совсем не будем представлять свою жизнь без них. Роботостроение сейчас находится на переднем крае науки и техники, в том числе, и в освоении и исследовании космоса. Работать в этой области можем и мы, школьники. Когда я вырасту, я хочу быть изобретателем. Я с раннего детства люблю изобретать, особенно роботов. ЧТО ТАКОЕ РОБОТ? Робот - автоматическое устройство, имеющее манипулятор — механический аналог человеческой руки — и систему управления этим манипулятором. Обе эти составные части могут иметь различное устройство — от самого простого до очень сложного. Манипулятор обычно состоит из шарнирно соединенных звеньев, как рука человека состоит из костей, связанных суставами, и заканчивается чем-то вроде кисти человеческой руки. На конце манипулятора также может быть рабочий инструмент, например, дрель, гаечный ключ, краскораспылитель или сварочная горелка. Первого робота-воина изобрел еще Леонардо да Винчи более 500 лет назад. В черновиках обнаружили рисунок и описание робота, который мог приподниматься и садиться, двигать руками и шеей. Три поколения роботов: промышленные, адаптивные и роботы с искусственным интеллектом Первое поколение промышленные роботы Самые первые образцы простых промышленных роботов были созданы в 1962 году в США. Они работали по одной программе, которая не менялась в процессе работы. Такие роботы автоматизировали выполнение несложных операций при одних и тех же внешних условиях. Такие роботы дешевы, просты, легко перепрограммируются и вполне могут заменить человека при выполнении тяжелых и опасных однообразных операций. Роботы выполняют операции сварки (например, точечной сварки кузовов легковых автомобилей), могут загружать и разгружать грузы, обслуживают прессы или устанавливают колеса на легковые автомобили. Но даже малейшее изменение окружающей обстановки, малейший сбой в процессе работы ведут к нарушению действий такого робота, и требуется вмешательство человека. ВТОРОЕ ПОКОЛЕНИЕ РОБОТОВ - АДАПТИВНЫЕ РОБОТЫ Адаптивные роботы могут изменять свои действия в зависимости от обстановки. Если объект, с которым работает робот, поворачивается или перемещается, или появляется препятствие, эти роботы могут выполнить разные действия для выполнения задачи. Робот должен постоянно получать информацию о том, что происходит вокруг . Поэтому адаптивные роботы имеют значительно более сложную форму, состоящую из двух частей: 1) сенсорные устройства, которые собирают информацию о внешней среде и о местоположении различных частей робота; 2) компьютер, который анализирует эту информацию и в соответствии с ней и заданной программой управляет перемещением робота и его манипулятора. Робот имеет в памяти образы объектов и сравнивает с ними те, которые он «видит» (форму, цвет и другие признаки), и так может «узнать» объект. В памяти адаптивного робота заложено столько различных программ, сколько может возникнуть различных ситуаций. Пока ситуация не меняется, робот действует по базовой программе. Когда же внешние датчики сообщают об изменении ситуации, компьютер робота анализирует ее и выбирает ту программу, которая подходит для данной ситуации. Например, роботпылесос может убрать пыль в комнате, заставленной мебелью, не задев ее, людей и животных. ТРЕТЬЕ ПОКОЛЕНИЕ – РОБОТЫ БУДУЩЕГО, РОБОТЫ С ИСКУССТВЕННЫМ ИНТЕЛЛЕКТОМ Третье поколение роботов пока еще только проектируется. Их основное назначение — работа в сложной, плохо организованной среде, притом в таких условиях, когда невозможно предусмотреть все варианты ее изменения. Робот должен самостоятельно думать и координировать свои действия по желанию самой машины, а не установки, заложенной в «мозг» компьютера Получив какую-то общую задачу, такой робот должен будет сам разработать программу ее выполнения для каждой конкретной ситуации (тогда как адаптивный робот может лишь выбирать одну из предложенных программ). В случае, если операция не удалась, робот с искусственным интеллектом сможет проанализировать неудачу, составить новую программу и повторить попытку. На данный момент роботы научились различать людей по лицам и голосу, самостоятельно принимают решения и действуют автономно. Это уже является значительным шагом в направление робототехники и прогресса для будущего. ПРОГРАММИРОВАНИЕ Сам по себе робот – просто набор деталей, если он не оснащен программой действий. Для составления программ существуют разнообразные языки программирования. Язык программирования - это фиксированная система обозначений для описания алгоритмов и структур данных. В узком смысле программирование - это кодирование : реализация одного или нескольких взаимосвязанных алгоритмов на некотором языке программирования. В более широком смысле программирование процесс создания программ, то есть разработка программного обеспечения. Программирование сочетает в себе элементы искусства, науки, математики и инженерии. Любая программа использует основные понятия - начало и конец программы, типы данных, арифметические операции, ввод-вывод данных, логические величины и операторы, циклы. Для обучения программированию может использоваться любой язык программирования. Докажем, что для обучения программированию может использоваться и язык, созданный разработчиками микропроцессора NXT для программирования роботов LEGO MINDSTORMS. ПОСТАНОВКА ЗАДАЧИ СОЗДАНИЯ РОБОТА Поставим задачу – сконструировать из LEGO MINDSTORMS на базе микропроцессора NXT робота, который производит сбор образцов с поверхности исследуемого космического тела, а также защиту от нападения извне. Собранный робот будет запрограммирован на выполнение данных функций, отлажен и протестирован. ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ, РАЗРАБОТКА И КОНСТРУИРОВАНИЕ РОБОТА Наборы LEGO Mindstorms комплектуются набором стандартных деталей LEGO (палки, оси, колеса, шестерни), а также процессором, Bluetoothсвязью, динамиком, графическим дисплеем, тремя двигателями и набором датчиков. Выберем все необходимые детали и произведем сборку модели. ОСНОВНЫЕ БЛОКИ ПРОГРАММЫ АЛГОРИТМ РАБОТЫ ПРОГРАММЫ Для программирования используется новая графическая платформа, простая в освоении, но позволяющая запрограммировать очень многое. Сформулируем алгоритм работы робота. Он должен: 1) Начать работу 2) Двигаться вперед, пока не увидит препятствие, а по его обнаружении остановиться 3) Посветить на препятствие, ждать касания 4) Выстрелить резинкой (забор пробы грунта) 5) Забрать грунт, повернуться 6) Ехать в течение 5 сек и остановиться, конец работы ПРИМЕРЫ ПРИМЕНЕНИЯ ОСНОВНЫХ ОПЕРАТОРОВ ЯЗЫКА ПРОГРАММИРОВАНИЯ Компонент «Движение» отвечает за активацию моторов, которые начинают вращаться с выбранной скоростью (можно настроить и другие параметры моторов) Компонент «Цикл» дает возможность повторять установленные действия и завершать повторения по установленным событиям. В нашем случае используется сенсорный датчик и событием является наличие объекта, находящегося на расстоянии меньше 10 см от датчика. ПРОГРАММА Составим по алгоритму программу Пример экрана пользователя в процессе разработки программы. ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММЫ Программа использует все основные операторы: начало программы, конец программы, циклы, обработка условий, работа с оборудованием. Блок перемещения приводит робота в движение прежде, чем запустить цикл, который повторяется до тех пор, пока датчик не получит сигнал от препятствия. В цикле непрерывно считываются показания датчика. Генерируется логическое значение, которое является истинным, если происходит событие – пришел сигнал от препятствия. После этого производится запуск резинки, захват пробы и разворот. Дальше запускается цикл движения робота в течение 5 сек, по прохождении этого времени происходит останов робота и конец работы. В процессе отладки и тестирования мы убеждаемся в том, что все действия робота соответствуют алгоритму и цели работы. Конференция "Эксперимент в космосе" в Дворце пионеров на Воробьевых горах, 29-11-2014 Робот-исследователь грунтов Участие в конференции кружка робототехники ГБОУ ЦРТДЮ "Гермес" ГИПОТЕЗА ДОКАЗАНА Достигнута цель исследования построен адаптивный робот, выполняющий исследовательские и охранные функции ВЫВОДЫ В процессе выполнения проекта были решены задачи: 1) Изучена история и перспективы развития роботостроения 2) Получены навыки конструирования роботов на базе микропроцессора NTX 3) Изучены основы теории и практики программирования на примере языка программирования процессора NXT 4) Получены навыки работы в среде программирования Lego Mindstorms 5) Получены навыки постановки задачи, разработки алгоритма и разработки программы управления роботами Лего, получены знания основных алгоритмических конструкций и основных операторов языка программирования 6) Получено представление о концепции исполнителя (на примере робота), которая используется в курсе информатики при изучении программирования 7) Развито умение выстраивать гипотезу и сопоставить ее с полученным результатом 8) Получены навыки проведения физического эксперимента 9) Получены навыки реализации алгоритмов, связанных с автоматизацией производственных процессов и процессов управления СПАСИБО ЗА ВНИМАНИЕ