feat: huoyi M20 smooth/bridge training and stability docs
Current code snapshot: smooth/bridge task configs, smooth random terrain, roll/pitch stability rewards, M20 URDF updates, eval profile and stability training documentation.
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
BSD 3-Clause License
|
||||
|
||||
Copyright (c) 2024, DeepRoboticsLab
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"source_dir": "/home/ycpy/huangweifeng/hwf_workspace/rl_training_huoyi/rl_training/deep_robotics_model/M20/M20_urdf/meshes_solenopsis",
|
||||
"grid_mm": 2.0,
|
||||
"maximum_vertex_displacement_mm": 1.7320508075688772,
|
||||
"source_faces": 2146372,
|
||||
"optimized_faces": 234820,
|
||||
"source_bytes": 107319356,
|
||||
"optimized_bytes": 11741756,
|
||||
"meshes": [
|
||||
{
|
||||
"file": "base_link.STL",
|
||||
"source_vertices": 568586,
|
||||
"source_faces": 1140292,
|
||||
"optimized_vertices": 35724,
|
||||
"optimized_faces": 86170,
|
||||
"source_bytes": 57014684,
|
||||
"optimized_bytes": 4308584
|
||||
},
|
||||
{
|
||||
"file": "fl_knee.STL",
|
||||
"source_vertices": 54172,
|
||||
"source_faces": 108311,
|
||||
"optimized_vertices": 6368,
|
||||
"optimized_faces": 14405,
|
||||
"source_bytes": 5415634,
|
||||
"optimized_bytes": 720334
|
||||
},
|
||||
{
|
||||
"file": "fl_wheel.STL",
|
||||
"source_vertices": 71661,
|
||||
"source_faces": 143210,
|
||||
"optimized_vertices": 11121,
|
||||
"optimized_faces": 22793,
|
||||
"source_bytes": 7160584,
|
||||
"optimized_bytes": 1139734
|
||||
},
|
||||
{
|
||||
"file": "fr_knee.STL",
|
||||
"source_vertices": 54172,
|
||||
"source_faces": 108311,
|
||||
"optimized_vertices": 6363,
|
||||
"optimized_faces": 14398,
|
||||
"source_bytes": 5415634,
|
||||
"optimized_bytes": 719984
|
||||
},
|
||||
{
|
||||
"file": "fr_wheel.STL",
|
||||
"source_vertices": 71668,
|
||||
"source_faces": 143224,
|
||||
"optimized_vertices": 11122,
|
||||
"optimized_faces": 22796,
|
||||
"source_bytes": 7161284,
|
||||
"optimized_bytes": 1139884
|
||||
},
|
||||
{
|
||||
"file": "hl_knee.STL",
|
||||
"source_vertices": 54172,
|
||||
"source_faces": 108311,
|
||||
"optimized_vertices": 6340,
|
||||
"optimized_faces": 14346,
|
||||
"source_bytes": 5415634,
|
||||
"optimized_bytes": 717384
|
||||
},
|
||||
{
|
||||
"file": "hl_wheel.STL",
|
||||
"source_vertices": 71660,
|
||||
"source_faces": 143208,
|
||||
"optimized_vertices": 11120,
|
||||
"optimized_faces": 22790,
|
||||
"source_bytes": 7160484,
|
||||
"optimized_bytes": 1139584
|
||||
},
|
||||
{
|
||||
"file": "hr_knee.STL",
|
||||
"source_vertices": 54172,
|
||||
"source_faces": 108311,
|
||||
"optimized_vertices": 6331,
|
||||
"optimized_faces": 14331,
|
||||
"source_bytes": 5415634,
|
||||
"optimized_bytes": 716634
|
||||
},
|
||||
{
|
||||
"file": "hr_wheel.STL",
|
||||
"source_vertices": 71653,
|
||||
"source_faces": 143194,
|
||||
"optimized_vertices": 11121,
|
||||
"optimized_faces": 22791,
|
||||
"source_bytes": 7159784,
|
||||
"optimized_bytes": 1139634
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,292 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Solenopsis fire-ant, generated from the 2026 SolidWorks STEP assembly.
|
||||
|
||||
Units: metre, kilogram, radian, kg*m^2.
|
||||
Coordinate conversion: (x,y,z)_URDF = (z,x,y)_SolidWorks.
|
||||
All inertia tensors are about each rigid body's own centre of mass.
|
||||
|
||||
Visual geometry uses the STEP-derived STL files in
|
||||
../meshes_solenopsis_visual at a millimetre-to-metre scale of 0.001.
|
||||
Collision geometry remains primitive boxes and cylinders.
|
||||
|
||||
The 0.127 kg gap between the supplied rigid-group masses and the supplied
|
||||
whole-robot mass is lumped into base_link at the reported base COM. Thus
|
||||
base mass is 17.274 + 0.127 = 17.401 kg, while its reported COM and inertia
|
||||
tensor are unchanged. No spatial distribution is invented for that mass.
|
||||
-->
|
||||
<robot name="Solenopsis_fire_ant">
|
||||
|
||||
<link name="base_link">
|
||||
<inertial>
|
||||
<origin xyz="-0.000072 0.000171 0.076892" rpy="0 0 0"/>
|
||||
<mass value="15.84"/>
|
||||
<inertia ixx="0.121947189" ixy="-0.000666758" ixz="0.000143011"
|
||||
iyy="0.331070194" iyz="0.000150561" izz="0.410284855"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<geometry>
|
||||
<mesh filename="../meshes_solenopsis_visual/base_link.STL" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.0788" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.706 0.310 0.1714"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<!-- Front-left. Left-link tensors use the exact proper rotation
|
||||
(x,y,z)_link = (-z,-x,y)_SolidWorks-module. -->
|
||||
<link name="fl_knee">
|
||||
<inertial>
|
||||
<origin xyz="-0.000040 -0.001088 -0.158988" rpy="0 0 0"/>
|
||||
<mass value="0.885"/>
|
||||
<inertia ixx="0.013089177" ixy="0.000002705" ixz="0.000004495"
|
||||
iyy="0.013409459" iyz="-0.000242701" izz="0.000443796"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<geometry>
|
||||
<mesh filename="../meshes_solenopsis_visual/fl_knee.STL" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 -0.0005 -0.15575" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.088 0.031 0.3765"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision>
|
||||
<origin xyz="0 -0.02625 0" rpy="1.570796326795 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.0205" radius="0.01995"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="fl_knee_joint" type="revolute">
|
||||
<origin xyz="0.117577164466 0.167 0.070" rpy="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="fl_knee"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<limit lower="-2.792" upper="2.809" effort="75.0" velocity="17.8024"/>
|
||||
</joint>
|
||||
|
||||
<link name="fl_wheel">
|
||||
<inertial>
|
||||
<origin xyz="-0.000002 0.064 -0.000009" rpy="0 0 0"/>
|
||||
<mass value="1.340"/>
|
||||
<inertia ixx="0.004085980" ixy="0.000000178" ixz="-0.000000095"
|
||||
iyy="0.007221854" iyz="0.000000526" izz="0.004086529"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<geometry>
|
||||
<mesh filename="../meshes_solenopsis_visual/fl_wheel.STL" scale="0.001122449 0.001428571 0.001122449"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0.064 0" rpy="1.570796326795 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.12" radius="0.11"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="fl_wheel_joint" type="continuous">
|
||||
<origin xyz="0 0 -0.300" rpy="0 0 0"/>
|
||||
<parent link="fl_knee"/>
|
||||
<child link="fl_wheel"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<limit effort="28.68" velocity="109.956"/>
|
||||
</joint>
|
||||
|
||||
<!-- Front-right. Right-link tensors use the exact proper rotation
|
||||
(x,y,z)_link = (z,x,y)_SolidWorks-module. -->
|
||||
<link name="fr_knee">
|
||||
<inertial>
|
||||
<origin xyz="0.000040 0.001088 -0.158988" rpy="0 0 0"/>
|
||||
<mass value="0.885"/>
|
||||
<inertia ixx="0.013089177" ixy="0.000002705" ixz="-0.000004495"
|
||||
iyy="0.013409459" iyz="0.000242701" izz="0.000443796"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<geometry>
|
||||
<mesh filename="../meshes_solenopsis_visual/fr_knee.STL" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0.0005 -0.15575" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.088 0.031 0.3765"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision>
|
||||
<origin xyz="0 0.02625 0" rpy="1.570796326795 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.0205" radius="0.01995"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="fr_knee_joint" type="revolute">
|
||||
<origin xyz="0.117577164466 -0.167 0.070" rpy="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="fr_knee"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<limit lower="-2.792" upper="2.809" effort="75.0" velocity="17.8024"/>
|
||||
</joint>
|
||||
|
||||
<link name="fr_wheel">
|
||||
<inertial>
|
||||
<origin xyz="0.000002 -0.064 -0.000009" rpy="0 0 0"/>
|
||||
<mass value="1.340"/>
|
||||
<inertia ixx="0.004085980" ixy="0.000000178" ixz="0.000000095"
|
||||
iyy="0.007221854" iyz="-0.000000526" izz="0.004086529"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<geometry>
|
||||
<mesh filename="../meshes_solenopsis_visual/fr_wheel.STL" scale="0.001122449 0.001428571 0.001122449"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 -0.064 0" rpy="1.570796326795 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.12" radius="0.11"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="fr_wheel_joint" type="continuous">
|
||||
<origin xyz="0 0 -0.300" rpy="0 0 0"/>
|
||||
<parent link="fr_knee"/>
|
||||
<child link="fr_wheel"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<limit effort="28.68" velocity="109.956"/>
|
||||
</joint>
|
||||
|
||||
<link name="hl_knee">
|
||||
<inertial>
|
||||
<origin xyz="-0.000040 -0.001088 -0.158988" rpy="0 0 0"/>
|
||||
<mass value="0.885"/>
|
||||
<inertia ixx="0.013089177" ixy="0.000002705" ixz="0.000004495"
|
||||
iyy="0.013409459" iyz="-0.000242701" izz="0.000443796"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<geometry>
|
||||
<mesh filename="../meshes_solenopsis_visual/hl_knee.STL" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 -0.0005 -0.15575" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.088 0.031 0.3765"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision>
|
||||
<origin xyz="0 -0.02625 0" rpy="1.570796326795 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.0205" radius="0.01995"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="hl_knee_joint" type="revolute">
|
||||
<origin xyz="-0.117577164466 0.167 0.070" rpy="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="hl_knee"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<limit lower="-2.809" upper="2.792" effort="75.0" velocity="17.8024"/>
|
||||
</joint>
|
||||
|
||||
<link name="hl_wheel">
|
||||
<inertial>
|
||||
<origin xyz="-0.000002 0.064 -0.000009" rpy="0 0 0"/>
|
||||
<mass value="1.340"/>
|
||||
<inertia ixx="0.004085980" ixy="0.000000178" ixz="-0.000000095"
|
||||
iyy="0.007221854" iyz="0.000000526" izz="0.004086529"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<geometry>
|
||||
<mesh filename="../meshes_solenopsis_visual/hl_wheel.STL" scale="0.001122449 0.001428571 0.001122449"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0.064 0" rpy="1.570796326795 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.12" radius="0.11"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="hl_wheel_joint" type="continuous">
|
||||
<origin xyz="0 0 -0.300" rpy="0 0 0"/>
|
||||
<parent link="hl_knee"/>
|
||||
<child link="hl_wheel"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<limit effort="28.68" velocity="109.956"/>
|
||||
</joint>
|
||||
|
||||
<link name="hr_knee">
|
||||
<inertial>
|
||||
<origin xyz="0.000040 0.001088 -0.158988" rpy="0 0 0"/>
|
||||
<mass value="0.885"/>
|
||||
<inertia ixx="0.013089177" ixy="0.000002705" ixz="-0.000004495"
|
||||
iyy="0.013409459" iyz="0.000242701" izz="0.000443796"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<geometry>
|
||||
<mesh filename="../meshes_solenopsis_visual/hr_knee.STL" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0.0005 -0.15575" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.088 0.031 0.3765"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision>
|
||||
<origin xyz="0 0.02625 0" rpy="1.570796326795 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.0205" radius="0.01995"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="hr_knee_joint" type="revolute">
|
||||
<origin xyz="-0.117577164466 -0.167 0.070" rpy="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="hr_knee"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<limit lower="-2.809" upper="2.792" effort="75.0" velocity="17.8024"/>
|
||||
</joint>
|
||||
|
||||
<link name="hr_wheel">
|
||||
<inertial>
|
||||
<origin xyz="0.000002 -0.064 -0.000009" rpy="0 0 0"/>
|
||||
<mass value="1.340"/>
|
||||
<inertia ixx="0.004085980" ixy="0.000000178" ixz="0.000000095"
|
||||
iyy="0.007221854" iyz="-0.000000526" izz="0.004086529"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<geometry>
|
||||
<mesh filename="../meshes_solenopsis_visual/hr_wheel.STL" scale="0.001122449 0.001428571 0.001122449"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 -0.064 0" rpy="1.570796326795 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.12" radius="0.11"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="hr_wheel_joint" type="continuous">
|
||||
<origin xyz="0 0 -0.300" rpy="0 0 0"/>
|
||||
<parent link="hr_knee"/>
|
||||
<child link="hr_wheel"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<limit effort="28.68" velocity="109.956"/>
|
||||
</joint>
|
||||
|
||||
</robot>
|
||||
@@ -0,0 +1,18 @@
|
||||
# Robot Models Repository
|
||||
|
||||
This repository contains 3D models for three Deep Robotics robots: **Lite3**, **M20**, and **X30**. Each model is provided in MJCF, URDF, and USD formats. To visualize the model and do some measuring, I recommend using this [tool](https://viewer.robotsfan.com/). Just drag your folder to the web page and you can see everything.
|
||||
|
||||
<span style="color: red;">**Note**</span>: This repository only contains low resolution files. To download the high resolution files, please use [this link](https://drive.google.com/drive/folders/1EOELXUYSBPEJeD0rUIkJxnlLMDr6IHBV?usp=sharing)
|
||||
|
||||
|
||||
## Model Overview
|
||||
**Note**: High resolution models are good for new simulators like isaaclab/isaacsim but old simulators like pybullet cannot open files this big.
|
||||
| Robot Model | High Resolution Image | Low Resolution Image |
|
||||
|:-----------:|:---------------------:|:--------------------:|
|
||||
| **Lite3** | <img src="./images/lite3_high_res.png" width="200" /><br>Lite3/Lite3_urdf/urdf/Lite3_high_res.urdf | <img src="./images/lite3.png" width="200" /><br>Lite3/Lite3_urdf/urdf/Lite3.urdf |
|
||||
| **X30** | <img src="./images/x30_high_res.png" width="200" /><br>X30/X30_urdf/urdf/X30_high_res.urdf | <img src="./images/x30.png" width="200" /><br>X30/X30_urdf/urdf/X30.urdf |
|
||||
| **M20** | <img src="./images/m20_high_res.png" width="200" /><br>M20/M20_urdf/urdf/M20_high_res.urdf | <img src="./images/m20.png" width="200" /><br>M20/M20_urdf/urdf/M20.urdf |
|
||||
|
||||
## Contributors
|
||||
See the [Contributors](Contributors.md) page for a list of contributors.
|
||||
|
||||
Reference in New Issue
Block a user