From b0a0ec7095c1bc57ded3a2a40fb76348c5b2ddd9 Mon Sep 17 00:00:00 2001 From: lupinjia Date: Thu, 26 Dec 2024 13:56:42 +0800 Subject: [PATCH] update readme --- README.md | 3 +++ test_resources/terrain_demo.gif | Bin 0 -> 22712 bytes 2 files changed, 3 insertions(+) create mode 100644 test_resources/terrain_demo.gif diff --git a/README.md b/README.md index 8f5ec27..b24bdfd 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,9 @@ A [legged_gym](https://github.com/leggedrobotics/legged_gym) based framework for 2024/12/26 - add terrain support, optional terrain type: ["plane", "heightfield"]. + + ![](./test_resources/terrain_demo.gif) + - move test results to [tests.md](./test_resources/tests.md) diff --git a/test_resources/terrain_demo.gif b/test_resources/terrain_demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..d678bb049474b5f898338af6482b9024b1ee7b97 GIT binary patch literal 22712 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 bj?DAB!{`2M=Yiz&U~Nr{TsQ>hy#k0+hK literal 0 HcmV?d00001