| import sys | |
| import os | |
| current_dir = os.path.dirname(os.path.abspath(__file__)) # reachy_mini/ | |
| parent_dir = os.path.dirname(current_dir) # dev/camping_ai/ | |
| real_utils = None | |
| original_path = list(sys.path) | |
| original_module = sys.modules.pop('reachy_mini.utils', None) | |
| original_parent = sys.modules.pop('reachy_mini', None) | |
| try: | |
| sys.path = [p for p in sys.path if os.path.abspath(p) not in (parent_dir, current_dir)] | |
| from reachy_mini import utils as ru | |
| if hasattr(ru, 'create_head_pose'): | |
| real_utils = ru | |
| except ImportError: | |
| pass | |
| finally: | |
| sys.path = original_path | |
| if original_parent is not None: | |
| sys.modules['reachy_mini'] = original_parent | |
| if original_module is not None: | |
| sys.modules['reachy_mini.utils'] = original_module | |
| if real_utils is not None: | |
| globals().update({k: v for k, v in real_utils.__dict__.items() if not k.startswith('__')}) | |
| else: | |
| # Mock implementation for cloud deployment | |
| def create_head_pose(yaw=0.0, pitch=0.0, roll=0.0, degrees=True, mm=True): | |
| return {"yaw": yaw, "pitch": pitch, "roll": roll} | |