Вот, собственно, как это сделать? Понятно, что надо ставить сенсоры на старте и на финише. Но от финиша я не могу протащить провод наружу, потому как пол лабиринта будет стоять на полу и зазора там нет. А сверху лабиринта провод тоже протащить невозможно: ни по стенам, так как стены финиша с внешним ограждением не соединяются, ни, вообще, поверху, так как ограничения на высоту роботов в лабиринте нет.
Можно было бы поставить на финише блютус модуль - это я умею, но как там с задержкой распространения сигнала?
Задержка громадная, может исчисляться от микросекунд до никогда Поставьте два одинаковых модуля, на старт и финиш, тогда можно надеяться, что у них одинаковое запаздывание, дельта же между ним будет близка к истинному времени прохождения. Либо перед стартом пробросить провод до финиша, принудительно сработать старт и финиш одновременно, вычислить задержу, запомнить её и вычитать из результата, с учётом задержки сигнала в проводах. Можно часы поставить на робота, но тогда проблема с теорией относительности.
Я полагаю, что точность до микросекунд не нужна, а скорее всего даже до десятков миллисекунд. Если задействовать Bluetooth модуль, то основной вклад в задержку будет зависеть от периода соединения. Минимальный период составляет 7.5мс, но не все телефоны такое поддерживают. Реально, особенно при соединении модуль-модуль получить период соединения 10мс. Вклад остальных факторов в задержку, таких как обработка сигнала датчика на финише и приёмным устройством на том-же модуле (при условии, что там не будет крутиться занимающих время процессора других приложений) - действительно микросекунды.
если бы ТЗ было озвучено полностью... остаётся лишь предполагать, что роботы носятся с громадной скоростью, а конструкции и алгоритмы у них настолько идеальны, что разница укладывается в фемтосекунды. А то можно было бы предложить синхронизировать перед соревнованиями два электронных секундомера, один на старте оставить, другой отнести на финиш, и пусть они шлют время старта и время финиша, и совершенно пофиг, как быстро эти посылки дойдут.
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
неа. в зависимости от среды скорость света различна, его же потом обработать надо, предположим, фотодатчик закрыт стеклом, в этом случае почти в полтора раза тормознётся, плюс время реакции фотодатчика... тоже есть риск И, возможно, длина лабиринта метров 300, такое расстояние свет летит долго
Ну точное ТЗ это еще надо думать. В идеале, хотелось бы иметь точность до 1 миллисекунды. Поэтому БТ с его 1.6мс меня смущает. Сенсор, надеюсь, будет иметь реакцию 0,1мс.
Была у меня мысль засинхронизировать старт и финиш и пусть они передают даже и медленно, и с задержкой просто абсолютное время срабатывания (в принципе идеальное решение), но проблема в синхронизации - как часто её следует проводить, чтобы не потерять точность из-за разбега. И можно ли её как-то делать безпроводно.
Ну и еще условие - это должно эксплуатироваться 3-4-5 часов на соревнованиях, при наличии толпы WiFi роутеров и хотспотов, около полутысячи гавриков и у каждого из них наверняка будет еще и по мобилке тоже с включенным WiFi & BT - т.е. радиообстановка может быть напряженная. Фотовспышка не годится, потому как на соревнованиях будет проводиться фото и видеосъёмка и у тех, тоже могут оказаться вспышки. И визуальный канал я отметаю по причине отсутствия ограничения на высоту робота - он случайно может заслонить световой поток
А как в БТ наушниках, где левый и правый ух отдельно, обеспечивается синхронность воспроизведения, так что не нарушается стереокартина?
А можно ли как-то сделать БТ write разом в два приёмника? Чтобы перед началом оба приёмника бросили таймеры, а потом только по indication сообщали о факте своего срабатывания?
А можно ли как-то сделать БТ write разом в два приёмника?
Можно. Дефолтно Silicon Labs Bluetooth стек поддерживает до 4 соединений одновременно (я ограничил-бы это до 2 в Вашем случае). После того как установлено соединение с первым приёмником запомнить его connection_handle в обработчике события sl_bt_evt_connection_opened_id и включить advertisements. Тогда сервер будет виден второму приёмнику. Когда с ним установится соединение запомнить вторую connection_handle. Эти handles следует передавать в функцию sl_bt_gatt_server_send_notification при отсылке нотификаций соответствующему приёмнику. Передача будет, конечно, не строго одновременно, а последовательно, одна за другой. Для обеспечения более строгой одновременности приёма сообщений несколькими приёмниками можно передавать данные в advertisement. В этом случае даже соединения с приёмниками устанавливать не нужно. Но и в этом случае поскольку сканеры в различных приёмниках не синхронизированы, то может случиться, что они примут изменившиеся данные в advertisement в разные моменты их передачи. Несколько улучшить ситуацию можно настройкой передачи сообщения только на одном (их трёх) каналов и сканировать только этот канал, но и это не гарантирует строгую одновременность. Вообще, протокол Bluetooth LE для таких фокусов не предназначен.
Однако, в Вашем случае при наличии многих помех от других гаджетов на соревнованиях могут случится частые коллизии и это приведёт к дополнительным задержкам приёма из-за необходимости повтора передачи пакетов. Лучше в таком случае сделать радиоканал в суб-гигагерцовом диапазоне. Задержки в этом случае будут минимальными и одновременный приём разными приёмниками гарантирован (как одновременных приём слушателями радиостанций). Если имеется возможность приобрести чипы EFR32FGxxx, то такую систему просто "слепить" на них даже на основе низко-уровнего протокола RAIL (см. мои статьи здесь).
Заголовок сообщения: Re: Измерение времени прохода лабиринта
Добавлено: Пт окт 06, 2023 08:45:18
Друг Кота
Карма: 103
Рейтинг сообщений: 3718
Зарегистрирован: Пн фев 09, 2009 22:19:49 Сообщений: 22641 Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения:0
уж если разговоры о блютузе не обрываются сразу фразой, что это для него далековато будет, то то дистанция не в сотнях метров будет. Я, конечно, понимаю, что там шутка была, но я лишь подсказку на принцип дал.
Почему в о видимом свете подумали только ? Можно и инфракрасный использовать и направленные излучатель и фотодатчик . И не по полу лучь пустить, а поверх лабиринта, тем боле что правила вряд ли разрешат роботам иметь конструкцию выше лабиринта - чтобы не подсматривал.
Но диспут тут выявил другую сторону проблемы - дайте мне готовенькое, чтобы надо было лишь тут прислонить, а тут поставить, и чтобы это было на уровне роснано !
пол лабиринта будет стоять на полу и зазора там нет.
А если устроить? Добавить ножки, салазки, лаги, палочки, шарики? Миллиметров на 20 приподнять и под самим лабиринтом можно уже чуть ли не распределительный щиток вешать. Профрезеровать, в конце концов. Иначе же поддерживаю идею с
Martian писал(а):
синхронизировать перед соревнованиями два электронных секундомера, один на старте оставить, другой отнести на финиш, и пусть они шлют время старта и время финиша
:facepalm: уж если разговоры о блютузе не обрываются сразу фразой, что это для него далековато будет, то то дистанция не в сотнях метров будет. Я, конечно, понимаю, что там шутка была, но я лишь подсказку на принцип дал.
Ок, для тех кто не в курсе и не хочет посмотреть видео - лабиринт состоит из 16 на 16 клеточек со стороной 180мм - т.е. полный размер лабиринта чуть меньше чем 3 на 3 метра. судейский стол должен быть в пределах нормальной видимости, т.е. не дальше пары метров. 5 метров блютус пробьёт без проблем.
Почему в о видимом свете подумали только ? Можно и инфракрасный использовать и направленные излучатель и фотодатчик . И не по полу лучь пустить, а поверх лабиринта, тем боле что правила вряд ли разрешат роботам иметь конструкцию выше лабиринта - чтобы не подсматривал.
Повторяю - ограничения на высоту робота - нет. в 2013 году был один робот, который со стартовой клетки на складной стреле поднял видеокамеру "сфотографировал" лабиринт, сложился и только тогда поехал (и отсчет времени начался только с этого момента!). (ссылка) И правила не запрещают смотреть что творится за стенами - на сайте micromouseonline.com уже высказывалась идея поставить еще датчики, чтобы сканировать стены соседних проходов. Правда не видел чтобы это кому-то дало особый профит. Но тем не менее - пространство над лабиринтом занято и не может быть использовано для направленного излучения не важно, видимого или инфракрасного. Тем более, что роботы бегающие по лабиринту стены тоже "щупают" инфракрасными излучателями и приёмниками. Правда они узконаправленные, но довольно мощные, так что хез, что там после переотражений улетит в пространство.
Но диспут тут выявил другую сторону проблемы - дайте мне готовенькое, чтобы надо было лишь тут прислонить, а тут поставить, и чтобы это было на уровне роснано !
без комментариев.
>TEHb< писал(а):
Добавить ножки, салазки, лаги, палочки, шарики?
Увы, так делают, наверное, все, но это годится для стационарной конструкции. Я же делаю лабиринт так, чтобы я его мог погрузить в свою легковушку и отвезти и построить его в другом городе. Поэтому один элемент пола у меня содержит только 2 на 4 клетки. На данный момент у меня 6 таких элементов и я могу собрать очень маленький лабиринтик всего из 48 клеточек (полный 256 клеток). И чтобы все эти элементы паззла приподнять - нужно дофига ножек. Тем более, что пол у меня 5мм MDF - будет мало ножек - будет прогибаться. А много ножек в пределе - это плашмя на полу.
Еще по поводу синхронизации подумал. Решил посчитать и... обломился. Если взять кварцы с точностью 10 ppm, то 1 мс разбег произойдёт через.. всего 50 секунд! поэтому ресинхронизация будет нужна уже в процессе измерения времени. Примерно раз в 10 секунд. Если бы это время превышало бы 300 секунд (время выступления одного участника), то это было бы приемлимо. А так - нет. Так что придётся изучать RAIL или клеить ноги.
Хммм. зависит от правил соревнований. Обычно, считается, что старт в левом нижнем углу, а финиш ровно по центру. Но на соревнованиях Robotex international на фотографии - в нижнем правом углу. Но обычно всегда старт у самого края. А финиш может быть даже где угодно, например в UK:
Цитата:
The goal is a rectangular region enclosing a number of squares. The position and size of the end point area will be determined in advance for each competition. The goal area is described by the coordinates of two diagonally opposite squares. For the classic contest, the goal area will normally be the central four square of the maze.
А так как мой лабиринтик не может иметь координаты [7;7]:[8;8], остаётся вариант - в любом месте объявив заранее координаты. Технически предполагалось изготовить две пары столбика и/или две стены со встроенными сенсорами и излучателями, которые просто будут установлены в нужных местах лабиринта.
Да, разборность, конечно, делает задачу сильно интереснее. Из вариантов "в лоб": 1. Протянуть проводочек по верхнему краю стенок. Скорее всего, стенки соединяют квадрат старта с квадратом финиша. 2. Протянуть тонкий проводок всё-таки под лабиринтом. 0,35 мм вряд ли будет заметно, иногда пыль большего размера. Иметь запасной. Почему именно проводок? Да потому что это закрытый канал. Надо сильно постараться, чтобы что-то суметь разладить.
Протянуть проводочек по верхнему краю стенок. Скорее всего, стенки соединяют квадрат старта с квадратом финиша.
Нельзя протянуть - стенки финиша с внешними стенами не соединяются, так как лабиринт многосвязный. Если бы существовал путь по стенам, то финиш был бы нахождаем(?) или, лучше, доступен методом "ведём рукой по стене". А в этих соревнованиях так не должно быть - "вдоль стены можно блуждать вечно, но так и не достичь финиша" (цитата из того видео). Вот цитата из роботексовских правил соревнований:
Цитата:
Multiple paths to the destination square are allowed and are to be expected. The destination square has only one entrance and it will be positioned so that a wall-hugging mouse will not be able to find it.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 251
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения