exponenta event banner

Приложение предупреждения о столкновении при пересылке с CAN FD и TCP/IP

В этом примере показано, как выполнить приложение предупреждения о прямом столкновении (FCW) с данными датчика и изображения, воспроизводимыми в реальном времени через протоколы CAN FD и TCP/IP. Записанные данные из набора датчиков, установленных на испытываемом транспортном средстве, воспроизводятся в реальном времени, как если бы они поступали через сетевые интерфейсы транспортного средства. Toolbox™ сети транспортных средств и Toolbox™ управления приборами обеспечивают эти интерфейсы. Эта настройка используется для тестирования системы FCW, разработанной с использованием функций Toolbox™ автоматизированного вождения. Для получения помощи в проектировании и разработке фактических алгоритмов FCW см. пример «Предупреждение о столкновении в прямом направлении с использованием слияния датчиков».

Конфигурация системы

В этом примере используются виртуальные каналы CAN FD из Vector. Эти каналы виртуальных устройств доступны при установке пакета Vector Driver Setup из www.vector.com.

В этом примере представлены два основных компонента:

  1. Передатчик: Отправляет данные датчика и изображения через CAN FD и TCP/IP. Эта часть представляет образец среды транспортного средства. Он воспроизводит предварительно записанные данные так, будто это живой автомобиль.

  2. Приемник: Собирает все данные и выполняет алгоритм FCW и визуализации. Эта часть представляет прикладной компонент.

Чтобы выполнить пример, части передатчика и приемника выполняются из отдельных сеансов MATLAB. При этом реплицируется источник данных, существующий вне сеанса MATLAB, выполняющего функции инструмента разработки. Кроме того, этот пример позволяет запускать приложение FCW в нескольких режимах выполнения (интерпретируемых и MEX) с различными характеристиками производительности.

Генерировать данные

Передающее приложение выполняется через helperStartTransmitter функция. Он запускает отдельный процесс MATLAB для выполнения вне текущего сеанса MATLAB. Датчик инициализируется и начинает автоматически посылать данные датчика и изображения. Для запуска датчика используйте system команда.

system('matlab -nodesktop -nosplash -r helperStartTransmitter &')

Выполнение системы предупреждения о прямом столкновении (интерпретируемый режим)

Для открытия принимающего приложения FCW выполните команду helperStartReceiver функция. Нажмите кнопку ПУСК, чтобы начать прием, обработку и визуализацию данных. Вы можете исследовать helperStartReceiver функция, чтобы увидеть, как Vehicle Network Toolbox CAN FD функции, Instrument Control Toolbox TCP/IP функции и автоматизированные инструменты вождения используются совместно друг с другом.

helperStartReceiver('interpreted')

Обзор результатов

После готовности остановите приложение датчика с помощью кнопки закрытия окна в окне команд. Нажмите кнопку STOP в принимающем приложении FCW, а затем закройте его окно.

При остановке принимающего приложения FCW появляется график, детализирующий эксплуатационные характеристики приложения. Он показывает время, затраченное на получение данных, обработку алгоритма FCW и выполнение визуализации. Сравнительный анализ полезен для демонстрации частей настройки, требующих повышения производительности. Ясно, что значительная часть времени тратится на выполнение алгоритма FCW. В следующем разделе рассматривается создание кода в качестве стратегии повышения производительности.

Выполнение системы предупреждения о прямом столкновении (режим MEX)

Если в рабочем процессе требуется более высокая производительность, для создания и компиляции кода MATLAB в качестве кода MEX можно использовать MATLAB Coder™. Чтобы создать этот пример в виде кода MEX, используйте helperGenerateCode функция. Сборка компилирует приложение FCW в функцию MEX, вызываемую непосредственно в MATLAB.

helperGenerateCode('mex')

Перезапустите приложение датчика.

system('matlab -nodesktop -nosplash -r helperStartTransmitter &')

Также можно перезапустить принимающее приложение FCW. На этот раз с входным аргументом для использования компилированного кода MEX, построенного на предыдущем шаге.

helperStartReceiver('mex')

После готовности остановите и закройте датчик и примите приложение FCW. Сравнивая график времени для выполнения MEX с графиком интерпретируемого режима, можно увидеть улучшение производительности алгоритма FCW.

Использование физического оборудования и нескольких компьютеров

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

Изменение связи CAN FD с виртуальных на физические устройства требует редактирования кода передачи и приема для вызова canChannel (Vehicle Network Toolbox) с использованием аппаратного устройства вместо виртуальных каналов. Возможно, также потребуется изменить вызов на configBusSpeed (Vehicle Network Toolbox) в зависимости от возможностей оборудования. Эти вызовы находятся в helperStartReceiver и dataTransmitter функции примера.

Изменение связи TCP/IP для нескольких компьютеров требует настройки адреса TCP/IP передатчика с локального узла (127.0.0.1) на статическое значение (рекомендуется 192.168.1.2). Этот адрес устанавливается первым на хост-передающем компьютере. После этого измените tcpipAddr переменной в helperStartReceiver функция для сопоставления.

После настройки и физического подключения можно запустить приложение датчика на одном компьютере и приложение FCW на другом.

См. также

Функции

  • (Панель инструментов управления приборами) | (Панель инструментов сети транспортных средств) | (Панель инструментов сети транспортных средств) | (Панель инструментов сети транспортных средств)

Объекты

Связанные темы