Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Планирование движения в реальном времени для автономного автомобиля в различных ситуациях , в смоделированной городской среде

Современные автономные автомобили имеют революционное значение для автомобильной промышленности. Хотя все больше и больше компаний уже начали создавать свои собственные автономные автомобили, никто еще не представил на рынке практичный автономный автомобиль. Одна из ключевых проблем их автомобилей - отсутствие надежной системы активного планирования движения в режиме реального времени для городской среды. Система планирования движения в реальном времени позволяет автомобилям безопасно и стабильно ездить в городской среде. Конечная цель этого проекта - разработать и внедрить надежную систему планирования движения в реальном времени для снижения аварийности автономных автомобилей, а не людей-водителей. Система планирования движения в реальном времени включает в себя удержание полосы движения, уклонение от препятствий, уклонение от движущихся автомобилей, адаптивный круиз-контроль и функцию предотвращения аварий. В рамках исследования будут построены автомобили EGO, оснащенные блоком обработки изображений, лидаром и двумя ультразвуковыми датчиками для обнаружения окружающей среды. Эти данные о среде позволяют реализовать программу полного управления в системе планирования движения в реальном времени. Программа управления будет реализована и протестирована на уменьшенном транспортном средстве EGO с уменьшенной городской средой. Проект разделен на три этапа:создание автомобилей EGO, реализация программы управления системой планирования движения в реальном времени и улучшение программы управления путем тестирования в городской среде с уменьшенным масштабом. На первом этапе каждое транспортное средство EGO будет построено из комплекта шасси транспортного средства EGO, Raspberry Pi, LIDAR, двух ультразвуковых датчиков, аккумулятора и платы питания. На втором этапе программа управления системой планирования движения в реальном времени будет реализована в рамках программы удержания полосы движения в Raspberry Pi. Python - это язык программы, который будет использоваться для реализации программы. В эту программу управления будут встроены функции удержания полосы движения, объезда препятствий, объезда движущегося автомобиля, адаптивного круиз-контроля. На последнем этапе будут завершены работы по тестированию и усовершенствованию. Будут разработаны и выполнены тесты на надежность. Чем больше данных будет получено из тестов, тем более стабильна система планирования движения в реальном времени. Наконец, будет построена одна надежная система планирования движения, которая будет использоваться в

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

Введение

На рынке уже выпускается много автономных автомобилей 3-го уровня, которые позволяют водителям быть полностью свободными от глаз, позволяя компьютеру брать на себя задачи по вождению. Однако потребители имеют ограниченный доступ к использованию этих функций из-за соображений безопасности при управлении автономными автомобилями 3-го уровня, поскольку автомобили 3-го уровня не могут полностью перенять работу водителя у человека. Таким образом, большинство стран считают автомобили третьего уровня не совсем безопасными и надежными. Хотя автомобили 3-го уровня технически могут быть автономными, компьютеры еще не достигли совершенства в работе с аварийными ситуациями. Автономный автомобиль более высокого уровня (уровень 4) необходим для того, чтобы освободить водителей физически и даже психологически. Таким образом, создание беспилотного автомобиля четвертого уровня и поставка его на рынок является приоритетной задачей исследований. Чтобы сделать это практичным в повседневной жизни, необходимо оборудовать множество систем, и одна из них - система планирования движения в реальном времени. Он будет получать обработанные сигналы от блока обработки изображений, лидара и ультразвуковых датчиков для достижения многих полезных функций для автомобилей четвертого уровня. Например, надежная функция предотвращения препятствий и т. Д. Однако проблема в том, что большинство этих функций, которые должны быть оборудованы в автомобиле, по-прежнему являются пассивными функциями и предназначены только для шоссе. Короче говоря, в этом исследовании необходимо разработать более умную и надежную систему планирования движения в реальном времени для городской среды. Исследование будет основано на уменьшенной городской среде с уменьшенным транспортным средством EGO для разработки и тестирования алгоритмов в системе планирования движения в реальном времени. Логика управления автомобилем и надежные алгоритмы являются ключевыми моментами для разработки интеллектуальной и надежной системы планирования движения в реальном времени для городской среды. На первом этапе проекта команда разработчиков оборудования построит автомобили EGO с приобретенным оборудованием. Каждый автомобиль EGO будет построен с комплектом шасси автомобиля, Raspberry Pi, лидаром, двумя ультразвуковыми датчиками, аккумулятором и платой питания. Вторая фаза проекта системы планирования движения в реальном времени начнется после завершения подготовки оборудования. Группа управления будет использовать встроенный код группы обработки изображений, чтобы сначала построить алгоритм удержания полосы движения. Система планирования движения транспортного средства в реальном времени будет построена после того, как будет построен алгоритм удержания полосы движения. В системе планирования движения в реальном времени LIDAR будет использоваться в качестве основного датчика транспортного средства. Будет найден соответствующий метод, который позволит использовать LIDAR для обнаружения препятствий и посылать полезные сигналы обратно для последующего программирования. В проект системы планирования движения в реальном времени будут встроены три основные функции. Первая функция - это уклонение от препятствий, что позволяет автомобилю EGO останавливаться перед препятствием. Вторая функция - предотвращение движущегося автомобиля, что позволяет автомобилю EGO сменить полосу движения, чтобы избежать аварии, и вернуться на исходную полосу движения. Последняя функция - это адаптивный круиз-контроль, который позволяет автомобилю EGO регулировать собственную скорость для сохранения безопасного расстояния от впереди идущего автомобиля. На основе этих трех функций в системе планирования движения в реальном времени будет сформирована базовая функция предотвращения несчастных случаев. На последнем этапе проекта будет создана встроенная система планирования движения в реальном времени

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

Аппаратное обеспечение

Уменьшенные автомобили EGO на рисунке 1 используются в качестве тестовых объектов в этом проекте. Эти роботы построены на базе комплектов шасси роботов с двигателями постоянного тока. Комплект шасси робота с двигателями постоянного тока обеспечивает пригодную для использования раму и систему привода для автомобилей EGO. В зависимости от расширяемости на шасси могут быть добавлены другие компоненты, в том числе Raspberry Pi, схема двигателя, лидар, два ультразвуковых датчика и аккумуляторный блок. Raspberry Pi был выбран в качестве вычислительной платформы для этого проекта, потому что это зрелая платформа, и на ней можно реализовать код Python. Цепи двигателей используются для распределения соответствующего количества энергии на двигатели постоянного тока и приведения роботов в движение в соответствии с инструкциями из управляющей логики. ЛИДАР используется в качестве основного датчика для этой системы планирования движения в реальном времени, потому что они могут обеспечить способность обнаружения препятствий (дальность более 15 см) этим уменьшенным транспортным средствам EGO, а способность обнаружения препятствий является наиболее важной базовой способностью для этого режима реального времени. система планирования движения в этом проекте. Ультразвуковые датчики могут позволить автомобилю EGO обнаруживать более близкие объекты на расстоянии менее 15 см, которые LIDAR не может обнаружить. Батарейные блоки используются в качестве источников питания для этих автомобилей EGO, и они могут обеспечивать питание Raspberry Pi, лидаров и двигателей. Подробная блок-схема подключения оборудования показана ниже на рисунке 2.

Уменьшенное шасси автомобиля EGO:

Adafruit (PID 3244) Mini 3-слойный комплект шасси круглого робота - 2WD с двигателями постоянного тока, показанные на рисунке 3, используются в качестве шасси для этого проекта. Расширяемость шасси позволяет добавлять на него компоненты. Кроме того, в комплект шасси входят два двигателя и колеса, что означает, что он также включает в себя одну систему питания в этом комплекте. Эта система питания позволяет специалистам по аппаратному обеспечению легко построить автомобиль EGO, не тратя лишнего времени на поиск подходящей системы питания для шасси робота.

Raspberry Pi:

В этом проекте можно использовать несколько моделей Raspberry Pi, и Raspberry Pi 3B +, показанный на рисунке 4, был выбран для использования в этом проекте. Основная причина выбрать Raspberry Pi 3B + заключается в том, что у него достаточно вычислительной мощности для этого проекта. Кроме того, он имеет встроенный Wi-Fi, а эффективность передачи Wi-Fi выше, чем у предыдущей модели. Кроме того, для Raspberry Pi 3B + требуется только вход источника питания 5 В / 1,5 А, и на рынке можно выбрать множество батарейных блоков, чтобы удовлетворить это требование к мощности. По этой же причине не был выбран Raspberry Pi 4. Raspberry Pi 4 требует входа источника питания 9 В / 2 А, а на рынке батареи с выходом 9 В / 2 А стоят дорого и редко. Мало того, Raspberry Pi 4 имеет более высокую цену, чем Raspberry Pi 3B +, и даже эти две модели имеют схожую вычислительную мощность. Контакты GPIO на Raspberry Pi будут использоваться в качестве входных контактов для приема сигнала от LIDAR, двух ультразвуковых датчиков; Кроме того, контакты GPIO будут выходными контактами для отправки сигнала на драйвер двигателя.

Схема драйвера двигателя (плата питания):

Драйвер двигателя DRV8833, показанный на рисунке 3, был выбран для этого проекта. Драйвер двигателя может распределять мощность по двигателям и получать команды управления от Raspberry pi. В этом проекте используются четыре входных контакта (AIN1,2; BIN1,2), четыре выходных контакта (AOUT1,2; BOUT1,2), один контакт заземления (GND), один контакт SLP и один вывод VM (рисунок 5). Выходные контакты используются для распределения мощности между этими двумя двигателями и управления этими двумя двигателями, позволяя автомобилям EGO двигаться. Входные контакты используются для получения сигналов управления от контактов GPIO на Raspberry Pi и позволяют этим двум двигателям вращаться по мере необходимости. Вывод VM будет получать питание от вывода «+» аккумуляторной батареи, известного как VCC. Вывод SLP соединяется с выводом VM, это вывод включения драйвера двигателя. Подключите его к VCC, чтобы включить его, или к высокому выводу GPIO для управления. Контакт GND соединит контакт «-» аккумуляторной батареи и контакт заземления Raspberry Pi. На Рисунке 6 показаны детали подключения силовой платы в виде блок-схемы.

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

ЛИДАР:

Для этого проекта был выбран лидар на рисунке 9. Окружающая среда может быть обнаружена с помощью LIDAR для генерации данных о расстоянии и угле, на основе этого транспортные средства EGO будут иметь возможность обнаружения, а функции предотвращения препятствий, движения автомобиля и адаптивного управления могут быть встроены в систему планирования движения в реальном времени. LIDAR имеет один порт micro-USB, который можно напрямую подключить к Raspberry Pi, позволяя Raspberry Pi считывать данные с LIDAR. Кроме того, LIDAR будет получать питание от Raspberry Pi через тот же порт USB.

Батарея:

Размер аккумуляторного блока - ключевая проблема этого проекта. Поскольку в автомобиле EGO есть ограниченное пространство для размещения батареи, предпочтение отдается тонким батареям. Аккумуляторные батареи должны иметь емкость не менее 10000 мАч, чтобы два двигателя, два Raspberry Pi и один лидар могли работать должным образом на каждом автомобиле EGO. Размер аккумуляторов также должен соответствовать размеру автомобилей EGO, насколько это возможно. Таким образом, портативное зарядное устройство Anker Power Core 13000, показанное на рисунке 10, было выбрано для этого проекта, потому что оно не только соответствует размеру автомобилей EGO, но также имеет емкость 13000 мАч.

Ультразвуковые датчики:

Ультразвуковые датчики на рисунке 11 используются для обнаружения близкого расстояния, поскольку минимальное расстояние обнаружения для лидара составляет 15 см, любые другие препятствия ближе, чем 15 см, не обнаруживаются лидаром. Ультразвуковые датчики могут обнаруживать близкое расстояние даже до 5 см. Таким образом, с левой и правой стороны автомобиля EGO собраны два ультразвуковых датчика для обнаружения автомобиля на обратной полосе. Контакт VCC подключается к контакту 2 или контакту 4, который является контактом VCC Raspberry Pi, а GND подключается к контакту заземления Raspberry Pi

Программное обеспечение

В этом проекте необходимо управлять автомобилями EGO по беспроводной сети. Чтобы это стало возможным, монитор и оболочка на Raspberry Pi должны быть подключены по беспроводной сети к локальному ПК / Mac. Для этого необходимо использовать команду беспроводной оболочки и программное обеспечение для подключения VNC [7]. Кроме того, в этом проекте Python 3 был выбран в качестве языка программирования, потому что он зрелый и простой в использовании. В этом проекте можно использовать значительное количество пакетов на python, например, в python есть пакет LIDAR [6], который можно использовать для управления LIDAR, который используется в этом проекте. Пакет LIDAR может быть реализован только в среде Python 3. Все программное обеспечение будет работать в операционной системе Raspbian на Raspberry Pi.

Подключите Shell в Raspberry Pi к локальному ПК / MAC:


Транспортными средствами EGO необходимо управлять по беспроводной сети, а оболочка в Raspberry Pi должна быть подключена к локальной оболочке ПК / MAC. Для подключения оболочек необходимо ввести следующую команду:
Сначала введите команду «sudo raspi-config» в оболочке Pi, чтобы включить сервер ssh в Pi. Затем введите команду «ifconfig» в оболочке Pi, после этой команды будет найден IP-адрес «192.168.xxx.xxx». В локальной оболочке ПК / MAC введите команду «ssh [email protected]» для подключения оболочки Pi. Имя пользователя Raspberry Pi по умолчанию - «pi», а пароль по умолчанию Raspberry Pi - «малина». Наконец, оболочкой Raspberry Pi можно управлять с помощью локальной оболочки ПК / MAC.

Версия Python:


На плате версии Raspberry Pi 3B + Python 2 является программной средой по умолчанию, однако пакет LIDAR можно использовать только в среде Python3. Следующая команда будет использоваться для установки Python 3 в качестве программной среды по умолчанию в оболочке:

Сначала введите «sudo rm / usr / bin / python», чтобы удалить ссылку Python по умолчанию из системы по умолчанию

ссылка на сайт. Затем введите "sudo

"

-s /usr/bin/python3.X

команда для переназначения нового

Необходимо использовать ссылку Python по умолчанию на версию Python. В этой команде «X» означает Python3

версия, которая уже была установлена. После этого введите «Python», чтобы дважды проверить версию Python по умолчанию.

Пакет LIDAR:

Необходимо установить пакет LIDAR, чтобы сигнал от LIDAR можно было программировать. В среде Python3 в окне оболочки введите следующую команду для установки пакета LIDAR:Введите «sudo pip3 install LIDAR», чтобы установить пакет LIDAR.

Подключение VNC:

Сервер VNC и программа подключения VNC были выбраны для использования в этом проекте, чтобы позволить локальному ПК / MAC иметь возможность контролировать Raspberry Pi по беспроводной сети. Чтобы включить сервер VNC и установить соединение VNC, необходимо ввести следующую команду:
Сначала введите команду «sudo raspi-config», чтобы попасть в меню настроек Raspberry Pi. Затем введите команду «vncserver», чтобы включить сервер VNC в Raspberry Pi (после перезагрузки Pi этот параметр необходимо снова включить). Затем загрузите и установите соединение VNC на локальном ПК / MAC. После этого введите IP-адрес Raspberry Pi, найденный ранее, в адресной строке подключения VNC. Введите имя пользователя и пароль Raspberry Pi, которые уже упоминались в части оболочки. Наконец, локальный ПК / MAC может контролировать Raspberry Pi по беспроводной сети.

Методология

Этап 1:

Автомобиль EGO будет собран из Raspberry Pi, платы питания, LIDAR, двух ультразвуковых датчиков и аккумуляторного блока. После сборки программное обеспечение включает в себя python, пакет LIDAR, соединение VNC, и соединение оболочки будет установлено и настроено соответствующим образом. Будет найден способ переноса LIDAR из считываемых необработанных данных в пригодные для использования данные обнаружения для программирования следующей фазы. Автомобиль EGO будет подготовлен после трех предыдущих шагов и готов для программирования и испытаний.

Этап 2:

Будут разработаны три сценария для проверки функции предотвращения препятствий, функции предотвращения движущегося автомобиля и функции адаптивного круиз-контроля. Следуя трем сценариям, будет разработана управляющая логика трех функций, и будут намечены три блок-схемы из трех управляющих логик. После того, как блок-схемы были сгенерированы, их следует пересмотреть несколько раз, пока логика управления не станет логически точной. Затем программы и алгоритмы отдельных трех функций будут запрограммированы с помощью блок-схем. Автомобиль EGO будет готов к тестированию трех функций на последнем этапе.

Этап 3:

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

ЛИДАР

Есть четыре типа данных, которые могут быть прочитаны из LIDAR, и только два типа данных будут использоваться в этом проекте, это угол и расстояние. Измерение угла в градусах [0,360), а измерение расстояния будет больше 15 см (для другого расстояния меньше 15 см, значение 0 будет отправлено обратно). Возникла проблема:с LIDAR можно считывать только данные о расстоянии и угле, но как эти данные можно использовать при обнаружении препятствий? Решение состоит в том, чтобы разделить дальность обнаружения лидара на 4 секции и значение расстояния обнаружения препятствий, чтобы принять решение о контроле следующего шага движения транспортного средства. Как показано на рисунке 12, от 315 до 45 градусов - это передняя часть, а от 135 до 225 градусов - задняя. Поскольку лидар может обнаруживать только объект на расстоянии более 15 см, на данный момент используются только эти две секции. Для левой и правой секции ультразвуковой датчик может выполнять задание по обнаружению для этих двух секций.

На этом рисунке показано, как эти две секции обнаружения работают на дороге:

Как показано на рисунке 13, автомобиль EGO движется по правой полосе, а автомобиль B движется по обратной полосе. Зеленый кружок вокруг автомобиля EGO - это действительная дальность обнаружения, о которой говорилось ранее. Дальность обнаружения будет разделена на четыре части, а расстояние обнаружения превышает 15 см. Как было проверено, эта секция переднего обнаружения не будет влиять на автомобиль B, если автомобиль B не перешагнет пунктирную линию между двумя полосами движения.

Постановка проблемы

Избегание препятствий:

Было рассмотрено три сценария. Первый сценарий предназначен для тестирования функции уклонения от препятствий, показанной на рисунке 14. Есть одно препятствие на середине дороги, и автомобиль EGO движется близко к нему, а автомобиль B движется в обратном направлении по другой полосе, за исключением автомобиля EGO. . Автомобиль EGO не может сменить полосу движения, чтобы избежать аварии, потому что он столкнется с автомобилем B. Единственный выбор, который остается у автомобиля A, - полностью остановиться перед встречным препятствием.

Объезд движущегося автомобиля (еще один сценарий уклонения от препятствий):

Второй сценарий разработан на основе другого сценария уклонения от препятствий и назван функцией уклонения от движущегося автомобиля на рисунке 15. Автомобиль B движется в неправильном направлении и по той же полосе, что и автомобиль EGO. На этот раз на другой полосе нет автомобилей или препятствий, поэтому автомобиль EGO может выбрать смену полосы движения, чтобы избежать автомобиля B, а после объезда автомобиля B автомобиль EGO может вернуться на правильную полосу движения.

Последний сценарий предназначен для проверки функции адаптивного круиз-контроля, показанной на рисунке 16. Автомобиль B движется вперед, автомобиль EGO должен держаться на безопасном расстоянии от автомобиля B, чтобы избежать аварий. Автомобиль EGO будет регулировать свою скорость, чтобы сохранить безопасное расстояние.

Адаптивный круиз-контроль:

Логика управления

Определение переменных:

Логика управления уклонением от препятствий:

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

Логика управления уклонением от движущегося автомобиля:

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

Логика управления функцией адаптивного круиз-контроля:

В сценарии с функцией адаптивного круиз-контроля возникнут две проблемы:первая - автомобиль EGO движется слишком быстро, другая - автомобиль EGO движется слишком медленно. На рисунке 19 представлена ​​логика полного управления адаптивного круиз-контроля.

Комбинированная логика управления:

Вот блок-схемы управляющей логики для комбинированной управляющей логики предыдущих трех управляющих логик:

В комбинированной логике удержание полосы движения и программа адаптивного круиз-контроля не изменятся. Однако функция объезда препятствий и функция объезда движущегося автомобиля будут объединены в одну функцию. Раньше функция уклонения от препятствий позволяла автомобилю полностью остановиться у препятствия посреди дороги, но каков следующий шаг управления? Эта функция может быть объединена с функцией предотвращения движущегося автомобиля, которая может обогнать приближающуюся машину и переключить полосу движения. В функции предотвращения препятствий автомобиль может использовать ультразвуковые датчики и лидар для обнаружения окружающей среды, чтобы проверить, есть ли другой автомобиль на другой полосе, после того, как он полностью остановится перед препятствием. Если на обратной полосе нет машины или препятствия, то машина может преодолеть препятствие и продолжить движение.

Результаты

Предыдущие результаты:

Автомобили EGO успешно собираются с выбранным оборудованием. Команда по поддержанию полосы движения успешно внедрила полезную программу удержания полосы движения, основанную на работе группы обработки изображений, которая будет использовать сигнал с камеры. Исходные данные LIDAR передаются в пригодные для использования данные с помощью вышеупомянутого метода программирования. Система планирования движения в реальном времени с функциями избегания препятствий, движущихся автомобилей и адаптивного круиз-контроля была построена в виде трех отдельных программ управления, основанных на программе удержания полосы движения. Предыдущие тесты основывались на этих трех отдельных программах управления для проверки стабильности, поскольку объединить их вместе для проверки стабильности сложнее, чем проверять их по отдельности. Функция предотвращения препятствий работает хорошо, автомобиль EGO может принудительно остановиться перед заданным препятствием. Однако автомобиль EGO слишком тяжелый с двумя платами Raspberry Pi и одним лидаром, иногда с автомобилем EGO

перевернется из-за своего тяжелого веса. В функции уклонения от движущегося автомобиля логика смены полосы движения работает хорошо, однако ее маршрут уклонения не совсем такой, как ожидалось. К автомобилю EGO следует добавить два ультразвуковых датчика, чтобы транспортное средство EGO могло обнаруживать объекты ближе 15 см, особенно препятствия с левой и правой стороны. В функции адаптивного круиз-контроля программа управления регулировкой расстояния работает, однако в процессе регулировки расстояния скорость автомобиля EGO не стабильна, как ожидалось. Причина в том, что логика адаптивного круиз-контроля позволяет машине ускоряться и замедляться только с одинаковой скоростью. В логику управления функцией адаптивного круиз-контроля следует добавить более умный алгоритм регулировки расстояния.

Ожидайте результатов:

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

Для первого улучшения были уменьшены вес и высота автомобиля EGO, они значительно снизят риск опрокидывания. Снижение веса транспортного средства EGO уменьшит силу инерции транспортного средства EGO во время процесса принудительной остановки. Согласно второму закону движения Ньютона, сила инерции равна времени ускорения массы объекта. Поскольку при той же скорости ускорения, что и раньше, уменьшение массы (веса) транспортного средства EGO значительно снизит силу инерции, которую испытывает транспортное средство EGO. Это снизит риск опрокидывания вниз во время процесса принудительной остановки. Кроме того, уменьшение высоты приведет к уменьшению положения центра тяжести

автомобиля EGO, что также снизит риск опрокидывания. Раньше на верхней части транспортного средства EGO была еще одна плата Raspberry Pi, ее удаление уменьшит положение центра тяжести транспортного средства EGO. Причина проста, положение центра тяжести автомобиля EGO влияет на его устойчивость. Чем ниже центр тяжести, тем устойчивее EGO. Таким образом, первое усовершенствование успешно снизит риск опрокидывания вниз во время применения функции избегания объектов.
Для второго усовершенствования на автомобиле EGO были добавлены два ультразвуковых датчика для обнаружения левой и правой сторон. расстояние до объекта EGO. В предыдущем тесте автомобиль EGO не может определить расстояние от объекта слева и справа до автомобиля EGO, потому что LIDAR не может обнаружить какой-либо объект ближе 15 см от автомобиля EGO. После добавления двух ультразвуковых датчиков к транспортному средству EGO и логики управления функцией предотвращения движения автомобиля, транспортное средство EGO может двигаться по гораздо более точному маршруту во время перехода на обратную полосу и вернуться к исходной полосе. Раньше LIDAR - это только оборудование для обнаружения окружающей среды, которое можно использовать для функции предотвращения движущегося автомобиля, маршрут избегания движущегося автомобиля предустановлен. Автомобиль EGO может двигаться по заданному маршруту, если перед ним находятся какие-либо объекты (автомобили). Это причина того, что маршрут избегания не может быть точно до улучшения. После улучшения, автомобиль EGO будет определять расстояние от левого и правого объекта до автомобиля EGO. Транспортное средство EGO начнет процесс уклонения, чтобы сменить полосу движения, как только перед ним будут обнаружены какие-либо объекты с помощью LIDAR, затем ультразвуковые датчики начнут определять расстояние до двух сторон до объекта. Как только ультразвуковые датчики обнаруживают, что до автомобиля EGO нет никаких объектов ниже 10 см, автомобиль EGO может начать процесс обратного движения, чтобы вернуться на исходную полосу движения. Короче говоря, второе улучшение позволяет автомобилю EGO более точно определять маршрут во время уклонения от движущегося автомобиля.
Для последнего улучшения будет добавлен один более умный алгоритм регулировки расстояния. Этот алгоритм сделает процесс ускорения и замедления автомобиля EGO более плавным, чем предыдущий, поскольку установленная скорость больше не является фиксированным значением, это будет динамическое значение. В предыдущих тестах, поскольку алгоритм недостаточно умен, автомобиль может ускоряться и замедляться только до заданного фиксированного значения скорости. Процесс адаптивного круиз-контроля будет недостаточно плавным, и автомобиль EGO выглядит подключенным во время процесса регулировки расстояния к переднему автомобилю. После добавления более умного алгоритма в программу управления адаптивного круиз-контроля, автомобиль EGO может ускоряться и замедляться на один процент от текущей скорости или на пять процентов от текущей скорости, процесс будет более плавным, чем раньше. Причина в том, что скорость будет основываться на текущей скорости для динамической регулировки, и автомобиль EGO будет ускоряться и замедляться более плавно, поскольку скорость постоянная и имеет небольшие колебания. Короче говоря, последнее улучшение сделает управление автомобилем EGO более плавным во время процесса регулировки расстояния с помощью функции адаптивного круиз-контроля.

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

Дальнейшие улучшения

Из этого проекта можно вообразить множество будущих улучшений. Во-первых, функции планирования движения в реальном времени недостаточно. In the future, there are many ways to combine and improve these three functions makes the EGO vehicle have more and more functions, to generate a real-time motion planning system in fully functional. Secondly, the algorithm of lane keeping, adaptive cruise control, and moving car avoidance are not smart enough. There exists more advance algorithm for these three functions need to be found. For example, even the distance detection algorithm in adaptive cruise control already has been improved, however, there is still have possibility to improve the algorithm. Currently, the speed adjustment is based on five percent

of current speed or one percent of current speed, however, the speed adjustment is not dynamically. If there is an algorithm of memory for saving current speed or speed calculation based on distance and time can be added, then, the adaptive cruise control will be prefect. Also, multiple EGO vehicle driving on the same scaled-down urban environment, and EGO vehicle communication system need to be added in the real-time motion planning system to manage the traffic. In short, there will be a lot of aspects in the real-time motion planning system need to be improved in the future work.

Заключение

Hardware and software are assembled and set appropriately in this project. The LIDAR raw data are appropriately transfer to usable data by the previous mentioned method for programing. Three different scenarios have been designed for testing obstacle avoidance function, moving car avoidance function, and adaptive cruise function. The control logic based on obstacle avoidance scenario, moving car avoidance scenario, and adaptive cruise control scenario have been designed and programmed. If the test results as expect, the real-time motion planning system has been implemented and works perfect in these three scenarios. However, the current real-time motion planning system is not perfect yet, it needs more works and more times to improve it. These three functions are the most basic function in real-time motion planning system. The final goal is to make this EGO vehicle has accident avoidance function; however, these three functions cannot let the EGO vehicle has the fully functional accident avoidance function. Apply permutations and combinations of these three basic functions will generate more possibility, which will bring a lot of different new functions in the real-time motion planning system.

Acknowledgements

First and foremost, I would like to show my deepest gratitude to my research advisor, Dr. Lisa Fiorentini, who has provided me with valuable guidance in every stage of the project and writing of this thesis. Without her instruction, kindness and patience, I could not have completed my thesis. I shall extend my thanks to my mom for all her encouragement and mental help. The work of last two semesters exhausted me, since I have onerous courses, individual research, and written work for applying graduate school. Without her encouragement and mental help, I cannot stick to now. Finally, I would like to thank all my friends, for their encouragement and support.

Reference

  1. Aqib, “What is Raspberry pi? Getting Started with Raspberry Pi 3,” Electronics Hobbyists, 18-Jan-2019. [Online]. Available:https://electronicshobbyists.com/tutorial-1-what-is-raspberry-pi-getting-started-with- raspberry-pi-3/. [Accessed:25-Apr-2020].
  2. Adafruit Industries, “Mini 3-Layer Round Robot Chassis Kit – 2WD with DC Motors,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3244. [Accessed:25-Apr-2020].
  3. Adafruit Industries, “Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3297. [Accessed:25-Apr-2020].
  4. T. Huang, “RPLIDAR-A1 360°Laser Range Scanner _ Domestic Laser Range Scanner,” SLAMTEC. [Online]. Available:https://www.slamtec.com/en/Lidar/A1. [Accessed:25-Apr-2020].
  5. “PowerCore 13000,” Anker. [Online]. Available:https://www.anker.com/store/powercore- 13000/A1215011. [Accessed:25-Apr-2020].
  6. “Welcome to lidar’s documentation! ¶,” Welcome to lidar’s documentation! – lidar documentation. [Online]. Available:https://lidar.readthedocs.io/en/latest/. [Accessed:25-Apr-2020].
  7. “RealVNC,” Download VNC Viewer for macOS | VNC® Connect. [Online]. Available:https://www.realvnc.com/en/connect/download/viewer/macos/. [Accessed:25-Apr-2020].
  8. Adafruit Industries, “HC-SR04 Ultrasonic Sonar Distance Sensor 2 x 10K resistors,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3942. [Accessed:25-Apr-2020].

Производственный процесс

  1. Компьютерное зрение как датчик движения для SmartThings
  2. Самодельная инфракрасная система датчиков движения для Raspberry Pi
  3. ИИ для автономного вождения для сборщика мусора в машинах-ослах
  4. Планирование технического обслуживания:что это для вас?
  5. Подготовка к автономному будущему
  6. Многократное использование тележки платформы
  7. 3D-система отслеживания движения для автономных технологий
  8. Технология автономных датчиков для обратной связи в режиме реального времени об охлаждении и обогреве
  9. Зубчатая рейка для линейного движения
  10. Как выбрать турбокомпрессор для своего автомобиля?