Я собираюсь сделать симулятор робота. Симулятор в основном выполнен в Python, кроме части контроллера. Контроллер выполнен в Cpp.
Для каждого временного шага в симуляторе модель робота отправляет свои состояния (угол двигателя и т. Д. c ...) в метод python, который охватывает все коды это генерирует желаемое действие в соответствии с изученной политикой, которой должен следовать робот. Метод использует openai Gym и коды машинного обучения. Затем часть контроллера, выполненная в Cpp, получает желаемое действие в качестве входных данных и должна выдавать определенные c команды, которые могут быть поданы на двигатели робота.
Вопрос в том, как лучше всего использовать Cpp код с python. Я надеюсь, что смогу просто отправить вывод из части политики в Contoller, а контроллер выведет команды двигателя. Я просто хочу использовать cpp контроллерную часть, например функцию, например, отдельный черный ящик, если это возможно.
Python - язык интерпретатора, а cpp - язык компилятора. Google предлагает несколько вариантов, таких как: Cpython, Bootst. python или Pybind11. Часть Cpp включает множество #include
s, которые связаны с библиотеками, относящимися к контроллеру, и будут использоваться многократно в течение каждого временного шага. Для более быстрого вычисления cpp часть должна быть скомпилирована только один раз.
Любое предложение приветствуется!