Скачать 327.04 Kb.
|
Дополнительные задачиПеречисленные ниже задачи являются хорошими упражнениями, но иногда для их выполнения может не хватать комплектующих. Работа с сервомашинкойПодключение сервомашинки (выдача определенного периода). Управление сервомашинкой при помощи потенциометра. Поворот на источник светаПрикрепить беспаечную макетную плату с фоторезисторами к сервомашинке и заставить ее поворачиваться в сторону источника света. Либо прикрепить фоторезисторы на двусторонний скотч. Решение робототехнических задач на мобильном роботеДля выполнения следующих задач необходим мобильный робот. Это может быть готовый покупной робот, робот-конструктор или полностью самодельный робот. Описание робота POP-BOTМы остановили свой выбор на робоконструкторе POP-BOT таиландской фирмы Innovative Experiment, как на самом доступном по цене и простом для новичков, при этом с богатым функционалом. Рассматривался также вариант Pololu 3pi, но вскоре стало ясно, что этот робот уже для более «продвинутых» робототехников, и его сложнее расширять в силу маленького размера. Состав набораРоботы POP-BOT продаются в магазинах и вполне доступны по цене (5,5 тыс.р. — сравнительно небольшая цена за полностью готового робота). Робот поставляется в коробке в разобранном виде, в комплекте есть отвёртки и инструкция по сборке. Практически все детали из комплекта можно купить по отдельности в магазине «Терраэлектроника», а значит, испорченную часть легко заменить. Из периферии в наборе имеются: 2 оптических датчика освещённости, 2 кнопки, ИК-дальномер SHARP GP2D120, сервомашинка, ЖК-экран. Набор всевозможного крепежа, пластинок и уголков. Единственное, что потребуется, чтобы немедленно начать работу с POP-BOT — это питание. Аккумуляторов в наборе, разумеется, нет, так что необходимо подготовить 4 штуки АА. Прилагается хороший CD с программами, документацией, презентациями про Arduino и даже с видео. Подробнейшее и полное опечаток руководство пользователя - на английском (есть и на русском, в электронном виде). СборкаСборка несложна и интересна для студентов. Небольшое разочарование происходит при попытке прикрепиить ЖК-экран. В нем крепежные отверстия под 2,5 мм, а в наборе есть только 3 мм. Поэтому необходимо запастись крепежом помельче. Кроме того, нет крепежа, с помощью которого можно было бы правильно закрепить сервомашинку. Для этого нужно вставить в отверстия сервомашинки вначале резиновые втулки, затем латунные, в которые уже продеваются винты. Но винтов такого размера тоже нет в наборе, поэтому крепить её приходится без втулок, только на винты. Это приводит к тому, что «ушки» сервомашинки быстрее отламываются из-за вибрации. ПрограммированиеНа CD есть только дистрибутив Arduino 0017 под Windows. Если нет желания устанавливать уже устаревшую среду (самая новая — Arduino 0022), или нет возможности (например, если стоит Linux), то нужно сделать всего 2 несложные манипуляции:
Примеры программ, приложенные к роботу, оставляют смешанные чувства. Их много, они разнообразны и разной сложности — от «азбуки» вроде мигания светодиодом и управления сервомашинкой, до несложных алгоритмов обнаружения объекта и езды по линии. С другой стороны, написаны они немного на скорую руку, и в основном сделаны методом хардкодинга, то есть все повороты и отрезки записаны константами. Никаких калибровок, порогов — всё подобрано заранее. Поэтому ничего удивительного, что более-менее сложные алгоритмы из примеров сразу не работают, и даже простую езду по линии пришлось редактировать и дописывать код. Кстати, это хорошее упражнение для студентов и шанс устроить соревнование. Устройство платыВ качестве платы используется модуль POP-168. Он является Arduino-совместимым. Если сравнить с Arduino Nano, то бросается в глаза немного другое расположение выводов, и «урезанность» платы: D10, D11, D12, D13 заняты под разъём ISP-программатора и не выведены сбоку. Но, как бы то ни было, все выводы можно использовать. Нет стабилизатора на 5В (он есть на «большой» плате) и 3.3В. Выведены 7 аналоговых входов. К ним подключается через разъёмы JST (Japanese Solderless Terminal) вся периферия (датчики, экран). Расположение выводов такое же, как у ИК-дальномеров SHARP GP2D120 и модулей DFRobot, так что дополнительные устройства подключаются без труда. Разъёмы с ключами, так что при всём желании их нельзя вставить неправильно. Их трудно вынимать из гнезда, приходится подцеплять ногтями или щипчиками. На практике обжимка таких разъёмов сложна из-за небольших размеров. Продаются в магазине «Кварц», если необходимо подключить к роботу что-либо не из набора. Для сервомашинок — два отдельных выхода, сделаны тоже с учетом стандартного расположения проводов у сервомашинки. Экран снабжен встроенным контроллером и соединяется с основной платой по интерфейсу RS-232. На плате робота не выведен отдельно аппаратный UART, поэтому экранчик подсоединяется при помощи SoftwareSerial на свободном выходе. Остальные выводы: 2 кнопки (в режиме входа)/светодиода (в режиме выхода), ценный аналоговый вход А0 работает как выход и занят под динамик. 4 выхода заняты для управления моторами, 4 выведены на программатор. Ещё 2 — RX и TX. Выходит, подключить можно сразу всё, что есть в комплекте: сервомашинку, ИК-дальномер, 2 кнопки, 2 датчика полосы, экранчик, и ещё останутся свободные выводы. К сожалению, заняты оба вывода с внешним прерыванием. Но проблема невелика. Почти на всех выводах микроконтроллера ATMega88/168/328 можно включить внешние прерывания по смене состояния (с высокого на низкое) — называется PinChangeInterrupt, есть библиотека PCInt. Зато, что гораздо важнее, свободны выводы SDA и SDL для подключения устройств с интерфейсом I2C. Задачи с роботом1. Сборка роботаПервая задача состоит в том, чтобы аккуратно собрать робота согласно инструкции. Особое внимание нужно уделить ровному креплению двигателей. Очень легко перепутать верх и низ у основной пластины. После того, как робот собран в минимальном варианте (пока без датчиков), нужно подсоединить моторы и попробовать запрограммировать базовые движения: старт, стоп, повороты, движение с заданными маневрами, движение по времени. Чтобы студенты могли их написать, достаточно только указать им номера выводов, которые подсоединены к микросхеме управления моторами. Эти движения обязательно нужно оформить как функции, чтобы использовать в дальнейшем. Когда эти функции отлажены, хорошим заданием на дом будет поместить их в объекты класса «Мотор», то есть переписать эту несложную программу в С++. В конструктор мотора передаются два номера вывода. У мотора есть методы «Вращаться вперёд», «Вращаться назад», «Остановиться». В качестве параметров туда передаётся скорость. Также можно вынести всё в отдельный файл и использовать как библиотеку для дальнейших проектов. Для этого нужно посмотреть, как устроены библиотеки Arduino и оформить аналогично. 2. Отъезд от препятствийВ этой задаче необходимо подсоединить кнопки к роботу и заставить его отъезжать от препятствий при касании. Дополнительный вариант этой задачи — подключить ИК-дальномер SHARP GP2D120 и отъезжать при встрече с препятствием на расстоянии. Код, имеющийся в примерах (файл BumperRobot.pde), вполне работает, но полезнее написать его самостоятельно, чтобы освоить работу со входами. 3. Езда по линии с одним датчикомСамая первая задача — это езда по линии с одним датчиком, когда робот отслеживает край линии. Входящий в набор пример программы не очень хорош и предназначен для варианта с двумя датчиками, поэтому лучше написать её самостоятельно, дополнив предыдущую программу. Хорошо, если студенты попробуют разные варианты расположения датчика относительно робота: под основанием, на длинном креплении, строго по центру или чуть с краю. 4. Езда по линии с двумя датчикамиКогда робот может пройти дистанцию с одним датчиком, можно добавить второй. Теперь робот будет проходить дистанцию быстрее, так как не будет сбиваться и задерживаться на черных поперечных полосках. Уже можно проводить соревнования роботов на время. Как показывает практика, эти соревнования вызывают интерес и азарт у студентов, а побеждает тот, кто не боится экспериментировать с расположением датчиков и догадывается применить уже известный ему из лекций П-регулятор. 5. КалибровкаКогда становится понятно, что подбирать параметр Ref долго и сложно, естественно встаёт вопрос о калибровке датчиков робота. Несложно написать код, в котором дважды производятся измерения по нажатию кнопки. Затем берется среднее арифметическое и оно считается параметром Ref. Эта процедура выполняется для обоих датчиков линии. Задача простая и вполне может быть выполнена дома. 6. Езда с компасомЕсли есть в наличии электронный компас, можно сделать интересную задачу, в которой робот всегда поворачивается и едет в нужную сторону света. Компас HMC6352 подключается через интерфейс I2C. Купить его можно в магазине 4robots.ru. Вначале необходимо подключить компас к плате Arduino. Для этого нужно открыть в Интернете страничку про него на сайте sparkfun и посмотреть Wiring Example - схему подключения и пример программы. Затем можно поднести магнит (он есть в любом электромоторе) и посмотреть, как изменятся показания компаса. Затем можно ставить компас на робота при условии, что заблаговременно подготовлен провод с разъёмами JST для подключения к плате робота. Устанавливать компас нужно строго горизонтально на мачте длиной около 20 см, чтобы не мешали магниты в двигателях. Для езды в нужную сторону света достаточно запрограммировать простой П-регулятор. 7. ЭнкодерыРоботу очень полезно обладать хотя бы примитивной системой одометрии. Очень часто для измерения пройденного пути используют оптические энкодеры, подобные тем, что есть в механической «мышке». Возможно соорудить энкодеры из входящих в набор ИК-отражателей. Бумажные круги должны быть заранее нарисованы и распечатаны в AutoCAD. На каждом — по 20 чёрных и 20 белых полосок. Для начала, энкодеры нужно очень аккуратно закрепить так, чтобы датчик не тёрся о колесо, и при этом был бы достаточно близко к нему, чтобы различать полоски. Чтобы оценить, насколько точно закреплён датчик, необходимо написать простую программу, которая бы считала количество переходов между белым и чёрным и выводила их на экран компьютера. То, что видят в данный момент датчики (черную или белую полосу), удобно выводить на встроенных светодиодах D2 и D4. На практике, если крутить колесо рукой и смотреть на счетчик полосок, и на левом, и на правом «пропадает» 2-3 полоски, то есть после полного оборота колеса датчик насчитывает около 37 переходов. Самая простая задача с энкодерами — это выровнять скорости моторов, приведя их какой-либо заданной наперед скорости. Это получается при помощи ПИ-регулятора (Д-составляющая здесь была не очень критична). Программа получается длинная и сложная. |
Алтайского государственного университета Автор: Кулаков К. М. старший преподаватель кафедры математики и прикладной информатики |
Учебно-методическое пособие для студентов Стоматологического факультета... Зав кафедрой терапевтической стоматологии гбоу впо кубгму минздрава России, к м н, доцент А. А. Адамчик, к м н., ассистент В. В.... |
||
Методические рекомендации по освоению учебного материала 2 Литература... Автор: Рязанова О. В., ст преподаватель кафедры математики и прикладной информатики |
Введение в интеллектуальные системы ... |
||
Клинические рекомендации (протокол) по оказанию скорой медицинской помощи при шоке Автор: Б. Н. Шах, ассистент кафедры скорой медицинской помощи и хирургии повреждений Первого Санкт-Петербургского государственного... |
Институт развития образования республики башкортостан развитие интеллектуальных Развитие интеллектуальных и творческих способностей учащихся образовательных учреждений: Сборник авторских программ. – Уфа: Издательство... |
||
Учебно-методический комплекс дисциплины фтд. 5 Практикум по переводу... Автор программы: Александрова Е. В., старший преподаватель кафедры иностранных языков мггу |
Методические указания предназначены для руководителей практики и... Составители: Заведующая кафедрой терапевтической стоматологии к м н., доцент Кочкина Н. Н., к м н., доцент Демина Р. Р., ассистент... |
||
Крюков В. В. Философия : учебник Содержание Введение. С. 4 Содержание мировоззрения. Формы мировоззрения. Типы философских построений. Классификация философских теорий. Эволюция философского... |
Методология создания интеллектуальных систем оценки профессиональной... Методология создания интеллектуальных систем оценки профессиональной надежности |
||
Вологды Департамент Гуманитарной политики Управление образования... Образовательная программа «Углубленное изучение математики» является программой естественно-научной направленности |
Рггу организация работы ученых секретарей диссертационных советов рггу Организация работы ученых секретарей диссертационных советов рггу: практическое руководство. / Рггу; сост. Л. В. Тропкина, А. Б.... |
||
Рггу организация работы ученых секретарей диссертационных советов рггу Организация работы ученых секретарей диссертационных советов рггу: практическое руководство. / Рггу; сост. Л. В. Тропкина, А. Б.... |
Исследование мочи на Е. Ю. Тумилович ассистент кафедры токсикологической химии гбоу впо пгфа минздравсоцразвития России |
||
План подготовки учащихся 9 класса к огэ-2016 по математики 2014-2015 учебный год Введение государственной итоговой аттестации по математике в новой форме (гиа) в 9 классе вызывает необходимость изменения в методах... |
Инструкция Ассистент кафедры Государственное образовательное учреждение высшего профессионального образования «Саратовский государственный технический университет»... |
Поиск |