diff --git a/controllers/rl_quadruped_controller/src/RlQuadrupedController.cpp b/controllers/rl_quadruped_controller/src/RlQuadrupedController.cpp index a396936..6940d5e 100644 --- a/controllers/rl_quadruped_controller/src/RlQuadrupedController.cpp +++ b/controllers/rl_quadruped_controller/src/RlQuadrupedController.cpp @@ -112,6 +112,7 @@ namespace rl_quadruped_controller { RCLCPP_INFO(get_node()->get_logger(), "Controller Update Rate: %d Hz", ctrl_interfaces_.frequency_); if (foot_force_interface_types_.size() == 4) { + RCLCPP_INFO(get_node()->get_logger(), "Enable Estimator"); ctrl_component_.enable_estimator_ = true; ctrl_component_.estimator_ = std::make_shared(ctrl_interfaces_, ctrl_component_); } diff --git a/controllers/rl_quadruped_controller/src/robot/QuadrupedRobot.cpp b/controllers/rl_quadruped_controller/src/robot/QuadrupedRobot.cpp index 473d6e3..353b933 100644 --- a/controllers/rl_quadruped_controller/src/robot/QuadrupedRobot.cpp +++ b/controllers/rl_quadruped_controller/src/robot/QuadrupedRobot.cpp @@ -12,17 +12,17 @@ QuadrupedRobot::QuadrupedRobot(CtrlInterfaces &ctrl_interfaces, const std::strin KDL::Tree robot_tree; kdl_parser::treeFromString(robot_description, robot_tree); - robot_tree.getChain(base_name, feet_names[0], fr_chain_); - robot_tree.getChain(base_name, feet_names[1], fl_chain_); - robot_tree.getChain(base_name, feet_names[2], rr_chain_); - robot_tree.getChain(base_name, feet_names[3], rl_chain_); + robot_tree.getChain(base_name, feet_names[0], fl_chain_); + robot_tree.getChain(base_name, feet_names[1], fr_chain_); + robot_tree.getChain(base_name, feet_names[2], rl_chain_); + robot_tree.getChain(base_name, feet_names[3], rr_chain_); robot_legs_.resize(4); - robot_legs_[0] = std::make_shared(fr_chain_); - robot_legs_[1] = std::make_shared(fl_chain_); - robot_legs_[2] = std::make_shared(rr_chain_); - robot_legs_[3] = std::make_shared(rl_chain_); + robot_legs_[0] = std::make_shared(fl_chain_); + robot_legs_[1] = std::make_shared(fr_chain_); + robot_legs_[2] = std::make_shared(rl_chain_); + robot_legs_[3] = std::make_shared(rr_chain_); current_joint_pos_.resize(4); current_joint_vel_.resize(4); diff --git a/descriptions/unitree/a1_description/config/robot_control.yaml b/descriptions/unitree/a1_description/config/robot_control.yaml index 3236800..d42ed52 100644 --- a/descriptions/unitree/a1_description/config/robot_control.yaml +++ b/descriptions/unitree/a1_description/config/robot_control.yaml @@ -187,8 +187,8 @@ rl_quadruped_controller: foot_force_name: "foot_force" foot_force_interfaces: - FL - - RL - FR + - RL - RR imu_name: "imu_sensor" diff --git a/descriptions/unitree/go2_description/config/legged_gym/config_himloco.yaml b/descriptions/unitree/go2_description/config/legged_gym/config_himloco.yaml new file mode 100644 index 0000000..2df9cb3 --- /dev/null +++ b/descriptions/unitree/go2_description/config/legged_gym/config_himloco.yaml @@ -0,0 +1,41 @@ +model_name: "himloco.pt" +framework: "isaacgym" +rows: 4 +cols: 3 +decimation: 4 +num_observations: 45 +observations: ["commands", "ang_vel", "gravity_vec", "dof_pos", "dof_vel", "actions"] +observations_history: [5, 4, 3, 2, 1, 0] +clip_obs: 100.0 +clip_actions_lower: [-100, -100, -100, + -100, -100, -100, + -100, -100, -100, + -100, -100, -100] +clip_actions_upper: [100, 100, 100, + 100, 100, 100, + 100, 100, 100, + 100, 100, 100] +rl_kp: [40, 40, 40, + 40, 40, 40, + 40, 40, 40, + 40, 40, 40] +rl_kd: [1, 1, 1, + 1, 1, 1, + 1, 1, 1, + 1, 1, 1] +hip_scale_reduction: 1.0 +hip_scale_reduction_indices: [0, 3, 6, 9] +num_of_dofs: 12 +action_scale: 0.25 + +lin_vel_scale: 2.0 +ang_vel_scale: 0.25 +dof_pos_scale: 1.0 +dof_vel_scale: 0.05 + +commands_scale: [2.0, 2.0, 0.25] + +torque_limits: [33.5, 33.5, 33.5, + 33.5, 33.5, 33.5, + 33.5, 33.5, 33.5, + 33.5, 33.5, 33.5] \ No newline at end of file