diff --git a/legged_gym/envs/__init__.py b/legged_gym/envs/__init__.py index fcad6bf..29a2d9a 100644 --- a/legged_gym/envs/__init__.py +++ b/legged_gym/envs/__init__.py @@ -2,13 +2,16 @@ from legged_gym import LEGGED_GYM_ROOT_DIR, LEGGED_GYM_ENVS_DIR from legged_gym.envs.go2.go2_config import GO2RoughCfg, GO2RoughCfgPPO from legged_gym.envs.h1.h1_config import H1RoughCfg, H1RoughCfgPPO +from legged_gym.envs.h1.h1_env import H1Robot from legged_gym.envs.h1_2.h1_2_config import H1_2RoughCfg, H1_2RoughCfgPPO +from legged_gym.envs.h1_2.h1_2_env import H1_2Robot from legged_gym.envs.g1.g1_config import G1RoughCfg, G1RoughCfgPPO +from legged_gym.envs.g1.g1_env import G1Robot from .base.legged_robot import LeggedRobot from legged_gym.utils.task_registry import task_registry task_registry.register( "go2", LeggedRobot, GO2RoughCfg(), GO2RoughCfgPPO()) -task_registry.register( "h1", LeggedRobot, H1RoughCfg(), H1RoughCfgPPO()) -task_registry.register( "h1_2", LeggedRobot, H1_2RoughCfg(), H1_2RoughCfgPPO()) -task_registry.register( "g1", LeggedRobot, G1RoughCfg(), G1RoughCfgPPO()) +task_registry.register( "h1", H1Robot, H1RoughCfg(), H1RoughCfgPPO()) +task_registry.register( "h1_2", H1_2Robot, H1_2RoughCfg(), H1_2RoughCfgPPO()) +task_registry.register( "g1", G1Robot, G1RoughCfg(), G1RoughCfgPPO()) diff --git a/legged_gym/envs/g1/g1_config.py b/legged_gym/envs/g1/g1_config.py index e21f852..6b88cc8 100644 --- a/legged_gym/envs/g1/g1_config.py +++ b/legged_gym/envs/g1/g1_config.py @@ -20,18 +20,29 @@ class G1RoughCfg( LeggedRobotCfg ): } class env(LeggedRobotCfg.env): - num_observations = 48 + num_observations = 47 + num_privileged_obs = 50 num_actions = 12 + + + class domain_rand(LeggedRobotCfg.domain_rand): + randomize_friction = True + friction_range = [0.1, 1.25] + randomize_base_mass = True + added_mass_range = [-1., 3.] + push_robots = True + push_interval_s = 5 + max_push_vel_xy = 1.5 class control( LeggedRobotCfg.control ): # PD Drive parameters: control_type = 'P' # PD Drive parameters: - stiffness = {'hip_yaw': 150, - 'hip_roll': 150, - 'hip_pitch': 150, - 'knee': 300, + stiffness = {'hip_yaw': 100, + 'hip_roll': 100, + 'hip_pitch': 100, + 'knee': 150, 'ankle': 40, } # [N*m/rad] damping = { 'hip_yaw': 2, @@ -46,17 +57,18 @@ class G1RoughCfg( LeggedRobotCfg ): decimation = 4 class asset( LeggedRobotCfg.asset ): - file = '{LEGGED_GYM_ROOT_DIR}/resources/robots/g1/urdf/g1.urdf' + file = '{LEGGED_GYM_ROOT_DIR}/resources/robots/g1_description/g1_12dof.urdf' name = "g1" foot_name = "ankle_roll" penalize_contacts_on = ["hip", "knee"] - terminate_after_contacts_on = ["torso"] - self_collisions = 1 # 1 to disable, 0 to enable...bitwise filter + terminate_after_contacts_on = ["pelvis"] + self_collisions = 0 # 1 to disable, 0 to enable...bitwise filter flip_visual_attachments = False class rewards( LeggedRobotCfg.rewards ): soft_dof_pos_limit = 0.9 - base_height_target = 0.728 + base_height_target = 0.78 + class scales( LeggedRobotCfg.rewards.scales ): tracking_lin_vel = 1.0 tracking_ang_vel = 0.5 @@ -64,19 +76,34 @@ class G1RoughCfg( LeggedRobotCfg ): ang_vel_xy = -0.05 orientation = -1.0 base_height = -10.0 - dof_acc = -2.5e-8 - feet_air_time = 1.0 + dof_acc = -2.5e-7 + dof_vel = -1e-3 + feet_air_time = 0.0 collision = 0.0 action_rate = -0.01 - # torques = -0.0001 dof_pos_limits = -5.0 + alive = 0.15 + hip_pos = -1.0 + contact_no_vel = -0.2 + feet_swing_height = -20.0 + contact = 0.18 class G1RoughCfgPPO( LeggedRobotCfgPPO ): class policy: init_noise_std = 0.8 + actor_hidden_dims = [32] + critic_hidden_dims = [32] + activation = 'elu' # can be elu, relu, selu, crelu, lrelu, tanh, sigmoid + # only for 'ActorCriticRecurrent': + rnn_type = 'lstm' + rnn_hidden_size = 64 + rnn_num_layers = 1 + class algorithm( LeggedRobotCfgPPO.algorithm ): entropy_coef = 0.01 class runner( LeggedRobotCfgPPO.runner ): + policy_class_name = "ActorCriticRecurrent" + max_iterations = 10000 run_name = '' experiment_name = 'g1' diff --git a/legged_gym/envs/g1/g1_env.py b/legged_gym/envs/g1/g1_env.py new file mode 100644 index 0000000..b91b9d6 --- /dev/null +++ b/legged_gym/envs/g1/g1_env.py @@ -0,0 +1,124 @@ + +from legged_gym.envs.base.legged_robot import LeggedRobot + +from isaacgym.torch_utils import * +from isaacgym import gymtorch, gymapi, gymutil +import torch + +class G1Robot(LeggedRobot): + + def _get_noise_scale_vec(self, cfg): + """ Sets a vector used to scale the noise added to the observations. + [NOTE]: Must be adapted when changing the observations structure + + Args: + cfg (Dict): Environment config file + + Returns: + [torch.Tensor]: Vector of scales used to multiply a uniform distribution in [-1, 1] + """ + noise_vec = torch.zeros_like(self.obs_buf[0]) + self.add_noise = self.cfg.noise.add_noise + noise_scales = self.cfg.noise.noise_scales + noise_level = self.cfg.noise.noise_level + noise_vec[:3] = noise_scales.ang_vel * noise_level * self.obs_scales.ang_vel + noise_vec[3:6] = noise_scales.gravity * noise_level + noise_vec[6:9] = 0. # commands + noise_vec[9:9+self.num_actions] = noise_scales.dof_pos * noise_level * self.obs_scales.dof_pos + noise_vec[9+self.num_actions:9+2*self.num_actions] = noise_scales.dof_vel * noise_level * self.obs_scales.dof_vel + noise_vec[9+2*self.num_actions:9+3*self.num_actions] = 0. # previous actions + noise_vec[9+3*self.num_actions:9+3*self.num_actions+2] = 0. # sin/cos phase + + return noise_vec + + def _init_foot(self): + self.feet_num = len(self.feet_indices) + + rigid_body_state = self.gym.acquire_rigid_body_state_tensor(self.sim) + self.rigid_body_states = gymtorch.wrap_tensor(rigid_body_state) + self.rigid_body_states_view = self.rigid_body_states.view(self.num_envs, -1, 13) + self.feet_state = self.rigid_body_states_view[:, self.feet_indices, :] + self.feet_pos = self.feet_state[:, :, :3] + self.feet_vel = self.feet_state[:, :, 7:10] + + def _init_buffers(self): + super()._init_buffers() + self._init_foot() + + def update_feet_state(self): + self.gym.refresh_rigid_body_state_tensor(self.sim) + + self.feet_state = self.rigid_body_states_view[:, self.feet_indices, :] + self.feet_pos = self.feet_state[:, :, :3] + self.feet_vel = self.feet_state[:, :, 7:10] + + def _post_physics_step_callback(self): + self.update_feet_state() + + period = 0.8 + offset = 0.5 + self.phase = (self.episode_length_buf * self.dt) % period / period + self.phase_left = self.phase + self.phase_right = (self.phase + offset) % 1 + self.leg_phase = torch.cat([self.phase_left.unsqueeze(1), self.phase_right.unsqueeze(1)], dim=-1) + + return super()._post_physics_step_callback() + + + def compute_observations(self): + """ Computes observations + """ + sin_phase = torch.sin(2 * np.pi * self.phase ).unsqueeze(1) + cos_phase = torch.cos(2 * np.pi * self.phase ).unsqueeze(1) + self.obs_buf = torch.cat(( self.base_ang_vel * self.obs_scales.ang_vel, + self.projected_gravity, + self.commands[:, :3] * self.commands_scale, + (self.dof_pos - self.default_dof_pos) * self.obs_scales.dof_pos, + self.dof_vel * self.obs_scales.dof_vel, + self.actions, + sin_phase, + cos_phase + ),dim=-1) + self.privileged_obs_buf = torch.cat(( self.base_lin_vel * self.obs_scales.lin_vel, + self.base_ang_vel * self.obs_scales.ang_vel, + self.projected_gravity, + self.commands[:, :3] * self.commands_scale, + (self.dof_pos - self.default_dof_pos) * self.obs_scales.dof_pos, + self.dof_vel * self.obs_scales.dof_vel, + self.actions, + sin_phase, + cos_phase + ),dim=-1) + # add perceptive inputs if not blind + # add noise if needed + if self.add_noise: + self.obs_buf += (2 * torch.rand_like(self.obs_buf) - 1) * self.noise_scale_vec + + + def _reward_contact(self): + res = torch.zeros(self.num_envs, dtype=torch.float, device=self.device) + for i in range(self.feet_num): + is_stance = self.leg_phase[:, i] < 0.55 + contact = self.contact_forces[:, self.feet_indices[i], 2] > 1 + res += ~(contact ^ is_stance) + return res + + def _reward_feet_swing_height(self): + contact = torch.norm(self.contact_forces[:, self.feet_indices, :3], dim=2) > 1. + pos_error = torch.square(self.feet_pos[:, :, 2] - 0.08) * ~contact + return torch.sum(pos_error, dim=(1)) + + def _reward_alive(self): + # Reward for staying alive + return 1.0 + + def _reward_contact_no_vel(self): + # Penalize contact with no velocity + contact = torch.norm(self.contact_forces[:, self.feet_indices, :3], dim=2) > 1. + contact_feet_vel = self.feet_vel * contact.unsqueeze(-1) + penalize = torch.square(contact_feet_vel[:, :, :3]) + return torch.sum(penalize, dim=(1,2)) + + def _reward_hip_pos(self): + return torch.sum(torch.square(self.dof_pos[:,[1,2,7,8]]), dim=1) + \ No newline at end of file diff --git a/legged_gym/envs/h1/h1_config.py b/legged_gym/envs/h1/h1_config.py index ba4c3a1..709294b 100644 --- a/legged_gym/envs/h1/h1_config.py +++ b/legged_gym/envs/h1/h1_config.py @@ -6,14 +6,14 @@ class H1RoughCfg( LeggedRobotCfg ): default_joint_angles = { # = target angles [rad] when action = 0.0 'left_hip_yaw_joint' : 0. , 'left_hip_roll_joint' : 0, - 'left_hip_pitch_joint' : -0.4, - 'left_knee_joint' : 0.8, - 'left_ankle_joint' : -0.4, + 'left_hip_pitch_joint' : -0.1, + 'left_knee_joint' : 0.3, + 'left_ankle_joint' : -0.2, 'right_hip_yaw_joint' : 0., 'right_hip_roll_joint' : 0, - 'right_hip_pitch_joint' : -0.4, - 'right_knee_joint' : 0.8, - 'right_ankle_joint' : -0.4, + 'right_hip_pitch_joint' : -0.1, + 'right_knee_joint' : 0.3, + 'right_ankle_joint' : -0.2, 'torso_joint' : 0., 'left_shoulder_pitch_joint' : 0., 'left_shoulder_roll_joint' : 0, @@ -26,27 +26,38 @@ class H1RoughCfg( LeggedRobotCfg ): } class env(LeggedRobotCfg.env): - num_observations = 42 + # 3 + 3 + 3 + 10 + 10 + 10 + 2 = 41 + num_observations = 41 + num_privileged_obs = 44 num_actions = 10 + class domain_rand(LeggedRobotCfg.domain_rand): + randomize_friction = True + friction_range = [0.1, 1.25] + randomize_base_mass = True + added_mass_range = [-1., 3.] + push_robots = True + push_interval_s = 5 + max_push_vel_xy = 1.5 + class control( LeggedRobotCfg.control ): # PD Drive parameters: control_type = 'P' # PD Drive parameters: - stiffness = {'hip_yaw': 200, - 'hip_roll': 200, - 'hip_pitch': 200, - 'knee': 300, + stiffness = {'hip_yaw': 150, + 'hip_roll': 150, + 'hip_pitch': 150, + 'knee': 200, 'ankle': 40, 'torso': 300, - 'shoulder': 100, + 'shoulder': 150, "elbow":100, } # [N*m/rad] - damping = { 'hip_yaw': 5, - 'hip_roll': 5, - 'hip_pitch': 5, - 'knee': 6, + damping = { 'hip_yaw': 2, + 'hip_roll': 2, + 'hip_pitch': 2, + 'knee': 4, 'ankle': 2, 'torso': 6, 'shoulder': 2, @@ -63,30 +74,46 @@ class H1RoughCfg( LeggedRobotCfg ): foot_name = "ankle" penalize_contacts_on = ["hip", "knee"] terminate_after_contacts_on = ["pelvis"] - self_collisions = 1 # 1 to disable, 0 to enable...bitwise filter + self_collisions = 0 # 1 to disable, 0 to enable...bitwise filter flip_visual_attachments = False class rewards( LeggedRobotCfg.rewards ): soft_dof_pos_limit = 0.9 - base_height_target = 0.98 + base_height_target = 1.05 class scales( LeggedRobotCfg.rewards.scales ): tracking_lin_vel = 1.0 tracking_ang_vel = 0.5 lin_vel_z = -2.0 - ang_vel_xy = -1.0 + ang_vel_xy = -0.05 orientation = -1.0 - base_height = -100.0 - dof_acc = -3.5e-8 - feet_air_time = 1.0 - collision = 0.0 + base_height = -10.0 + dof_acc = -2.5e-7 + feet_air_time = 0.0 + collision = -1.0 action_rate = -0.01 torques = 0.0 - dof_pos_limits = -10.0 + dof_pos_limits = -5.0 + alive = 0.15 + hip_pos = -1.0 + contact_no_vel = -0.2 + feet_swing_height = -20.0 + contact = 0.18 class H1RoughCfgPPO( LeggedRobotCfgPPO ): + class policy: + init_noise_std = 0.8 + actor_hidden_dims = [32] + critic_hidden_dims = [32] + activation = 'elu' # can be elu, relu, selu, crelu, lrelu, tanh, sigmoid + # only for 'ActorCriticRecurrent': + rnn_type = 'lstm' + rnn_hidden_size = 64 + rnn_num_layers = 1 class algorithm( LeggedRobotCfgPPO.algorithm ): entropy_coef = 0.01 class runner( LeggedRobotCfgPPO.runner ): + policy_class_name = "ActorCriticRecurrent" + max_iterations = 10000 run_name = '' experiment_name = 'h1' diff --git a/legged_gym/envs/h1/h1_env.py b/legged_gym/envs/h1/h1_env.py new file mode 100644 index 0000000..ab9ca75 --- /dev/null +++ b/legged_gym/envs/h1/h1_env.py @@ -0,0 +1,124 @@ + +from legged_gym.envs.base.legged_robot import LeggedRobot + +from isaacgym.torch_utils import * +from isaacgym import gymtorch, gymapi, gymutil +import torch + +class H1Robot(LeggedRobot): + + def _get_noise_scale_vec(self, cfg): + """ Sets a vector used to scale the noise added to the observations. + [NOTE]: Must be adapted when changing the observations structure + + Args: + cfg (Dict): Environment config file + + Returns: + [torch.Tensor]: Vector of scales used to multiply a uniform distribution in [-1, 1] + """ + noise_vec = torch.zeros_like(self.obs_buf[0]) + self.add_noise = self.cfg.noise.add_noise + noise_scales = self.cfg.noise.noise_scales + noise_level = self.cfg.noise.noise_level + noise_vec[:3] = noise_scales.ang_vel * noise_level * self.obs_scales.ang_vel + noise_vec[3:6] = noise_scales.gravity * noise_level + noise_vec[6:9] = 0. # commands + noise_vec[9:9+self.num_actions] = noise_scales.dof_pos * noise_level * self.obs_scales.dof_pos + noise_vec[9+self.num_actions:9+2*self.num_actions] = noise_scales.dof_vel * noise_level * self.obs_scales.dof_vel + noise_vec[9+2*self.num_actions:9+3*self.num_actions] = 0. # previous actions + noise_vec[9+3*self.num_actions:9+3*self.num_actions+2] = 0. # sin/cos phase + + return noise_vec + + def _init_foot(self): + self.feet_num = len(self.feet_indices) + + rigid_body_state = self.gym.acquire_rigid_body_state_tensor(self.sim) + self.rigid_body_states = gymtorch.wrap_tensor(rigid_body_state) + self.rigid_body_states_view = self.rigid_body_states.view(self.num_envs, -1, 13) + self.feet_state = self.rigid_body_states_view[:, self.feet_indices, :] + self.feet_pos = self.feet_state[:, :, :3] + self.feet_vel = self.feet_state[:, :, 7:10] + + def _init_buffers(self): + super()._init_buffers() + self._init_foot() + + def update_feet_state(self): + self.gym.refresh_rigid_body_state_tensor(self.sim) + + self.feet_state = self.rigid_body_states_view[:, self.feet_indices, :] + self.feet_pos = self.feet_state[:, :, :3] + self.feet_vel = self.feet_state[:, :, 7:10] + + def _post_physics_step_callback(self): + self.update_feet_state() + + period = 0.8 + offset = 0.5 + self.phase = (self.episode_length_buf * self.dt) % period / period + self.phase_left = self.phase + self.phase_right = (self.phase + offset) % 1 + self.leg_phase = torch.cat([self.phase_left.unsqueeze(1), self.phase_right.unsqueeze(1)], dim=-1) + + return super()._post_physics_step_callback() + + + def compute_observations(self): + """ Computes observations + """ + sin_phase = torch.sin(2 * np.pi * self.phase ).unsqueeze(1) + cos_phase = torch.cos(2 * np.pi * self.phase ).unsqueeze(1) + self.obs_buf = torch.cat(( self.base_ang_vel * self.obs_scales.ang_vel, + self.projected_gravity, + self.commands[:, :3] * self.commands_scale, + (self.dof_pos - self.default_dof_pos) * self.obs_scales.dof_pos, + self.dof_vel * self.obs_scales.dof_vel, + self.actions, + sin_phase, + cos_phase + ),dim=-1) + self.privileged_obs_buf = torch.cat(( self.base_lin_vel * self.obs_scales.lin_vel, + self.base_ang_vel * self.obs_scales.ang_vel, + self.projected_gravity, + self.commands[:, :3] * self.commands_scale, + (self.dof_pos - self.default_dof_pos) * self.obs_scales.dof_pos, + self.dof_vel * self.obs_scales.dof_vel, + self.actions, + sin_phase, + cos_phase + ),dim=-1) + # add perceptive inputs if not blind + # add noise if needed + if self.add_noise: + self.obs_buf += (2 * torch.rand_like(self.obs_buf) - 1) * self.noise_scale_vec + + + def _reward_contact(self): + res = torch.zeros(self.num_envs, dtype=torch.float, device=self.device) + for i in range(self.feet_num): + is_stance = self.leg_phase[:, i] < 0.55 + contact = self.contact_forces[:, self.feet_indices[i], 2] > 1 + res += ~(contact ^ is_stance) + return res + + def _reward_feet_swing_height(self): + contact = torch.norm(self.contact_forces[:, self.feet_indices, :3], dim=2) > 1. + pos_error = torch.square(self.feet_pos[:, :, 2] - 0.08) * ~contact + return torch.sum(pos_error, dim=(1)) + + def _reward_alive(self): + # Reward for staying alive + return 1.0 + + def _reward_contact_no_vel(self): + # Penalize contact with no velocity + contact = torch.norm(self.contact_forces[:, self.feet_indices, :3], dim=2) > 1. + contact_feet_vel = self.feet_vel * contact.unsqueeze(-1) + penalize = torch.square(contact_feet_vel[:, :, :3]) + return torch.sum(penalize, dim=(1,2)) + + def _reward_hip_pos(self): + return torch.sum(torch.square(self.dof_pos[:,[0,1,5,6]]), dim=1) + \ No newline at end of file diff --git a/legged_gym/envs/h1_2/h1_2_config.py b/legged_gym/envs/h1_2/h1_2_config.py index 200cc75..463646e 100644 --- a/legged_gym/envs/h1_2/h1_2_config.py +++ b/legged_gym/envs/h1_2/h1_2_config.py @@ -4,20 +4,20 @@ from legged_gym.envs.base.legged_robot_config import LeggedRobotCfg, LeggedRobot class H1_2RoughCfg(LeggedRobotCfg): class init_state(LeggedRobotCfg.init_state): - pos = [0.0, 0.0, 1.0] # x,y,z [m] + pos = [0.0, 0.0, 1.05] # x,y,z [m] default_joint_angles = { # = target angles [rad] when action = 0.0 'left_hip_yaw_joint': 0, 'left_hip_roll_joint': 0, - 'left_hip_pitch_joint': -0.6, - 'left_knee_joint': 1.2, - 'left_ankle_pitch_joint': -0.6, + 'left_hip_pitch_joint': -0.16, + 'left_knee_joint': 0.36, + 'left_ankle_pitch_joint': -0.2, 'left_ankle_roll_joint': 0.0, 'right_hip_yaw_joint': 0, 'right_hip_roll_joint': 0, - 'right_hip_pitch_joint': -0.6, - 'right_knee_joint': 1.2, - 'right_ankle_pitch_joint': -0.6, + 'right_hip_pitch_joint': -0.16, + 'right_knee_joint': 0.36, + 'right_ankle_pitch_joint': -0.2, 'right_ankle_roll_joint': 0.0, 'torso_joint': 0, @@ -34,9 +34,11 @@ class H1_2RoughCfg(LeggedRobotCfg): } class env(LeggedRobotCfg.env): - num_actions = 21 - num_observations = 12 + num_actions * 3 - num_envs = 8192 + # 3 + 3 + 3 + 12 + 12 + 12 + 2 = 47 + num_observations = 47 + num_privileged_obs = 50 + num_actions = 12 + class control(LeggedRobotCfg.control): # PD Drive parameters: @@ -47,74 +49,82 @@ class H1_2RoughCfg(LeggedRobotCfg): 'hip_roll_joint': 200., 'hip_pitch_joint': 200., 'knee_joint': 300., - 'ankle_pitch_joint': 60., + 'ankle_pitch_joint': 40., 'ankle_roll_joint': 40., - 'torso_joint': 600., - 'shoulder_pitch_joint': 80., - 'shoulder_roll_joint': 80., - 'shoulder_yaw_joint': 40., - 'elbow_pitch_joint': 60., } # [N*m/rad] damping = { - 'hip_yaw_joint': 5.0, - 'hip_roll_joint': 5.0, - 'hip_pitch_joint': 5.0, - 'knee_joint': 7.5, - 'ankle_pitch_joint': 1.0, - 'ankle_roll_joint': 0.3, - 'torso_joint': 15.0, - 'shoulder_pitch_joint': 2.0, - 'shoulder_roll_joint': 2.0, - 'shoulder_yaw_joint': 1.0, - 'elbow_pitch_joint': 1.0, + 'hip_yaw_joint': 2.5, + 'hip_roll_joint': 2.5, + 'hip_pitch_joint': 2.5, + 'knee_joint': 4, + 'ankle_pitch_joint': 2.0, + 'ankle_roll_joint': 2.0, } # [N*m/rad] # [N*m*s/rad] # action scale: target angle = actionScale * action + defaultAngle action_scale = 0.25 # decimation: Number of control action updates @ sim DT per policy DT - decimation = 10 - - class asset(LeggedRobotCfg.asset): - file = '{LEGGED_GYM_ROOT_DIR}/resources/robots/h1_2/h1_2_simplified.urdf' - name = "h1_2" - foot_name = "ankle_roll" - penalize_contacts_on = [] - terminate_after_contacts_on = [] - self_collisions = 1 # 1 to disable, 0 to enable...bitwise filter - flip_visual_attachments = False - armature = 6e-4 # stablize semi-euler integration for end effectors + decimation = 8 class sim(LeggedRobotCfg.sim): - dt = 0.002 # stablize semi-euler integration for end effectors + dt = 0.0025 + + class domain_rand(LeggedRobotCfg.domain_rand): + randomize_friction = True + friction_range = [0.1, 1.25] + randomize_base_mass = True + added_mass_range = [-1., 3.] + push_robots = True + push_interval_s = 5 + max_push_vel_xy = 1.5 + + class asset(LeggedRobotCfg.asset): + file = '{LEGGED_GYM_ROOT_DIR}/resources/robots/h1_2/h1_2_12dof.urdf' + name = "h1_2" + foot_name = "ankle_roll" + penalize_contacts_on = ["hip", "knee"] + terminate_after_contacts_on = ["pelvis"] + self_collisions = 0 # 1 to disable, 0 to enable...bitwise filter + flip_visual_attachments = False + armature = 1e-3 class rewards(LeggedRobotCfg.rewards): soft_dof_pos_limit = 0.9 - base_height_target = 0.98 + base_height_target = 1.0 class scales(LeggedRobotCfg.rewards.scales): tracking_lin_vel = 1.0 tracking_ang_vel = 0.5 - lin_vel_z = -0.2 - ang_vel_xy = -0.1 - orientation = -0.1 + lin_vel_z = -2.0 + ang_vel_xy = -0.05 + orientation = -1.0 base_height = -10.0 - dof_acc = -3e-8 - feet_air_time = 1.0 + dof_acc = -2.5e-7 + dof_vel = -1e-3 + feet_air_time = 0.0 collision = 0.0 - action_rate = -0.1 - dof_pos_limits = -10.0 - - only_positive_rewards = False # if true negative total rewards are clipped at zero (avoids early termination problems) - - class normalization(LeggedRobotCfg.normalization): - clip_actions = 10.0 + action_rate = -0.01 + dof_pos_limits = -5.0 + alive = 0.15 + hip_pos = -1.0 + contact_no_vel = -0.2 + feet_swing_height = -20.0 + contact = 0.18 class H1_2RoughCfgPPO(LeggedRobotCfgPPO): - - class policy(LeggedRobotCfgPPO.policy): - init_noise_std = 0.3 - activation = 'tanh' - - class runner(LeggedRobotCfgPPO.runner): + class policy: + init_noise_std = 0.8 + actor_hidden_dims = [32] + critic_hidden_dims = [32] + activation = 'elu' # can be elu, relu, selu, crelu, lrelu, tanh, sigmoid + # only for 'ActorCriticRecurrent': + rnn_type = 'lstm' + rnn_hidden_size = 64 + rnn_num_layers = 1 + class algorithm( LeggedRobotCfgPPO.algorithm ): + entropy_coef = 0.01 + class runner( LeggedRobotCfgPPO.runner ): + policy_class_name = "ActorCriticRecurrent" + max_iterations = 10000 run_name = '' - experiment_name = 'h1_2' + experiment_name = 'h1_2' \ No newline at end of file diff --git a/legged_gym/envs/h1_2/h1_2_env.py b/legged_gym/envs/h1_2/h1_2_env.py new file mode 100644 index 0000000..2b6e759 --- /dev/null +++ b/legged_gym/envs/h1_2/h1_2_env.py @@ -0,0 +1,124 @@ + +from legged_gym.envs.base.legged_robot import LeggedRobot + +from isaacgym.torch_utils import * +from isaacgym import gymtorch, gymapi, gymutil +import torch + +class H1_2Robot(LeggedRobot): + + def _get_noise_scale_vec(self, cfg): + """ Sets a vector used to scale the noise added to the observations. + [NOTE]: Must be adapted when changing the observations structure + + Args: + cfg (Dict): Environment config file + + Returns: + [torch.Tensor]: Vector of scales used to multiply a uniform distribution in [-1, 1] + """ + noise_vec = torch.zeros_like(self.obs_buf[0]) + self.add_noise = self.cfg.noise.add_noise + noise_scales = self.cfg.noise.noise_scales + noise_level = self.cfg.noise.noise_level + noise_vec[:3] = noise_scales.ang_vel * noise_level * self.obs_scales.ang_vel + noise_vec[3:6] = noise_scales.gravity * noise_level + noise_vec[6:9] = 0. # commands + noise_vec[9:9+self.num_actions] = noise_scales.dof_pos * noise_level * self.obs_scales.dof_pos + noise_vec[9+self.num_actions:9+2*self.num_actions] = noise_scales.dof_vel * noise_level * self.obs_scales.dof_vel + noise_vec[9+2*self.num_actions:9+3*self.num_actions] = 0. # previous actions + noise_vec[9+3*self.num_actions:9+3*self.num_actions+2] = 0. # sin/cos phase + + return noise_vec + + def _init_foot(self): + self.feet_num = len(self.feet_indices) + + rigid_body_state = self.gym.acquire_rigid_body_state_tensor(self.sim) + self.rigid_body_states = gymtorch.wrap_tensor(rigid_body_state) + self.rigid_body_states_view = self.rigid_body_states.view(self.num_envs, -1, 13) + self.feet_state = self.rigid_body_states_view[:, self.feet_indices, :] + self.feet_pos = self.feet_state[:, :, :3] + self.feet_vel = self.feet_state[:, :, 7:10] + + def _init_buffers(self): + super()._init_buffers() + self._init_foot() + + def update_feet_state(self): + self.gym.refresh_rigid_body_state_tensor(self.sim) + + self.feet_state = self.rigid_body_states_view[:, self.feet_indices, :] + self.feet_pos = self.feet_state[:, :, :3] + self.feet_vel = self.feet_state[:, :, 7:10] + + def _post_physics_step_callback(self): + self.update_feet_state() + + period = 0.8 + offset = 0.5 + self.phase = (self.episode_length_buf * self.dt) % period / period + self.phase_left = self.phase + self.phase_right = (self.phase + offset) % 1 + self.leg_phase = torch.cat([self.phase_left.unsqueeze(1), self.phase_right.unsqueeze(1)], dim=-1) + + return super()._post_physics_step_callback() + + + def compute_observations(self): + """ Computes observations + """ + sin_phase = torch.sin(2 * np.pi * self.phase ).unsqueeze(1) + cos_phase = torch.cos(2 * np.pi * self.phase ).unsqueeze(1) + self.obs_buf = torch.cat(( self.base_ang_vel * self.obs_scales.ang_vel, + self.projected_gravity, + self.commands[:, :3] * self.commands_scale, + (self.dof_pos - self.default_dof_pos) * self.obs_scales.dof_pos, + self.dof_vel * self.obs_scales.dof_vel, + self.actions, + sin_phase, + cos_phase + ),dim=-1) + self.privileged_obs_buf = torch.cat(( self.base_lin_vel * self.obs_scales.lin_vel, + self.base_ang_vel * self.obs_scales.ang_vel, + self.projected_gravity, + self.commands[:, :3] * self.commands_scale, + (self.dof_pos - self.default_dof_pos) * self.obs_scales.dof_pos, + self.dof_vel * self.obs_scales.dof_vel, + self.actions, + sin_phase, + cos_phase + ),dim=-1) + # add perceptive inputs if not blind + # add noise if needed + if self.add_noise: + self.obs_buf += (2 * torch.rand_like(self.obs_buf) - 1) * self.noise_scale_vec + + + def _reward_contact(self): + res = torch.zeros(self.num_envs, dtype=torch.float, device=self.device) + for i in range(self.feet_num): + is_stance = self.leg_phase[:, i] < 0.55 + contact = self.contact_forces[:, self.feet_indices[i], 2] > 1 + res += ~(contact ^ is_stance) + return res + + def _reward_feet_swing_height(self): + contact = torch.norm(self.contact_forces[:, self.feet_indices, :3], dim=2) > 1. + pos_error = torch.square(self.feet_pos[:, :, 2] - 0.08) * ~contact + return torch.sum(pos_error, dim=(1)) + + def _reward_alive(self): + # Reward for staying alive + return 1.0 + + def _reward_contact_no_vel(self): + # Penalize contact with no velocity + contact = torch.norm(self.contact_forces[:, self.feet_indices, :3], dim=2) > 1. + contact_feet_vel = self.feet_vel * contact.unsqueeze(-1) + penalize = torch.square(contact_feet_vel[:, :, :3]) + return torch.sum(penalize, dim=(1,2)) + + def _reward_hip_pos(self): + return torch.sum(torch.square(self.dof_pos[:,[0,2,6,8]]), dim=1) + \ No newline at end of file diff --git a/resources/robots/g1/meshes/head_link.STL b/resources/robots/g1/meshes/head_link.STL deleted file mode 100644 index 455274f..0000000 Binary files a/resources/robots/g1/meshes/head_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_ankle_pitch_link.STL b/resources/robots/g1/meshes/left_ankle_pitch_link.STL deleted file mode 100644 index c291f60..0000000 Binary files a/resources/robots/g1/meshes/left_ankle_pitch_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_ankle_roll_link.STL b/resources/robots/g1/meshes/left_ankle_roll_link.STL deleted file mode 100644 index f2b6ae7..0000000 Binary files a/resources/robots/g1/meshes/left_ankle_roll_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_elbow_pitch_link.STL b/resources/robots/g1/meshes/left_elbow_pitch_link.STL deleted file mode 100644 index 5ba2fde..0000000 Binary files a/resources/robots/g1/meshes/left_elbow_pitch_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_elbow_roll_link.STL b/resources/robots/g1/meshes/left_elbow_roll_link.STL deleted file mode 100644 index 9741ac0..0000000 Binary files a/resources/robots/g1/meshes/left_elbow_roll_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_five_link.STL b/resources/robots/g1/meshes/left_five_link.STL deleted file mode 100644 index cc35d51..0000000 Binary files a/resources/robots/g1/meshes/left_five_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_four_link.STL b/resources/robots/g1/meshes/left_four_link.STL deleted file mode 100644 index 6392be7..0000000 Binary files a/resources/robots/g1/meshes/left_four_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_hip_pitch_link.STL b/resources/robots/g1/meshes/left_hip_pitch_link.STL deleted file mode 100644 index 1e56afc..0000000 Binary files a/resources/robots/g1/meshes/left_hip_pitch_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_hip_roll_link.STL b/resources/robots/g1/meshes/left_hip_roll_link.STL deleted file mode 100644 index d1df2f4..0000000 Binary files a/resources/robots/g1/meshes/left_hip_roll_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_hip_yaw_link.STL b/resources/robots/g1/meshes/left_hip_yaw_link.STL deleted file mode 100644 index deadd3c..0000000 Binary files a/resources/robots/g1/meshes/left_hip_yaw_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_knee_link.STL b/resources/robots/g1/meshes/left_knee_link.STL deleted file mode 100644 index e0095a4..0000000 Binary files a/resources/robots/g1/meshes/left_knee_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_one_link.STL b/resources/robots/g1/meshes/left_one_link.STL deleted file mode 100644 index 6ee97bd..0000000 Binary files a/resources/robots/g1/meshes/left_one_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_palm_link.STL b/resources/robots/g1/meshes/left_palm_link.STL deleted file mode 100644 index 524a0e2..0000000 Binary files a/resources/robots/g1/meshes/left_palm_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_shoulder_pitch_link.STL b/resources/robots/g1/meshes/left_shoulder_pitch_link.STL deleted file mode 100644 index e54d656..0000000 Binary files a/resources/robots/g1/meshes/left_shoulder_pitch_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_shoulder_roll_link.STL b/resources/robots/g1/meshes/left_shoulder_roll_link.STL deleted file mode 100644 index 75dc809..0000000 Binary files a/resources/robots/g1/meshes/left_shoulder_roll_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_shoulder_yaw_link.STL b/resources/robots/g1/meshes/left_shoulder_yaw_link.STL deleted file mode 100644 index 4e5a7c9..0000000 Binary files a/resources/robots/g1/meshes/left_shoulder_yaw_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_six_link.STL b/resources/robots/g1/meshes/left_six_link.STL deleted file mode 100644 index 2739846..0000000 Binary files a/resources/robots/g1/meshes/left_six_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_three_link.STL b/resources/robots/g1/meshes/left_three_link.STL deleted file mode 100644 index cc35d51..0000000 Binary files a/resources/robots/g1/meshes/left_three_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_two_link.STL b/resources/robots/g1/meshes/left_two_link.STL deleted file mode 100644 index b85b645..0000000 Binary files a/resources/robots/g1/meshes/left_two_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/left_zero_link.STL b/resources/robots/g1/meshes/left_zero_link.STL deleted file mode 100644 index f50147a..0000000 Binary files a/resources/robots/g1/meshes/left_zero_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/logo_link.STL b/resources/robots/g1/meshes/logo_link.STL deleted file mode 100644 index 20f7bba..0000000 Binary files a/resources/robots/g1/meshes/logo_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/pelvis.STL b/resources/robots/g1/meshes/pelvis.STL deleted file mode 100644 index 5877dee..0000000 Binary files a/resources/robots/g1/meshes/pelvis.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/pelvis_contour_link.STL b/resources/robots/g1/meshes/pelvis_contour_link.STL deleted file mode 100644 index 72fa4ac..0000000 Binary files a/resources/robots/g1/meshes/pelvis_contour_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_ankle_pitch_link.STL b/resources/robots/g1/meshes/right_ankle_pitch_link.STL deleted file mode 100644 index 36e3a64..0000000 Binary files a/resources/robots/g1/meshes/right_ankle_pitch_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_ankle_roll_link.STL b/resources/robots/g1/meshes/right_ankle_roll_link.STL deleted file mode 100644 index d0a2657..0000000 Binary files a/resources/robots/g1/meshes/right_ankle_roll_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_elbow_pitch_link.STL b/resources/robots/g1/meshes/right_elbow_pitch_link.STL deleted file mode 100644 index a62a422..0000000 Binary files a/resources/robots/g1/meshes/right_elbow_pitch_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_elbow_roll_link.STL b/resources/robots/g1/meshes/right_elbow_roll_link.STL deleted file mode 100644 index 6010e8b..0000000 Binary files a/resources/robots/g1/meshes/right_elbow_roll_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_five_link.STL b/resources/robots/g1/meshes/right_five_link.STL deleted file mode 100644 index 37f9dc2..0000000 Binary files a/resources/robots/g1/meshes/right_five_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_four_link.STL b/resources/robots/g1/meshes/right_four_link.STL deleted file mode 100644 index be81a79..0000000 Binary files a/resources/robots/g1/meshes/right_four_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_hip_pitch_link.STL b/resources/robots/g1/meshes/right_hip_pitch_link.STL deleted file mode 100644 index 66b47ea..0000000 Binary files a/resources/robots/g1/meshes/right_hip_pitch_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_hip_roll_link.STL b/resources/robots/g1/meshes/right_hip_roll_link.STL deleted file mode 100644 index 021dd7f..0000000 Binary files a/resources/robots/g1/meshes/right_hip_roll_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_hip_yaw_link.STL b/resources/robots/g1/meshes/right_hip_yaw_link.STL deleted file mode 100644 index 330e55a..0000000 Binary files a/resources/robots/g1/meshes/right_hip_yaw_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_knee_link.STL b/resources/robots/g1/meshes/right_knee_link.STL deleted file mode 100644 index 7be6860..0000000 Binary files a/resources/robots/g1/meshes/right_knee_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_one_link.STL b/resources/robots/g1/meshes/right_one_link.STL deleted file mode 100644 index 93e103a..0000000 Binary files a/resources/robots/g1/meshes/right_one_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_palm_link.STL b/resources/robots/g1/meshes/right_palm_link.STL deleted file mode 100644 index 7cd39cd..0000000 Binary files a/resources/robots/g1/meshes/right_palm_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_shoulder_pitch_link.STL b/resources/robots/g1/meshes/right_shoulder_pitch_link.STL deleted file mode 100644 index 7e1d01d..0000000 Binary files a/resources/robots/g1/meshes/right_shoulder_pitch_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_shoulder_roll_link.STL b/resources/robots/g1/meshes/right_shoulder_roll_link.STL deleted file mode 100644 index f653871..0000000 Binary files a/resources/robots/g1/meshes/right_shoulder_roll_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_shoulder_yaw_link.STL b/resources/robots/g1/meshes/right_shoulder_yaw_link.STL deleted file mode 100644 index 01aa95a..0000000 Binary files a/resources/robots/g1/meshes/right_shoulder_yaw_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_six_link.STL b/resources/robots/g1/meshes/right_six_link.STL deleted file mode 100644 index be81a79..0000000 Binary files a/resources/robots/g1/meshes/right_six_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_three_link.STL b/resources/robots/g1/meshes/right_three_link.STL deleted file mode 100644 index 37f9dc2..0000000 Binary files a/resources/robots/g1/meshes/right_three_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_two_link.STL b/resources/robots/g1/meshes/right_two_link.STL deleted file mode 100644 index 1af670c..0000000 Binary files a/resources/robots/g1/meshes/right_two_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/right_zero_link.STL b/resources/robots/g1/meshes/right_zero_link.STL deleted file mode 100644 index 4fd999b..0000000 Binary files a/resources/robots/g1/meshes/right_zero_link.STL and /dev/null differ diff --git a/resources/robots/g1/meshes/torso_link.STL b/resources/robots/g1/meshes/torso_link.STL deleted file mode 100644 index b6a6d12..0000000 Binary files a/resources/robots/g1/meshes/torso_link.STL and /dev/null differ diff --git a/resources/robots/g1/urdf/g1.urdf b/resources/robots/g1/urdf/g1.urdf deleted file mode 100644 index ce3a36a..0000000 --- a/resources/robots/g1/urdf/g1.urdf +++ /dev/null @@ -1,1295 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/robots/g1_description/README.md b/resources/robots/g1_description/README.md new file mode 100644 index 0000000..6fe48ce --- /dev/null +++ b/resources/robots/g1_description/README.md @@ -0,0 +1,30 @@ +# Unitree G1 Description (URDF & MJCF) + +## Overview + +This package includes a universal humanoid robot description (URDF & MJCF) for the [Unitree G1](https://www.unitree.com/g1/), developed by [Unitree Robotics](https://www.unitree.com/). + +MJCF/URDF for the G1 robot: + +| MJCF/URDF file name | `mode_machine` | Hip roll reduction ratio | Update status | dof#leg | dof#waist | dof#arm | dof#hand | +| ----------------------------- | :------------: | :----------------------: | ------------- | :-----: | :-------: | :-----: | :------: | +| `g1_23dof` | 1 | 14.5 | Beta | 6*2 | 1 | 5*2 | 0 | +| `g1_29dof` | 2 | 14.5 | Beta | 6*2 | 3 | 7*2 | 0 | +| `g1_29dof_with_hand` | 2 | 14.5 | Beta | 6*2 | 3 | 7*2 | 7*2 | +| `g1_29dof_lock_waist` | 3 | 14.5 | Beta | 6*2 | 1 | 7*2 | 0 | +| `g1_23dof_rev_1_0` | 4 | 22.5 | Up-to-date | 6*2 | 1 | 5*2 | 0 | +| `g1_29dof_rev_1_0` | 5 | 22.5 | Up-to-date | 6*2 | 3 | 7*2 | 0 | +| `g1_29dof_with_hand_rev_1_0` | 5 | 22.5 | Up-to-date | 6*2 | 3 | 7*2 | 7*2 | +| `g1_29dof_lock_waist_rev_1_0` | 6 | 22.5 | Up-to-date | 6*2 | 1 | 7*2 | 0 | +| `g1_dual_arm` | 9 | null | Up-to-date | 0 | 0 | 7*2 | 0 | + +## Visulization with [MuJoCo](https://github.com/google-deepmind/mujoco) + +1. Open MuJoCo Viewer + + ```bash + pip install mujoco + python -m mujoco.viewer + ``` + +2. Drag and drop the MJCF/URDF model file (`g1_XXX.xml`/`g1_XXX.urdf`) to the MuJoCo Viewer. diff --git a/resources/robots/g1_description/g1_12dof.urdf b/resources/robots/g1_description/g1_12dof.urdf new file mode 100644 index 0000000..c312bf7 --- /dev/null +++ b/resources/robots/g1_description/g1_12dof.urdf @@ -0,0 +1,854 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_12dof.xml b/resources/robots/g1_description/g1_12dof.xml new file mode 100644 index 0000000..5f7354b --- /dev/null +++ b/resources/robots/g1_description/g1_12dof.xml @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/robots/g1_description/g1_23dof.urdf b/resources/robots/g1_description/g1_23dof.urdf new file mode 100644 index 0000000..21184a2 --- /dev/null +++ b/resources/robots/g1_description/g1_23dof.urdf @@ -0,0 +1,903 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_23dof.xml b/resources/robots/g1_description/g1_23dof.xml new file mode 100644 index 0000000..a5516f6 --- /dev/null +++ b/resources/robots/g1_description/g1_23dof.xml @@ -0,0 +1,249 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_23dof_rev_1_0.urdf b/resources/robots/g1_description/g1_23dof_rev_1_0.urdf new file mode 100644 index 0000000..f2bbcfb --- /dev/null +++ b/resources/robots/g1_description/g1_23dof_rev_1_0.urdf @@ -0,0 +1,854 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_23dof_rev_1_0.xml b/resources/robots/g1_description/g1_23dof_rev_1_0.xml new file mode 100644 index 0000000..8c6e569 --- /dev/null +++ b/resources/robots/g1_description/g1_23dof_rev_1_0.xml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof.urdf b/resources/robots/g1_description/g1_29dof.urdf new file mode 100644 index 0000000..1b765b5 --- /dev/null +++ b/resources/robots/g1_description/g1_29dof.urdf @@ -0,0 +1,1086 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof.xml b/resources/robots/g1_description/g1_29dof.xml new file mode 100644 index 0000000..0e496cf --- /dev/null +++ b/resources/robots/g1_description/g1_29dof.xml @@ -0,0 +1,297 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof_lock_waist.urdf b/resources/robots/g1_description/g1_29dof_lock_waist.urdf new file mode 100644 index 0000000..fe2d57e --- /dev/null +++ b/resources/robots/g1_description/g1_29dof_lock_waist.urdf @@ -0,0 +1,1086 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof_lock_waist.xml b/resources/robots/g1_description/g1_29dof_lock_waist.xml new file mode 100644 index 0000000..423eb6a --- /dev/null +++ b/resources/robots/g1_description/g1_29dof_lock_waist.xml @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof_lock_waist_rev_1_0.urdf b/resources/robots/g1_description/g1_29dof_lock_waist_rev_1_0.urdf new file mode 100644 index 0000000..076c4bc --- /dev/null +++ b/resources/robots/g1_description/g1_29dof_lock_waist_rev_1_0.urdf @@ -0,0 +1,1058 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof_lock_waist_rev_1_0.xml b/resources/robots/g1_description/g1_29dof_lock_waist_rev_1_0.xml new file mode 100644 index 0000000..c326fbc --- /dev/null +++ b/resources/robots/g1_description/g1_29dof_lock_waist_rev_1_0.xml @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof_rev_1_0.urdf b/resources/robots/g1_description/g1_29dof_rev_1_0.urdf new file mode 100644 index 0000000..e7a551d --- /dev/null +++ b/resources/robots/g1_description/g1_29dof_rev_1_0.urdf @@ -0,0 +1,1058 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof_rev_1_0.xml b/resources/robots/g1_description/g1_29dof_rev_1_0.xml new file mode 100644 index 0000000..16b799d --- /dev/null +++ b/resources/robots/g1_description/g1_29dof_rev_1_0.xml @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof_with_hand.urdf b/resources/robots/g1_description/g1_29dof_with_hand.urdf new file mode 100644 index 0000000..853c84f --- /dev/null +++ b/resources/robots/g1_description/g1_29dof_with_hand.urdf @@ -0,0 +1,1504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof_with_hand.xml b/resources/robots/g1_description/g1_29dof_with_hand.xml new file mode 100644 index 0000000..95f37f1 --- /dev/null +++ b/resources/robots/g1_description/g1_29dof_with_hand.xml @@ -0,0 +1,411 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof_with_hand_rev_1_0.urdf b/resources/robots/g1_description/g1_29dof_with_hand_rev_1_0.urdf new file mode 100644 index 0000000..e3cdec9 --- /dev/null +++ b/resources/robots/g1_description/g1_29dof_with_hand_rev_1_0.urdf @@ -0,0 +1,1476 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_29dof_with_hand_rev_1_0.xml b/resources/robots/g1_description/g1_29dof_with_hand_rev_1_0.xml new file mode 100644 index 0000000..e522a9c --- /dev/null +++ b/resources/robots/g1_description/g1_29dof_with_hand_rev_1_0.xml @@ -0,0 +1,408 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_dual_arm.urdf b/resources/robots/g1_description/g1_dual_arm.urdf new file mode 100644 index 0000000..2c205b6 --- /dev/null +++ b/resources/robots/g1_description/g1_dual_arm.urdf @@ -0,0 +1,650 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/g1_dual_arm.xml b/resources/robots/g1_description/g1_dual_arm.xml new file mode 100644 index 0000000..1a4114b --- /dev/null +++ b/resources/robots/g1_description/g1_dual_arm.xml @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/g1_description/images/g1_23dof.png b/resources/robots/g1_description/images/g1_23dof.png new file mode 100644 index 0000000..e4ed4f2 Binary files /dev/null and b/resources/robots/g1_description/images/g1_23dof.png differ diff --git a/resources/robots/g1_description/images/g1_29dof.png b/resources/robots/g1_description/images/g1_29dof.png new file mode 100644 index 0000000..911c886 Binary files /dev/null and b/resources/robots/g1_description/images/g1_29dof.png differ diff --git a/resources/robots/g1_description/images/g1_29dof_with_hand.png b/resources/robots/g1_description/images/g1_29dof_with_hand.png new file mode 100644 index 0000000..667397a Binary files /dev/null and b/resources/robots/g1_description/images/g1_29dof_with_hand.png differ diff --git a/resources/robots/g1_description/images/g1_dual_arm.png b/resources/robots/g1_description/images/g1_dual_arm.png new file mode 100644 index 0000000..8dd9a5d Binary files /dev/null and b/resources/robots/g1_description/images/g1_dual_arm.png differ diff --git a/resources/robots/g1_description/meshes/head_link.STL b/resources/robots/g1_description/meshes/head_link.STL new file mode 100644 index 0000000..2ee5fba Binary files /dev/null and b/resources/robots/g1_description/meshes/head_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_ankle_pitch_link.STL b/resources/robots/g1_description/meshes/left_ankle_pitch_link.STL new file mode 100644 index 0000000..69de849 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_ankle_pitch_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_ankle_roll_link.STL b/resources/robots/g1_description/meshes/left_ankle_roll_link.STL new file mode 100644 index 0000000..8864e9f Binary files /dev/null and b/resources/robots/g1_description/meshes/left_ankle_roll_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_elbow_link.STL b/resources/robots/g1_description/meshes/left_elbow_link.STL new file mode 100644 index 0000000..1a96d99 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_elbow_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hand_index_0_link.STL b/resources/robots/g1_description/meshes/left_hand_index_0_link.STL new file mode 100644 index 0000000..8069369 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hand_index_0_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hand_index_1_link.STL b/resources/robots/g1_description/meshes/left_hand_index_1_link.STL new file mode 100644 index 0000000..89d231d Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hand_index_1_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hand_middle_0_link.STL b/resources/robots/g1_description/meshes/left_hand_middle_0_link.STL new file mode 100644 index 0000000..8069369 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hand_middle_0_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hand_middle_1_link.STL b/resources/robots/g1_description/meshes/left_hand_middle_1_link.STL new file mode 100644 index 0000000..89d231d Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hand_middle_1_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hand_palm_link.STL b/resources/robots/g1_description/meshes/left_hand_palm_link.STL new file mode 100644 index 0000000..7d595ed Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hand_palm_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hand_thumb_0_link.STL b/resources/robots/g1_description/meshes/left_hand_thumb_0_link.STL new file mode 100644 index 0000000..3028bb4 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hand_thumb_0_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hand_thumb_1_link.STL b/resources/robots/g1_description/meshes/left_hand_thumb_1_link.STL new file mode 100644 index 0000000..d1c080c Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hand_thumb_1_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hand_thumb_2_link.STL b/resources/robots/g1_description/meshes/left_hand_thumb_2_link.STL new file mode 100644 index 0000000..8b32e96 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hand_thumb_2_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hip_pitch_link.STL b/resources/robots/g1_description/meshes/left_hip_pitch_link.STL new file mode 100644 index 0000000..5b751c7 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hip_pitch_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hip_roll_link.STL b/resources/robots/g1_description/meshes/left_hip_roll_link.STL new file mode 100644 index 0000000..778437f Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hip_roll_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_hip_yaw_link.STL b/resources/robots/g1_description/meshes/left_hip_yaw_link.STL new file mode 100644 index 0000000..383093a Binary files /dev/null and b/resources/robots/g1_description/meshes/left_hip_yaw_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_knee_link.STL b/resources/robots/g1_description/meshes/left_knee_link.STL new file mode 100644 index 0000000..f2e98e5 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_knee_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_rubber_hand.STL b/resources/robots/g1_description/meshes/left_rubber_hand.STL new file mode 100644 index 0000000..c44830f Binary files /dev/null and b/resources/robots/g1_description/meshes/left_rubber_hand.STL differ diff --git a/resources/robots/g1_description/meshes/left_shoulder_pitch_link.STL b/resources/robots/g1_description/meshes/left_shoulder_pitch_link.STL new file mode 100644 index 0000000..e698311 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_shoulder_pitch_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_shoulder_roll_link.STL b/resources/robots/g1_description/meshes/left_shoulder_roll_link.STL new file mode 100644 index 0000000..80bca84 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_shoulder_roll_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_shoulder_yaw_link.STL b/resources/robots/g1_description/meshes/left_shoulder_yaw_link.STL new file mode 100644 index 0000000..281e699 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_shoulder_yaw_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_wrist_pitch_link.STL b/resources/robots/g1_description/meshes/left_wrist_pitch_link.STL new file mode 100644 index 0000000..82cc224 Binary files /dev/null and b/resources/robots/g1_description/meshes/left_wrist_pitch_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_wrist_roll_link.STL b/resources/robots/g1_description/meshes/left_wrist_roll_link.STL new file mode 100644 index 0000000..f3c263a Binary files /dev/null and b/resources/robots/g1_description/meshes/left_wrist_roll_link.STL differ diff --git a/resources/robots/g1_description/meshes/left_wrist_roll_rubber_hand.STL b/resources/robots/g1_description/meshes/left_wrist_roll_rubber_hand.STL new file mode 100644 index 0000000..8fa435b Binary files /dev/null and b/resources/robots/g1_description/meshes/left_wrist_roll_rubber_hand.STL differ diff --git a/resources/robots/g1_description/meshes/left_wrist_yaw_link.STL b/resources/robots/g1_description/meshes/left_wrist_yaw_link.STL new file mode 100644 index 0000000..31be4fd Binary files /dev/null and b/resources/robots/g1_description/meshes/left_wrist_yaw_link.STL differ diff --git a/resources/robots/g1_description/meshes/logo_link.STL b/resources/robots/g1_description/meshes/logo_link.STL new file mode 100644 index 0000000..e979209 Binary files /dev/null and b/resources/robots/g1_description/meshes/logo_link.STL differ diff --git a/resources/robots/g1_description/meshes/pelvis.STL b/resources/robots/g1_description/meshes/pelvis.STL new file mode 100644 index 0000000..691a779 Binary files /dev/null and b/resources/robots/g1_description/meshes/pelvis.STL differ diff --git a/resources/robots/g1_description/meshes/pelvis_contour_link.STL b/resources/robots/g1_description/meshes/pelvis_contour_link.STL new file mode 100644 index 0000000..4243433 Binary files /dev/null and b/resources/robots/g1_description/meshes/pelvis_contour_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_ankle_pitch_link.STL b/resources/robots/g1_description/meshes/right_ankle_pitch_link.STL new file mode 100644 index 0000000..e77d8a2 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_ankle_pitch_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_ankle_roll_link.STL b/resources/robots/g1_description/meshes/right_ankle_roll_link.STL new file mode 100644 index 0000000..d4261dd Binary files /dev/null and b/resources/robots/g1_description/meshes/right_ankle_roll_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_elbow_link.STL b/resources/robots/g1_description/meshes/right_elbow_link.STL new file mode 100644 index 0000000..f259e38 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_elbow_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hand_index_0_link.STL b/resources/robots/g1_description/meshes/right_hand_index_0_link.STL new file mode 100644 index 0000000..f87ad32 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hand_index_0_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hand_index_1_link.STL b/resources/robots/g1_description/meshes/right_hand_index_1_link.STL new file mode 100644 index 0000000..6dea51a Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hand_index_1_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hand_middle_0_link.STL b/resources/robots/g1_description/meshes/right_hand_middle_0_link.STL new file mode 100644 index 0000000..f87ad32 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hand_middle_0_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hand_middle_1_link.STL b/resources/robots/g1_description/meshes/right_hand_middle_1_link.STL new file mode 100644 index 0000000..6dea51a Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hand_middle_1_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hand_palm_link.STL b/resources/robots/g1_description/meshes/right_hand_palm_link.STL new file mode 100644 index 0000000..5ae00a7 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hand_palm_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hand_thumb_0_link.STL b/resources/robots/g1_description/meshes/right_hand_thumb_0_link.STL new file mode 100644 index 0000000..1cae7f1 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hand_thumb_0_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hand_thumb_1_link.STL b/resources/robots/g1_description/meshes/right_hand_thumb_1_link.STL new file mode 100644 index 0000000..c141fbf Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hand_thumb_1_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hand_thumb_2_link.STL b/resources/robots/g1_description/meshes/right_hand_thumb_2_link.STL new file mode 100644 index 0000000..e942923 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hand_thumb_2_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hip_pitch_link.STL b/resources/robots/g1_description/meshes/right_hip_pitch_link.STL new file mode 100644 index 0000000..998a0a0 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hip_pitch_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hip_roll_link.STL b/resources/robots/g1_description/meshes/right_hip_roll_link.STL new file mode 100644 index 0000000..47b2eeb Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hip_roll_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_hip_yaw_link.STL b/resources/robots/g1_description/meshes/right_hip_yaw_link.STL new file mode 100644 index 0000000..3718564 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_hip_yaw_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_knee_link.STL b/resources/robots/g1_description/meshes/right_knee_link.STL new file mode 100644 index 0000000..76d21a3 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_knee_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_rubber_hand.STL b/resources/robots/g1_description/meshes/right_rubber_hand.STL new file mode 100644 index 0000000..0aacffb Binary files /dev/null and b/resources/robots/g1_description/meshes/right_rubber_hand.STL differ diff --git a/resources/robots/g1_description/meshes/right_shoulder_pitch_link.STL b/resources/robots/g1_description/meshes/right_shoulder_pitch_link.STL new file mode 100644 index 0000000..3f5b4ed Binary files /dev/null and b/resources/robots/g1_description/meshes/right_shoulder_pitch_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_shoulder_roll_link.STL b/resources/robots/g1_description/meshes/right_shoulder_roll_link.STL new file mode 100644 index 0000000..179d617 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_shoulder_roll_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_shoulder_yaw_link.STL b/resources/robots/g1_description/meshes/right_shoulder_yaw_link.STL new file mode 100644 index 0000000..2ba6076 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_shoulder_yaw_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_wrist_pitch_link.STL b/resources/robots/g1_description/meshes/right_wrist_pitch_link.STL new file mode 100644 index 0000000..da19454 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_wrist_pitch_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_wrist_roll_link.STL b/resources/robots/g1_description/meshes/right_wrist_roll_link.STL new file mode 100644 index 0000000..26868d2 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_wrist_roll_link.STL differ diff --git a/resources/robots/g1_description/meshes/right_wrist_roll_rubber_hand.STL b/resources/robots/g1_description/meshes/right_wrist_roll_rubber_hand.STL new file mode 100644 index 0000000..c365aa9 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_wrist_roll_rubber_hand.STL differ diff --git a/resources/robots/g1_description/meshes/right_wrist_yaw_link.STL b/resources/robots/g1_description/meshes/right_wrist_yaw_link.STL new file mode 100644 index 0000000..d788902 Binary files /dev/null and b/resources/robots/g1_description/meshes/right_wrist_yaw_link.STL differ diff --git a/resources/robots/g1_description/meshes/torso_constraint_L_link.STL b/resources/robots/g1_description/meshes/torso_constraint_L_link.STL new file mode 100644 index 0000000..75d82f5 Binary files /dev/null and b/resources/robots/g1_description/meshes/torso_constraint_L_link.STL differ diff --git a/resources/robots/g1_description/meshes/torso_constraint_L_rod_link.STL b/resources/robots/g1_description/meshes/torso_constraint_L_rod_link.STL new file mode 100644 index 0000000..6747f3f Binary files /dev/null and b/resources/robots/g1_description/meshes/torso_constraint_L_rod_link.STL differ diff --git a/resources/robots/g1_description/meshes/torso_constraint_R_link.STL b/resources/robots/g1_description/meshes/torso_constraint_R_link.STL new file mode 100644 index 0000000..5cb5958 Binary files /dev/null and b/resources/robots/g1_description/meshes/torso_constraint_R_link.STL differ diff --git a/resources/robots/g1_description/meshes/torso_constraint_R_rod_link.STL b/resources/robots/g1_description/meshes/torso_constraint_R_rod_link.STL new file mode 100644 index 0000000..95cf415 Binary files /dev/null and b/resources/robots/g1_description/meshes/torso_constraint_R_rod_link.STL differ diff --git a/resources/robots/g1_description/meshes/torso_link.STL b/resources/robots/g1_description/meshes/torso_link.STL new file mode 100644 index 0000000..17745af Binary files /dev/null and b/resources/robots/g1_description/meshes/torso_link.STL differ diff --git a/resources/robots/g1_description/meshes/torso_link_23dof_rev_1_0.STL b/resources/robots/g1_description/meshes/torso_link_23dof_rev_1_0.STL new file mode 100644 index 0000000..079aa81 Binary files /dev/null and b/resources/robots/g1_description/meshes/torso_link_23dof_rev_1_0.STL differ diff --git a/resources/robots/g1_description/meshes/torso_link_rev_1_0.STL b/resources/robots/g1_description/meshes/torso_link_rev_1_0.STL new file mode 100644 index 0000000..8a759a7 Binary files /dev/null and b/resources/robots/g1_description/meshes/torso_link_rev_1_0.STL differ diff --git a/resources/robots/g1_description/meshes/waist_constraint_L.STL b/resources/robots/g1_description/meshes/waist_constraint_L.STL new file mode 100644 index 0000000..911410f Binary files /dev/null and b/resources/robots/g1_description/meshes/waist_constraint_L.STL differ diff --git a/resources/robots/g1_description/meshes/waist_constraint_R.STL b/resources/robots/g1_description/meshes/waist_constraint_R.STL new file mode 100644 index 0000000..babe794 Binary files /dev/null and b/resources/robots/g1_description/meshes/waist_constraint_R.STL differ diff --git a/resources/robots/g1_description/meshes/waist_roll_link.STL b/resources/robots/g1_description/meshes/waist_roll_link.STL new file mode 100644 index 0000000..65831ab Binary files /dev/null and b/resources/robots/g1_description/meshes/waist_roll_link.STL differ diff --git a/resources/robots/g1_description/meshes/waist_roll_link_rev_1_0.STL b/resources/robots/g1_description/meshes/waist_roll_link_rev_1_0.STL new file mode 100644 index 0000000..a64f330 Binary files /dev/null and b/resources/robots/g1_description/meshes/waist_roll_link_rev_1_0.STL differ diff --git a/resources/robots/g1_description/meshes/waist_support_link.STL b/resources/robots/g1_description/meshes/waist_support_link.STL new file mode 100644 index 0000000..63660fb Binary files /dev/null and b/resources/robots/g1_description/meshes/waist_support_link.STL differ diff --git a/resources/robots/g1_description/meshes/waist_yaw_link.STL b/resources/robots/g1_description/meshes/waist_yaw_link.STL new file mode 100644 index 0000000..7d36b02 Binary files /dev/null and b/resources/robots/g1_description/meshes/waist_yaw_link.STL differ diff --git a/resources/robots/g1_description/meshes/waist_yaw_link_rev_1_0.STL b/resources/robots/g1_description/meshes/waist_yaw_link_rev_1_0.STL new file mode 100644 index 0000000..0fabb63 Binary files /dev/null and b/resources/robots/g1_description/meshes/waist_yaw_link_rev_1_0.STL differ diff --git a/resources/robots/g1_description/scene.xml b/resources/robots/g1_description/scene.xml new file mode 100644 index 0000000..d0e3c0a --- /dev/null +++ b/resources/robots/g1_description/scene.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/h1/h1.xml b/resources/robots/h1/h1.xml new file mode 100644 index 0000000..5b070f5 --- /dev/null +++ b/resources/robots/h1/h1.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/robots/h1/scene.xml b/resources/robots/h1/scene.xml new file mode 100644 index 0000000..3452583 --- /dev/null +++ b/resources/robots/h1/scene.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/h1/urdf/h1.urdf b/resources/robots/h1/urdf/h1.urdf index f1b55f3..8f77c20 100644 --- a/resources/robots/h1/urdf/h1.urdf +++ b/resources/robots/h1/urdf/h1.urdf @@ -89,14 +89,14 @@ Stephen Brawner (brawner@gmail.com) - + + izz="0.01" /> - + + izz="0.01" /> - \ No newline at end of file + diff --git a/resources/robots/h1_2/h1_2_12dof.urdf b/resources/robots/h1_2/h1_2_12dof.urdf new file mode 100644 index 0000000..727dd0c --- /dev/null +++ b/resources/robots/h1_2/h1_2_12dof.urdf @@ -0,0 +1,1369 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/h1_2/h1_2_12dof.xml b/resources/robots/h1_2/h1_2_12dof.xml new file mode 100644 index 0000000..1d3c621 --- /dev/null +++ b/resources/robots/h1_2/h1_2_12dof.xml @@ -0,0 +1,360 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/robots/h1_2/scene.xml b/resources/robots/h1_2/scene.xml index fad346e..d35c856 100644 --- a/resources/robots/h1_2/scene.xml +++ b/resources/robots/h1_2/scene.xml @@ -1,5 +1,5 @@ - +