Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2013, 16:30   #1
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию Круиз-контроль на машине: тестирование ПО

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

А мне не совсем понятно - каким образом соблюдается сохранение определенной скорости автомобилем. В некоторых источниках пишут, что якобы электроника высчитывает некий параметр PI - некую сумму, зависящую от реальной скорости, ускорения и пройденного пути (формула уточняется). И якобы этот PID показывает воздушному дросселю, в какое положение перейти, чтобы автомобиль достиг необходимой скорости. http://autorelease.ru/articles/109-a...kontrolya.html
Насколько я понимаю, здесь параметрами для тестирования будут выступать реальная скорость авто (или его отклонение от требуемой скорости), ускорение (в идеале его не должно быть, так как скорость при достижении необходимого показателя не должна изменяться), ну и путь - как некий отрезок для расчетов.

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

Какова будет погрешность при тестировании? Обычно при тестировании рекомендуют брать 0,95. Но это же на самом деле система, от надежности которой зависит жизнь - может быть все-таки, стоит взять коэфициент 0,99?

И еще вопрос - фактически автокруиз это целый комплекс (кнопка фиксирования скорости, педали автомобиля, кнопки для плавного увеличения - уменьшения скорости). Это некий конечный автомат, где одни компоненты системы считывают состояние других компонентов и можно задать для каждого элемента некий State в зависимости от конкретной ситуации. А существуют ли специальные методологии тестирования подобных конечных автоматов? Что вообще Вы рекомендуете почитать?
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan

Последний раз редактировалось Blondy; 13.12.2013 в 16:39.
Blondy вне форума Ответить с цитированием
Старый 13.12.2013, 16:40   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

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

Самодельный круиз-контроль
Управление обогревом заднего стекла

Видео https://www.youtube.com/watch?v=hVqRdXIfTlE
Проект "Круиз-контроль КК своими руками для машин с ЭПГ" на основе консультаций в вышеуказанной теме.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 13.12.2013 в 16:44.
raxp вне форума Ответить с цитированием
Старый 13.12.2013, 16:56   #3
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Когда я увидела впервые задание, у меня тоже первая была про обороты двигателя и частоту вращения коленчатого вала. Но смутило то, что в задании сказано, что машина должна соблюдать устойчивую скорость вне зависимости от того, есть наклон у шоссе или нет. То есть мы тут можем сыграть с ускорением. А обороты двигателя, как мне кажется, - это стандартно задаваемая величина и от наклона шоссе она изменяться не будет. А частота вращения - в случае наличия наклона шоссе, на нее будет влиять угол наклона. А вот как его измерить - я же не могу в машину "уровень" (капсулу с водичкой) устанавливать....

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

За ссылки спасибо, буду изучать.
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan

Последний раз редактировалось Blondy; 13.12.2013 в 16:59.
Blondy вне форума Ответить с цитированием
Старый 13.12.2013, 17:45   #4
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
Вы извините, что я так спрашиваю, у меня видно, весьма примитивные понятия о том, как работает автомобиль и каким образом мы можем сделать на шоссе с разными уровнями и углами вхождения в поворот скорость машины стабильной, без нажатия на педали.
Педаль газа электронная, физически водитель давно уже дроссель не открывает. Соответсвенно круиз-контроль в зависимости от скорости управляет положением педали(дросселя). Круиз-контроль просто держит скорость(которая считывается с приводного вала колёс) в каких-то заданных пределах, те скорость падает система немного нажимает на педель газа, если продолжает падать нажимает сильнее, пока машина не наберёт заданную скорость. Набрала и скорость не растёт в таком положении и оставляет педаль.
Я пользуюсь круизом и ход у него на подъемах и спусках рваный, скорость плавает в связи с задержкой в обратной связи.

Цитата:
И еще вопрос - фактически автокруиз это целый комплекс (кнопка фиксирования скорости, педали автомобиля, кнопки для плавного увеличения - уменьшения скорости). Это некий конечный автомат, где одни компоненты системы считывают состояние других компонентов и можно задать для каждого элемента некий State в зависимости от конкретной ситуации.
Это ситема с обратной связью. Есть скорость и положение дросселя(педали газа). Задается скорость, положение дросселя же подбирается под данную скорость.
http://www.autoshcool.ru/1850-opisan...tomobilya.html

Как это тестировать без соотвествующей физической модели непонятно.
Стрелок-охотник

Последний раз редактировалось mv28jam; 13.12.2013 в 18:24.
mv28jam вне форума Ответить с цитированием
Старый 13.12.2013, 18:42   #5
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Цитата:
Как это тестировать без соотвествующей физической модели непонятно.
Вот как тестируют самолеты или ракеты - их же на каждом тесте в воздух не запускают)))

В тестировании ПО есть такая методика - тестирование по граничным значениям. Модель в виде дерева с состояниями создается на бумажке. Допустим, у нас скорость необходимая 50км/ч (допуск 0,99, это значит, граничными значениями будут 50 - 0,5=49,5 и 50+0,5= 50,5 )и при превышении скорости на 0.5 км, мы должны "сбросить газ" - то есть в нашей схеме появится надпись: граничное значение 50,5 - переход к состоянию "Нажать на педаль тормоза" или "Отпустить педаль газа" (я пока не решила). Все эти цифорки скоростей вводятся в таблицу, а потом записываются в тестовую программу и смотриться - как основная программа "виртуальный круиз-контроль" реагирует - изменяется ли состояние объекта "педаль" и т.д.

Программы нет - все начинается именно с прогноза тестовых случаев. И уже под них пишется программа "круиза".

Извините, за примитивный язык, я пока еще не оформила свои мысли в четкие конкретные объекты... Я пока думаю, как мне скорость с частоты тактового двигателя и частоты вращения коленчатого вала высчитать.... Как-то очень плохо у меня с механической частью.

PS: как-то допуск 0.99 многовато будет. По-моему при привышении скорости на 0.5 км уже могут штрафануть
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan

Последний раз редактировалось Blondy; 13.12.2013 в 18:51.
Blondy вне форума Ответить с цитированием
Старый 13.12.2013, 18:59   #6
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
Вот как тестируют самолеты или ракеты - их же на каждом тесте в воздух не запускают
Ну да, там просто знают лобовое сопротивление на разных высотах, мощность двигател(я|ей), динамические показатели этих двигателей полученные на станде, критические углы атаки, рабочие положения управляющих элементов, и тп массу самолёта в конце концов. Из всего этого создается физическая модель самолёта и "запускается" в модель физического мира.

Цитата:
"Нажать на педаль тормоза"
Круиз контроль тормозит двигателем, те отпускает педаль газа.

Цитата:
Все эти цифорки скоростей вводятся в таблицу, а потом записываются в тестовую программу и смотриться - как основная программа "виртуальный круиз-контроль" реагирует - изменяется ли состояние объекта "педаль" и т.д.
Это всё как-то очень упрощённо...

Цитата:
Я пока думаю, как мне скорость с частоты тактового двигателя и частоты вращения коленчатого вала высчитать.... Как-то очень плохо у меня с мехагнической частью.
Скорость снимают с приводного вала колёс. Частота вращения коленвала то зачем?
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 13.12.2013, 20:09   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Цитата:
Сообщение от Blondy Посмотреть сообщение
Когда я увидела впервые задание, у меня тоже первая была про обороты двигателя и частоту вращения коленчатого вала.
Не знаю что у вас за задание - там должно быть написано что надо следить и как... А если у вас задание "а сделайте круз-контроль" то это несерьезно.

Цитата:
Сообщение от Blondy Посмотреть сообщение
А обороты двигателя, как мне кажется, - это стандартно задаваемая величина и от наклона шоссе она изменяться не будет.
У вас машина есть? Езжайте к ближайшей горке, на подъезжая к горке разгонитесь скажем до 50 км/ч. Когда въедете в горку НЕ МЕНЯЙТЕ положение ноги на дросселе но и смотрите на спидометр - результат вас несколько удивит. Если механика скорость упадет вместе с оборотами. Если автомат, скорость убадет больше, чем обороты но и они упадут.

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

Наклон дороги вы знать все равно не сможете учитывать, разве что начали уже ставить датчики крена - так скоро и до авиагоризонта докатимся.

А частота вращения - в случае наличия наклона шоссе, на нее будет влиять угол наклона. А вот как его измерить - я же не могу в машину "уровень" (капсулу с водичкой) устанавливать....

В качестве интересного чтива, прочитайте про гидростатический аппарат у торпед - там решалась точно такая же задача, только в плане глубины. Весьма познавательно.
waleri вне форума Ответить с цитированием
Старый 13.12.2013, 20:46   #8
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Цитата:
задание - там должно быть написано что надо следить и как... А если у вас задание "а сделайте круз-контроль" то это несерьезно.
В задании сказано - продумайте, по каким параметрам Вы стали бы тестировать систему круиз-контроля автомобиля, конкретно удержание устойчивой скорости на шоссе с различным уровнем наклона. Какие методы тестирования Вы бы применили. Какие показатели будут проверяться в тесте. Каковы их значения, при которых "круизконтроль" пройдет/ не пройдет тест.

Я понимаю, что реальная скорость будет наиболее важным показателем, но реальная скорость же тоже зависит от многих показателей, которые тоже должны учитываться в тестировании, посему как есть погрешность при расчете тех же оборотов двигателя. И плюс "природные условия" - может, ветер будет дуть в спину, скорость будет больше... или, например, коэффициент сцепления с дорогой.
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Старый 13.12.2013, 22:01   #9
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

С вас требуется тестирование или само управление?
Если только тестирование, то измеряете скорость и если выйдет за допустимые пределы дольше, чем заданное время, то тест завален. Представьте себе график скорости во времени. В идеале, это будет ровная линия на уровне заданной скорости - любое отклонение, либо в скорости, либо в колебаниях, должны завалить тест.
В идеале, лучше всего мерять улговую скорость колес - можно будет снимать точные показания с высокой частотой.
waleri вне форума Ответить с цитированием
Старый 14.12.2013, 00:59   #10
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Не-не, мне только критерии тестирования.
Я знаю, что график устойчивой скорости это прямая линия.

По поводу угловой скорости колес - насколько я понимаю это будет переменная w в формуле v=ωR. Далее: ω = 2PI *N, где N - количество полных оборотов. N = 1/T. T - частота вращения вала. Я правильно поняла вашу идею?

А R это радиус колеса, да? А на колесо еще ведь надевают покрышку и в итоге это будет радиус колеса + толщина покрышки + высота протектора. Это я правильно понимаю? А откуда я узнаю - какие покрышки на машине, может, машину "переобули", и радиус фактически поменяется.

Дорогой waleri, Вы извините что я так дотошно спрашиваю, просто мне хочется все уточнить. А то хлопну в ладоши - мол, дело в шляпе, а в итоге поняла неправильно. Техника - вещь серьезная, к тому же за руль я сажусь не так часто (не люблю водить).
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сайт на виртуальной машине hon PHP 9 28.09.2013 21:47
PHP на удаленной машине Д'якон PHP 4 02.05.2010 01:13
Авторизация на удаленной машине Баламут Работа с сетью в Delphi 2 03.03.2009 08:16
Delphi 7 и СРВ, коррекция данных - файл при запуске показывает работу круиз-контроля Юлия Мю Помощь студентам 30 05.12.2008 19:34
Авторизация на другой машине Незнайка Общие вопросы .NET 1 17.05.2008 21:50