Soitch / FE-2023-Inside

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Структура репозитория:

1.3D – папка содержащая 3D модели, которые использовались для создания робота
2.Src – папка с файлами, которые используются для описания в README.md
3.Видео – папка содержит видео работа нашей модели, которая проезжает по полю квалификацию и файлик с названием: «ссылка на ютьюб». Это ссылка ведет на наше видео про обьяснение работы робота и его составных частей в общем плане.
4.Код – папка содержит код, который используется при работе робота
4.1 kvalifikacia.py– файл который используется для проезда трассы на этапе квалификации. В нем считывается изображение с камеры и передается управляющее воздействие на пайборд
4.2 main.py – загружаем его на пайборд. В нем приводятся в работу компоненты подключенные к пайборду на основе сообщения полученного с расберри
4.3 final.py – код находится в папке Код, используется для проезда финальной трассы
4.4 autostart- программа, которая ззапускается при загрузке при загрузке системы на расберри. В ней мы импортируем нужный файл для заезда
4.5 start_robot.py – программа, которая позволяет соеденится по вай-фай с расберри, и загрузить на нее программу с ноутбука. С помощью неё также можно увидеть изображение с камеры для отладки.
4.6 robotAPI.py - файл, в котором содержится класс для получения изображения с камеры и его обработки.
5.Технический журнал – папка хранит в себе три файла формата docx, файлы представляют собой документации и тщательное обьяснение работы робота.
6.Фото – папка содержит фотографию разработчиков робота.

Обьяснение кода

main.py – файл формата python, загружается на пайборд, с целью управления нижней части робота или же ходовкой. Немало важный смысл программы, это прием сообщений с расберри, в сообщении храниться информация о том с какой скоростью должен ехать робот, с каким углом поворачивать и включение светодиода. Конец каждого сообщения заканчивается символом $ этот символ означает конец предложения. Это программа является обязательной для загрузки иначе следуйщий код работать не будет.

kvalifikacia.py – этот файл используется для загрузки в расберри. Предназначен для того что бы проехать голую трассу, без обьезда красных и зеленых препятствий, программа проезжает 12 кругов и останавливается в том месте, откуда начинала движение.

final.py – файл используется для проезда трассы, загружается в расберри. Предназначен для того что бы роехать 12 кругов и обьехать красные припятствия с правой стороны, а зеленые с левой стороны.

robot_API.py – файл используется в качестве помошника в управлении камерой. Эта программа позволяет выделать на датчиках робота области интереса, обводить контуры и считывать определять hsv.

start_robot.py – программа позволяет увидеть всё то что видит робот, рассмотреть области интереса и обводимые контуры. Программа используется для удобной работы с роботом и его отладки. С помощью программы мы загружаем в робота программу.

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

Загрузка программы на пайборд

На пайборд загружается только одна программа с названием main.py. Этот файл отвечает за получение сообщения для пайборда от расберри. Загрузка файла main.py является обязательной, для того что бы работали дальнейшие программы. Что бы загрузить на пайборд программу мы делаем:
1. Скачиваем файл main.py с нашего гитхаба:
Путь до файла: Код/main.py
2. Подключаем пайборд к компьютеру с помощью микро usb, в проводнике пайборд называется PYBFLASH:
alt text
3. Открываем в проводнике наш пайборд:
alt text
4. Перекидываем файл main.py, если в вашем пайборде уже есть файл main.py, как случилось у нас, то просто скопируте код с нашего файла main.py на гитхабе и вставьте его в файл main.py, который уже стоит у вас на пайборде. Если файла main.py на пайборде нет, то перекидывайте его на пайборд:

Загрузка файла на расберри с компьютера

На расберии у нас загружаются две программы kvalifikacia.py или final.py взависимоти от типа заезда, квалификации или финала. Они загружаются по одному алгоритму. Разберем его на примере загрузки квалификации, описанном ниже.

  1. Сначала скачиваем бесплатную программу PyCharm с официального сайта.
  2. Скачиваем с нашего гитхаба файл start_robot.py, RobotAPI.py и файл kavalifikacia.py
    alt text
    ВАЖНОЕ ПРИМЕЧАНИЕ! Скаченные файлы должны лежать в одной папке, советую создать отдельную папку и загрузит туда скаченные файлы!
  3. С помощью правой кнопки мыши открываем файл start_robot.py в программе PyCharm.
    alt text
  4. Когда программа открыла код, нужно скачать библиотеки, которых у вас нет.
  5. Теперь с помощью правой кнопки мыши нажимаем на зеленную кнопку старта.
    alt text
  6. У нас открывается окно. Теперь нужно подключиться к нашему роботу по wi-fi. Что бы это сделать запускаем робота и ожидаем его название в сети, наш робот называется Team1.
    alt text
  7. когда произошло сопряжение с роботом нажимаем на кнопку connection и в выпадающем списке выбираем нашего робота.
    alt text
  8. Программа подключилась к роботу, теперь откроем файл kavalifikacia.py. Что бы это сделать нажимаем кнопку Load, выбираем нужный файл kavalifikacia.py, нажимаем ОК.
    alt text
  9. Теперь код загружен на нашего робота, что бы проверить код в действии нужно нажать в окне на кнопку video, что бы видеть то что на экране робота и запустить робота на поле, нажав на кнопку на его плате.
    alt text

Автоматическая загрузка файла на расберри
Для того чтобы нужный файл запускался на расберри сразу после включения робота, у нас существует файл autostart.py.
Внутри него нужно импортировать нужный файл:
import kvalifikacia - для квалификации,
import final - для финала.

alt text
В случае на картинке выше импортируется файл kvalifikacia.py, а импорт другого файла закомментирован.
Загрузка autostart.py происходит по тому же алгоритму, как и при загрузке остальных файлов на расберри. После его загрузки, при запуске робота, на нем уже будет та программа которую мы импортировали. Остаётся лишь запустить её.

About


Languages

Language:Python 100.0%