From ba20e5f85c6b3219a6d14b724a3d459d2a7ea5d0 Mon Sep 17 00:00:00 2001 From: mumuhhh <530148599@qq.com> Date: Fri, 9 May 2025 12:25:28 +0800 Subject: [PATCH] support resource file read --- .gitignore | 4 +++- .../__init__.py | 0 .../mini_bdx_runtime/__init__.py | 0 .../mini_bdx_runtime/antennas.py | 0 .../mini_bdx_runtime}/assets/beep1.wav | Bin .../mini_bdx_runtime}/assets/beep2.wav | Bin .../mini_bdx_runtime}/assets/happy1.wav | Bin .../mini_bdx_runtime}/assets/happy2.wav | Bin .../mini_bdx_runtime}/assets/happy3.wav | Bin .../mini_bdx_runtime}/assets/lamp.wav | Bin .../mini_bdx_runtime}/assets/lamp2.wav | Bin .../mini_bdx_runtime}/assets/lamp3.wav | Bin .../mini_bdx_runtime}/assets/motor.wav | Bin .../mini_bdx_runtime/buttons.py | 0 .../mini_bdx_runtime/camera.py | 0 .../mini_bdx_runtime/duck_config.py | 0 .../mini_bdx_runtime/eyes.py | 0 .../mini_bdx_runtime/feet_contacts.py | 0 .../mini_bdx_runtime/imu.py | 0 .../mini_bdx_runtime/onnx_infer.py | 0 .../mini_bdx_runtime/poly_reference_motion.py | 0 .../mini_bdx_runtime/projector.py | 0 .../mini_bdx_runtime/raw_imu.py | 0 .../mini_bdx_runtime/rl_utils.py | 0 .../mini_bdx_runtime/rustypot_position_hwi.py | 0 .../mini_bdx_runtime/sounds.py | 4 +++- .../mini_bdx_runtime/xbox_controller.py | 0 scripts/head_puppet.py | 4 +++- scripts/v2_rl_walk_mujoco.py | 8 ++++++-- setup.cfg | 6 ++++-- 30 files changed, 19 insertions(+), 7 deletions(-) rename {mini_bdx_runtime => mini_bdx_runtime_src}/__init__.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/__init__.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/antennas.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src/mini_bdx_runtime}/assets/beep1.wav (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src/mini_bdx_runtime}/assets/beep2.wav (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src/mini_bdx_runtime}/assets/happy1.wav (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src/mini_bdx_runtime}/assets/happy2.wav (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src/mini_bdx_runtime}/assets/happy3.wav (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src/mini_bdx_runtime}/assets/lamp.wav (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src/mini_bdx_runtime}/assets/lamp2.wav (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src/mini_bdx_runtime}/assets/lamp3.wav (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src/mini_bdx_runtime}/assets/motor.wav (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/buttons.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/camera.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/duck_config.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/eyes.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/feet_contacts.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/imu.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/onnx_infer.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/poly_reference_motion.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/projector.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/raw_imu.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/rl_utils.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/rustypot_position_hwi.py (100%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/sounds.py (92%) rename {mini_bdx_runtime => mini_bdx_runtime_src}/mini_bdx_runtime/xbox_controller.py (100%) diff --git a/.gitignore b/.gitignore index fdd9cb1..2798d1f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ __pycache__/ -mini_bdx_runtime.egg-info/ \ No newline at end of file +mini_bdx_runtime.egg-info/ +build +dist \ No newline at end of file diff --git a/mini_bdx_runtime/__init__.py b/mini_bdx_runtime_src/__init__.py similarity index 100% rename from mini_bdx_runtime/__init__.py rename to mini_bdx_runtime_src/__init__.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/__init__.py b/mini_bdx_runtime_src/mini_bdx_runtime/__init__.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/__init__.py rename to mini_bdx_runtime_src/mini_bdx_runtime/__init__.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/antennas.py b/mini_bdx_runtime_src/mini_bdx_runtime/antennas.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/antennas.py rename to mini_bdx_runtime_src/mini_bdx_runtime/antennas.py diff --git a/mini_bdx_runtime/assets/beep1.wav b/mini_bdx_runtime_src/mini_bdx_runtime/assets/beep1.wav similarity index 100% rename from mini_bdx_runtime/assets/beep1.wav rename to mini_bdx_runtime_src/mini_bdx_runtime/assets/beep1.wav diff --git a/mini_bdx_runtime/assets/beep2.wav b/mini_bdx_runtime_src/mini_bdx_runtime/assets/beep2.wav similarity index 100% rename from mini_bdx_runtime/assets/beep2.wav rename to mini_bdx_runtime_src/mini_bdx_runtime/assets/beep2.wav diff --git a/mini_bdx_runtime/assets/happy1.wav b/mini_bdx_runtime_src/mini_bdx_runtime/assets/happy1.wav similarity index 100% rename from mini_bdx_runtime/assets/happy1.wav rename to mini_bdx_runtime_src/mini_bdx_runtime/assets/happy1.wav diff --git a/mini_bdx_runtime/assets/happy2.wav b/mini_bdx_runtime_src/mini_bdx_runtime/assets/happy2.wav similarity index 100% rename from mini_bdx_runtime/assets/happy2.wav rename to mini_bdx_runtime_src/mini_bdx_runtime/assets/happy2.wav diff --git a/mini_bdx_runtime/assets/happy3.wav b/mini_bdx_runtime_src/mini_bdx_runtime/assets/happy3.wav similarity index 100% rename from mini_bdx_runtime/assets/happy3.wav rename to mini_bdx_runtime_src/mini_bdx_runtime/assets/happy3.wav diff --git a/mini_bdx_runtime/assets/lamp.wav b/mini_bdx_runtime_src/mini_bdx_runtime/assets/lamp.wav similarity index 100% rename from mini_bdx_runtime/assets/lamp.wav rename to mini_bdx_runtime_src/mini_bdx_runtime/assets/lamp.wav diff --git a/mini_bdx_runtime/assets/lamp2.wav b/mini_bdx_runtime_src/mini_bdx_runtime/assets/lamp2.wav similarity index 100% rename from mini_bdx_runtime/assets/lamp2.wav rename to mini_bdx_runtime_src/mini_bdx_runtime/assets/lamp2.wav diff --git a/mini_bdx_runtime/assets/lamp3.wav b/mini_bdx_runtime_src/mini_bdx_runtime/assets/lamp3.wav similarity index 100% rename from mini_bdx_runtime/assets/lamp3.wav rename to mini_bdx_runtime_src/mini_bdx_runtime/assets/lamp3.wav diff --git a/mini_bdx_runtime/assets/motor.wav b/mini_bdx_runtime_src/mini_bdx_runtime/assets/motor.wav similarity index 100% rename from mini_bdx_runtime/assets/motor.wav rename to mini_bdx_runtime_src/mini_bdx_runtime/assets/motor.wav diff --git a/mini_bdx_runtime/mini_bdx_runtime/buttons.py b/mini_bdx_runtime_src/mini_bdx_runtime/buttons.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/buttons.py rename to mini_bdx_runtime_src/mini_bdx_runtime/buttons.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/camera.py b/mini_bdx_runtime_src/mini_bdx_runtime/camera.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/camera.py rename to mini_bdx_runtime_src/mini_bdx_runtime/camera.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/duck_config.py b/mini_bdx_runtime_src/mini_bdx_runtime/duck_config.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/duck_config.py rename to mini_bdx_runtime_src/mini_bdx_runtime/duck_config.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/eyes.py b/mini_bdx_runtime_src/mini_bdx_runtime/eyes.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/eyes.py rename to mini_bdx_runtime_src/mini_bdx_runtime/eyes.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/feet_contacts.py b/mini_bdx_runtime_src/mini_bdx_runtime/feet_contacts.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/feet_contacts.py rename to mini_bdx_runtime_src/mini_bdx_runtime/feet_contacts.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/imu.py b/mini_bdx_runtime_src/mini_bdx_runtime/imu.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/imu.py rename to mini_bdx_runtime_src/mini_bdx_runtime/imu.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/onnx_infer.py b/mini_bdx_runtime_src/mini_bdx_runtime/onnx_infer.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/onnx_infer.py rename to mini_bdx_runtime_src/mini_bdx_runtime/onnx_infer.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/poly_reference_motion.py b/mini_bdx_runtime_src/mini_bdx_runtime/poly_reference_motion.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/poly_reference_motion.py rename to mini_bdx_runtime_src/mini_bdx_runtime/poly_reference_motion.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/projector.py b/mini_bdx_runtime_src/mini_bdx_runtime/projector.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/projector.py rename to mini_bdx_runtime_src/mini_bdx_runtime/projector.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/raw_imu.py b/mini_bdx_runtime_src/mini_bdx_runtime/raw_imu.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/raw_imu.py rename to mini_bdx_runtime_src/mini_bdx_runtime/raw_imu.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/rl_utils.py b/mini_bdx_runtime_src/mini_bdx_runtime/rl_utils.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/rl_utils.py rename to mini_bdx_runtime_src/mini_bdx_runtime/rl_utils.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/rustypot_position_hwi.py b/mini_bdx_runtime_src/mini_bdx_runtime/rustypot_position_hwi.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/rustypot_position_hwi.py rename to mini_bdx_runtime_src/mini_bdx_runtime/rustypot_position_hwi.py diff --git a/mini_bdx_runtime/mini_bdx_runtime/sounds.py b/mini_bdx_runtime_src/mini_bdx_runtime/sounds.py similarity index 92% rename from mini_bdx_runtime/mini_bdx_runtime/sounds.py rename to mini_bdx_runtime_src/mini_bdx_runtime/sounds.py index 7cc1e3a..441b459 100644 --- a/mini_bdx_runtime/mini_bdx_runtime/sounds.py +++ b/mini_bdx_runtime_src/mini_bdx_runtime/sounds.py @@ -2,6 +2,7 @@ import pygame import time import os import random +from importlib.resources import files class Sounds: @@ -50,7 +51,8 @@ class Sounds: # Example usage if __name__ == "__main__": - sound_player = Sounds(1.0, "../assets/") + assets_dir = files("mini_bdx_runtime") / "assets" + sound_player = Sounds(1.0, assets_dir.__str__()) time.sleep(1) while True: # sound_player.play_random_sound() diff --git a/mini_bdx_runtime/mini_bdx_runtime/xbox_controller.py b/mini_bdx_runtime_src/mini_bdx_runtime/xbox_controller.py similarity index 100% rename from mini_bdx_runtime/mini_bdx_runtime/xbox_controller.py rename to mini_bdx_runtime_src/mini_bdx_runtime/xbox_controller.py diff --git a/scripts/head_puppet.py b/scripts/head_puppet.py index 4df65b0..da5afef 100644 --- a/scripts/head_puppet.py +++ b/scripts/head_puppet.py @@ -19,7 +19,9 @@ duck_config = DuckConfig() xbox_controller = XBoxController(50, only_head_control=True) if duck_config.speaker: - sounds = Sounds(volume=1.0, sound_directory="../mini_bdx_runtime/assets/") + from importlib.resources import files + assets_dir = files("mini_bdx_runtime") / "assets" + sounds = Sounds(volume=1.0, sound_directory=assets_dir.__str__()) if duck_config.antennas: antennas = Antennas() if duck_config.eyes: diff --git a/scripts/v2_rl_walk_mujoco.py b/scripts/v2_rl_walk_mujoco.py index 66aa40b..c8559c8 100644 --- a/scripts/v2_rl_walk_mujoco.py +++ b/scripts/v2_rl_walk_mujoco.py @@ -100,7 +100,9 @@ class RLWalk: # Reference motion, but we only really need the length of one phase # TODO - self.PRM = PolyReferenceMotion("./polynomial_coefficients.pkl") + from pathlib import Path + polynomial_coefficients = Path(__file__).parent / "polynomial_coefficients.pkl" + self.PRM = PolyReferenceMotion(polynomial_coefficients.as_posix()) self.imitation_i = 0 self.imitation_phase = np.array([0, 0]) self.phase_frequency_factor = 1.0 @@ -114,8 +116,10 @@ class RLWalk: if self.duck_config.projector: self.projector = Projector() if self.duck_config.speaker: + from importlib.resources import files + assets_dir = files("mini_bdx_runtime") / "assets" self.sounds = Sounds( - volume=1.0, sound_directory="../mini_bdx_runtime/assets/" + volume=1.0, sound_directory=assets_dir.__str__() ) if self.duck_config.antennas: self.antennas = Antennas() diff --git a/setup.cfg b/setup.cfg index 0eb07fa..198aba2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -14,7 +14,7 @@ packages = find: zip_safe = True include_package_data = True package_dir= - =mini_bdx_runtime + =mini_bdx_runtime_src install_requires = rustypot==0.1.0 onnxruntime==1.18.1 @@ -28,9 +28,11 @@ install_requires = # adafruit_extended_bus [options.packages.find] -where=mini_bdx_runtime +where=mini_bdx_runtime_src [options.package_data] +mini_bdx_runtime = + assets/*.wav [options.extras_require]