Радиоуправляемые модели в Перми

Версия сайта для мобильных телефонов
Новости:
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Автор Тема: Полеты строем в авторежиме  (Прочитано 8090 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ilya

  • Модераторы
  • *****
  • Сообщений: 3292
  • Популярность:
  • 121
  • Полеты для съемки или съемка для полетов?
Полеты строем в авторежиме
« : 30 Января 2017, 23:56:53 »
Задача сформировалась, пора открывать новую тему.


Звучит так. Как заставить 2 и более аппарата лететь за ведущим. Например с помощью авторежима Guided.

Лететь за наземной станцией понятно как, есть режим Guided, есть MP хоть на ноуте, хоть на планшете. А вот как получить текущие координаты от ведущего аппарата, передать их ведомому, и чтобы он их использовал для навигации, пока вопрос.


Ключевые слова для решения, они же команды малинк проткола:
MAV_CMD_NAV_GUIDED_ENABLE
SET_ATTITUDE_TARGET
SET_POSITION_TARGET




Оффлайн emax

  • Старожил
  • ****
  • Сообщений: 336
  • Популярность:
  • 31
  • первым делом мы испортим самолеты
Re: Полеты строем в авторежиме
« Ответ #1 : 31 Января 2017, 00:05:27 »
нашел в мавлинке сообщение FOLLOW_TARGET ( #144 )
С коптерами проще, его вывешивают в удержание высоты и передают похоже эти команды, высоту он не отслеживает и следит за координатами ведущего. Если ведущий остановился - завис над ним.

Самолет долетев (не дай бог!) до ведущего остановится не сможет, в лучшем случае может встать в круг. Видимо за эшелоном следить придется КВС и при визуальном сближении уже переходить на ручное управление..
Добавлено 31 Января 2017, 00:11:30

А можно ли АПМ менять WayPoint на ходу? Тогда все просто, на ОСД будет отображаться направление и расстояние до WP. Хочешь лети вручную, хочешь в авто режиме.

Оффлайн Ilya

  • Модераторы
  • *****
  • Сообщений: 3292
  • Популярность:
  • 121
  • Полеты для съемки или съемка для полетов?
Re: Полеты строем в авторежиме
« Ответ #2 : 31 Января 2017, 00:14:56 »
А можно ли АПМ менять WayPoint на ходу?


О том же подумал. По идее да, ибо при достижении следующей точки самолет летит на следующую.

Есть одно но: если включил полетный режим Auto, то переписать/изменить задание уже не сможешь, только после перезагрузки APM. Может и есть параметр, который снимает этот предохранитель.

Оффлайн Паша

  • Постоялец
  • ***
  • Сообщений: 233
  • Популярность:
  • 8
Re: Полеты строем в авторежиме
« Ответ #3 : 31 Января 2017, 09:32:10 »
Всем ЛА поставить вайфай модули и создать общую сеть.
У меня есть несколько ESP-12F. Подключение по UART. С грехом пополам допедрил, как их прошивать, создавать вайфай сервер/клиент.

Вроде как обещают в воздухе около 300-400 метров дистанцию канала.

О настройках самого АПМ - тут не скажу. Опыта нету.

Оффлайн argut

  • Ветеран
  • *****
  • Сообщений: 1063
  • Популярность:
  • 65
Re: Полеты строем в авторежиме
« Ответ #4 : 31 Января 2017, 10:30:02 »
тут описание всех команд
http://ardupilot.org/plane/docs/common-mavlink-mission-command-messages-mav_cmd.html#common-mavlink-mission-command-messages-mav-cmd-navigation-commands

команд овердохера.

неясен вопрос их впихивания в APM прямо в полете в режиме реального времени:
а) получение от борта 1
б) передача на борт 2
в) корректировка миссии борта 2

нужно проводить эксперименты. и много эксмпериментов.

Оффлайн emax

  • Старожил
  • ****
  • Сообщений: 336
  • Популярность:
  • 31
  • первым делом мы испортим самолеты
Re: Полеты строем в авторежиме
« Ответ #5 : 31 Января 2017, 11:14:00 »
неясен вопрос их впихивания в APM прямо в полете в режиме реального времени:
а) получение от борта 1
б) передача на борт 2
в) корректировка миссии борта 2

нужно проводить эксперименты. и много эксмпериментов.

а)
Конфигурация ведущего борта не меняется, модем подключен к выходу телеметрии и думает, что передает поток на землю.
б)
Согласен, нужен эксперимент по коннекту двух бортовых модемов. Если у кого то есть два бортовых и два конвертера ttl-usb, попробуйте их настроить и соединить между собой, например, два компьютера через терминал.
в)
Принятый с ведущего мавлинк поток парсится на предмет поиска сообщений с координатами ардуинкой (наработки уже есть).
todo
Из полученных данных формируется команда guide и впихивается в апм ведомого, как будто он ее принял с земли.

Команду guide я уже сграбил, прямо на столе, она тупо передается на борт.
Надо еще провести эксперимент, а может кто знает и так, когда, например, коптер летает по команде guide с земли на ОСД что-то отображается.

Или висит-висит и вдруг сорвался и полетел к указанной точке.

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

Атмега этой второй минимосд под управлением своей! программы берет текущие координаты из своего мавлинк потока и координаты ведущего, принятые через модем. На основании этих данных
рисует на экране стрелку на ведущего и расстояние до него.
Высоту и скорость пока можно передавать между КВС обычными словами.
При визуальном контакте дальнейшее сближение уже в ручном режиме.
примерно так
3923-0

Оффлайн master.x

  • Ветеран
  • *****
  • Сообщений: 1573
  • Популярность:
  • 17
  • Я люблю rc.perm.ru
Re: Полеты строем в авторежиме
« Ответ #6 : 31 Января 2017, 14:30:31 »
Да с самолётом сложновато. но если не влазить в код самолётной прошивки то есть вариант:
режим "лететь сюда" (как он по английски не знаю). создаётся сеть из машин на XBee и RPi. На расбери сервер с базой данных, на которую ведущий отсылает координаты, а между делом ведомые в другую таблицу скорее всего каждый в свою и читают таблицу ведущего. для хорошей связи сервер можно расположить на любом борту. даже на ведущем борту. в параметрах настройки WP практическим способом установить дистанцию, радиус достижения и радиус кружения. Для ведомых можно создать таблицу с корректировками местополжения в строю т.е. относительно координат ведущего у каждого ведомого таблица с поправками на его точку например со смещением вправо влево от ведущего на пять метров. так есть большая вероятность того что ведомые не столкнутся друг с другом.
Если влазить в код, то создание нового режима полёт в строю с параметрами скорости, направления, высоты прочей хлабуды. И не залетать в зоны других индивидов. Железо тоже самое.
Мой второй вариант основан на компютерном зрении и АПМ без сервера с этой задачей не справится, либо бортовое доп.оборудование для обработки.

Оффлайн Ilya

  • Модераторы
  • *****
  • Сообщений: 3292
  • Популярность:
  • 121
  • Полеты для съемки или съемка для полетов?
Re: Полеты строем в авторежиме
« Ответ #7 : 31 Января 2017, 14:37:51 »
примерно так


Тогда уж сразу добавить на ведомого (можно и ведущего) APM с прошивкой трекера, который управляет поворотной камерой. Камера всегда смотрит на второй самолет. 8)

Оффлайн whiter

  • Постоялец
  • ***
  • Сообщений: 182
  • Популярность:
  • 18
Re: Полеты строем в авторежиме
« Ответ #8 : 04 Февраля 2017, 00:17:35 »
Полёт строем реализован в MP, через "секретное" меню Ctrl+F, см. пункт swarm. Необходимое и достаточное условие: чтоб все аппараты были подключены к одной наземной станции.
А так в целом, в ситуации для двух аппаратов задача не выглядит сложной. На ведомом борту ставится RPI с принимающим модемом и автопилот в Guided mode. + элементарный скрипт на Python.
Для большего количества дронов на известном мне любительском уровне развития технологий уже понадобится корабль-матка. (,,,,,,,,,,,,, |расставить по вкусу|)

Оффлайн emax

  • Старожил
  • ****
  • Сообщений: 336
  • Популярность:
  • 31
  • первым делом мы испортим самолеты
Re: Полеты строем в авторежиме
« Ответ #9 : 04 Февраля 2017, 00:40:32 »
Rpi наверно даже много. А про скрипт можно поподробнее? Что он будет делать?
С коптерами все понятно, а с самолетами получится?

Оффлайн whiter

  • Постоялец
  • ***
  • Сообщений: 182
  • Популярность:
  • 18
Re: Полеты строем в авторежиме
« Ответ #10 : 04 Февраля 2017, 00:51:44 »
С коптерами все понятно, а с самолетами получится?
swarm в mp для коптеров.
RPI оптимально, имхо, для экпериментов по этому делу. Весит не много, ест 12V, имеется на складе. Cмысл в том, что писать низкоуровневый код уже не надо. есть пачка либ которые написаны до нас.
Скрипт получает координаты ведущего аппарата и фигачит их как комманду "летеьтуда" ведомому (он в guided mode). Уровень примитивный, конечно. Меня смущают вопросы разности скорости аппаратов, но это надо пробовать.
Типа этого: http://rc.perm.ru/index.php?topic=1307.msg14811#msg14811
тут dronekit  и всё остальное из серии "Это… Конференция по новым компьютерным технологиям… и защите компьютерных программ!"


Оффлайн emax

  • Старожил
  • ****
  • Сообщений: 336
  • Популярность:
  • 31
  • первым делом мы испортим самолеты
Re: Полеты строем в авторежиме
« Ответ #11 : 04 Февраля 2017, 00:57:50 »
а коптер в guided режиме какую скорость использует?

Оффлайн whiter

  • Постоялец
  • ***
  • Сообщений: 182
  • Популярность:
  • 18
Re: Полеты строем в авторежиме
« Ответ #12 : 04 Февраля 2017, 01:09:00 »
а коптер в guided режиме какую скорость использует?

Насколько я курил доки, используется WPNAV_SPEED


Оффлайн emax

  • Старожил
  • ****
  • Сообщений: 336
  • Популярность:
  • 31
  • первым делом мы испортим самолеты
Re: Полеты строем в авторежиме
« Ответ #13 : 04 Февраля 2017, 01:24:10 »
все таки RPi не для борта, аппаратного watchdog нет, и даже если прикрутить , то сколько у него время перезагрузки?

Оффлайн whiter

  • Постоялец
  • ***
  • Сообщений: 182
  • Популярность:
  • 18
Re: Полеты строем в авторежиме
« Ответ #14 : 04 Февраля 2017, 01:29:39 »
время перезагрузки?

это долго, да. 30 секунд грузится. Но, имхо, для отработки алгоритмов самое то. Не нужно строем летать в Палестину или Сирию. Нужно алгоритм отработать на имеющихся полигонах, а потом уже работать в направлении безотказности этихвашихкрылатыхракет  ^friends^

Оффлайн master.x

  • Ветеран
  • *****
  • Сообщений: 1573
  • Популярность:
  • 17
  • Я люблю rc.perm.ru
Re: Полеты строем в авторежиме
« Ответ #15 : 05 Февраля 2017, 22:20:06 »
это долго, да. 30 секунд грузится. Но, имхо, для отработки алгоритмов самое то. Не нужно строем летать в Палестину или Сирию. Нужно алгоритм отработать на имеющихся полигонах, а потом уже работать в направлении безотказности этихвашихкрылатыхракет  

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

Оффлайн emax

  • Старожил
  • ****
  • Сообщений: 336
  • Популярность:
  • 31
  • первым делом мы испортим самолеты
Re: Полеты строем в авторежиме
« Ответ #16 : 05 Февраля 2017, 23:03:58 »
для меня порог вхождения слишком высок: линукс, библиотеки, питон... Так что если Вы этим свободно владеете, как говорится, велкам.
Покажите этот скрипт, и если он действительно очень простой, то может имеет смысл заморочиться.

Оффлайн master.x

  • Ветеран
  • *****
  • Сообщений: 1573
  • Популярность:
  • 17
  • Я люблю rc.perm.ru
Re: Полеты строем в авторежиме
« Ответ #17 : 06 Февраля 2017, 13:56:41 »
для меня порог вхождения слишком высок: линукс, библиотеки, питон... Так что если Вы этим свободно владеете, как говорится, велкам.
Покажите этот скрипт, и если он действительно очень простой, то может имеет смысл заморочиться.

Ну конечно же надо лопатить. я так только уже готовое подредактировать смог бы если разобраться. Надо поспрашивать у тех кто уже реально хавает код. и рассказать концепцию. моё предложение на БД MySQL сбор и раздача параметров полёта. Но сам этого я сделать не могу, ещё гранит не догрыз.
Ещё могу рассказать почему думаю этот лучший вариант. GPS трекер работает тупо по UDP отправляя данные на IP адрес скорее всего даже простой NMEA0183, а сайт их срисовывает. Вот тоже самое надо считать MavLink через любой радио линк на "матку". радиооборудование должно обеспечивать двустороннюю связь со всеми одновременно. Это может XBee, WiFi.
В свете такой сложности в нашем клубе этого сейчас сделать ни кто не может я так понимаю. Предлагаю всем кто может выложить концепцию на других форумах, озвучить в английских ветках, это наши канадские братья и через полгода ждите результат. Китайцы на али уже будут предлагать "станции матки" на атмеге 2560. Я в этом уверен на 75%.

Оффлайн whiter

  • Постоялец
  • ***
  • Сообщений: 182
  • Популярность:
  • 18
Re: Полеты строем в авторежиме
« Ответ #18 : 06 Февраля 2017, 20:11:30 »
Покажите этот скрипт, и если он действительно очень простой, то может имеет смысл заморочиться.

Ну вот в первом приближении:

from dronekit import connect, VehicleMode, LocationGlobal, LocationGlobalRelative
from pymavlink import mavutil # Needed for command message definitions
import time
import math


#Set up option parsing to get connection string
import argparse
parser = argparse.ArgumentParser(description='Control Copter and send commands in GUIDED mode ')
parser.add_argument('--base',
                   help="Base vehicle connection target string.")
parser.add_argument('--rover',
                   help="Rover vehicle connection target string.")

args = parser.parse_args()

base_connection_string = args.base
rover_connection_string = args.rover

if not base_connection_string:
    parser.print_help()
    exit()

if not rover_connection_string:
    parser.print_help()
    exit()


# Connect to the Vehicle
print 'Connecting to base vehicle on: %s' % base_connection_string
base_vehicle = connect(base_connection_string, wait_ready=True)

print 'Connecting to rover vehicle on: %s' % rover_connection_string
rover_vehicle = connect(rover_connection_string, wait_ready=True)

while 1:
    base_vehicle.simple_goto(rover_vehicle.location.global_frame)
   sleep(5)
======================================

Содержательная часть заключается вот в этих строчках

base_vehicle = connect(base_connection_string, wait_ready=True)  #Коннектимся к нашему борту через serial port
rover_vehicle = connect(rover_connection_string, wait_ready=True) #Коннектимся к ведущему борту через модем

while 1:
    base_vehicle.simple_goto(rover_vehicle.location.global_frame) #берем координаты ведущего борта и направляем туда наш борт
    sleep(5) #спим пять секунд.

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


Оффлайн master.x

  • Ветеран
  • *****
  • Сообщений: 1573
  • Популярность:
  • 17
  • Я люблю rc.perm.ru
Re: Полеты строем в авторежиме
« Ответ #19 : 07 Февраля 2017, 09:31:52 »
По уму красиво будет если ведомый борт будет повторят траекторию ведущего,а не тупо лететь в его сторону по кратчайшему пути. Тогда надо накапливать точки расположения ведущего борта в буфере и выдавать их ведомому с некторой задержкой.

Я предлагал таблицу БД со строкой для каждого ведомого с корректировкой на место в строю. типа скорость по достижении места в строю такая же как и у ведущего, местоположение откорректировано с учётом смещения, отставания. не тупо плюс N в таблице а именно корректировка на преследование(этот скрипт даже не представляю как сделать). Начинать нужно с выдачей координат с задержкой. Хороший вариант.

Оффлайн emax

  • Старожил
  • ****
  • Сообщений: 336
  • Популярность:
  • 31
  • первым делом мы испортим самолеты
Re: Полеты строем в авторежиме
« Ответ #20 : 10 Марта 2017, 11:41:07 »
Сегодня провел первые испытания на столе нового проекта по сближению самолетов в воздухе, кодовое название "Chaser". Вместо реальных самолетов проигрывался файл tlog, любезно предоставленный Ильей.
Использовались два компьютера, с первого проигрывемая информация передавалась через модем. Со второго проигрывание было запущено с некоторой задержкой.
На скринах - полет первого самолета (ведущего), второго (ведомого) и экран ведомого самолета с дополнительной информацией для сближения. В прошивках APM и minimosd не изменено ни байта.
3987-0
3989-1
3991-2
теперь надо проверять в полях.


Оффлайн Ilya

  • Модераторы
  • *****
  • Сообщений: 3292
  • Популярность:
  • 121
  • Полеты для съемки или съемка для полетов?
Re: Полеты строем в авторежиме
« Ответ #21 : 10 Марта 2017, 11:43:40 »
Режим Auto значит, с постоянным убеганием текущей Waypoint.

А Guided режим не рассматривал?

Оффлайн emax

  • Старожил
  • ****
  • Сообщений: 336
  • Популярность:
  • 31
  • первым делом мы испортим самолеты
Re: Полеты строем в авторежиме
« Ответ #22 : 10 Марта 2017, 11:49:11 »
Режим Auto значит, с постоянным убеганием текущей Waypoint.

А Guided режим не рассматривал?

Тут пока только ручное сближение, пилот ведомого должен сам, полагаясь на стрелку и расстояние найти в небе ведущего. Если реально получится, то добавлю показание разницы высот и можно будет подумать об автоматическом режиме используя режим Guided.

Оффлайн skyline

  • Постоялец
  • ***
  • Сообщений: 198
  • Популярность:
  • 34
Re: Полеты строем в авторежиме
« Ответ #23 : 11 Марта 2017, 19:34:45 »
Скоро полетаем! :D Я думаю в ручном должно получиться, миниталн тяжело поймать на разворотах, а если все будет показывать, то думаю справимся!

Оффлайн master.x

  • Ветеран
  • *****
  • Сообщений: 1573
  • Популярность:
  • 17
  • Я люблю rc.perm.ru
Re: Полеты строем в авторежиме
« Ответ #24 : 11 Марта 2017, 21:06:35 »
миниталн тяжело поймать на разворотах

Это же не воздушный бой. должно быть согласование между пилотами.

Оффлайн emax

  • Старожил
  • ****
  • Сообщений: 336
  • Популярность:
  • 31
  • первым делом мы испортим самолеты
Re: Полеты строем в авторежиме
« Ответ #25 : 18 Апреля 2017, 10:53:55 »


Оффлайн Ilya

  • Модераторы
  • *****
  • Сообщений: 3292
  • Популярность:
  • 121
  • Полеты для съемки или съемка для полетов?
Re: Полеты строем в авторежиме
« Ответ #26 : 18 Апреля 2017, 11:34:11 »




Несмотря на теплый безветренный вечер после заката - очень круто, если это действительно автономно удалось.

Но есть сомнения).

Оффлайн emax

  • Старожил
  • ****
  • Сообщений: 336
  • Популярность:
  • 31
  • первым делом мы испортим самолеты
Re: Полеты строем в авторежиме
« Ответ #27 : 12 Августа 2019, 14:24:39 »
Шурикус из Москвы по моей просьбе выложил видео работы системы сближения самолетов в полуручном режиме, на системе аналогичной из ответа№5. (baddyflight) Пишет, что чужой самолет находит намах!


Радиоуправляемые модели в Перми

Re: Полеты строем в авторежиме
« Ответ #27 : 12 Августа 2019, 14:24:39 »

 

Яндекс.Метрика
© 2012 rc.perm.ru, все права защищены.