diff --git a/out.wav b/out.wav deleted file mode 100644 index 7cc685782..000000000 Binary files a/out.wav and /dev/null differ diff --git a/replay_working.py b/replay_working.py deleted file mode 100644 index 9cc35efac..000000000 --- a/replay_working.py +++ /dev/null @@ -1,90 +0,0 @@ -"""' -Refer to: lerobot/lerobot/scripts/eval.py - lerobot/lerobot/scripts/econtrol_robot.py - lerobot/robot_devices/control_utils.py -""" - -import time -import numpy as np -import cv2 -from multiprocessing.sharedctypes import SynchronizedArray -from lerobot.configs import parser -from lerobot.datasets.lerobot_dataset import LeRobotDataset -from lerobot.robots.unitree_g1.eval_robot.make_robot import ( - setup_image_client, - setup_robot_interface, - process_images_and_observations, -) -from lerobot.robots.unitree_g1.eval_robot.utils.utils import cleanup_resources, EvalRealConfig - -from lerobot.robots.unitree_g1.eval_robot.utils.rerun_visualizer import RerunLogger, visualization_data -from lerobot.robots.unitree_g1.eval_robot.utils.utils import to_list, to_scalar -from lerobot.robots.unitree_g1.eval_robot.robot_control.robot_arm_test import ( - G1_29_ArmController, G1_29_JointIndex -) -import logging_mp -from lerobot.robots.unitree_g1.eval_robot.robot_control.robot_arm_ik import G1_29_ArmIK - -logging_mp.basic_config(level=logging_mp.INFO) -logger_mp = logging_mp.get_logger(__name__) - - -def replay_main(): - - #damp needs to be on? do i start the robot as well - - arm_ik = G1_29_ArmIK() - arm_ctrl = G1_29_ArmController(motion_mode=False, simulation_mode=False)#motors move here upon init. there's a bug where when closing python the motors die - #arm_ctrl.ctrl_dual_arm_go_home() - dataset = LeRobotDataset(repo_id='nepyope/unitree_box_push_30fps_actions_fix', root="", episodes=[0]) - actions = dataset.hf_dataset.select_columns("action") - print(actions) - episode_idx = 0 - episode_info = dataset.meta.episodes[episode_idx] - - from_idx = episode_info["dataset_from_index"] - to_idx = episode_info["dataset_to_index"] - step = dataset[from_idx] - init_left_arm_pose = step["observation.state"][:14].cpu().numpy() - print(init_left_arm_pose) - exit() - tau = arm_ik.solve_tau(init_left_arm_pose) - #arm_ctrl.ctrl_dual_arm(init_left_arm_pose, tau) - print('ok') - - # Create config object for image client - import argparse - cfg = argparse.Namespace( - sim=False, # Real robot (not simulation) - arm="G1_29", - ee="dex3", - motion=False - ) - - #replay actions from the dataset - for idx in range(dataset.num_frames): - - arm_joint_indices = set(range(15, 29)) # 15–28 are arms - for jid in G1_29_JointIndex: - if jid.value not in arm_joint_indices: - arm_ctrl.msg.motor_cmd[jid].mode = 1 - arm_ctrl.msg.motor_cmd[jid].q = 0.0 - arm_ctrl.msg.motor_cmd[jid].dq = 0.0 - arm_ctrl.msg.motor_cmd[jid].tau = 0.0 - loop_start_time = time.perf_counter() - - action_np = actions[idx]["action"].numpy() - - # exec action - arm_action = action_np[:14] - tau = arm_ik.solve_tau(arm_action) - arm_ctrl.ctrl_dual_arm(arm_action, tau) - logger_mp.info(f"arm_action {arm_action}, tau {tau}") - - # Maintain frequency - time.sleep(max(0, (1.0 / 30) - (time.perf_counter() - loop_start_time))) - - #some thread issue idk motion_mode true gets rid of the shakes motion mode - -if __name__ == "__main__": - replay_main() diff --git a/test_cool_config.json b/test_cool_config.json deleted file mode 100644 index 1ee91de98..000000000 --- a/test_cool_config.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "glove": { - "base_class": "lerobot.teleoperators.homunculus.homunculus_glove.HomunculusGlove", - "port": "/dev/ttyACM0", - "id": "unitree_glove_test", - "side": "right", - "baud_rate": 115200, - "robot_actions": { - "kRightShoulderPitch.pos": { - "source": "teleop", - "joint": "index_mcp_flexion" - }, - "kRightShoulderRoll.pos": { - "source": "neutral", - "value": 0.5 - }, - "kRightShoulderYaw.pos": { - "source": "teleop", - "joint": "thumb_cmc" - }, - "kRightElbow.pos": { - "source": "teleop", - "joint": "middle_mcp_flexion", - "invert": true - }, - "kRightWristRoll.pos": { - "source": "teleop", - "joint": "middle_dip" - }, - "kRightWristPitch.pos": { - "source": "neutral", - "value": 0.5 - }, - "kRightWristYaw.pos": { - "source": "neutral", - "value": 0.5 - }, - "kLeftShoulderPitch.pos": { - "source": "teleop", - "joint": "pinky_mcp_flexion" - }, - "kLeftShoulderRoll.pos": { - "source": "neutral", - "value": 0.5 - }, - "kLeftShoulderYaw.pos": { - "source": "teleop", - "joint": "thumb_cmc", - "invert": true - }, - "kLeftElbow.pos": { - "source": "teleop", - "joint": "ring_mcp_flexion", - "invert": true - }, - "kLeftWristRoll.pos": { - "source": "teleop", - "joint": "ring_dip" - }, - "kLeftWristPitch.pos": { - "source": "neutral", - "value": 0.5 - }, - "kLeftWristyaw.pos": { - "source": "neutral", - "value": 0.5 - } - } - } -} - diff --git a/test_dance_minimal.py b/test_dance_minimal.py deleted file mode 100644 index dbbbf4eb2..000000000 --- a/test_dance_minimal.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python -"""Minimal test script for dance_102 motion imitation.""" - -import sys -from pathlib import Path -import time -sys.path.insert(0, str(Path(__file__).parent / "src")) - -from lerobot.robots.unitree_g1.config_unitree_g1 import UnitreeG1Config -from lerobot.robots.unitree_g1.unitree_g1 import UnitreeG1 - -config = UnitreeG1Config( - motion_imitation_control=True, # Enable motion imitation (dance) - simulation_mode=False -) - -robot = UnitreeG1(config) - -# Keep alive -try: - print("\n" + "="*60) - print("Dance_102 Motion Imitation Running!") - print(f"Motion duration: {robot.motion_loader.duration:.2f}s") - print("The robot will loop the dance motion") - print("Press Ctrl+C to stop") - print("="*60 + "\n") - - while True: - time.sleep(1.0) - # Print progress every second - if robot.motion_loader: - progress = (robot.motion_loader.current_time / robot.motion_loader.duration) * 100 - print(f"Progress: {progress:.1f}% - Time: {robot.motion_loader.current_time:.2f}s / {robot.motion_loader.duration:.2f}s") -except KeyboardInterrupt: - print("\nStopping dance...") - robot.stop_motion_imitation_thread() - print("Dance stopped!") - diff --git a/test_locomotion_minimal.py b/test_locomotion_minimal.py deleted file mode 100644 index 367fd879a..000000000 --- a/test_locomotion_minimal.py +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env python -"""Minimal test script - just initialize robot with locomotion.""" - -import sys -from pathlib import Path -import time -sys.path.insert(0, str(Path(__file__).parent / "src")) - -from lerobot.robots.unitree_g1.config_unitree_g1 import UnitreeG1Config -from lerobot.robots.unitree_g1.unitree_g1 import UnitreeG1 - -config = UnitreeG1Config(locomotion_control=True, simulation_mode=True -, policy_path="src/lerobot/robots/unitree_g1/assets/g1/locomotion/GR00T-WholeBodyControl-Walk-converted.onnx") -#, policy_path="src/lerobot/robots/unitree_g1/assets/g1/locomotion/motion.pt") -# dance 102 -robot = UnitreeG1(config) -# Keep alive -try: - while True: - time.sleep(1.0) -except KeyboardInterrupt: - robot.stop_locomotion_thread() - - diff --git a/zmq_cameras_example.json b/zmq_cameras_example.json deleted file mode 100644 index 1ca314f80..000000000 --- a/zmq_cameras_example.json +++ /dev/null @@ -1,13 +0,0 @@ -[ - { - "name": "unitree_g1_head", - "address": "192.168.123.164", - "port": 5554 - }, - { - "name": "lab_camera_1", - "address": "10.0.0.100", - "port": 5555 - } -] -