Роботизированный беспилотный транспорт

Создание робота, способного взаимодействовать с оператором через беспроводную сеть. Изучение вариантов реализации алгоритмов управляемого и автоматизированного движения. Проведение исследования вариантов осуществления режимов аварийного управления.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 09.11.2018
Размер файла 6,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Роботизированный беспилотный транспорт

Автор:

Попов Алексей Павлович,

Руководитель:

Слезин Кирилл Анатольевич,

Тамбов, 2016

Оглавление

Введение

1. Создание робота на платформе TETRIX и NXT 2.0

2. Выбор и настройка программного обеспечения для беспилотного управления роботом

3. Проблемы, с которыми пришлось столкнуться в процессе выполнения проектной работы

Заключение

Приложение

Введение

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

Необходимость внедрения беспилотных транспортных средств (БПТС) объясняется тем, что они значительно облегчат жизнь человека и обеспечат его безопасность. Например, использование беспилотного транспорта может быть актуально в структурных подразделениях МЧС. Сейчас они не оснащены техническими средствами, необходимыми для разведки труднодоступных и масштабных зон чрезвычайных ситуаций природного, техногенного и террористического характера.

Также, использование беспилотного транспорта позволит исключить превышение скоростного режима, исключить вождение в нетрезвом состоянии и сократить объем и количество пробок в мегаполисах, сократить ширину дорожных полос, тем самым увеличить пропускную способность дорог. Например, внедрение беспилотных автобусов позволит сократить расход на обслуживание транспортной сети за счет экономии на заработной плате водителей, увеличить количество перевозимых пассажиров. Внедрение БПТС поможет значительно облегчить жизнь инвалидам, так как они смогут использовать данный вид транспорта самостоятельно. Появление БПТС означает мощнейший технологический передел, переворот в автомобилестроении. Особенно это касается грузовых автомобилей: например, их не нужно будет оснащать такими мощными двигателями, как сейчас - они не будут никого обгонять, будут двигаться строго в потоке и с разрешенной скоростью. Применительно к БПТС есть формула, которую признают специалисты в области автотранспорта 90 - 60 - 30. Она означает, что переход на беспилотные машины позволяет снизить количество ДТП на 90 процентов, нагрузку на автодороги на 60 процентов, а выбросы уменьшаются на 30 процентов. На Совете по модернизации экономики и инновационному развитию премьер министр Российской Федерации Дмитрий Медведев утвердил ряд проектов, посвященных созданию беспилотного транспорта. Целью ставиться достижение «глобального лидерства» страны в этой области к 2035 году. Президиум совета одобрил проекты четырёх «дорожных карт», реализация которых начнется в 2016 году [14].

Актуальность

Актуальность проекта «Роботизированный беспилотный транспорт» состоит в том, что исследования в этом направлении и собственно в области робототехники являются очень важными в нашем современном мире. Этот проект поможет освоить такую идею как управление автомобилем непосредственно без помощи человека.Предложенная модель робота со всеми прилагающимися к ней устройствами, такими как камера, ноутбук, точка доступа WI-FI, имеет возможность самостоятельно передвигаться по маршруту, принимать решение о маневре, также оператор данного автомобиля может в любой момент проверить состояние автомобиля и качество выполняемой им работы.В работе представлены исследования, проведенные на основе данной модели автомобиля.

Достижение результата в работе по созданию в России беспилотного автомобиля будет очень важно. Об этом 6 ноября на встрече с генеральным директором корпорации «Ростех» Сергеем Чемезовым заявил премьер-министр РФ Дмитрий Медведев.По словам главы правительства, сейчас разработкой беспилотных транспортных средств занимаются крупнейшие компании: Apple, Google, Tesla. «Так что если мы здесь добьемся каких-то результатов, будет очень важно», - подчеркнул Медведев[13].

Цель

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

Задачи

1) создать робота способного взаимодействовать с оператором через беспроводную сеть;

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

3) изучить варианты реализации алгоритмов управляемого движения;

4) изучить варианты реализации алгоритмов автоматизированного движения;

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

1. Создание робота на платформе TETRIX и NXT 2.0

Основной каркас робота сделан из конструктораTETRIX компании Pitsco и его ресурсного набора (рис. 1) - робототехнический конструктор нового поколения, который позволяет перевести процесс создания робота на новый качественный уровень. На его основе можно построить робота с дистанционным управлением или, используя микрокомпьютер и датчики, создать автономного робота.Конструктор TETRIX совместим с конструктором LEGO, позволяет использовать контроллер LEGO NXT, любые совместимые датчики и исполнительные устройства. В качестве контроллера взят основой блок NXT 2.0он выполняет роль устройства, которое управляет моторами, принимает управляющие сигналы либо от компьютера через Bluetooth или USBсоединение, либо от другого блока NXT 2.0только через Bluetooth.

Рис.1. Робот, собранный из конструктора TETRIX

В передней части робота стоит отбойник, для того чтобы в случае столкновения с препятствием не произошло повреждение колес и рулевого механизма. На роботе для приведения сервоприводов и моторов в движение установлены:контроллер моторовHiTechnic, к которому может быть подключено 2 мотора и контроллер сервоприводовHiTechnic, к которому может быть подключено до 6 серво машинок. В моем проекте используется всего 2 серво машинки, они подают напряжение на моторыPitsco и сервоприводыHiTec, получая его от аккумулятора с напряжением 12 вольт, и управляющее воздействие, получаемое от NXT 2.0. В конструкции робота используются моторы постоянного напряжения Pitsco.Привод осуществляется через прямую шестереночную передачус передаточным отношением 1/2, от мотора к полностью блокированной задней оси (рис. 2).

Рис. 2. Шестереночная передача на приводную ось

В настоящий момент робот имеет конструкторское решение, согласно рис. 3.

Рис. 3.Вид робота в настоящий момент

2. Выбор и настройка программного обеспечения для беспилотного управления роботом

Для беспилотного управления роботом был выбран комплекс устройств и программное обеспечение, которые позволяют оператору видеть ситуацию вокруг робота, при этом беспилотник имеет возможность самостоятельно принимать решения о осуществлении маневра. Для этого на нем установлена камера и ноутбук с системой UbuntuServer (рис. 4), который получает изображение с видеокамеры и передаёт его по WI-FI сети через программу MJPG-streamer, которая осуществляет трансляцию видео вWI-FI сетьпосредством программы Hostapd,которая использует конфигурации (см. приложение 1). робот беспроводной сеть автоматизированный

Рис. 4. Ноутбук с запущенной системой UbuntuServer

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

Видео транслируется при помощипрограммыMJPG-streamer(рис.5), (приложение 2), и камеры Logitechc270, MJPG-streamerобеспечивает высокую скорость видео, так как не производит проверку на изменение каждого кадра относительно предыдущего, а просто постоянно запрашивает новое изображение с камеры, и транслирует полученные картинки с частотой 15-30 кадров за секунду в WI-FIсеть используя заданные конфигурации интерфейсов (см. приложение 3) и WI-FI адаптер TP-LINK.

Рис. 5. Интерфейс программы MJPG-streamer

Оператор может подключитьсяк этой сети и получить доступ к изображению при помощи устройства Android. Ноутбук передаёт команды, посылаемые пользователем через USBнапрямую в блок NXT2.0. Такой способ передачи наиболее удобен, так как не затрачивается энергия на питание Bluetooth-модуля.

Мой выбор пал на операционную систему Android не просто так.

Androidсейчас самая распространённая система во всем мире, количество устройств с Androidна борту, составляет 82 процента от количества устройств (рис.6). Операционная система Androidдает разработчику практически безграничные возможности. Эта система не блокирует приложения сторонних разработчиков, что являлось не маловажным фактором при выборе программного обеспечения для устройства управления.

Рис. 6. Диаграмма со статистическими данными об использовании операционных систем на мобильных устройствах

3. Проблемы, с которыми пришлось столкнуться в процессе выполнения проектной работы

Одной из важной и на данный момент не решенной проблемой является установка дифференциала на заднюю ось. Дифференциал необходим для распределения крутящего момента между колесами. Это позволяет поворачивать роботу с большей точностью на любых поверхностях. Так как внешнее от стороны поворота колесо не противится повороту относительно внутреннего колеса. Для того чтобы устранить эту проблему была создана 3Dмодель дифференциала в программе AutodeskInventorProfessional 2016, полностью готовая к печати на 3Dпринтере (рис. 7), но качество печати на обычном 3Dпринтере не даёт достаточной износостойкости детали, тем самым напечатанная деталь быстро приходит в негодность.

Рис. 7. Модель дифференциал сделанная в программе AutodeskInventorProfessional 2016

Второй существенной проблемой является осуществление поворота колёс, регулирующих движение робота. Для точного поворота с меньшим расходом энергии на поворот необходимо использовать рулевую рейку, но состав конструктора TETRIXне позволяет реализовать конструкцию поворотной системы колес с внедрением в нее рулевой рейки. Решением этой проблемы стало использование принципа Аккермана в рулевом управлении.Принцип Аккермана определяет геометрию рулевого управления, которая применима для любых транспортных средств, с целью обеспечения корректного угла поворота рулевых колес при прохождении поворота или кривой.

Для реализации этого принципа была произведена установка сервоприводов на каждое из поворотных колес (рис. 8).

Рис. 8. Устройство подключения сервопривода к поворачиваемому колесу

Выводы и практические рекомендации

Беспилотный транспорт должен иметь широкое распространение во всех сферах промышленности и частной жизни человека. Данную модель транспорта можно использовать с целью исследований применения беспилотного транспорта, и реализации беспилотного транспорта с наилучшими характеристиками во всех технических узлах. Если информацию и наработки, полученные в процессе работы над созданием данного проекта и его практических испытаниях, использовать в промышленных масштабах, то можно достичь снижения загрузки дорог, уменьшения количества ДТП, увеличения скорости обслуживания и ремонта дорожного полотна и увеличить объёмы грузоперевозокпосредством внедрения в дорожно-транспортную сеть беспилотного легкового и грузового транспорта, а также автомобилей специального назначения.

Заключение

Необходимость внедрения беспилотного транспорта сегодня невозможно переоценить.

Опираясь на поставленные задачи удалось создать беспилотный автомобиль, которым в случае непредвиденных обстоятельств можно управлять самостоятельно. Была осуществлена трансляция видео с камеры установленной на роботе в WI-FIсеть. Написан набор функций для осуществления связи между беспилотным автомобилем и оператором, который позволяет оператору подавать команды роботу и следить за их выполнением. Все функции планируется скомпоновать в виде приложения для операционной системы Android в процессе выполнения второй части проекта. Так же в будущем планируется реализовать автопилот посредством анализа изображения с камеры. Функция автопилота реализована посредствам датчиков Ultrasonic ипрограммы написанной в среде RobotC исполняемой контроллеромLegoNXT2.0. Режим аварийного управления также представляет из себя программу, написанную в среде RobotCисполняемой этим контроллером, также возможно управление роботом с пульта, который представляет собой блок LegoNXT2.0и соединяется с блоком на роботе посредством Bluetooth (приложение 4).

Необходимо понимать, что создание беспилотного автотранспорта должно стать основным инновационным направлением дальнейшего развития всех сфер где необходимо использование автомобильного транспорта.

Приложение

Конфигурации приложения Hostapd.

interface=wlan1

driver=rtl871xdrv

logger_syslog=-1

logger_stdout=-1

logger_stdout_level=2

ctrl_interface=/var/run/hostapd

ctrl_interface_group=0

country_code=RU

hw_mode=g

channel=1

beacon_int=100

dtim_period=2

max_num_sta=255

rts_threshold=2346

fragm_threshold=2346

macaddr_acl=0

auth_algs=1

idnore_broadcast_ssid=0

wmm_enabled=1

eap_server=0

own_ip_addr=127.0.0.1

wpa=2

wpa_passphrase=*********

wpa_pairwise=TKIP

rsn_pairwise=CCMP

СкриптзапускапроцессаMJPG-Streamer Daemonпризапускекомпьютера.

### BEGIN INIT INFO

# Provides: MJPG-streamer

# Required-Start: $network $remote_fs $syslog

# Required-Stop: $network $remote_fs $syslog

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Starts webcam over mjpeg streamer

### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin

/lib/lsb/init-functions

DAEMON=/usr/local/mjpg-streamer/mjpg_streamer

test -x $DAEMON || exit 5

case $1 in

start)

log_daemon_msg "Starting MJPG-streamer" ""

/usr/local/mjpg-streamer/mjpg_streamer -i "/usr/local/mjpg-streamer/input_uvc.so -d /dev/video1 -f 12 " -o "/usr/local/mjpg-streamer/output_$

status=$?

log_end_msg $status

stop)

log_daemon_msg "Stopping MJPG-streamer" ""

killall /usr/local/mjpg-streamer/mjpg_streamer

log_end_msg $?

;;

restart|force-reload)

$0 stop && sleep 2 && $0 start

;;

try-restart)

if $0 status >/dev/null; then

$0 restart

else

exit 0

fi

;;

reload)

exit 3

;;

status)

status_of_proc $DAEMON "MJPG-streamer"

;;

*)

echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"

exit 2

;;

esac

Конфигурацииинтерфейсов.

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto eth0

iface eth0 inetdhcp

auto lo wlan1

iface wlan1 inet static

hostapd /etc/hostapd/hostapd.conf

address 192.168.0.1

netmask 255.255.255.0

#auto lo wlan0

#iface wlan0 inet static

# address 192.168.1.1

# netmask 255.255.255.255

post-up /etc/nat

Реализация управления роботом с блока LegoNXT2.0.

task main() {

int power = 0, angle = 0;

nMotorEncoder[motorA] = 0;

while (true) {

if (SensorValue[S1] == 1)

power += power < 100 ? 5 : 0;

else

if (SensorValue[S2] == 1)

power -= power > -100 ? 5 : 0;

else

power = 0;

angle = nMotorEncoder[motorA] / 2;

if (angle > 45) angle = 45;

if (angle < -45) angle = -45;

sendMessageWithParm(power, angle);

nxtDisplayCentredTextLine(3, "%d %d", power, angle);

}

}

Программа для блока, который установленный на роботе и принимает сигналы управляющего блока LegoNXT2.0.

#define L 100

#define H 100

void move(int power) {

motor[motorD] = power;

motor[motorE] = power;

}

voidmoveWheel(int angle) {

int a = abs(angle);

float A = a * PI / 360;

float B = atan(L * tan(A) / (L - H * tan(B)));

int b = (int) (B / PI * 360);

if (angle < 0) {

servo[servo1] = 90 + a;

servo[servo2] = 90 + b;

} else {

servo[servo1] = 90 - a;

servo[servo1] = 90 - b;

}

}

task main() {

while (true) {

while (bQueuedMsgAvailable()) {

word temp;

ClearMessage();

temp = message;

}

if (message == 0) {

wait1Msec(5);

continue;

power = messageWithParm[0];

angle = messageWithParm[1];

move(power);

moveWheel(angle);

nxtDisplayCentredTextLine(3, "%d %d", power, angle);

wait1Msec(100);

Размещено на Allbest.ru

...

Подобные документы

  • Проектирование информационной системы, обеспечивающей деятельность движения транспорта. Построение диаграммы последовательности, классов, компонент и развертывания. Создание логической модели базы данных. Реализация вариантов использования в виде текста.

    курсовая работа [1,4 M], добавлен 22.05.2015

  • Описание взаимодействия клиентов с терминалом с помощью графического языка UML для объектного моделирования. Представление моделей в виде диаграмм: вариантов использования (прецедентов), последовательности, коопераций, классов, состояния, размещения.

    лабораторная работа [1,5 M], добавлен 23.10.2014

  • Описание математической модели летательного аппарата. Разработка алгоритмов управления беспилотным летательным аппаратом . Модель атмосферы и воздушных возмущений. Модель рулевых органов. Синтез управления на траекторном уровне. Петля Нестерова.

    дипломная работа [1,0 M], добавлен 29.09.2008

  • Понятие и классификация алгоритмов маршрутизации. Основное определение теории графов. Анализ и разработка алгоритмов Дейкстры и Флойда на языке программирования C# для определения наилучшего пути пакетов, передаваемых через сеть. Их сравнительный анализ.

    курсовая работа [1,2 M], добавлен 16.05.2015

  • Особенности использования микроконтроллеров в различных изделиях. Создание максимально гибко настраиваемого контроллера температуры и влажности. Создание физической модели контроллера. Реализация удаленного управления микроконтроллера через сеть Wi-Fi.

    курсовая работа [3,8 M], добавлен 04.02.2021

  • Разработка класса "очередь с приоритетами" на языке С++ с использованием объектно-ориентированного проектирования. Построение алгоритмов обработки очереди, методов вставки, удаления, вывода на экран элементов. Анализ вариантов реализации очередей.

    курсовая работа [398,6 K], добавлен 28.05.2016

  • Открытие конкурса NESSIE на разработку криптографических алгоритмов и на создание методики оценки их безопасности и эффективности. Результаты конкурса: отбор ассиметричных схем шифрования и вариантов цифровой подписи; проблемы их лицензирования.

    реферат [44,5 K], добавлен 09.05.2011

  • Обзор схемы конструкции автоматизированного мобильного робота. Выбор компонентов конструкции. Общая классификация роботов; виды двигателей. Выбор типа микроконтроллера. Осуществление программирования на основе расчётов по математической модели робота.

    курсовая работа [1,2 M], добавлен 20.05.2015

  • Переход от словесной неформальной постановки к математической формулировке данной задачи. Оценка различных вариантов с целью выбора наиболее эффективных структур данных и алгоритмов обработки. Реализация алгоритмов на одном из языков программирования.

    курсовая работа [35,0 K], добавлен 25.06.2013

  • Классификация колесных наземных мобильных роботов. Обзор приводов мобильных платформ. Особенности стабилизации скорости мобильной платформы Rover 5 с дифференциальным приводом. Разработка алгоритмов управления на основе микроконтроллера Arduino.

    курсовая работа [1,3 M], добавлен 04.05.2017

  • Система обработки заказов. Создание диаграммы вариантов использования. Принципы и этапы формирования диаграммы последовательности действий и кооперативной диаграммы. Параметры и типы операций атрибутов классов, направления реализации связей между ними.

    курсовая работа [735,9 K], добавлен 22.12.2013

  • Составление и программная реализация в среде Borland Delphi 7.0 алгоритмов итерационного и рекурсивного вариантов решения задачи поиска с возвращением. Исследование асимптотической временной сложности решения в зависимости от количества ячеек на плате.

    курсовая работа [57,5 K], добавлен 25.06.2013

  • Специфика системы управления телевизором. Особенности модели вариантов использования. Анализ основных вариантов использования телевизора: просмотр, переключение каналов, изменение громкости и настроек. Проектирование и реализация системы, генерация кода.

    курсовая работа [226,4 K], добавлен 10.06.2011

  • Разработка и анализ алгоритмов с использованием электронных таблиц и прикладных программ Smath Studio, Microsoft Excel. Проверка алгоритма ветвления или выбора. Реализация циклов на примере вычисления определённого интеграла с заданной точностью.

    контрольная работа [1,0 M], добавлен 19.03.2016

  • Составление программы для построения траектории движения захвата манипулятора робота: запись системы линейных алгебраических уравнений, получение коэффициентов. Анимация движения манипулятора. Схема направления движения точки соединения звеньев робота.

    лабораторная работа [274,4 K], добавлен 01.12.2013

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

    курсовая работа [588,7 K], добавлен 11.08.2017

  • Создание системы видеонаблюдения для обеспечения требуемого уровня безопасности. Функция обнаружения движения. Обзор альтернативных вариантов построения информационной системы. Последовательность обработки фильтров. Графическая обработка видеопотоков.

    курсовая работа [702,7 K], добавлен 16.01.2014

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

    дипломная работа [1,0 M], добавлен 28.12.2015

  • Описание и расчет параметров систем с очередями для различных вариантов (один или несколько серверов - одна очередь, несколько серверов - несколько очередей). Проведение оценки производительности компьютерной сети на основе данных о ее загрузке.

    курсовая работа [9,2 M], добавлен 19.11.2013

  • Использование в микропроцессорных системах цифрового способа представления информации. Помехоустойчивость устройств. Принципиальная схема на микроконтроллере для управления роботом. Устройство и принцип действия робота. Области действия фотодатчиков.

    курсовая работа [693,7 K], добавлен 31.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.