В моем текущем алгоритме я взаимодействую с роботом. Робот запускает мастер ROS, который публикует все данные. Мой компьютер, на котором работает алгоритм, подключен к мастеру ROS и управляет роботом.Переменная модуля Python как центральное хранилище для совместного использования данных и доступа внутри потоков
Расчеты алгоритма основаны на текущем состоянии робота (который будет опубликован через ROS). Для этого случая необходимо, всегда имея текущее состояние робота. Однако одновременно мой алгоритм должен постоянно принимать решения на основе текущего состояния робота. Поскольку мне нужно делать некоторые вещи параллельно, я думал об использовании потоков.
Моя идея заключалась в следующем
У меня есть центральное хранилище (в основном питон модуль) «ВАР», который содержит только различные виды переменных, среди прочего, текущего состояния робота. Моя идея состоит в том, чтобы обновить эти переменные из ROS, поэтому у меня всегда есть обновленные данные в этих переменных, и я могу выполнять мои вычисления на основе этих центральных хранимых переменных.
Мой вопрос
- Что вы думаете о моей основной структуре?
- Безопасно ли использовать переменные модуля python в потоках?
Спасибо за любые советы.
Я бы использовал класс доски для обмена информацией между потоками – Netwave