Форум РадиоКот https://radiokot.ru/forum/ |
|
Измерение времени прохода лабиринта https://radiokot.ru/forum/viewtopic.php?f=3&t=190232 |
Страница 1 из 1 |
Автор: | uldemir [ Чт окт 05, 2023 19:48:27 ] |
Заголовок сообщения: | Измерение времени прохода лабиринта |
Вот, собственно, как это сделать? Понятно, что надо ставить сенсоры на старте и на финише. Но от финиша я не могу протащить провод наружу, потому как пол лабиринта будет стоять на полу и зазора там нет. А сверху лабиринта провод тоже протащить невозможно: ни по стенам, так как стены финиша с внешним ограждением не соединяются, ни, вообще, поверху, так как ограничения на высоту роботов в лабиринте нет. Можно было бы поставить на финише блютус модуль - это я умею, но как там с задержкой распространения сигнала? |
Автор: | Martian [ Чт окт 05, 2023 20:25:32 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
Задержка громадная, может исчисляться от микросекунд до никогда Поставьте два одинаковых модуля, на старт и финиш, тогда можно надеяться, что у них одинаковое запаздывание, дельта же между ним будет близка к истинному времени прохождения. Либо перед стартом пробросить провод до финиша, принудительно сработать старт и финиш одновременно, вычислить задержу, запомнить её и вычитать из результата, с учётом задержки сигнала в проводах. Можно часы поставить на робота, но тогда проблема с теорией относительности. |
Автор: | Ser60 [ Чт окт 05, 2023 21:20:36 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
Я полагаю, что точность до микросекунд не нужна, а скорее всего даже до десятков миллисекунд. Если задействовать Bluetooth модуль, то основной вклад в задержку будет зависеть от периода соединения. Минимальный период составляет 7.5мс, но не все телефоны такое поддерживают. Реально, особенно при соединении модуль-модуль получить период соединения 10мс. Вклад остальных факторов в задержку, таких как обработка сигнала датчика на финише и приёмным устройством на том-же модуле (при условии, что там не будет крутиться занимающих время процессора других приложений) - действительно микросекунды. |
Автор: | Martian [ Чт окт 05, 2023 21:57:54 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
если бы ТЗ было озвучено полностью... остаётся лишь предполагать, что роботы носятся с громадной скоростью, а конструкции и алгоритмы у них настолько идеальны, что разница укладывается в фемтосекунды. А то можно было бы предложить синхронизировать перед соревнованиями два электронных секундомера, один на старте оставить, другой отнести на финиш, и пусть они шлют время старта и время финиша, и совершенно пофиг, как быстро эти посылки дойдут. |
Автор: | Муркиз [ Чт окт 05, 2023 23:03:04 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
Свет от вспышки лампы на старте или на финише дойдет мгновенно... |
Автор: | Martian [ Пт окт 06, 2023 00:11:34 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
неа. в зависимости от среды скорость света различна, его же потом обработать надо, предположим, фотодатчик закрыт стеклом, в этом случае почти в полтора раза тормознётся, плюс время реакции фотодатчика... тоже есть риск И, возможно, длина лабиринта метров 300, такое расстояние свет летит долго |
Автор: | uldemir [ Пт окт 06, 2023 05:30:53 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
Ну точное ТЗ это еще надо думать. В идеале, хотелось бы иметь точность до 1 миллисекунды. Поэтому БТ с его 1.6мс меня смущает. Сенсор, надеюсь, будет иметь реакцию 0,1мс. Была у меня мысль засинхронизировать старт и финиш и пусть они передают даже и медленно, и с задержкой просто абсолютное время срабатывания (в принципе идеальное решение), но проблема в синхронизации - как часто её следует проводить, чтобы не потерять точность из-за разбега. И можно ли её как-то делать безпроводно. Ну и еще условие - это должно эксплуатироваться 3-4-5 часов на соревнованиях, при наличии толпы WiFi роутеров и хотспотов, около полутысячи гавриков и у каждого из них наверняка будет еще и по мобилке тоже с включенным WiFi & BT - т.е. радиообстановка может быть напряженная. Фотовспышка не годится, потому как на соревнованиях будет проводиться фото и видеосъёмка и у тех, тоже могут оказаться вспышки. И визуальный канал я отметаю по причине отсутствия ограничения на высоту робота - он случайно может заслонить световой поток А как в БТ наушниках, где левый и правый ух отдельно, обеспечивается синхронность воспроизведения, так что не нарушается стереокартина? А можно ли как-то сделать БТ write разом в два приёмника? Чтобы перед началом оба приёмника бросили таймеры, а потом только по indication сообщали о факте своего срабатывания? p.s. те кто не в курсе, что за лабиринт смотрите видео из этого сообщения: viewtopic.php?p=4422846#p4422846 |
Автор: | Ser60 [ Пт окт 06, 2023 07:49:10 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
А можно ли как-то сделать БТ 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 (см. мои статьи здесь). |
Автор: | Муркиз [ Пт окт 06, 2023 08:45:18 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
![]() Я, конечно, понимаю, что там шутка была, но я лишь подсказку на принцип дал. Почему в о видимом свете подумали только ? Можно и инфракрасный использовать и направленные излучатель и фотодатчик . И не по полу лучь пустить, а поверх лабиринта, тем боле что правила вряд ли разрешат роботам иметь конструкцию выше лабиринта - чтобы не подсматривал. Но диспут тут выявил другую сторону проблемы - дайте мне готовенькое, чтобы надо было лишь тут прислонить, а тут поставить, и чтобы это было на уровне роснано ! |
Автор: | >TEHb< [ Пт окт 06, 2023 11:50:06 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
uldemir писал(а): пол лабиринта будет стоять на полу и зазора там нет. А если устроить? Добавить ножки, салазки, лаги, палочки, шарики? Миллиметров на 20 приподнять и под самим лабиринтом можно уже чуть ли не распределительный щиток вешать. Профрезеровать, в конце концов. Иначе же поддерживаю идею с Martian писал(а): синхронизировать перед соревнованиями два электронных секундомера, один на старте оставить, другой отнести на финиш, и пусть они шлют время старта и время финиша
|
Автор: | uldemir [ Пт окт 06, 2023 17:35:02 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
: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 или клеить ноги. |
Автор: | >TEHb< [ Пт окт 06, 2023 17:50:55 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
Старт и финиш находятся в каких-то определённых местах? |
Автор: | uldemir [ Пт окт 06, 2023 18:17:40 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
Хммм. зависит от правил соревнований. Обычно, считается, что старт в левом нижнем углу, а финиш ровно по центру. Но на соревнованиях 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], остаётся вариант - в любом месте объявив заранее координаты.Технически предполагалось изготовить две пары столбика и/или две стены со встроенными сенсорами и излучателями, которые просто будут установлены в нужных местах лабиринта. |
Автор: | >TEHb< [ Пт окт 06, 2023 18:33:01 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
Да, разборность, конечно, делает задачу сильно интереснее. Из вариантов "в лоб": 1. Протянуть проводочек по верхнему краю стенок. Скорее всего, стенки соединяют квадрат старта с квадратом финиша. 2. Протянуть тонкий проводок всё-таки под лабиринтом. 0,35 мм вряд ли будет заметно, иногда пыль большего размера. Иметь запасной. Почему именно проводок? Да потому что это закрытый канал. Надо сильно постараться, чтобы что-то суметь разладить. |
Автор: | uldemir [ Пт окт 06, 2023 19:01:51 ] |
Заголовок сообщения: | Re: Измерение времени прохода лабиринта |
>TEHb< писал(а): Протянуть проводочек по верхнему краю стенок. Скорее всего, стенки соединяют квадрат старта с квадратом финиша. Нельзя протянуть - стенки финиша с внешними стенами не соединяются, так как лабиринт многосвязный. Если бы существовал путь по стенам, то финиш был бы нахождаем(?) или, лучше, доступен методом "ведём рукой по стене". А в этих соревнованиях так не должно быть - "вдоль стены можно блуждать вечно, но так и не достичь финиша" (цитата из того видео). Вот цитата из роботексовских правил соревнований:Цитата: 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. Тогда уж лучше ножки наклеить.
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |