Проект №15 «Фигурист»
Раз уж мы затронули спортивно-игровые темы, помогающие получить навыки в конструировании роботов, то вот еще одна. Фигурное катание. В нем мальчики, девочки или их пары артистично катаются по льду под музыку. Отсюда и название данного спорта: катание - значит кататься по льду, фигурное - выписывать фигуры на ледяной поверхности.
Так вот, мобильный робот тоже может быть фигуристом и способен выводить различные геометрические фигуры.
Для того, чтобы он смог это сделать, надо четко знать какие расстояния проходят колеса. Ведь когда вы чертите в тетради на уроках математики или геометрии различные треугольники, прямоугольники или ромбы, - вы проводите их стороны с определенной длиной. Вот и у робота происходит все точно также. Он должен поворачивать колеса на определенные углы, которые соответствуют определенным расстояниям. А для физической реализации таких возможностей потребуется применить очень популярный в мобильной робототехнике узел — колесный энкодер.
Конструкция
Робот должен выписывать геометрические фигуры, а у них, естественно, есть размеры. Есть дуги с определенными радиусами и прямые линии с определенными длинами. Их можно отмерить через углы поворота колес.
Например, если робот движется прямо, то длина L, которую пройдет робот, может быть вычислена по ниже указанной формуле. В ней R — радиус колеса, а угол γ — это угол на который колесо повернется (этот угол может составлять и несколько оборотов колеса).
Соответственно, если надо, чтобы робот прошел по квадрату, то он должен пройти 4 прямолинейных участка с заданной длиной и описать 4 дуги, соединяющие эти прямые линии. Их можно отмерить через углы поворота колес, которые, в свою очередь, можно задать с помощью энкодера, изученного в предыдущем проекте.
Выходит, что в роли фигуриста вполне может выступить робот из проекта «Робоулинг». Он оснащен энкодерами, индикаторами и кнопкой запуска/останова, а большего в конструкции и не требуется.
Алгоритм
Для того, чтобы сильно не усложнять алгоритм, предусмотрим исполнение нашим роботом-фигуристом 3-х относительно простых фигур: «Туда-сюда», «Квадрат» и «Зиг-заг». . Этого вполне достаточно для звания фигуриста.
При выполнении фигуры «Туда-сюда» робот будет двигаться вперед, через некоторое время разворачиваться вокруг своей оси, возвращаться назад и снова разворачиваться. Получается своего рода овал с прямыми боковинами.
Фигура «Квадрат» ясна из названия. Робот движется вперед, поворачивает на 90º, опять вперед, снова поворот, и так далее, пока не получится траектория, похожая на квадрат.
Фигура «Зигзаг» представляет собой «привет» из проекта «Слалом». Фактически тоже самое, только выполненено на ином уровне. Здесь повороты робота выполняются не по времени включения моторов, а по углам поворота валов этих моторов.
Каждая фигура соответствует режиму работы работа. Режим, как и в предыдущем проекте, выбирается кнопкой. Левый, правый или оба светящихся индикатора указывают на то, какой из 3-х режимов выбран.
Как видите, каждая фигура состоит из элементов в виде дуг и прямых линий, имеющих конкретные параметры. Они формируются поворотом колес на соответствующие углы, пересчитываемые в пройденные расстояния по приведенной формуле на картинке выше. Для каждого из режимов в программе отражена последовательность поворотов колес с помощью энкодеров. Как именно это реализовано можно узнать, ознакомившись непосредстенно с программой.
Сборка
В данном проекте сборочные операции отсутствуют, так как робот используется тот же, что и в проекте «Робоулинг». Надо только загрузить в контроллер программу. Целью является, прежде всего, приобретение навыков более продвинутого использования энкодеров не только для прямолинейного движения, но и для движения по заданной траектории.
Программы для загрузки в контроллер по данному проекту можно скачать в двух вариантах по ниже указанным ссылкам:
- для среды программирования Студия Эвольвектор ,
- для среды программирования Arduino IDE.
Проверка робота в работе
Поставьте робота на подходящую по размерам площадку и позапускайте в разных режимах. Наблюдайте за тем, как он выписывает фигуры.
Написать отзыв
Ваше Имя:Ваш отзыв: Внимание: HTML не поддерживается! Используйте обычный текст.
Оценка: Плохо Хорошо
Введите код, указанный на картинке: