поддержание проекта линий линий с использованием opencv- python (Raspberrypi) и Arduino - PullRequest
0 голосов
/ 27 февраля 2020

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

  • Первая проблема:

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

  • Вторая проблема:

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

Извините, я не смог предоставить мой код он слишком большой и сложный.

1 Ответ

0 голосов
/ 29 февраля 2020

1) Недостаточно использовать одну камеру для расчета расстояния.

Однако, если вы используете стереокамеру, вы можете получить данные о расстоянии довольно легко. Если вы хотите избежать использования датчика давления, вы можете рассмотреть возможность использования датчика расстояния (LIDAR или ultrasoni c: проверьте максимальную дальность на них) для измерения высоты, на которой будет летать ваш дрон. В дополнение к этому вам потребуется алгоритм контроля ошибок, например. Алгоритм PID, чтобы ваш дрон летал на постоянной высоте.

Этот является фантастическим c источником для понимания основ PID.

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

...