суббота, 15 марта 2008 г.

Создание аналога марсохода ПрОП-М. Проектирование

В рамках серии статей «Изготовление аналога марсохода ПрОП-М».

Самое важное перед началом любого действия - немного подумать. Как раз для этого нужно проектирование! Здесь я кратко приведу описание этого очень полезного процесса.

Итак, конечной целью всех моих будущих действий в рамках проекта создания аналога марсохода ПрОП-М будет являться создание достаточно простого робота, передвигающегося лыжно-шагающим методом, и умеющим объезжать препятствия по схеме - отъезд назад, поворот на 45 градусов, движение вперед. Этот робот будет максимально похож на свой прототип - первый марсоход в мире, ПрОП-М (Прибор оценки проходимости - Марс). Подробно сам марсоход ПрОП-М я уже описывал.

Отличия создаваемого робота от оригинала следующие:

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

Прежде всего, рассмотрим, кто и что будет взаимодействовать с роботом, и как это взаимодействие будет происходить. Для описания функций системы используется стандартная диаграмма UML (так называемых прецедентов, или use cases):

Отсюда понятны основные функции и возможности робота:

  1. Движение по командам оператора: Стоп, Назад, Вправо, Влево, Вперед
  2. Ведение лога состояний, и передача оператору списка своих состояний, начиная с заданного шага
  3. Обратите внимание! Возможность замены прошивки робота. Важный пункт, реализуемый почти на всех космических аппаратах и планетоходах
  4. В процессе движения - объезд препятствий, определенных с помощью тактильного бампера
  5. Включение/выключение с помощью проводного пульта дистанционного управления
  6. Подача питания по проводу

Исходя из функций и возможностей, определяем, что потребуется для физической сборки робота:

  1. Корпус, лыжи, крепления лыж.
  2. Два мотора с понижающими редукторами, способные поднять вес робота.
  3. Передний бампер с двумя датчиками касания.
  4. Устройство размотки провода и 15 метров провода.
  5. Устройство управления, реализующее алгоритм объезда препятствий, и возможность дистанционного управления.
  6. Пульт дистанционного управления по проводу.
  7. Блок питания, обеспечивающий подачу нужного напряжения для питания робота по проводу.

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

В свою очередь, робот состоит из аппаратной и программной частей.

Что касается программной части, то поведение нашего робота можно описать простеньким конечным автоматом (о конечных автоматах я писал, например, в статье «Робот и искусственный интеллект»). Для описания конечных автоматов существует специальная диаграмма UML - диаграмма состояний. Я создал такую диаграмму для нашего робота:

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

Комментариев нет:

Отправить комментарий

Внимание! Реклама и прочий спам будут беспощадно удаляться.