Обновить
18
0

Инженер

Отправить сообщение
Как рассказывает Дэнни, порядка половины домов что он продает имеют систему Nest.

Что за система Nest?
Я думаю, что фильтровать все локальные колебания собираются путем массовой обработки (обработки данных с большого числа телефонов, расположенных в разных местах). А по поводу колебаний дома от термических вибраций и подобных возмущений — акселерометры в телефонах их просто не чувствуют (не хватает точности/частоты)
Это на самом деле очень интересная идея. Не так давно была статья про определение эпицентра землетрясения по данным фитнес-трекеров.
И, конечно же, телефон это не сейсмограф, а просто дополнительный источник информации.

Как уже заметили выше, такое приложение может стать популярным только при небольшом расходе батареи.

Ну тогда вопрос снимается (хотя на него уже и ответили).
Насколько я знаю, в VB есть какие-то ограничения на наследование. В частности, не реализовано множественное наследование классов, из-за чего приходиться искать обходные пути через наследование интерфейсов. Если я не прав — поправьте, с VB я знаком не очень хорошо.
Я правильно понимаю, что основную часть проектов удалось перенести автоматически? Не возникало проблем с отсутствием полноценного наследования в Visual Basic?
Можно, полученный результат обычно не сильно хуже. Но тут встает вопрос о том какие частицы считать достаточно маловероятными. Логично было бы сравнивать с максимальным значением веса (с самой вероятной частицой), например отсеивать все частицы, вес которых меньше 0.1*maxWeight. Но на практике оказывается, что этот критерий (0.1*maxWeight) нужно подбирать опытным путем и для каждой задачи отдельно.

А Resampling wheel является универсальным алгоритмом: один раз написал — и используй во всех задачах.

(не туда написал)
Функция random просто выдает случайное число в заданных пределах, например
random.uniform(0, 2*max(weight))

дает случайное число от 0 до 0.5 (в рассматриваемом примере max(weight) = 0.25).

Так как фильтр частиц работает с вероятностями (вес частиц), то без генератора случайных чисел не обойтись.

Про отсев частиц:
Гарантированно лишние частицы — это те частицы, вес которых равен нулю (вероятность нахождения объекта в этой точке 0%). Остальные отсеиваемые частицы являются маловероятными. Ну и так бывает, что маловероятные события иногда происходят. Поэтому и у этих частиц тоже есть шанс пройти отсев, просто маленький.

Из опыта могу сказать, что был случай когда фильтр разошелся (не оказалось частиц рядом с роботом и ошибка начала быстро увеличиваться) и логи показали, что была частица соответствующая положению робота, но ее вес был где-то в 100 раз меньше чем вес «больших» частиц и она не пережила отсев.
В моделировании не страшно, а если вы используете фильтр для определения местоположения реального объекта, например квадрокоптера, может быть фатально.
Ситуация маловероятна, но увеличение количества частиц в фильтре помогает снизить вероятность её возникновения.
Еще на эту тему можно почитать
Адамс Мориока и Терри Стоун. «Дизайн цвета.Практикум».
Кажется РКН активно использует принцип «часто повторяемая ложь становится правдой»…
2

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность