среда, 26 августа 2015 г.

Sleipnir: Этап 3: Управление (Часть 0)

В этом посте я попробую описать общий план и структуру механизма электронного управления Слейпниром.
Я думаю каждый узел отделить в отдельный автономный элемент на базе микроконтроллера(Arduino nano) и связать их в одну есть посредством i2c.

Первоначально необходимы будут следующие slave компоненты:

Модуль управления двигателем заднего моста

 взаимодействует с контроллером двигателя и:
  • Эмулирует кручение ручки газа
  • Активирует High Brake
  • Активирует Low Brake
  • Снимает показание с провода спидометра (может сообщать master при запросе)
  • Имеет FAILSAFE режим (вращение колес прекращается и активируется High brake если с последнего ответа от Master )

Модуль управления рулевой рейкой

на вход принимает нужный угол поворота и при помощи обратной связи выполняет вращение двигателя нужное кол-во времени, его функции:
  • Снимает показания с датчика угла(потенциомера), для оценки угла поворота колес (может сообщать master при запросе)
  • Приводит в движение привод рейки (который вероятно будет двигателем от шуруповерта)

Модуль тормозной системы

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

Модуль мониторинга аккумулятора

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

Модуль системы предотвращения столкновений

Нужен для автоматического торможения при возникновении опасности столкновения
  • Снимает показания с датчика/датчиков расстояния

Модуль управления

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



В последствии я планирую добавить как минимум еще opticflow модуль(например  этот может быть самостоятельным i2c устройством) для точного трекинга перемещения.

Master и Головное устройство

Еще не решил: либо это отдельная ардуино с базовой логикой и FAILSAFE, управляемая с Pasbberry Pi2, либо мастером будет сама RPi2
У RPi2 будет подключен сенсорный дисплей с UI, котоырй будет нести функции:
  • Вывод телеметрии/показаний со всех датчиков и ихвизуализация
  • Авторизация при запуске автомобиля
  • Конфигурация устройства
Головное устройство будет содержать 2 процесса:
  • графический UI (пока не определился однозначно либо на pygame, либо на Qt+QML)
  • управляющий поток, отвечает за управления автомобилем и журналирование.
Также  к головному устройству будет подключен wi-fi модуль, для возможности удаленного управления устройством с мобильника.

Потенциально к головному устройству можно подключить:
  • Камеру, для удаленного управления вне зоны видимости
  • Kinect для автономной навигации в тени (на солнце кинект слепнет, а лидары очень дорогие)

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

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