# 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(f"Ошибка в pybullet_server{e}") time.sleep(1) 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)