Skip to content

PopkovRobotics/RoboMobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoboMobile

logo

Описание

RoboMobile - это проект, реализующий управление интеллектуальным беспилотным автомобилем (далее ИБПА). Проект имеет следующие возможности:

  • Движение по чёрной направляющей линии
  • Проезд развилок и перекрёстков по знакам
  • Распознавание дорожных знаков, таких как:
    • 2.5 "движение без остановки запрещено"
    • 2.1 "главная дорога"
    • 6.4 "парковка"
    • 4.1.1 "движение прямо"
    • 4.1.2 "движение направо"
    • 4.1.3 "движение налево"
  • Реакция на распознанные дорожные знаки (кроме парковки)
  • Звуковое оповещение о распознанных знаках, разряде батарей (батарея считается разряженной, когда её напряжение ниже 6.9V)

Подготовка перед работой

После загрузки ИБПА (загрузка длится около 30 секунд) появится точка доступа Wi-Fi с именем D**** (например, D0001). К этой точке доступа необходимо подключиться, пароль от точки доступа: 12345678.

Удаленное управление ИБПА

Доступ по SSH

SSH (Secure Shell) - это утилита и сетевой протокол, позволяющий производить удалённое управление операционной системой подключённого устройства (в данном случае операционной системой ИБПА).

PuTTY

PuTTY - кроссплатформенная клиент, для различных протоколов удалённого доступа, включая SSH и многие другие. Установите PuTTY по ссылке и запустите.

В поле "Host Name (or IP address)" записываем IP-адрес ИБПА: 192.168.111.1. Далее в разделе "Connection type" выбираем "SSH" и нажимаем кнопку "Open". В появившемся окне записываем имя пользователя: jetson, а затем записываем пароль: jetson (вводимый пароль не будет отображаться на экране). Далее появится командная строка.

PuTTY

SSH

Для подключения к удалённому хосту используйте: ssh [пользователь]@[IP адрес]

Далее введите пароль: jetson (вводимый пароль не будет виден).

Доступ по SCP

SCP (Secure Copy) - это утилита и протокол безопасной передачи компьютерных файлов между локальным и удаленным хостом (в данном случае удалённым хостом является ИБПА).

SCP

Копирование файлов

scp [пользователь]@[IP адрес]:[файл для копирования] [пользователь]@[IP адрес]:[файл, в который копируем]

scp file.txt [email protected]:/home/jetson/file.txt

Копирование папок

scp -r [пользователь]@[IP адрес]:[папка для копирования] [пользователь]@[IP адрес]:[папка назначения]

Убедитесь, что у исходной папки нет косой черты, а у папки назначения она должна обязательно быть.

scp -r dir [email protected]:/home/jetson/

Если поменять местами локальный путь и сервер, то вы сможете копировать файлы c удаленного сервера на локальный компьютер. После ввода команды scp необходимо будет ввести пароль от пользователя удалённого хоста (вводимый пароль не будет отображаться).

Сборка и запуск

Подключитесь к автомобилю по протоколу SSH. Если вы не знаете как это сделать, то прочитайте раздел Удаленное управление ИБПА/Доступ по SSH. Далее все команды необходимо вводить в командную строку SSH.

Скачайте проект на ИБПА с помощью команды

git clone https://github.com/PopkovRobotics/RoboMobile.git 
cd RoboMobile

Создайте папку для сборки проекта

mkdir build && cd build

Скомпилируйте и запустите проект. Для остановки программы нажмите сочетание клавиш Ctrl+C.

cmake .. && make -j4
./RoboMobile

Дерево каталогов

.
├── audio
│   ├── left.wav
│   ├── main_road.wav
│   ├── parking.wav
│   ├── right.wav
│   ├── stop.wav
│   └── top.wav
├── CMakeLists.txt
├── configs
│   └── config.json
├── imgs
│   ├── logo.png
│   └── putty.png
├── README.md
├── RoboMobile.cpp
└── sources
    ├── Arduino.cpp
    ├── Arduino.hpp
    ├── Config.cpp
    ├── Config.hpp
    ├── Decoder.cpp
    ├── Decoder.hpp
    ├── Engine.hpp
    ├── Lines.hpp
    ├── LogInfo.hpp
    ├── Loop.cpp
    ├── Loop.hpp
    ├── Mat.cpp
    ├── Mat.hpp
    ├── Object.cppd
    ├── Object.hpp
    ├── PID.cpp
    ├── PID.hpp
    ├── RecognitionLine.cpp
    ├── RecognitionLine.hpp
    ├── RecognitionSign.cpp
    ├── RecognitionSign.hpp
    ├── Server.cpp
    ├── Server.hpp
    ├── Signs.hpp
    ├── Timer.cpp
    ├── Timer.hpp
    ├── Video.cpp
    ├── Video.hpp
    ├── Webcam.cpp
    └── Webcam.hpp

Контакты

Лицензия

GNU General Public License v3.0