Skip to content

State_estimator setting for passive joints. #27

@Xianqi-Zhang

Description

@Xianqi-Zhang

Hi,
Thank you very much for your excellent works.

I'm trying to perform sim2sim to validate my own robot. However, because my robot has passive joints, the state_estimator and ROS2 match successfully.
The error message is as follows:

[mujoco_sim-3] [ERROR]  [controller_manager]: Can't activate controller 'state_estimator': State interface with key 'left_ankle_pitch_joint1/position' does not exist
[mujoco_sim-3] [ERROR][controller_manager]: Could not activate controller : 'state_estimator'
[spawner-1] [ERROR]  [spawner_state_estimator]: Failed to activate controller : state_estimator

left_ankle_pitch_joint1 is a passive joint.

The controller.yaml of motion tracking_controller is setting as bellow:

controller_manager:
  ros__parameters:
    update_rate: 500  # Hz

    state_estimator:
      type: legged_controllers/StateEstimator
    standby_controller:
      type: legged_controllers/StandbyController
    walking_controller:
      type: motion_tracking_controller/MotionTrackingController

state_estimator:
  ros__parameters:
    model:
      base_name: "pelvis"
      six_dof_contact_names: [ "left_ankle_roll_link", "right_ankle_roll_link" ]
    estimation:
      position:
        noise: 1e-2
        frame_id: "mid360_link"

standby_controller:
  ros__parameters:
    joint_names:
      [ 
        "left_hip_pitch_joint", 
        "left_hip_roll_joint", 
        "left_hip_yaw_joint",
        "left_knee_joint", 
        "left_ankle_pitch_joint2", 
        "left_ankle_roll_joint",

        "right_hip_pitch_joint", 
        "right_hip_roll_joint", 
        "right_hip_yaw_joint",
        "right_knee_joint", 
        "right_ankle_pitch_joint2", 
        "right_ankle_roll_joint"
      ]
    default_position: [ 
      -0.3, 0.0, 0.0, 0.7, 0.0, 0.0,
      -0.3, 0.0, 0.0, 0.7, 0.0, 0.0,
    ]
    kp: [
      150.0, 150.0, 100.0, 150.0, 100.0, 50.0,
      150.0, 150.0, 100.0, 150.0, 100.0, 50.0,
    ]
    kd: [ 
      5.0, 5.0, 4.0, 5.0, 50.0, 2.5,
      5.0, 5.0, 4.0, 5.0, 50.0, 2.5,
    ]

How to ignore passive joints interface ?

Thank you very much for any reply.
Best Regards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions