mirror of
https://github.com/wassname/pyrobolearn.git
synced 2026-09-10 12:21:16 +08:00
update anymal
This commit is contained in:
@@ -28,6 +28,9 @@ class ANYmal(QuadrupedRobot):
|
||||
- [2] "Learning agile and dynamic motor skills for legged robots", Hwangbo et al., 2019
|
||||
- [3] www.rsl.ethz.ch/robots-media/anymal.html
|
||||
- [4] www.anybotics.com/anymal
|
||||
- [5] raisimLib: https://github.com/leggedrobotics/raisimLib
|
||||
- [6] raisimOgre - Visualizer for raisim: https://github.com/leggedrobotics/raisimOgre
|
||||
- [7] raisimGym - RL examples using raisim: https://github.com/leggedrobotics/raisimGym
|
||||
"""
|
||||
|
||||
def __init__(self, simulator, position=(0, 0, .6), orientation=(0, 0, 0, 1), fixed_base=False, scale=1.,
|
||||
@@ -62,13 +65,34 @@ class ANYmal(QuadrupedRobot):
|
||||
['LH_HIP', 'LH_THIGH', 'LH_SHANK'],
|
||||
['RH_HIP', 'RH_THIGH', 'RH_SHANK']]]
|
||||
|
||||
self.feet = [self.get_link_ids(link) for link in ['LF_FOOT_MOUNT', 'RF_FOOT_MOUNT', 'LH_FOOT_MOUNT',
|
||||
'RH_FOOT_MOUNT'] if link in self.link_names]
|
||||
# self.feet = [self.get_link_ids(link) for link in ['LF_FOOT_MOUNT', 'RF_FOOT_MOUNT', 'LH_FOOT_MOUNT',
|
||||
# 'RH_FOOT_MOUNT'] if link in self.link_names]
|
||||
self.feet = [self.get_link_ids(link) for link in ['LF_FOOT', 'RF_FOOT', 'LH_FOOT', 'RH_FOOT']
|
||||
if link in self.link_names]
|
||||
|
||||
# taken from "Learning agile and dynamic motor skills for legged robots", Hwangbo et al., 2019
|
||||
self.kp = 50. * np.ones(12)
|
||||
self.kd = 0.1 * np.ones(12)
|
||||
|
||||
# taken from "raisimGym/raisim_gym/env/env/ANYmal/Environment.hpp"
|
||||
self.kp = 40. * np.ones(12)
|
||||
self.kd = 1. * np.ones(12)
|
||||
|
||||
# init configuration
|
||||
self.reset_joint_states(q=[0.03, 0.4, -0.8, -0.03, 0.4, -0.8, 0.03, -0.4, 0.8, -0.03, -0.4, 0.8])
|
||||
|
||||
# some values are taken from "raisimGym/raisim_gym/env/env/ANYmal/Environment.hpp"
|
||||
self.base_height = 0.54
|
||||
self.avg_height = 0.44
|
||||
|
||||
def get_home_joint_positions(self):
|
||||
"""Return the joint positions for the home position."""
|
||||
return np.array([0.03, 0.4, -0.8, -0.03, 0.4, -0.8, 0.03, -0.4, 0.8, -0.03, -0.4, 0.8])
|
||||
|
||||
def get_joint_configurations(self, name=None):
|
||||
if name == 'home' or name == 'init':
|
||||
return np.array([0.03, 0.4, -0.8, -0.03, 0.4, -0.8, 0.03, -0.4, 0.8, -0.03, -0.4, 0.8])
|
||||
|
||||
|
||||
# Test
|
||||
if __name__ == "__main__":
|
||||
@@ -87,11 +111,12 @@ if __name__ == "__main__":
|
||||
|
||||
# print information about the robot
|
||||
robot.print_info()
|
||||
|
||||
print("BASE HEIGHT: {}".format(robot.base_height))
|
||||
# Position control using sliders
|
||||
# robot.add_joint_slider(robot.left_front_leg)
|
||||
|
||||
# run simulator
|
||||
for _ in count():
|
||||
# robot.update_joint_slider()
|
||||
print("BASE HEIGHT: {}".format(robot.get_base_position()[2]))
|
||||
world.step(sleep_dt=1./240)
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Copyright 2019, ANYbotics AG.
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,606 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- =================================================================================== -->
|
||||
<!-- Copyright 2019 ANYbotics, https://www.anybotics.com -->
|
||||
<!-- =================================================================================== -->
|
||||
<!-- This file contains the description of the ANYmal B robot. -->
|
||||
<!-- <?xml version="1.0" ?> -->
|
||||
<robot name="anymal">
|
||||
|
||||
<!--
|
||||
Material colors
|
||||
-->
|
||||
|
||||
<!-- Basic colors -->
|
||||
<material name="black">
|
||||
<color rgba="0.0 0.0 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="blue">
|
||||
<color rgba="0.0 0.0 0.8 1.0"/>
|
||||
</material>
|
||||
<material name="green">
|
||||
<color rgba="0.0 0.8 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="grey">
|
||||
<color rgba="0.2 0.2 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="light_grey">
|
||||
<color rgba="0.4 0.4 0.4 1.0"/>
|
||||
</material>
|
||||
<material name="red">
|
||||
<color rgba="0.8 0.0 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1.0 1.0 1.0 1.0"/>
|
||||
</material>
|
||||
|
||||
<!-- Material for the visual primitives -->
|
||||
<material name="anymal_material">
|
||||
<!-- <color rgba="0.7 0.7 0.7 1.0"/> -->
|
||||
<color rgba="0.1 0.1 0.1 1.0"/>
|
||||
</material>
|
||||
|
||||
<!--
|
||||
Base
|
||||
-->
|
||||
|
||||
<!-- KDL cannot have inertia on the base link so you might add a dummy inertia link -->
|
||||
<!-- Base link -->
|
||||
<link name="base">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.001960558279 -0.001413217745 0.050207125344"/>
|
||||
<mass value="16.793507758"/>
|
||||
<inertia ixx="0.217391101503" ixy="-0.00132873239126" ixz="-0.00228200226173" iyy="0.639432546734" iyz="-0.00138078263145" izz="0.62414077654"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_base.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<!-- Main Body -->
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.08"/>
|
||||
<geometry>
|
||||
<box size="0.531 0.27 0.24"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<!--
|
||||
Left-Fore leg
|
||||
-->
|
||||
|
||||
<!-- high link -->
|
||||
<link name="LF_HIP">
|
||||
<visual>
|
||||
<origin rpy="0 0 0.0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_hip_l.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.064516258147 -0.003787101702 -0.000152184388"/>
|
||||
<mass value="1.42462064"/>
|
||||
<inertia ixx="0.00243023349564" ixy="-1.53023971e-05" ixz="-2.1819095354e-05" iyy="0.00230257239103" iyz="2.6473021273e-05" izz="0.0019806759227"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Hip joint -->
|
||||
<joint name="LF_HAA" type="revolute">
|
||||
<parent link="base"/>
|
||||
<child link="LF_HIP"/>
|
||||
<origin xyz="0.277 0.116 0.0"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Thigh link -->
|
||||
<link name="LF_THIGH">
|
||||
<visual>
|
||||
<origin rpy="0 0 0.0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_thigh_l.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<!-- KFE actuator -->
|
||||
<origin rpy="1.57079632679 0 0" xyz="0.0 0.07205 -0.25"/>
|
||||
<geometry>
|
||||
<cylinder length="0.11" radius="0.06"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.003897968082 0.054226618537 -0.214583373795"/>
|
||||
<mass value="1.634976467"/>
|
||||
<inertia ixx="0.0120367944369" ixy="6.762065206e-05" ixz="0.000287806340448" iyy="0.0120643637939" iyz="-0.00140610131218" izz="0.00249422574881"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Thigh joint -->
|
||||
<joint name="LF_HFE" type="revolute">
|
||||
<parent link="LF_HIP"/>
|
||||
<child link="LF_THIGH"/>
|
||||
<origin xyz="0.0635 0.041 0.0"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Shank link -->
|
||||
<link name="LF_SHANK">
|
||||
<visual>
|
||||
<origin rpy="0 0 0.0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_shank_l.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.030816858139 -0.004617229294 0.000893125713"/>
|
||||
<mass value="0.207204302"/>
|
||||
<inertia ixx="0.0002104880248" ixy="-5.6750980345e-05" ixz="1.0127699391e-05" iyy="0.000676270210023" iyz="-8.22869024e-07" izz="0.000545032674924"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Shank joint -->
|
||||
<joint name="LF_KFE" type="revolute">
|
||||
<parent link="LF_THIGH"/>
|
||||
<child link="LF_SHANK"/>
|
||||
<origin xyz="0.0 0.109 -0.25"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Shank to Adapter joint -->
|
||||
<joint name="LF_SHANK_TO_ADAPTER" type="fixed">
|
||||
<parent link="LF_SHANK"/>
|
||||
<child link="LF_ADAPTER"/>
|
||||
<origin rpy="0.0 0.0 0.0" xyz="0.1 -0.02 0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Adapter link -->
|
||||
<link name="LF_ADAPTER">
|
||||
<visual>
|
||||
<origin rpy="0 0 0.0" xyz="0 0 0.032"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_foot.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.160625"/>
|
||||
<geometry>
|
||||
<cylinder length="0.22125" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-8.66e-10 -1.472e-09 -0.244345749188"/>
|
||||
<mass value="0.140170767"/>
|
||||
<inertia ixx="0.00159938741862" ixy="-9.32e-13" ixz="1.039e-11" iyy="0.00159938741932" iyz="1.7563e-11" izz="5.4423177329e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Adapter to Foot joint -->
|
||||
<joint name="LF_ADAPTER_TO_FOOT" type="fixed">
|
||||
<parent link="LF_ADAPTER"/>
|
||||
<child link="LF_FOOT"/>
|
||||
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 -0.32125"/>
|
||||
</joint>
|
||||
|
||||
<!-- Foot link -->
|
||||
<link name="LF_FOOT">
|
||||
<inertial>
|
||||
<mass value="0.001"/>
|
||||
<inertia ixx="4.90e-07" ixy="0.0" ixz="0.0" iyy="4.90e-07" iyz="0.0" izz="4.90e-07"/> <!-- for a sphere: 2/5 m * r**2 -->
|
||||
</inertial>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.02325"/>
|
||||
<geometry>
|
||||
<sphere radius="0.035"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<!--
|
||||
Right-Fore leg
|
||||
-->
|
||||
|
||||
<!-- Hip link -->
|
||||
<link name="RF_HIP">
|
||||
<visual>
|
||||
<origin rpy="0 0 0.0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_hip_r.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.064516258147 0.003787101702 -0.000152184388"/>
|
||||
<mass value="1.42462064"/>
|
||||
<inertia ixx="0.00243023349564" ixy="1.53023971e-05" ixz="-2.1819095354e-05" iyy="0.00230257239103" iyz="-2.6473021273e-05" izz="0.0019806759227"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Hip joint -->
|
||||
<joint name="RF_HAA" type="revolute">
|
||||
<parent link="base"/>
|
||||
<child link="RF_HIP"/>
|
||||
<origin xyz="0.277 -0.116 0.0"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Thigh link -->
|
||||
<link name="RF_THIGH">
|
||||
<visual>
|
||||
<origin rpy="0 0 0.0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_thigh_r.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<!-- KFE actuator -->
|
||||
<origin rpy="1.57079632679 0 0" xyz="0.0 -0.07205 -0.25"/>
|
||||
<geometry>
|
||||
<cylinder length="0.11" radius="0.06"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.003897968082 -0.054226618537 -0.214583373795"/>
|
||||
<mass value="1.634976467"/>
|
||||
<inertia ixx="0.0120367944369" ixy="-6.762065206e-05" ixz="0.000287806340448" iyy="0.0120643637939" iyz="0.00140610131218" izz="0.00249422574881"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Thigh joint -->
|
||||
<joint name="RF_HFE" type="revolute">
|
||||
<parent link="RF_HIP"/>
|
||||
<child link="RF_THIGH"/>
|
||||
<origin xyz="0.0635 -0.041 0.0"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Shank link -->
|
||||
<link name="RF_SHANK">
|
||||
<visual>
|
||||
<origin rpy="0 0 0.0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_shank_r.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.030816858139 0.004617229294 0.000893125713"/>
|
||||
<mass value="0.207204302"/>
|
||||
<inertia ixx="0.0002104880248" ixy="5.6750980345e-05" ixz="1.0127699391e-05" iyy="0.000676270210023" iyz="8.22869024e-07" izz="0.000545032674924"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Shank joint -->
|
||||
<joint name="RF_KFE" type="revolute">
|
||||
<parent link="RF_THIGH"/>
|
||||
<child link="RF_SHANK"/>
|
||||
<origin xyz="0.0 -0.109 -0.25"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Shank to Adapter joint -->
|
||||
<joint name="RF_SHANK_TO_ADAPTER" type="fixed">
|
||||
<parent link="RF_SHANK"/>
|
||||
<child link="RF_ADAPTER"/>
|
||||
<origin rpy="-0.0 0.0 -0.0" xyz="0.1 0.02 0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Adapter link -->
|
||||
<link name="RF_ADAPTER">
|
||||
<visual>
|
||||
<origin rpy="0 0 0.0" xyz="0 0 0.032"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_foot.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.160625"/>
|
||||
<geometry>
|
||||
<cylinder length="0.22125" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-8.66e-10 -1.472e-09 -0.244345749188"/>
|
||||
<mass value="0.140170767"/>
|
||||
<inertia ixx="0.00159938741862" ixy="-9.32e-13" ixz="1.039e-11" iyy="0.00159938741932" iyz="1.7563e-11" izz="5.4423177329e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Adapter to Foot joint -->
|
||||
<joint name="RF_ADAPTER_TO_FOOT" type="fixed">
|
||||
<parent link="RF_ADAPTER"/>
|
||||
<child link="RF_FOOT"/>
|
||||
<origin rpy="-0.0 0.0 -0.0" xyz="0.0 -0.0 -0.32125"/>
|
||||
</joint>
|
||||
|
||||
<!-- Foot link -->
|
||||
<link name="RF_FOOT">
|
||||
<inertial>
|
||||
<mass value="0.001"/>
|
||||
<inertia ixx="4.90e-07" ixy="0.0" ixz="0.0" iyy="4.90e-07" iyz="0.0" izz="4.90e-07"/> <!-- for a sphere: 2/5 m * r**2 -->
|
||||
</inertial>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.02325"/>
|
||||
<geometry>
|
||||
<sphere radius="0.035"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
|
||||
<!--
|
||||
Left-Hind leg
|
||||
-->
|
||||
|
||||
<!-- Hip link -->
|
||||
<link name="LH_HIP">
|
||||
<visual>
|
||||
<origin rpy="0 0 -3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_hip_r.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.064516258147 -0.003787101702 -0.000152184388"/>
|
||||
<mass value="1.42462064"/>
|
||||
<inertia ixx="0.00243023349564" ixy="1.53023971e-05" ixz="2.1819095354e-05" iyy="0.00230257239103" iyz="2.6473021273e-05" izz="0.0019806759227"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Hip joint -->
|
||||
<joint name="LH_HAA" type="revolute">
|
||||
<parent link="base"/>
|
||||
<child link="LH_HIP"/>
|
||||
<origin xyz="-0.277 0.116 0.0"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Thigh link -->
|
||||
<link name="LH_THIGH">
|
||||
<visual>
|
||||
<origin rpy="0 0 -3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_thigh_r.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<!-- KFE actuator -->
|
||||
<origin rpy="1.57079632679 0 0" xyz="0.0 0.07205 -0.25"/>
|
||||
<geometry>
|
||||
<cylinder length="0.11" radius="0.06"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.003897968082 0.054226618537 -0.214583373795"/>
|
||||
<mass value="1.634976467"/>
|
||||
<inertia ixx="0.0120367944369" ixy="-6.762065206e-05" ixz="-0.000287806340448" iyy="0.0120643637939" iyz="-0.00140610131218" izz="0.00249422574881"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Thigh joint -->
|
||||
<joint name="LH_HFE" type="revolute">
|
||||
<parent link="LH_HIP"/>
|
||||
<child link="LH_THIGH"/>
|
||||
<origin xyz="-0.0635 0.041 0.0"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Shank link -->
|
||||
<link name="LH_SHANK">
|
||||
<visual>
|
||||
<origin rpy="0 0 -3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_shank_r.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.030816858139 -0.004617229294 0.000893125713"/>
|
||||
<mass value="0.207204302"/>
|
||||
<inertia ixx="0.0002104880248" ixy="5.6750980345e-05" ixz="-1.0127699391e-05" iyy="0.000676270210023" iyz="-8.22869024e-07" izz="0.000545032674924"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Shank joint -->
|
||||
<joint name="LH_KFE" type="revolute">
|
||||
<parent link="LH_THIGH"/>
|
||||
<child link="LH_SHANK"/>
|
||||
<origin xyz="-0.0 0.109 -0.25"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Shank to Adapter joint -->
|
||||
<joint name="LH_SHANK_TO_ADAPTER" type="fixed">
|
||||
<parent link="LH_SHANK"/>
|
||||
<child link="LH_ADAPTER"/>
|
||||
<origin rpy="0.0 -0.0 -0.0" xyz="-0.1 -0.02 0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Adapter link -->
|
||||
<link name="LH_ADAPTER">
|
||||
<visual>
|
||||
<origin rpy="0 0 -3.14159265359" xyz="0 0 0.032"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_foot.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.160625"/>
|
||||
<geometry>
|
||||
<cylinder length="0.22125" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-8.66e-10 -1.472e-09 -0.244345749188"/>
|
||||
<mass value="0.140170767"/>
|
||||
<inertia ixx="0.00159938741862" ixy="-9.32e-13" ixz="1.039e-11" iyy="0.00159938741932" iyz="1.7563e-11" izz="5.4423177329e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Adapter to Foot joint -->
|
||||
<joint name="LH_ADAPTER_TO_FOOT" type="fixed">
|
||||
<parent link="LH_ADAPTER"/>
|
||||
<child link="LH_FOOT"/>
|
||||
<origin rpy="0.0 -0.0 -0.0" xyz="-0.0 0.0 -0.32125"/>
|
||||
</joint>
|
||||
|
||||
<!-- Foot link -->
|
||||
<link name="LH_FOOT">
|
||||
<inertial>
|
||||
<mass value="0.001"/>
|
||||
<inertia ixx="4.90e-07" ixy="0.0" ixz="0.0" iyy="4.90e-07" iyz="0.0" izz="4.90e-07"/> <!-- for a sphere: 2/5 m * r**2 -->
|
||||
</inertial>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.02325"/>
|
||||
<geometry>
|
||||
<sphere radius="0.035"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<!--
|
||||
Right-Hind leg
|
||||
-->
|
||||
|
||||
<!-- Hip link -->
|
||||
<link name="RH_HIP">
|
||||
<visual>
|
||||
<origin rpy="0 0 -3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_hip_l.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.064516258147 0.003787101702 -0.000152184388"/>
|
||||
<mass value="1.42462064"/>
|
||||
<inertia ixx="0.00243023349564" ixy="-1.53023971e-05" ixz="2.1819095354e-05" iyy="0.00230257239103" iyz="-2.6473021273e-05" izz="0.0019806759227"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Hip joint -->
|
||||
<joint name="RH_HAA" type="revolute">
|
||||
<parent link="base"/>
|
||||
<child link="RH_HIP"/>
|
||||
<origin xyz="-0.277 -0.116 0.0"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Thigh link -->
|
||||
<link name="RH_THIGH">
|
||||
<visual>
|
||||
<origin rpy="0 0 -3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_thigh_l.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<!-- KFE actuator -->
|
||||
<origin rpy="1.57079632679 0 0" xyz="0.0 -0.07205 -0.25"/>
|
||||
<geometry>
|
||||
<cylinder length="0.11" radius="0.06"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.003897968082 -0.054226618537 -0.214583373795"/>
|
||||
<mass value="1.634976467"/>
|
||||
<inertia ixx="0.0120367944369" ixy="6.762065206e-05" ixz="-0.000287806340448" iyy="0.0120643637939" iyz="0.00140610131218" izz="0.00249422574881"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Thigh joint -->
|
||||
<joint name="RH_HFE" type="revolute">
|
||||
<parent link="RH_HIP"/>
|
||||
<child link="RH_THIGH"/>
|
||||
<origin xyz="-0.0635 -0.041 0.0"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Shank link -->
|
||||
<link name="RH_SHANK">
|
||||
<visual>
|
||||
<origin rpy="0 0 -3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_shank_l.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.030816858139 0.004617229294 0.000893125713"/>
|
||||
<mass value="0.207204302"/>
|
||||
<inertia ixx="0.0002104880248" ixy="-5.6750980345e-05" ixz="-1.0127699391e-05" iyy="0.000676270210023" iyz="8.22869024e-07" izz="0.000545032674924"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Shank joint -->
|
||||
<joint name="RH_KFE" type="revolute">
|
||||
<parent link="RH_THIGH"/>
|
||||
<child link="RH_SHANK"/>
|
||||
<origin xyz="-0.0 -0.109 -0.25"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Shank to Adapter joint -->
|
||||
<joint name="RH_SHANK_TO_ADAPTER" type="fixed">
|
||||
<parent link="RH_SHANK"/>
|
||||
<child link="RH_ADAPTER"/>
|
||||
<origin rpy="-0.0 -0.0 0.0" xyz="-0.1 0.02 0.0"/>
|
||||
</joint>
|
||||
|
||||
<!-- Adapter link -->
|
||||
<link name="RH_ADAPTER">
|
||||
<visual>
|
||||
<origin rpy="0 0 -3.14159265359" xyz="0 0 0.032"/>
|
||||
<geometry>
|
||||
<mesh filename="meshes/anymal_foot.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.160625"/>
|
||||
<geometry>
|
||||
<cylinder length="0.22125" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-8.66e-10 -1.472e-09 -0.244345749188"/>
|
||||
<mass value="0.140170767"/>
|
||||
<inertia ixx="0.00159938741862" ixy="-9.32e-13" ixz="1.039e-11" iyy="0.00159938741932" iyz="1.7563e-11" izz="5.4423177329e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Adapter to Foot joint -->
|
||||
<joint name="RH_ADAPTER_TO_FOOT" type="fixed">
|
||||
<parent link="RH_ADAPTER"/>
|
||||
<child link="RH_FOOT"/>
|
||||
<origin rpy="-0.0 -0.0 0.0" xyz="-0.0 -0.0 -0.32125"/>
|
||||
</joint>
|
||||
|
||||
<!-- Foot link -->
|
||||
<link name="RH_FOOT">
|
||||
<inertial>
|
||||
<mass value="0.001"/>
|
||||
<inertia ixx="4.90e-07" ixy="0.0" ixz="0.0" iyy="4.90e-07" iyz="0.0" izz="4.90e-07"/> <!-- for a sphere: 2/5 m * r**2 -->
|
||||
</inertial>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.02325"/>
|
||||
<geometry>
|
||||
<sphere radius="0.035"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
</robot>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,14 @@
|
||||
#
|
||||
# Wavefront material file
|
||||
# Converted by Meshlab Group
|
||||
#
|
||||
|
||||
newmtl material_0
|
||||
Ka 0.200000 0.200000 0.200000
|
||||
Kd 1.000000 1.000000 1.000000
|
||||
Ks 1.000000 1.000000 1.000000
|
||||
Tr 1.000000
|
||||
illum 2
|
||||
Ns 0.000000
|
||||
map_Kd base_uv_texture.png
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,14 @@
|
||||
#
|
||||
# Wavefront material file
|
||||
# Converted by Meshlab Group
|
||||
#
|
||||
|
||||
newmtl material_0
|
||||
Ka 0.200000 0.200000 0.200000
|
||||
Kd 1.000000 1.000000 1.000000
|
||||
Ks 1.000000 1.000000 1.000000
|
||||
Tr 1.000000
|
||||
illum 2
|
||||
Ns 0.000000
|
||||
map_Kd carbon_uv_texture.png
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.5 KiB |
Reference in New Issue
Block a user