Показания датчика и реактивное программирование - PullRequest
0 голосов
/ 28 августа 2018


Я занимаюсь разработкой системы управления роботом и хотел бы использовать реактивное программирование для реорганизации моей текущей архитектуры.

В основном он состоит из нескольких узлов (потоков), которые прослушивают общую шину и выполняют задачи анализа данных, чтобы спланировать новый путь, избежать препятствий, включить вентилятор, если температура двигателя становится слишком высокой, и т. Д. Теперь то, как я работаю с данными датчиков, является довольно простым, у меня есть один поток, считывающий значения с датчиков и отправляющий эти значения в потоки через сообщения на шине.

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

Я бы выбрал использование общих статических объектов HAL для датчиков и обновление их значений только при обнаружении другого показания с использованием модуля расстояния. Другой возможной альтернативой является отправка сообщений о показаниях датчика, когда выполняются вышеуказанные условия вместо объектов HAL.

Какой из двух подходов более удобен, когда речь идет о скорости? Можно ли определить реактивное программирование?

...