Самодельный навигатор на arduino

Автор Grendel, 22 Нояб. 2017 в 23:12

« назад - далее »

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

Grendel

Камрады приветствую. К следующему сезону хочу доделать брошенную самоделку - бортовой компьютер-навигатор. Дошел до движения по курсовым точкам и столкнулся с проблемой, которую не могу решить уже 3 дня. Суть в следующем:
Предположим, что были указаны несколько курсовых точек, в каком-то произвольном месте пространства компьютер включается, определяется по GPS, считывает точки и должен откинуть те, которые оказались позади. Вопрос - как понять, какие точки выкинуть и к какой стремиться? Комп владеет компасом, знает направление и расстояние до любой точки, может отмечать их как пройденные. Единовременно будет работать с 2мя точками - текущей (к которой надо ехать) и следующей.

big17

Наверное, теория графов и реализация в алогоритме.

А на какой дисплей и в каком виде вы хотите все выводить?
На стадии проектирования сборки: легкая открытая прогулочная двухместная машинка: 48V 2+2 КВт Quanshun'ы 100Ач !!!
https://electrotransport.ru/index.php?topic=26801.0 (заходите, критикуйте)

Grendel

Дисплей от сименс с55. Если вкратце то направление будет задаваться двумя стрелками. Первая показывает направление и расстояние до очередной токи, вторая стрелка до следующей. Стрелки нарисованы одна под другой. Не могу придумать алгоритм отсечки точек. Теорию графов изучал в универе эээ... 17 лет назад :-). Сейчас гляну.

edw123

Цитата: Grendel от 22 Нояб. 2017 в 23:12
Камрады приветствую. К следующему сезону хочу доделать брошенную самоделку - бортовой компьютер-навигатор. Дошел до движения по курсовым точкам и столкнулся с проблемой, которую не могу решить уже 3 дня. Суть в следующем:
Предположим, что были указаны несколько курсовых точек, в каком-то произвольном месте пространства компьютер включается, определяется по GPS, считывает точки и должен откинуть те, которые оказались позади. Вопрос - как понять, какие точки выкинуть и к какой стремиться? Комп владеет компасом, знает направление и расстояние до любой точки, может отмечать их как пройденные. Единовременно будет работать с 2мя точками - текущей (к которой надо ехать) и следующей.
Если точки на маршруте, то попробуйте сначала к ближайшей и потом откинуть предыдущую часть маршрута. Если просто набросаны, то кроме Вас никто не знает какая из них нужна сейчас и какие уже не нужны: попробуйте кнопками сделать указание на нужную точку.

Grendel

[user]edw123[/user], Дисплей мелкий, карту не нарисовать нормально, хотя надо попробовать. Поэтому хочу откинуть точки. которые оказались сзади при загрузке маршрута.

edw123

Цитата: Grendel от 23 Нояб. 2017 в 21:40
[user]edw123[/user], Дисплей мелкий, карту не нарисовать нормально, хотя надо попробовать. Поэтому хочу откинуть точки. которые оказались сзади при загрузке маршрута.
А что противоречит такой логике: сначала к ближайшей, потом дальше по маршруту? Если ближайших несколько, то к наиболее ранней по маршруту. Все предыдущие по маршруту - удалить.

Grendel

[user]edw123[/user], Ну вот типичная ситуация: Дома составлен маршрут от подьезда до финиша, затем поехали собирать народ. В рандомной точке грузится маршрут, ближайшая точка - мой подьезд, который находится сзади :-). Кроме того, маршрут составлен с учетом дорог и фмгачить по полям 2 км не то, что 10км по дороге... Что-то скланяюсь к модели ручного выбора, но надо продумать как визуализировать все точки на маленьком дисплее.

edw123

Цитата: Grendel от 25 Нояб. 2017 в 17:02
[user]edw123[/user], Ну вот типичная ситуация: Дома составлен маршрут от подьезда до финиша, затем поехали собирать народ. В рандомной точке грузится маршрут, ближайшая точка - мой подьезд, который находится сзади :-). Кроме того, маршрут составлен с учетом дорог и фмгачить по полям 2 км не то, что 10км по дороге... Что-то скланяюсь к модели ручного выбора, но надо продумать как визуализировать все точки на маленьком дисплее.
Всё это понятно, но Вам же требуется хоть какое-нибудь решение. Если кроме проложенного маршрута в памяти есть ещё куча других маршрутов в виде маршрутной сети векторной карты - это одно и тогда только по дереву строить, что предлагалось. Если же маршрут у Вас в памяти всего только Ваш, тогда "к ближайшей напрямую".

Grendel

[user]edw123[/user], Ок, в качестве первого приближения берем этот алгоритм. Возникла следующая проблема:
Что бы узнать направление движения, нужно знать азимут, которые получается при наличии хотя бы двух текущих точек, измеренных GPS модулем и нужной куровой. При движении проблем нет, но на стоянке показатели гуляют по огороду, а за ними азимут. В итоге получаю постоянно меняющийся угол направления движения.

edw123

Цитата: Grendel от 05 Дек. 2017 в 21:28
[user]edw123[/user], Ок, в качестве первого приближения берем этот алгоритм. Возникла следующая проблема:
Что бы узнать направление движения, нужно знать азимут, которые получается при наличии хотя бы двух текущих точек, измеренных GPS модулем и нужной куровой. При движении проблем нет, но на стоянке показатели гуляют по огороду, а за ними азимут. В итоге получаю постоянно меняющийся угол направления движения.
От этого никуда не деться. Укажите первоначально направление "напролом", потом откорректируете по мере появления азимута от движения.

X

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

Добавлено 13 Март 2021 в 21:31

хоть тема и древняя, но сам загорелся сделать навигационный комплекс для поделки.