Подъем робота по ступеням

Подъем робота по ступеням

15.1. Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Ниже приведено описание Робота. У Робота есть четыре команды перемещения:

При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. Если Робот получит команду передвижения через стену, то он разрушится.

Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится Робот:

сверху свободно снизу свободно слева свободно справа свободно

Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

«Последовательность команд» — это одна или несколько любых команд, выполняемых Роботом. Например, для передвижения на одну клетку вправо, если справа нет стенки, можно использовать такой алгоритм:

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

если (справа свободно) и не (снизу свободно) то
вправо
все

Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

Также у Робота есть команда закрасить, закрашивающая клетку, в которой Робот находится в настоящий момент.

На бесконечном поле имеется лестница. Сначала лестница спускается вниз слева направо, потом поднимается вверх также слева направо. После подъема лестница переходит в вертикальную стену. Высота каждой ступени 1 клетка, ширина — 1 клетка. Количество ступенек, ведущих вверх, и количество ступенек, ведущих вниз, неизвестно. Между спуском и подъемом ширина площадки 1 клетка. Робот находится в клетке, расположенной в начале спуска. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над лестницей, как показано на рисунке. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

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

15.2. Напишите программу, которая по двум данным натуральным числам a и b, не превосходящим 30000, подсчитывает количество чётных натуральных чисел на отрезке [a, b] (включая концы отрезка). Программа получает на вход два натуральных числа a и b, при этом гарантируется, что 1 ≤ ab ≤ 30000. Проверять входные данные на корректность не нужно. Программа должна вывести одно число: количество чётных чисел на отрезке [a, b].

Источник

Проекты:Гусеничный робот

Материал из Кафедра Автоматики и телемеханики

Проект «Гусеничный робот»

Содержание

Версия 0.2.1

Гусеничный робот v0.2.1 (веб-камера и дальномеры)

Изменения в версии 0.2.1 от 01.06.2012 по сравнению с предыдущей версией (changelog)

  • по схеме перекрестных лучей установлены два инфракрасных дальномера Sharp GP2D12, которые используются для предотвращения столкновения с препятствиями;
  • установлена веб-камера Logitech C300, неплохо зарекомендовавшая себя при реализации компьютерного зрения для системы «Шарик на балансире»;
  • дополнительные небольшие изменения аппаратных и программных компонентов.

Проверено передвижение по ступеням лестницы в здании, а также проезд через узкую дверь (см. видео в данном разделе).

Версия 0.2

Гусеничный робот v0.2

Гусеничный робот v0.2 (центральная часть, вид сверху)

Пульт управления
Turnigy 9X 9Ch

Изменения в версии 0.2 от 08.04.2012 по сравнению с предыдущей версией (changelog)

  • Мощность двигательной части увеличена примерно в 2 раза.
  • Сделан новый драйвер двигателей под новую мощность.
  • Двигатель переведен на заднюю шестерню, которая теперь стала ведущей.
  • Сделан новый каркас, более крепкий и жесткий.
  • Сделано более качественное соединение полотна гусеницы с помощью специальных креплений.
  • Установлен более мощный адаптер Wi-Fi.
  • Удаленное управление реализовано на основе Turnigy 9X 9Ch (см. рисунок).
  • Дополнительные небольшие изменения компоновки.

Проведено испытание передвижения на ровной поверхности и при преодолении препятствий в виде:

  • наклонной плоскости в 45 градусов;
  • модели лестницы из трех ступеней.

Также проведено испытание передвижения в сложных условиях мокрого снега.

Основные моменты испытаний можно наблюдать на видео, представленных в данном разделе.

Более полные варианты видео испытаний можно посмотреть на канале пользователя ieremeev.

Версия 0.1

Гусеничный робот v0.1

Гусеничный блок робота v0.1 (основные компоненты)

Гусеничный робот v0.1

Конструктивно, платформа разработанного робота представляет из себя «танкообразную» конструкцию размером 550х800х450мм и весом около 35 килограмм. Гусеничный блок изготовлен из алюминиевых профилей, что придает конструкции малый вес и достаточную прочность.

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

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

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

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

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

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

Состояние проекта

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

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

Публикации по проекту

  1. Еремеев И.М., Кавалеров М.В. Начальный этап разработки многоцелевого гусеничного робота [Электронный ресурс] // III Международная интернет-конференция молодых ученых, аспирантов и студентов «Инновационные технологии: теория, инструменты, практика. InnoTech 2011». URL: http://www.conference.msa.pstu.ru/arhiv/skachat-sbornik-innotech-2011/at_download/file (дата обращения: 06.11.2012).
  2. Еремеев И.М., Кавалеров М.В. Разработка мобильного робота повышенной проходимости с удаленным управлением // Материалы краевой научно-технической конференции «Автоматизированные системы управления и информационные технологии – 2012». – Пермь, 2012 (в печати).

История проекта

Предварительная проработка

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

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

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

  • TALON компании Foster Miller; [1]
  • MMP40X компании Machine Lab; [2]
  • Element компании Mesa Robotics; [3]
  • Scorpion компании Mesa Robotics. [4]

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

Общие сведения о проекте

Задачи проекта

Проект разработки гусеничного робота для целей исследования и обучения включает в себя следующие задачи:

1) разработка моноблочной гусеничной платформы, обладающей способностью:

  • перемещаться по ступеням типовых лестниц в зданиях;
  • перемещаться по пересеченной местности;
  • подниматься по наклонной плоскости с углом наклона до 45 градусов;
  • нести на себе или тянуть за собой полезную нагрузку весом в несколько десятков килограмм (дает возможность установки и использования дополнительного бортового оборудования);

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

  • выполнять удаленное управление роботом, получая данные с сенсоров робота, в том числе,видеоизображение с одной или нескольких бортовых видеокамер;
  • осуществлять автономное перемещение робота в известной местности (заранее известна ее карта) и в неизвестной местности (карта местности строится одновременно с перемещением робота по технологии SLAM), причем особенность перемещения между этажами здания открывает возможности для построения «многоэтажных» карт;
  • взаимодействие групп роботов (в частности, в случае перевозки более маленьких мобильных роботов на себе);
  • взаимодействие с человеком на основе распознавания его жестов и голосовых команд.

Исследовательская составляющая

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

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

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

Образовательная составляющая

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

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

Источник

Читайте также:  Материал для облицовки ступеней лестницы
Оцените статью