Git Product home page Git Product logo

fe-2023-inside's Introduction

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

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 происходит по тому же алгоритму, как и при загрузке остальных файлов на расберри. После его загрузки, при запуске робота, на нем уже будет та программа которую мы импортировали. Остаётся лишь запустить её.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.