В этом посте я попробую описать общий план и структуру механизма электронного управления Слейпниром.
Я думаю каждый узел отделить в отдельный автономный элемент на базе микроконтроллера(Arduino nano) и связать их в одну есть посредством i2c.
Я думаю каждый узел отделить в отдельный автономный элемент на базе микроконтроллера(Arduino nano) и связать их в одну есть посредством i2c.
Первоначально необходимы будут следующие slave компоненты:
Модуль управления двигателем заднего моста
взаимодействует с контроллером двигателя и:
- Эмулирует кручение ручки газа
- Активирует High Brake
- Активирует Low Brake
- Снимает показание с провода спидометра (может сообщать master при запросе)
- Имеет FAILSAFE режим (вращение колес прекращается и активируется High brake если с последнего ответа от Master )
Модуль управления рулевой рейкой
на вход принимает нужный угол поворота и при помощи обратной связи выполняет вращение двигателя нужное кол-во времени, его функции:
- Снимает показания с датчика угла(потенциомера), для оценки угла поворота колес (может сообщать master при запросе)
- Приводит в движение привод рейки (который вероятно будет двигателем от шуруповерта)
Модуль тормозной системы
на вход принимает нужный процент натяжения и при помощи обратной связи выполняет вращение двигателя нужное кол-во времени, его функции:
- Снимает показания с датчика угла(потенциомера), для оценки натяжения (может сообщать master при запросе)
- Приводит в движение привод тормозного тросса (который вероятно будет предсталять собой самодельный линейный актуатор)
Модуль мониторинга аккумулятора
Выполняет функции:
- Измерение тока на выходе из аккумулятора, используя датчик тока
- Измерение напряжения на аккумуляторе, используя делитель
Модуль системы предотвращения столкновений
Нужен для автоматического торможения при возникновении опасности столкновения
- Снимает показания с датчика/датчиков расстояния
Модуль управления
Представляет собой адаптер некого узла управления автомобилем, в первоначальной версии это будет:
- Считывает положения джойстиков
В последствии я планирую добавить как минимум еще opticflow модуль(например этот может быть самостоятельным i2c устройством) для точного трекинга перемещения.
Master и Головное устройство
Еще не решил: либо это отдельная ардуино с базовой логикой и FAILSAFE, управляемая с Pasbberry Pi2, либо мастером будет сама RPi2
У RPi2 будет подключен сенсорный дисплей с UI, котоырй будет нести функции:
Потенциально к головному устройству можно подключить:
У RPi2 будет подключен сенсорный дисплей с UI, котоырй будет нести функции:
- Вывод телеметрии/показаний со всех датчиков и ихвизуализация
- Авторизация при запуске автомобиля
- Конфигурация устройства
- графический UI (пока не определился однозначно либо на pygame, либо на Qt+QML)
- управляющий поток, отвечает за управления автомобилем и журналирование.
Потенциально к головному устройству можно подключить:
- Камеру, для удаленного управления вне зоны видимости
- Kinect для автономной навигации в тени (на солнце кинект слепнет, а лидары очень дорогие)
Комментариев нет:
Отправить комментарий