Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Создаем свой блок. Вопросы, помощь знатоков.
Ответить
Аватара пользователя
ViktorPetrov
Капитан
Сообщения: 807
Зарегистрирован: 09 апр 2018, 23:56
Имя: Виктор
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение ViktorPetrov »

При изучение протокола NMEA обмена данными навигационных электронных устройств появилась необходимость вычислить расстояние от текущего положения до заданной точки. Фактически это вычисление расстояния по двум GPS координатам.
Дистанция_и_курс_(CODE).ubi
Раздельно:
Дистанция_до_точки._(CODE).ubi
Курс_gps_(CODE).ubi
Идея такова построить управляющее устройство из связки Ардуино для реализации полноценной многозадачности,где каждый МК будет выполнять свой узкий круг задач GPS.

Для проверки блоков ,вставить свои координаторы и пройти по ссылке: Калькулятор расстояния и азимута по географическим координатам
У вас нет необходимых прав для просмотра вложений в этом сообщении.
AstroGraf
Рядовой
Сообщения: 93
Зарегистрирован: 21 авг 2018, 19:05
Откуда: Калининград
Имя: Алексей
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение AstroGraf »

Добрый день!

Не совсем понятно, а куда вводить координаты для расчетов? У блоков только выходы...
Аватара пользователя
ViktorPetrov
Капитан
Сообщения: 807
Зарегистрирован: 09 апр 2018, 23:56
Имя: Виктор
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение ViktorPetrov »

По UART должен получать,как и блок GPS-Block ,хотел разобраться как в функции вход добавить ,чтоб вместе оба блока можно использовать в проекте ,время не хватило до конца разобраться, может пример неудачный выбрал ,хотел румпельный автопилот сделать для троллинга .Сама по себе тема лодочного компьютера и бортовой сети по протоколу NMEA2000 интересная, хотя и обширная.
Anydy

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение Anydy »

ViktorPetrov писал(а): 03 июн 2021, 21:54 хотел румпельный автопилот сделать для троллинга
Аватара пользователя
ViktorPetrov
Капитан
Сообщения: 807
Зарегистрирован: 09 апр 2018, 23:56
Имя: Виктор
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение ViktorPetrov »

Anydy писал(а): 05 июн 2021, 09:17
ViktorPetrov писал(а): 03 июн 2021, 21:54 хотел румпельный автопилот сделать для троллинга
Со скоростью 6км/час :)
AstroGraf
Рядовой
Сообщения: 93
Зарегистрирован: 21 авг 2018, 19:05
Откуда: Калининград
Имя: Алексей
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение AstroGraf »

У меня задача попроще - нужно определить курс и дистанцию из текущей точки до предварительно заданной. Чтобы наземное транспортное средство могло доехать по прямой. Не совсем понимаю как совместить навигатор и эти блоки.
Буду очень признателен за помощь.
В наличии NEO6 и NEO8
Аватара пользователя
ViktorPetrov
Капитан
Сообщения: 807
Зарегистрирован: 09 апр 2018, 23:56
Имя: Виктор
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение ViktorPetrov »

Чтоб курс держать нужен компас .Чтоб подключится к навигатору ,нужно NEO6 и ардуину , подключить как внешний приемник ,я попробовал на программе SASPlanet,только возникает вопрос нужен ли вообще блок GPS-Block,здесь получается проще сразу со строками работать .На форуме были хорошие примеры : Gps парсинг или разбор строки.
AstroGraf
Рядовой
Сообщения: 93
Зарегистрирован: 21 авг 2018, 19:05
Откуда: Калининград
Имя: Алексей
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение AstroGraf »

Виктор, объясните подробно - в каком виде Ваши блоки получаю информацию? Из UART в формате NMEA?
Зачем тогда парсер? Если нет, в другом формате, поясните, как можно подробнее.
Аватара пользователя
ViktorPetrov
Капитан
Сообщения: 807
Зарегистрирован: 09 апр 2018, 23:56
Имя: Виктор
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение ViktorPetrov »

AstroGraf писал(а): 07 июн 2021, 16:38 Зачем тогда парсер?
Чтоб двойное преобразование не делать : с NEO6 или NEO8 по RX и TX ,ардуино получает строку типа - $GPRMC,180301.45,A,5546.8890,N,03733.3533,E,22.4,090.4,190608,10,E*45 и пересылает в СОМ порт навигационной программы,получается внешний приемник GPS для навигатора . Парсингом получаешь данные для управления ,расстояние нужно для переключения на следующию точку (когда расстояние минимальное до точки,пройден марширут до первой точки, переходим к второй и т.д.). Полученный направление движения от GPS сверяется с компасом ,получаем управляющий сигнал на автопилот (не зависимо от течения и ветра,лодку может сносить приходим на заданную точку). Ну и там разные плюшки :количество топлива в баке ,расход топлива ,обороты ,скорость и т.д. виртуальная приборная панель,все приборы объединить в одну сеть.
AstroGraf
Рядовой
Сообщения: 93
Зарегистрирован: 21 авг 2018, 19:05
Откуда: Калининград
Имя: Алексей
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение AstroGraf »

Т.е. я пишу парсер, который выделяет текущие координаты - это понятно.
Но не понимаю, что значит "пересылает в СОМ порт навигационной программы"?
Поясните как пользоваться Вашими блоками, как и в каком виде можно передать в блоки координаты, полученные парсером?
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение Ingwar »

[ref]ViktorPetrov[/ref], эту бибку рассматривали https://www.arduino.cc/reference/en/libraries/tinygps/ ? https://github.com/mikalhart/TinyGPSPlus

Отправлено спустя 2 минуты 23 секунды:
Или http://arduiniana.org/libraries/tinygpsplus/
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
ViktorPetrov
Капитан
Сообщения: 807
Зарегистрирован: 09 апр 2018, 23:56
Имя: Виктор
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение ViktorPetrov »

[ref]Ingwar[/ref], Обновленная библиотека TinyGPS++ ,это как раз и не хватало в блоке GPS-Block_v0.5 :smile9:
AstroGraf
Рядовой
Сообщения: 93
Зарегистрирован: 21 авг 2018, 19:05
Откуда: Калининград
Имя: Алексей
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение AstroGraf »

Добрый день!

Мои пионеры доработали блоки ViktorPetrov, приделав им входы. Работу начали в новом конструкторе блоков, однако из-за отсутствия стандартного блока ATAN2 (как позднее выяснилось не только его) пришлось сделать и второй блок (программный), в котором заканчиваются расчеты дистанции и вычисляется курс.
Пока данные берутся из переменных, далее планируется получать их из GPS-блока. Однако возникли проблемы с работой программы - вычисления происходят как бы не сразу, а через 5-10 секунд, при этом в монитор выводятся ненужные нули.

Может кто-то подскажет где ошибка и поможет доделать программу?


Программа
0.2 version.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение rw6cm »

AstroGraf писал(а): 13 июл 2021, 21:33 Может кто-то подскажет где ошибка и поможет доделать программу?
Много лишнего, и да и расчет не точный. особенно расстояние.
Хотя бы по гуглу сравнили, или онлайн калькулятором, :)
Если это творят детишки, то зачет :smile9:
Расстояние и азимут по координатам.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
AstroGraf
Рядовой
Сообщения: 93
Зарегистрирован: 21 авг 2018, 19:05
Откуда: Калининград
Имя: Алексей
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Расчет дистанции и курса на точку, между двумя точками по GPS координатам.

Сообщение AstroGraf »

rw6cm писал(а): 14 июл 2021, 11:34 Если это творят детишки, то зачет
Спасибо огромное, [ref=#ff8000]rw6cm[/ref]! Как всегда, выручил!

Да, это ребята 13-15 лет тренируются.
Со схемотехникой я им помогаю, а вот по С++ должным образом помочь не могу , как говорится, читаю, но не разговариваю.
Ответить

Вернуться в «Разработка пользовательских блоков»

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

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