Update README
This commit is contained in:
@@ -149,7 +149,7 @@ Press `start` to stand and `A` to engage the controller.
|
||||
|
||||
#### 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
|
||||
|
||||
|
||||
@@ -149,7 +149,7 @@ python deploy_real_go2.py eth0
|
||||
|
||||
#### 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
5
cmd.md
@@ -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 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 4090 --headless --robogauge # Sim2Sim Evaluation
|
||||
# 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
|
||||
```bash
|
||||
|
||||
@@ -130,7 +130,7 @@ pip install -e .
|
||||
|
||||
#### 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)
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ pip install -e .
|
||||
|
||||
### 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评估(可选)
|
||||
RoboGauge是一个Mujoco中通过Sim2Sim评估四足机器人性能的项目,在训练同时中异步地在cpu上进行评估,具体细节参考[README](https://github.com/wty-yy/RoboGauge),安装方法
|
||||
|
||||
@@ -26,8 +26,7 @@ BASE_COLUMNS = [
|
||||
|
||||
def fast_read(event_file_path, tag_names):
|
||||
loader = event_file_loader.RawEventFileLoader(event_file_path)
|
||||
steps = []
|
||||
values = []
|
||||
tag_data = defaultdict(dict)
|
||||
|
||||
for raw_event in loader.Load():
|
||||
event = event_pb2.Event.FromString(raw_event)
|
||||
@@ -35,10 +34,9 @@ def fast_read(event_file_path, tag_names):
|
||||
if event.HasField('summary'):
|
||||
for value in event.summary.value:
|
||||
if value.tag in tag_names:
|
||||
steps.append(event.step)
|
||||
values.append(value.simple_value)
|
||||
tag_data[event.step][value.tag] = value.simple_value
|
||||
|
||||
return pd.DataFrame({'step': steps, 'value': values})
|
||||
return pd.DataFrame(tag_data).T
|
||||
|
||||
class Collector:
|
||||
def __init__(self, log_dirs):
|
||||
@@ -64,7 +62,10 @@ class Collector:
|
||||
else:
|
||||
start_time = time.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.")
|
||||
self.tb_df.to_csv(self.output_tb, index=False)
|
||||
print(f"Saved tensorboard data to {self.output_tb}")
|
||||
@@ -118,4 +119,4 @@ if __name__ == '__main__':
|
||||
parser.add_argument("--log-dirs")
|
||||
args = parser.parse_args()
|
||||
collector = Collector(args.log_dirs)
|
||||
collector.collect()
|
||||
# collector.collect()
|
||||
|
||||
Reference in New Issue
Block a user