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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions