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

Перейти к содержимому


Фотография

Аналог Carv2

Carv2 OpenCarv

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 34

#21 МихаилS

МихаилS
    • 1
    • 1
  • Лыжебордеры
  • 4767 сообщений
  • Город:Москва

Отправлено 21 May 2026 - 15:35

 

Вы правы, что со стелькой это точнее. Но для нашей конкретной задачи - был ли перенос ЦТ вперёд в начале поворота - стелька избыточна. Перенос ЦТ вперёд и загрузка носка - это одно движение, просто измеренное в разных точках. Стелька фиксирует следствие (давление под носком), IMU на голени фиксирует причину (голень давит в язык - угол изгиба ботинка растёт). Для детекции было / не было движение вперёд разница несущественна.
Будет считаться pitch-угол голени в момент начала поворота. Если в этот момент pitch > порога - перенос был. Это не абсолютное давление, но как сигнал вы не успели перенести вес должно работаеть. Абсолютное распределение давление носок/пятка нам действительно недоступно - и мы на это не претендуем. Но задачу "контроль начала поворота" это решает без стельки.
Возможно с помощью стельки они еще смотрели на правильность работы стоп при закантовке, но мне кажется это лишнее, тем более от стелек они отказались, возможно они просто не выдерживали нагрузки и выходили из строя
 
 

 

Но по мере развития поворота идет естественный прирост этого угла за счет того что лыжа разворачивается к лпс (пусть для простоты в начале поворота мы были перепендикулярно ЛПС и этот угол был 0, к ЛПС он станет равен углу склона). Как мы отличим это увеличение угла от увеличения угла за счет активного воздействия лыжника. По времени действия, движение перецентровки более короткое?

Кроме того можно перенести вес вперед по лыже за счет наклона торса вперед, ничего не делая с голенями. Движение голенями один из способов перецентровки. Что-то мне кажется что это очень сложно если вообще возможно сделать полноценно. А датчики в стельке и голенище всегда могут увидеть уже конечный результат.

Хотя, то что стельку исползовать очень большой геморрой я сам убедился. Она не удобна из нее обязательно идет шлейф проводов, сильно нагружена  ее нужно калибровать и ее действительно можно сломать,, а если используется кастомная анатомическая стелька тем более. При том что полноценная стелька из десятков датчиков как было в Карв реально дорогая.

Дилемма icon_smile.gif


Сообщение отредактировал МихаилS: 21 May 2026 - 15:37

  • 0

#22 tvv2000

tvv2000
  • Лыжебордеры
  • 58 сообщений

Отправлено 22 May 2026 - 09:19

Измерение pitch идет не по всему повороту, а в момент его начала - в точке нулевого пересечения крена. В этот момент геометрия стойки идентична от поворота к повороту, естественный дрейф угла ещё не накопился. Сравниваем не абсолютное значение, а наличие/отсутствие движения в этой конкретной точке.
Давление в язык через голень и наклон торса вперёд (inclination - это более спортивная техника) оба способа валидны и означают что лыжник перенёс вес. Но основная задача которую мы решаем - детектирование задней стойки. Это главная массовая ошибка: лыжник  просто не делает никакого движения вперёд ни голенью, ни торсом. В этом случае pitch голени не растёт - и сигнал срабатывает правильно. Я не претендую на абсолютное измерение давления. Задача конкретная - поймал ли лыжник заднюю стойку в начале  поворота, для этого сигнал работает.

  • 0

#23 МихаилS

МихаилS
    • 1
    • 1
  • Лыжебордеры
  • 4767 сообщений
  • Город:Москва

Отправлено 22 May 2026 - 10:12

 

Измерение pitch идет не по всему повороту, а в момент его начала - в точке нулевого пересечения крена. В этот момент геометрия стойки идентична от поворота к повороту, естественный дрейф угла ещё не накопился. Сравниваем не абсолютное значение, а наличие/отсутствие движения в этой конкретной точке.
Давление в язык через голень и наклон торса вперёд (inclination - это более спортивная техника) оба способа валидны и означают что лыжник перенёс вес. Но основная задача которую мы решаем - детектирование задней стойки. Это главная массовая ошибка: лыжник  просто не делает никакого движения вперёд ни голенью, ни торсом. В этом случае pitch голени не растёт - и сигнал срабатывает правильно. Я не претендую на абсолютное измерение давления. Задача конкретная - поймал ли лыжник заднюю стойку в начале  поворота, для этого сигнал работает.

 

Все правильно!

Это я рассказывал скорее о своих сомнениях.  тоже об этом думал. Измерить давление инерциальными датчиками конечно не получится, но можно отловить  правильное движение, которое должно привести к перецентровке.


  • 0

#24 Stern

Stern
  • Лыжебордеры
  • 2841 сообщений
  • Город:Mainz

Отправлено 23 May 2026 - 12:03

 

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

И ? Что потом ? После того, как датчик определит "заднюю стойку" на входе в поворот.

Идёт какой-нить звуковой сигнал лыжнику ? Или ещё как-то.

Чтобы сразу корректировать стойку rolleyes.gif


  • 0

#25 tvv2000

tvv2000
  • Лыжебордеры
  • 58 сообщений

Отправлено 25 May 2026 - 10:40

Здесь больше информации по проекту

  • Голосовой фидбек в наушники
  • Конкретные действия: "увеличь закантовку", "давление на носок", "выровняй лыжи"
  • Не слишком часто чтобы не отвлекать

Предполагается функционал аналогичный Carv


  • 0

#26 tvv2000

tvv2000
  • Лыжебордеры
  • 58 сообщений

Отправлено 27 May 2026 - 10:57

Сегодня потестировал на катке. К сожалению клипса давила на ногу и при аргесивных тестах типа перебежки дачтик съезжал. Нашел пару проблем. Сегодня поправлю и протестирую еще раз. Надеюсь до отпуска успею. В любом случае результаты обнадеживающие


  • 0

#27 lalaki

lalaki

    Универсал

    • 1
  • Лыжебордеры
  • 2203 сообщений
  • Город:Москва

Отправлено 27 May 2026 - 15:31

 

Вы правы, что со стелькой это точнее. Но для нашей конкретной задачи - был ли перенос ЦТ вперёд в начале поворота - стелька избыточна. Перенос ЦТ вперёд и загрузка носка - это одно движение, просто измеренное в разных точках. Стелька фиксирует следствие (давление под носком), IMU на голени фиксирует причину (голень давит в язык - угол изгиба ботинка растёт). Для детекции было / не было движение вперёд разница несущественна.
Будет считаться pitch-угол голени в момент начала поворота. Если в этот момент pitch > порога - перенос был. Это не абсолютное давление, но как сигнал вы не успели перенести вес должно работаеть. Абсолютное распределение давление носок/пятка нам действительно недоступно - и мы на это не претендуем. Но задачу "контроль начала поворота" это решает без стельки.
Возможно с помощью стельки они еще смотрели на правильность работы стоп при закантовке, но мне кажется это лишнее, тем более от стелек они отказались, возможно они просто не выдерживали нагрузки и выходили из строя
 
 

 

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


  • 0

#28 tvv2000

tvv2000
  • Лыжебордеры
  • 58 сообщений

Отправлено 27 May 2026 - 16:32

Мб имеет смысл цеплять датчик на голень ноги, не ботинок?

У Crav2 датчик цепляется на страп, в самом верху наибольший ход ботинка

Прикрепленные изображения

  • Screenshot 2026-05-27 163035.png

  • 0

#29 tvv2000

tvv2000
  • Лыжебордеры
  • 58 сообщений

Отправлено 01 June 2026 - 16:40

Вообщем попробовал датчик на своих ботах -  120-flex слишком жёсткий - манжета почти не двигается, pitch даёт лишь 5–8° даже при агрессивном наклоне, поэтому движение веперед при инициации поворота буду считать через акселерометр на датчике, ось ay. По тестам при быстром переноси веса вперед датчик видит чёткие импульсы ~0.3–0.4g, назад слабее ~-0.18g. Начал писать окончательное приложение, навайбкодил окно конфигурации. К началу сезону будет полноценное приложение для тестирования на склоне

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

Сообщение отредактировал P. Richard: 14 June 2026 - 15:33

  • 2

#30 МихаилS

МихаилS
    • 1
    • 1
  • Лыжебордеры
  • 4767 сообщений
  • Город:Москва

Отправлено 05 June 2026 - 10:33

 

Вообщем попробовал датчик на своих ботах -  120-flex слишком жёсткий - манжета почти не двигается, pitch даёт лишь 5–8° даже при агрессивном наклоне, поэтому движение веперед при инициации поворота буду считать через акселерометр на датчике, ось ay. По тестам при быстром переноси веса вперед датчик видит чёткие импульсы ~0.3–0.4g, назад слабее ~-0.18g. Начал писать окончательное приложение, навайбкодил окно конфигурации. К началу сезону будет полноценное приложение для тестирования на склоне

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

 

Добрый день. Я письмо в личку отправил. Ответьте пожалуйста.


  • 0

#31 Aliaksei Hirylovich

Aliaksei Hirylovich
  • Лыжебордеры
  • 44 сообщений
  • Город:Danzig

Отправлено 16 June 2026 - 10:15

Очень нужный и правильный проект! eusa_clap.gif

 

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

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

Что бы я предложил:

  • Сделать версию README на английском языке. Нет речи об американцах, но среди французов/итальянцев/немцев/поляков - много парней с головой и руками.
  • Упомнять о проекте на форумах, где уже обсуждают Carv2
  • Проект должен быть повторяем. Т.е. в документацию просится детальные инструкции для всех возможных уровней пользователей. От тех кто будет паять сам (принципиальная схема, мануалы по сборке) до тех кто "где купить?".
  • Ничтожная доля потенциальных пользователей сможет/станет устанавливать неподписанное приложение на свой телефон. Ещё меньше сможет его самостоятельно собрать. В то время как доступ в Google Play Console стоит единовременно 25$ и как мне кажется - это прям значительно расширит аудиторию.
  • Android IDE хорошо, но Platform IO - уже сильно популярнее. В репозиторий просится файл `platformio.ini`
  • Не помешал бы клон репозитория на GitHub/GitLab. Мало кто станет регистрироваться на сайте в зоне .ru

 

Я сам - DevOps на проекте разработки мобильного приложения; писатель Arduino для STM32, ESP32. С удовольствием поучаствую.


  • 0

#32 tvv2000

tvv2000
  • Лыжебордеры
  • 58 сообщений

Отправлено 17 June 2026 - 15:57

Спасибо за развёрнутый и конструктивный отзыв, рад что проект вызывает интерес!

По существу:

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

Железо - смотрю в сторону WT9011DCL-BT5.0 (говорил с человек на этом форуме, он тоже пытается что то подобное делать, пока заказал на озоне, жду), там паять ничего не надо, только крепление на манжету ботинка. Доступен на Ozon за ~2000руб. Это делает проект повторяемым без паяльника.

README на английском - не проблема, сделаю.

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

Google Play - понимаю важность, но пока не в приоритете. Сначала рабочий прототип.

PlatformIO - честно, не разбирался, посмотрю.
Участие - был бы рад, особенно в тестировании на склоне. Алгоритмы метрик можно отлаживать на синтетических данных, но финальная валидация требует реальных спусков. Если готовы записать несколько спусков с датчиком на ботинке - это было бы очень ценно.


Сообщение отредактировал tvv2000: 18 June 2026 - 08:11

  • 1

#33 tvv2000

tvv2000
  • Лыжебордеры
  • 58 сообщений

Отправлено 20 June 2026 - 17:37

Выложил первую версию приложения **G-Force** в RuStore: https://www.rustore..../app/org.vts.gf

 

Это open-source альтернатива Carv для анализа техники карвинга. Проект называется OpenCarv, приложение G-Force чтобы избежать юридических вопросов.

 

Что готово сейчас:

- Панель конфигурации

- Панель тренировки

 

Железо: датчик WT9011DCL-BT5.0, ~2000₽ на Ozon, паять ничего не надо - только прикрепить на манжету ботинка. Через пару недель получу датчик и подключу к приложению.

 

Что планируется: метрики карвинга аналогичные Carv - edge angle, turn shape, turn closure, G-force, edging similarity. Вся обработка на телефоне из сырых IMU данных.

 

Где не хватает помощи: реальное тестирование на склоне. Алгоритмы можно отлаживать на синтетике, но нужны реальные данные спусков.

 

Про обучающие видео: в Carv все видео вертикальные под телефон -это важно для удобства просмотра во время тренировки. YouTube для этого не очень подходит. Если есть кто снимает обучающий контент по карвингу в вертикальном формате и готов поделиться - буду рад сотрудничеству. Пока как временное решение буду использовать YouTube embed с нарезкой нужных фрагментов.

Репозиторий: https://gitverse.ru/vtsukanov/OpenCarv

 

Буду рад фидбеку и тестировщикам


Сообщение отредактировал tvv2000: 20 June 2026 - 17:40

  • 2

#34 tvv2000

tvv2000
  • Лыжебордеры
  • 58 сообщений

Отправлено 01 July 2026 - 09:07

Обновление по теме. Начал писать математику метрик, оказалось что ~33 пакета в секунду (реальный потолок Android BLE стека) для некоторых метрик недостаточно - нужно 100 Гц. На XIAO решил батчингом: прошивка накапливает 5 сэмплов и шлёт одним BLE пакетом с timestamp с прошивки на каждый сэмпл. Работает, подтверждено на реальных данных.

По WT9011 - судя по документации, при Output Rate 100 Гц прошивка автоматически переходит в батч-режим (несколько сэмплов в одном BLE пакете). Датчик ещё едет, по факту отпишусь.


Сообщение отредактировал tvv2000: 01 July 2026 - 15:40

  • 1

#35 tvv2000

tvv2000
  • Лыжебордеры
  • 58 сообщений

Отправлено 06 July 2026 - 11:51

У carv есть рекомендации после кажого проката, хотчу сделать что то аналогичное.
Если катаетесь на трекерах или просто разбираетесь в том, как делают прогресс-системы (геймификация, обучалки, спортивная аналитика) - накидайте, где я мыслю не туда. Особенно интересно про последний пункт с условиями склона - чувствую, что это самое слабое место, но не уверен, стоит ли городить решение сейчас или сначала посмотреть, насколько это вообще мешает на практике.
 
Есть 3 стиля катания (параллельные лыжи, карвинг, короткие повороты), в каждом - несколько навыков от простого к сложному. У каждого навыка - свои метрики (угол закантовки, синхронность лыж и т.д.), и по каждой метрике есть шкала
"насколько хорошо получилось".
 
Как это работает
 
Стиль катания выбираешь сам перед спуском - как в тренажёрке, где сам выбираешь программу. Никакого "угадывания по данным", что ты там катал.
 
Ищу 8 поворотов подряд одного стиля в заезде. Специально подряд, а не "8 лучших вразброс" - иначе намешается кусок с крутого участка с пологим, начало заезда с уставшим концом.
 
Не придираюсь к качеству исполнения. Если заявил карвинг, а по факту едешь с проскальзыванием - я это не выкидываю, просто честно даю низкую оценку. Тренер же не говорит "эта попытка не считается", он говорит "плохо получилось, работай дальше".
 
Есть "текущий рекомендуемый навык", но это не жёсткий запрет - просто дефолт. Если у тебя реально получается что-то сложное, пока не долбита база - это всё равно засчитается, а не спрячется от системы. Запрет тут не нужен:
если ты в плуге, ты физически не наберёшь 8 карвинговых поворотов подряд, так что нерелевантный совет и так не долетит.
 
После свободного катания - два навыка на карточке: тот, что получился лучше всех ("вот тут ты красавчик"), и тот, что хуже всех ("вот сюда стоит посмотреть"). Подсмотрел эту идею у Carv - работает на мотивацию, не только тыкать носом в слабое место.
 
Если мало поворотов нужного стиля (например, 5-7 вместо полноценных 8) - покажу результат, но с пометкой "маловато данных", и в официальный прогресс он не пойдёт. Меньше 5 - вообще не покажу, слишком шумно.
 
Прогресс только растёт, никогда не откатывается назад сам по себе.
 
Что пока прикидываю, но не решил окончательно
 
 
  • Сколько неудачных заездов подряд терпеть, прежде чем менять формулировку совета или саму метрику фокуса.
  • Свободное катание и тренировка - должны они одинаково влиять на прогресс, или тренировка (осознанный дрилл) весит больше?
  • Стоит ли уровень "протухать", если человек полгода не катался? 
  • Сколько поворотов брать в одно окно - сейчас 8, но это число просто взято у Carv, не выведено ни из чего своего.
  • Условия склона (лёд, бугры), крутизна, усталость к концу дня - всё это может сбивать метрики, а я это пока никак не учитываю. Есть шанс, что иногда буду советовать поработать над тем, что на самом деле объективно сложнее из-за льда, а не из-за техники.

  • 0




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных