Update README

This commit is contained in:
wty-yy
2026-02-09 22:44:57 +08:00
parent 004304b8b7
commit ffce10c31a
6 changed files with 16 additions and 12 deletions

View File

@@ -149,7 +149,7 @@ Press `start` to stand and `A` to engage the controller.
#### 4.2 C++ Deployment #### 4.2 C++ Deployment
Follow the usage described in [unitree_cpp_deploy](https://github.com/wty-yy-mini/unitree_cpp_deploy). Follow the usage described in [unitree_cpp_deploy](https://github.com/wty-yy/unitree_cpp_deploy).
#### Demonstration #### Demonstration

View File

@@ -149,7 +149,7 @@ python deploy_real_go2.py eth0
#### 4.2 C++实物部署 #### 4.2 C++实物部署
参考[unitree_cpp_deploy](https://github.com/wty-yy-mini/unitree_cpp_deploy)使用说明。 参考[unitree_cpp_deploy](https://github.com/wty-yy/unitree_cpp_deploy)使用说明。
#### 运行效果 #### 运行效果

5
cmd.md
View File

@@ -3,8 +3,11 @@
python legged_gym/scripts/train.py --task=go2 --num_envs 4096 --headless python legged_gym/scripts/train.py --task=go2 --num_envs 4096 --headless
python legged_gym/scripts/train.py --task=go2 --num_envs 128 --resume --load_run Nov13_11-14-22_wave_slope_rough_slope python legged_gym/scripts/train.py --task=go2 --num_envs 128 --resume --load_run Nov13_11-14-22_wave_slope_rough_slope
python legged_gym/scripts/train.py --task=go2 --num_envs 8 # DEBUG python legged_gym/scripts/train.py --task=go2 --num_envs 8 # DEBUG
python legged_gym/scripts/train.py --task=go2 --num_envs 4090 --headless --robogauge # Sim2Sim Evaluation
# CTS # CTS
python legged_gym/scripts/train.py --task=go2_cts --num_envs 8096 --headless python legged_gym/scripts/train.py --task=go2_cts --num_envs 8096 --headless --robogauge
# MoE CTS
python legged_gym/scripts/train.py --task=go2_moe_cts --num_envs 8096 --headless --robogauge
``` ```
## Play ## Play
```bash ```bash

View File

@@ -130,7 +130,7 @@ pip install -e .
#### 2.5.3 Install unitree_cpp_deploy (Choose for C++ Deployment) #### 2.5.3 Install unitree_cpp_deploy (Choose for C++ Deployment)
We use a modified C++ deployment repository based on `unitree_rl_lab`, specifically designed for deploying models trained in this repository. See [unitree_cpp_deploy](https://github.com/wty-yy-mini/unitree_cpp_deploy). We use a modified C++ deployment repository based on `unitree_rl_lab`, specifically designed for deploying models trained in this repository. See [unitree_cpp_deploy](https://github.com/wty-yy/unitree_cpp_deploy).
### 2.6 RoboGauge Evaluation (Optional) ### 2.6 RoboGauge Evaluation (Optional)

View File

@@ -130,7 +130,7 @@ pip install -e .
### 2.5.3 安装 unitree_cpp_deploy选择用C++部署) ### 2.5.3 安装 unitree_cpp_deploy选择用C++部署)
我们基于unitree_rl_lab修改的C++部署仓库,专门用于部署本仓库训练的模型 [unitree_cpp_deploy](https://github.com/wty-yy-mini/unitree_cpp_deploy) 我们基于unitree_rl_lab修改的C++部署仓库,专门用于部署本仓库训练的模型 [unitree_cpp_deploy](https://github.com/wty-yy/unitree_cpp_deploy)
### 2.6 RoboGauge评估可选 ### 2.6 RoboGauge评估可选
RoboGauge是一个Mujoco中通过Sim2Sim评估四足机器人性能的项目在训练同时中异步地在cpu上进行评估具体细节参考[README](https://github.com/wty-yy/RoboGauge),安装方法 RoboGauge是一个Mujoco中通过Sim2Sim评估四足机器人性能的项目在训练同时中异步地在cpu上进行评估具体细节参考[README](https://github.com/wty-yy/RoboGauge),安装方法

View File

@@ -26,8 +26,7 @@ BASE_COLUMNS = [
def fast_read(event_file_path, tag_names): def fast_read(event_file_path, tag_names):
loader = event_file_loader.RawEventFileLoader(event_file_path) loader = event_file_loader.RawEventFileLoader(event_file_path)
steps = [] tag_data = defaultdict(dict)
values = []
for raw_event in loader.Load(): for raw_event in loader.Load():
event = event_pb2.Event.FromString(raw_event) event = event_pb2.Event.FromString(raw_event)
@@ -35,10 +34,9 @@ def fast_read(event_file_path, tag_names):
if event.HasField('summary'): if event.HasField('summary'):
for value in event.summary.value: for value in event.summary.value:
if value.tag in tag_names: if value.tag in tag_names:
steps.append(event.step) tag_data[event.step][value.tag] = value.simple_value
values.append(value.simple_value)
return pd.DataFrame({'step': steps, 'value': values}) return pd.DataFrame(tag_data).T
class Collector: class Collector:
def __init__(self, log_dirs): def __init__(self, log_dirs):
@@ -64,7 +62,10 @@ class Collector:
else: else:
start_time = time.time() start_time = time.time()
print(f"Start reading tensorboard events at {time.ctime(start_time)}") print(f"Start reading tensorboard events at {time.ctime(start_time)}")
self.tb_df = fast_read(str(self.log_dirs.glob("events.out.tfevents.*").__next__()), ['Terrain/terrain_level_all', 'Episode/terrain_level_all']) self.tb_df = fast_read(str(self.log_dirs.glob("events.out.tfevents.*").__next__()), [
'Terrain/terrain_level_all', 'Episode/terrain_level_all',
'RoboGauge/benchmark'
])
print(f"Finished reading tensorboard events in {time.time() - start_time:.2f} seconds.") print(f"Finished reading tensorboard events in {time.time() - start_time:.2f} seconds.")
self.tb_df.to_csv(self.output_tb, index=False) self.tb_df.to_csv(self.output_tb, index=False)
print(f"Saved tensorboard data to {self.output_tb}") print(f"Saved tensorboard data to {self.output_tb}")
@@ -118,4 +119,4 @@ if __name__ == '__main__':
parser.add_argument("--log-dirs") parser.add_argument("--log-dirs")
args = parser.parse_args() args = parser.parse_args()
collector = Collector(args.log_dirs) collector = Collector(args.log_dirs)
collector.collect() # collector.collect()