Управляем чем угодно откуда угодно

Аппаратная обработка видео для системы технического зрения

Кто что сделал и кто что собирается делать

Re: Аппаратная обработка видео для системы технического зрен

Сообщение eagafonov » 10 июн 2015, 23:40

Я немног поигрался с UART1 и передачей через него на полной скорости.

Long story short: 115200 переваривается без проблем.
Видимо, проблема имено в использовании UART0 и того, что его слушает по умолчанию.

Подробнее сейчас отдельный пост запилю.

UPD: viewtopic.php?f=38&t=14722

Мой очень небольшой опыт ковыряния с APM говорит, что MAVlink от APM прёт гораздо меньше, чем 115200 бит/сек.
Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Re: Аппаратная обработка видео для системы технического зрен

Сообщение Fiamma » 11 июн 2015, 06:37

eagafonov писал(а):Что это за демон такой, который не даёт загрузиться ядру?

UART0 по умолчанию это вывод ядра и дефалтовая консоль. Вы его оторвали от потока вывода ядра? Если нет, то весь выхлоп APM скармливается в терминал.

UART1 пробовали использовать? Что будет, если APM подключить после того, как ядро виртурилка загрузится полностью?


Если честно, я не знала про настройки по умолчанию. Нет, я просто соединила юарты АПМ и виртурилки проводом напрямую.

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

Если сначала загрузить виртурилку, а потом подключиться, то будет вот это:
Jan 1 03:00:12 virt2real daemon.info init: Entering runlevel: 1
Jan 1 03:00:14 virt2real daemon.info init: Id "S0" respawning too fast: disabled for 5 minutes
Jan 1 03:00:15 virt2real daemon.info init: no more processes left in this runlevel
Jan 1 03:00:15 virt2real user.err kernel: [ 18.185840] serial8250: too much work for irq40
Jan 1 03:00:15 virt2real user.err kernel: [ 18.191727] serial8250: too much work for irq40
Jan 1 03:00:15 virt2real user.err kernel: [ 18.197553] serial8250: too much work for irq40
Jan 1 03:00:15 virt2real user.err kernel: [ 18.203362] serial8250: too much work for irq40
Jan 1 03:00:15 virt2real user.err kernel: [ 18.209167] serial8250: too much work for irq40
Jan 1 03:00:15 virt2real user.err kernel: [ 18.215469] serial8250: too much work for irq40
Jan 1 03:00:15 virt2real user.err kernel: [ 18.221301] serial8250: too much work for irq40
Jan 1 03:00:15 virt2real user.err kernel: [ 18.227111] serial8250: too much work for irq40
Jan 1 03:00:15 virt2real user.err kernel: [ 18.232918] serial8250: too much work for irq40
Jan 1 03:00:15 virt2real user.err kernel: [ 18.239679] serial8250: too much work for irq40
Jan 1 03:00:16 virt2real user.warn kernel: [ 19.225259] ttyS0: 10 input overrun(s)
Jan 1 03:00:17 virt2real user.warn kernel: [ 20.295416] ttyS0: 5 input overrun(s)
Jan 1 03:00:19 virt2real user.warn kernel: [ 21.340211] ttyS0: 5 input overrun(s)
Jan 1 03:00:20 virt2real user.warn kernel: [ 22.385321] ttyS0: 5 input overrun(s)
Jan 1 03:00:20 virt2real user.warn kernel: [ 23.220980] serial8250_interrupt: 24 callbacks suppressed

кажется, это не просто демон. это init.
Fiamma
 
Сообщения: 10
Зарегистрирован: 23 дек 2014, 09:11

Re: Аппаратная обработка видео для системы технического зрен

Сообщение eagafonov » 11 июн 2015, 11:21

Ух ты... Судя по логу, обработчик прирывания от последовательного порта и правда не успевает...

Вот ядрёный код, который выдаёт эти сообщения
https://git.kernel.org/cgit/linux/kerne ... 40df#n1577
Аватара пользователя
eagafonov
 
Сообщения: 175
Зарегистрирован: 18 сен 2013, 23:39
Откуда: Нижненовгородск

Re: Аппаратная обработка видео для системы технического зрен

Сообщение Fiamma » 11 июн 2015, 13:55

eagafonov писал(а):Ух ты... Судя по логу, обработчик прирывания от последовательного порта и правда не успевает...


Ну, что же, зато UART1 действительно вполне успевает. Значит, будем использовать его.

Скажите, а Вы не пробовали какие-нибудь иные способы управления APM, кроме RC_OVERRIDE? Например, выставление целевых точек с помощью команды MAV_CMD_NAV_WAYPOINT?
Fiamma
 
Сообщения: 10
Зарегистрирован: 23 дек 2014, 09:11

Re: Аппаратная обработка видео для системы технического зрен

Сообщение realizator » 15 июн 2015, 14:14

Fiamma писал(а):
eagafonov писал(а):Ух ты... Судя по логу, обработчик прирывания от последовательного порта и правда не успевает...


Ну, что же, зато UART1 действительно вполне успевает. Значит, будем использовать его.

Скажите, а Вы не пробовали какие-нибудь иные способы управления APM, кроме RC_OVERRIDE? Например, выставление целевых точек с помощью команды MAV_CMD_NAV_WAYPOINT?

Ну в решении Шеф-Пилот мы просто перебрасываем поток мавлинк от Mission Planner к автопилоту. Поэтому прямо в полете можно устанавливать точки и отдавать их в автопилот. Работаем по UART1 на скорости 56600 (такая скорость дефолтно стоит в Mission Planner при работе по UDP). Собственно вы вместо мишн плэнера можете с борта отдавать автопилоту команды в нужном формате.
Аватара пользователя
realizator
virt2real team
 
Сообщения: 641
Зарегистрирован: 17 фев 2012, 23:18

Re: Аппаратная обработка видео для системы технического зрен

Сообщение anenkov_a » 16 июн 2015, 03:16

Летаю на ардупилоте с виртурилкой.
Проблемы есть, но боремся потихоньку.
В полете параметры меняю.
Полетное задание корректировать можно.
Управляю с помощью обычного джойстика для авиасимулятора через свой планшет.
anenkov_a
 
Сообщения: 40
Зарегистрирован: 14 янв 2014, 21:09

Re: Аппаратная обработка видео для системы технического зрен

Сообщение Fiamma » 17 июн 2015, 04:47

realizator писал(а):Ну в решении Шеф-Пилот мы просто перебрасываем поток мавлинк от Mission Planner к автопилоту. Поэтому прямо в полете можно устанавливать точки и отдавать их в автопилот. Работаем по UART1 на скорости 56600 (такая скорость дефолтно стоит в Mission Planner при работе по UDP). Собственно вы вместо мишн плэнера можете с борта отдавать автопилоту команды в нужном формате.


А Вы не могли бы объяснить подробнее, что значит перебрасываете поток?
Если я все правильно понимаю, у APM порты UART0 и UART2 физически объединены. Я подключаю приемник 3DR телеметрии не напрямую в соответствующий разъем, а к контактным пластинкам выхода UART0, а UART2 соединяю с UART1 виртурилки. Таким образом виртурилка перехватывает сообщения телеметрии от APM. При этом послать команду мне почему-то не удается ни с виртурилки, ни из MissionPlanner - на попытку установить WayPoint из MissionPlanner выскакивает сообщение о неизвестной ошибке. Однако передача данных от MissionPlanner в APM идет: на ПК запущен симулятор X-Plane, моделирующий полет самолета. Моделируемые показания датчиков передаются, и APM обрабатывает датчики и управляет моделью корректно. А вот создать миссию полета или, например, отдать команду на посадку из MissionPlanner не получается, и я пока не понимаю почему.
Fiamma
 
Сообщения: 10
Зарегистрирован: 23 дек 2014, 09:11

Re: Аппаратная обработка видео для системы технического зрен

Сообщение realizator » 17 июн 2015, 13:54

Fiamma писал(а):
realizator писал(а):Ну в решении Шеф-Пилот мы просто перебрасываем поток мавлинк от Mission Planner к автопилоту. Поэтому прямо в полете можно устанавливать точки и отдавать их в автопилот. Работаем по UART1 на скорости 56600 (такая скорость дефолтно стоит в Mission Planner при работе по UDP). Собственно вы вместо мишн плэнера можете с борта отдавать автопилоту команды в нужном формате.


А Вы не могли бы объяснить подробнее, что значит перебрасываете поток?
Если я все правильно понимаю, у APM порты UART0 и UART2 физически объединены. Я подключаю приемник 3DR телеметрии не напрямую в соответствующий разъем, а к контактным пластинкам выхода UART0, а UART2 соединяю с UART1 виртурилки. Таким образом виртурилка перехватывает сообщения телеметрии от APM. При этом послать команду мне почему-то не удается ни с виртурилки, ни из MissionPlanner - на попытку установить WayPoint из MissionPlanner выскакивает сообщение о неизвестной ошибке. Однако передача данных от MissionPlanner в APM идет: на ПК запущен симулятор X-Plane, моделирующий полет самолета. Моделируемые показания датчиков передаются, и APM обрабатывает датчики и управляет моделью корректно. А вот создать миссию полета или, например, отдать команду на посадку из MissionPlanner не получается, и я пока не понимаю почему.

У нас это сделано так.
Телеметрийный разъем апм соединяется с нашим uart1. Наша rcboard на борту Виртурилки все что с борта получает шлет на землю, в наш софт. На земле наш софт отдает это на локальный айпишник (127....) на порт 14550. А в мишн пленере мы стартуем коннект по udp на порт 14550.
Ну и, соответственно, все что получаем из мишн пленэраотправляем на борт и скармливаем в уарт. Скорость 57600.
Сначала добавляли контроль целостности пакетов и отсев битых, но mavlink постоянно обрастает новыми пакетами и функциями, и такой контроль рубил новые пакеты. В результате сделали "слепой" мост из мп на борт и назад.
Ну и в отличии от вашего подхода работаем с основным телеметрийным разъемом. Проверено на апм 2.5 и на pixhawk
А насчет ошибки - там же после получения вэйпоинта идет подтверждение с борта и запрос на мишн плэнер, возможно вы его не обрабатываете и он сигналит об ошибке.
Аватара пользователя
realizator
virt2real team
 
Сообщения: 641
Зарегистрирован: 17 фев 2012, 23:18

Re: Аппаратная обработка видео для системы технического зрен

Сообщение anenkov_a » 28 июн 2015, 03:42

Схема подключения
Вложения
арду 2.7-в2р.jpg
anenkov_a
 
Сообщения: 40
Зарегистрирован: 14 янв 2014, 21:09

Re: Аппаратная обработка видео для системы технического зрен

Сообщение realizator » 30 июн 2015, 16:17

anenkov_a писал(а):Схема подключения

Ну еще надо не забыть что земля должна быть общая. У меня она обычно общая по питанию - я прямо с АПМ питание беру на виртурилку в обход нашего сепика.
Аватара пользователя
realizator
virt2real team
 
Сообщения: 641
Зарегистрирован: 17 фев 2012, 23:18

Пред.

Вернуться в Проекты на базе Виртурилки

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron