Управление через интернет

Korogodsky

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

Закладка еще в процессе разработки, мудрые советы приветствуются.

Musgravehill
Korogodsky:

Усложняем задачу, угол равен 180 градусов. Самолет может отклонить руль на 15 градусов (на 180 не умеет). Значит выбираем меньшее, т.е. 15. Далее, через некоторое время после начала маневрирования , у нас угол становится равным 2 градуса

В зависимости от положения самолета нужно отклонять разные поверхности. Если в инверте летит, то руль направления надо в “другую” сторону тянуть. И крен выправлять тоже.
Все плоскости могут войти в режим автоколебания или в такой режим загонит, что моделька свалится.

rcopen.com/forum/f8/topic216494 ваш коллега, тема интересная

Korogodsky
Musgravehill:

В зависимости от положения самолета нужно отклонять разные поверхности. Если в инверте летит, то руль направления надо в “другую” сторону тянуть. И крен выправлять тоже. Все плоскости могут войти в режим автоколебания или в такой режим загонит, что моделька свалится. Делаю OSD, автопилот и инерциалку… ваш коллега, тема интересная

Да, я слежу за этой темой.
Инфу уже накачал, буду читать.

Korogodsky

Небольшая обновка - уведомление о доставке отправленных данных. Для проверки корректности полученных данных используется функция
GetHashCode()

Korogodsky

Уведомление о доставке сделал двумя разными способами:

  1. Для путевых точек: отправляем с базы строку; на бору получаем и вычисляем хэш-код; отправляем на базу хэш-код полученной строки; на базе сравниваем хэш-коды, если не равны повторяем отправку/если равны отправляем OK; если получаем на борту OK, отправляем на базу ACCEPTED и загружаем полученную строку в таблицу последовательностей; если получили на базе ACCEPTED, останавливаем таймер отправки.

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

Какой вариант оставить?

Володимир
Korogodsky:

Какой вариант оставить?

Третий 😉,

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

Korogodsky
Володимир:

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

Ок, да, так поменьше данных будет гоняться туда-сюда. Сделаю еще третий вариант, первые два пока убирать не буду, посмотрим который себя на практике лучше зарекомендует.
Может выбор сделать как в каком-то антивирусе: быстрый способ, нормальный, параноидальный? 😃

Есть еще вопрос!
Сейчас обновление значений каналов сделано так:
В настройках задается частота опроса стиков джойстика. Это максимальная частота с которой отправляются значения каналов. Если значение канала изменилось, отправляется текущее значение. В дополнение к этому есть 1 Гц таймер, который 1 раз в секунду отправляет текущее значение каждого канала. Т.е. если например в настройках задано, что используется 10 каналов, то через каждые 100мс отправляется текущее значение каждого следующего канала. Если же используется 24 канала, обновление происходит каждые 1000/24=41мс.

Что думаете по-поводу такого алгоритма?

23 days later
Korogodsky

На этих выходных планирую выложить программку для скачивания. Если остались еще интересующиеся и сочувствующие, у кого имеется 3G модем, хотелось бы получить помощь в тестировании. Потребуется подключить услугу (или ее аналог у других провайдеров): moscow.megafon.ru/…/dinamicheskijo_ip-adres.html
У Мегафона услугу публичный IP адрес можно подключить только к голосовым тарифным планам, на тарифных планах Мегафон-Логин эта услуга не работает. Или потребуется настроить VPN соединение.

PS
Автопилота еще нет! 😃

8 days later
Korogodsky

Сделал чтобы можно было устанавливать любое разрешение видео, для этого в настройках задается размер блока в байтах и при отправке кадры разбиваются на части, затем склеиваются. Впринципе работает приемлемо, бывают сбои картинки из-за того что части кадра могут приходить не в том порядке как они отправлялись. И под x64 теперь запускается. Для скачивания пока не выкладывал.

Korogodsky

Выложил обновленную версию на:
ipfpv.com

Появилась возможнось настраивать размер видео пакетов, а также размеры входящих и исходящих буферов, для видео 640х480 100% качества ставьте размер буфера по-больше, начните с 640K. Если видео кадры отображаются не полностью, скорее всего нужно увеличить размер буфера, т.к. то что пришло и не поместилось - пропадает. Максимальный размер пакета - 64К. Для джойстика добавлены все возможные оси и 20 кнопок.

17 days later
Mortis

Все таки летать даже выше сотни метров хоть с 2Г хоть с 3Г хоть с 4Г вряд ли получиться. Сотовик не шпарит свои мощности в небо. Антенны как-никак смотрят на землю, на людей, и обслуживают нас, а не самолеты в небе… В любом случае - на границе двух баз на определенной высоте ваш модем отвалится не дождавшись передачи на обслуживание другой БС. Так что, как уже говорили - подумать в первую очередь об АП. Поэтому ИМХО с сотовым интернетом вряд ли что-то вразумительное выйдет (впрочем, наверное как и с любым другим распространенным беспроводным интернетом).

12 days later
1 month later
Korogodsky

Доработал OSD:

Планируется до 24 подключаемых датчиков телеметрии с этим контроллером www.pololu.com/catalog/product/1356 (12 аналоговых и 12 цифровых), пока проверены только вольтметры. Жду датчики тока и сонар.
С этим контроллером shop.roboforum.ru/…/or-avr-m128-s-kontroller-obshe… можно использовать 16 датчиков (8 аналоговых и 8 + 8 цифровых).
С этим lynxmotion.com/p-395-ssc-32-servo-controller.aspx 4 цифровых или аналоговых.

3 months later
Korogodsky

С удовольствием наблюдаю за ходом процесса, показываемого AlexSneg-ом 😃 и Drinker анонсировал что-то такооеее… я в предвкушении, жаль Diman_Y притих, тоже интересно было. А свое свободное время я пока использую на более другие дела.