modbus_test/utils/pybullet_server.py

42 lines
1.4 KiB
Python

# server.py
import time
import argparse
import pybullet as p
import pybullet_data
# from logger import logger
def main(type="SHARED_MEMORY_SERVER"):
# Подключаемся к графическому серверу в режиме SHARED_MEMORY_SERVER
# physicsClient = p.connect(p.SHARED_MEMORY_SERVER)
physicsClient = p.connect(getattr(p, type))
print(f"start pybullet ph client {physicsClient}")
# Настраиваем среду
p.setAdditionalSearchPath(pybullet_data.getDataPath())
p.setGravity(0, 0, -9.81, physicsClientId=physicsClient)
while True:
# Основной цикл физического движка
# if physicsClient != -1:
try:
p.stepSimulation()
except Exception as e:
print(e)
time.sleep(30 * 0.001)
if __name__ == "__main__":
# Парсер аргументов командной строки
parser = argparse.ArgumentParser(description="Запуск PyBullet сервера.")
parser.add_argument(
"--test", action="store_true", help="Запустить сервер в режиме GUI_SERVER"
)
args = parser.parse_args()
# Если передан аргумент --test, устанавливаем тип подключения SHARED_MEMORY_SERVER
connection_type = "GUI_SERVER" if args.test else "SHARED_MEMORY_SERVER"
# connection_type = "SHARED_MEMORY_SERVER"
main(connection_type)