Eva: car evolution (open source project)

Тема в разделе "Закажу проект", создана пользователем IIaTPuaPX, 6 июн 2015.

  1. IIaTPuaPX

    IIaTPuaPX Нерд

    риветствую всех форумчан! В общем отбросим в сторону историю возникновения идеи и прочие прелюдии, т.к. тема обещает быть обширной.

    Суть идеи в общем-то стара как сама Ардуино - установить её в автомобиль, наделить имитацией "интеллекта" и исполнительными функциями, а так-же интерфейсом взаимодействующим с людьми...

    Оригинальность заключается в том, что я не встретил подобной реализации (может плохо искал о.О) на просторах интернетов, а именно:

    1. Голосовое управление и ответы

    2. Графический интерфейс, при чем "переплывающий" по нескольким экранам.

    3. Максимально бюджетное исполнение.

    4. Уникальная стилизация.

    Именно последние 2 фактора и должны сыграть решающую роль в популярности проэкта...

    И так, вот такая примерная схемка крутится у меня в голове на данный момент:

    [​IMG]

    Набросал на стикере по ходу публикации статьи, так что за качество сорри) И так я отметил несколько отдельных элементов, давайте остановимся на них и рассмотрим по подробнее:

    Элемент 1. Это система приёма голосовых команд, на данный момент приоритетно Easy VR, скорее всего микрофон потеснит кнопку звукового сигнала в руле, дабы лучше воспринимать команды водителя. После долгих раздумий было отказано в онлайн системах разпознования голоса и прочих Android-овских штучек, хочется чтобы система была полностью автономной и не требовало никаких действий от водителя кроме поворота ключа зажигания. Есть информация, что можно записать только 32 команды в EasyVR, хм... Будем стараться уложиться, либо искать альтернативу... Сам приём команд должен активироваться при произношении слова триггера "Ева" и далее команды...

    Элемент 2. Датчики температуры (двигателя, атмосферы, салона) климат контроль будем базировать на показаниях того что в салоне, пока на этом всё...

    Элемент 3. Небольшой OLED дисплей, как правило на нём будет отображаться температура, время, дата и т.д.... Но как только будет произнесено слово триггер, на этом дисплее отобразится векторное лицо нашей "Евы", типо как в фильме "app"

    [​IMG]

    но в более упрощённой форме, далее под ней появится изображение звуковой волны которая будет колебаться при ответе (не обязательно в тон, это может быть просто анимация). На заднем фоне будет анимация "падающих" пикселей. На самом деле дисплей довольно мал. Но это будет лишь 1 из дисплеев (об этом позже) дисплей взят вот этот: http://ru.aliexpress.com/item/0-96-...JmiaAqj6M:&cpt=1433604383070&aff_platform=aaf Энергии потребляет не много + прекрасно виден при солнечном свете.

    Элемент 4. Это по сути релейный модуль или несколько реле разбросанных в разных частях авто, к ним можно привязать что угодно, начиная от дворников и заканчивая лампочкой в салоне, это и есть большинство функций выполняемых "Евой"

    Элемент 5. выходы на датчики окружения, в частности взяты Датчик расстояния (ультразвуковой) для использования вместо парктроников и датчик скорости (т.к. штатный спидометр механический) датчик вибрации (при юзе вместо сигнализации), камера заднего вида добавится позднее (не пугайтесь, дунька обрабатывать поток не будет и уж тем более проэцировать на ОЛЕД дисплей xD)

    Элемент 6. Это аудио выход, по сути это MP3 модуль либо дешёвый плеер (которые по 1.5$ сейчас можно купить у восточных братьев) который содержит в себе треки "ответов" на наши команды, записанные девушкой с красивым голосом искажённым через что-то вроде MorphVOX pro до роботоподобного (ну ненравятся мне голоса гугл и яндекс спикеров), при подаче сигнала с ардуино - воспроизводится нужный трек, далее наш модуль соединён с уселителем и выводится на динамики в салоне (управлять музыкой тоже будет Ева) и на 1 динамик под капотом, который активируется с одного из пинов, с помощью которого она будет общаться с "внешним миром" (допустим скажет пешеходу "проходите пожалуйста" или ответит на срабатывание датчика вибрации предупреждением)

    Элемент 7. Это пока в далёких грёзах, блютуз модуль с помощью которого "Ева" сможет "перемещаться" на другие дисплеи и устройства, в планах написать прогу на планшет под ОСью Win10, прога предельно проста (при соединении по блютуз планшета с Евой автораном открывается окно программы, отключается Easy VR и Oled дисплей теперь показывает только температуру\часы и т.д., В самой программе на планшете "Ева" предстаёт нам в гораздо большей детализации (говорит что-то вроде "в этом теле я чувствую себя на много бодрее"), качественно проанимированное лицо и фон можно сделать допустим на движке юнити или хз как, появляются кнопки доп интерфейса показания датчиков, анимация лица при разговоре, выводится вид с камеры заднего вида при езде задним ходом, появляются доп. возможности "стандартных" ассистентов типо siri, сфинкса, дуси и прочих, работа с интернет поиском, навигатор и т.д., голосовые команды уже обрабатываются на самом планшете... Проблема лишь в том что я дружу с паяльником, но полный 0 в программировании, составить даже такую простейшую програмку для меня сопоставимо с изучением пуэрто-риканского наречия. Так что если кого заинтересовало - прошу оказать помощь в этом непосильном деле). В крайнем случае вместо БТ воткну радио передатчик и буду использовать как систему наблюдения за состоянием авто и "умной" сигнализации, способной даже совершить звонок мне на мобилу и сообщить о попытке её "изнасилования" некими забияками на другом конце города на парковке. Но всё-же хочется BT...

    Возможности расширения в дальнейшем: Подключение дешёвого проэктора (около 50$) у китайцев (сами догадаетесь что можно с его помощью воплотить), Малины (не хотелось бы, но есть люди которые возможно бы захотели) да можно даже "приколхозить" управление цветом подсветки под настроение.... НО... это всё уже излишки... Хотя есть фанаты... (я читал тему на форуме человека который требовал сбора ВСЕХ данных с датчиков таких как: температуру и износ торм. колодок, давление в шинах, влажность почвы, фаза луны по календарю Майя относительно Юпитера)

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

    Ардуино выводит на дисплей показания датчиков температур, время\дату, слушает эфир на наличие слова триггера (ева)

    При произнесении слова-триггера: выключает музыку, меняет изображение на анимацию лица и фона, слушает команду (допустим "дворники" что эквивалентно 1 по счету команде в базе EasyVR, что в свою очередь активирует к примеру пин #4, по сути реле включающее дворники)

    При получени команды добавляется строка на дисплее имитирующая звуковую волну и проигрывается ответ рандомом допустим записанный с 004 по 011 трек на МП3 плеере (чтобы избежать однообразия) соответственно выполняется команда....

    Более сложные коды которые я вообще ХЗ как реализовать:

    При произношении "Ева, температуру!" Ардуино "произносит" показания температуры двигателя, салона, в атмосфере (в принципе можно записать числа в треках и озвучивать показания по шаблону "сейчас на улице X градусов, в салоне Y градусов, температура двигателя Z градусов") Но для меня это пока всё-равно трудоёмко...

    И наконец самое сложное: Команда "Ева, держи 18" при этом ева должна анализировать температуру салона, если она выше 18 градусов - то включить кондиционер, если она ниже - печку... На первый взгляд всё просто... Но в приоритете число 18 должно быть переменной, т.е. команда должна быть заточена под любую температуру... Есл не получится реализовать - сделаю просто несколько режимов, допустим 18 и 20 и 25 градусов....

    При команде "ева, пешеход" подключит третий динамик и скажет (через него) "Проходите пожалуйста"
    При превышении свыше 100 км\ч скажет что-то вроде "Аккуратнее со мной, эта скорость слишком опасна..." и на 5 мин забудет эту фразу, затем опять напомнит.
    Так-же управление музыкой которая будет на той-же флешке в папке Music и команды "Ева, музыку!" "Ева, следующую\предыдущую" при этом хз возможно ли подключить базу МП3-шника к дуне или придётся втыкаться на кнопки плеера и для каждого трека задавать "подать N количество перелистываний на нужный трек затем возврат обратно после проигрывания"
    При приближени к препятствию ближе чем на 35см так-же оповещение





    Суть проэкта: создать "готовые решения" для простых обывателей, дабы они не ковыряли месяцами форумы и статьи по программированию ардуино (как я сейчас, ведь я просто покрасчик рисующий аэрографию на авто по профе), а просто имели инструкцию сводящейся к выполнению обезьянней работы, типо "качаем скетч отсюда, заказываем этот и этот и этот модуль, стыкуем по такой-то схеме, для того чтоб обозвать своего бота вместо Евы "Дусей, Васей, Клавой, Петей" меняем вот это, на вот это, для того чтоб записать свои треки - меняем тут-то тут-то..."

    В общем сделать проэкт доступным каждому автовладельцу или допустим дизайнеру
     
    Максим B нравится это.
  2. DrProg

    DrProg Вечный нерд

    Дочитал до места с лицом Евы и сразу усомнился потянет ли стандартный Ардуино такие красоты. Да и мониторчик этот явно не для таких картин создан. Задача, конечно, наполеоновская, но и детальки под нее неплохо бы использовать соотвествующие.
     
  3. Vad33

    Vad33 Капитан-оригинал

    Если будет с десяток-два ардуин, почему бы и нет? :)
    Проект уровня Lockheed Martin. И штобы все на ардуинах!
    Но может и Toyota Motor такой потянет, между делом ... :D
     
  4. IIaTPuaPX

    IIaTPuaPX Нерд

    Да нет-же, я же написал о том что на OLED дисплее будет УПРОЩЁННАЯ версия изображения, состоящая всего из десятка векторов... Люди проецируют на них 3Д объекты с перемещением в пространстве не нагружая ардуино...
     
  5. IIaTPuaPX

    IIaTPuaPX Нерд

    В этом проэкте нагрузка ардуино ложится только на управлением oled дисплеем и датчиками... Её ресурсов для этого хватит с головой. А если поставить Due, то можно и вообще обойтись без изяВР http://csql.ru/2014/01/01/arduino-speech-recognition/
     
  6. DrProg

    DrProg Вечный нерд

    Вообще зачем эта неинформативая анимация тем более в таком качестве?
     
  7. IIaTPuaPX

    IIaTPuaPX Нерд

    Помимо информативности есть ещё эстетика, стилизация... И как правило они создают впечатление о продукте... Почему вы смотрите кино в фулл ХД а не 120пи? Ведь информативность от этого не меняется...
    Ах ну да... Программисту это сложно понять, у Вас информативность на 1 месте... Ну просто поверьте: для нас- простого быдла "понты" порой важнее функционала
     
  8. geher

    geher Гуру

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

    DrProg Вечный нерд

    В данном случае вы пытаетесь смотреть FullHD на экране Нокии 3310 и удивляетесь что такое кино некачественное. )))
     
  10. geher

    geher Гуру

    Я пытаюсь смотреть кино на экране телевизора и объективно вижу, что отснятые мной в FullHD кадры не лучше отснятых в более низком разрешении. А затраты на обработку при том несоизмеримо выше.
     
  11. DrProg

    DrProg Вечный нерд

    Сам занимаюсь видео и согласен, что 1280 x 720 на глаз почти неотличимо от 1920 х 1080, при этом битрейд отличается в три раза при прочих равных значениях.

    Но тут речь не совсем об этом. Чел хочет автомобильного помощника как в голливудских фильмах, чтобы он не только выполнял команды, но еще и шевелил губами, например. Я считаю, что во-первых, это задача не для Ардуино и не для такого экрана (если и будет работать, то выглядеть будет так стрёмно, что лучше бы не видеть), а во-вторых, зачем в машине отвлекаться на всякие говорящие головы, это небезопасно! Обратите внимание, что штатная визуализация в автомобилях лаконична и никогда не мелькает без нужды.