Skip to content

Retrieve Base Feedback (Pose, Velocity, Wrench) While in LOW_LEVEL_SERVOING Mode #222

Description

@Reichenbar

Hi Kinova team,

We have successfully implemented low-level position real-time control for the Kinova Gen3 robot arm. Our control pipeline is as follows:

  1. A high-level controller runs at 10 Hz and continuously updates the desired end-effector pose.
  2. Using base.ComputeInverseKinematics(input_IkData), we compute the corresponding desired joint angles.
  3. These joint angles are sent to a low-level controller running at 1 kHz.
  4. Before calling base_cyclic.Refresh(command), we perform necessary interpolation of joint angles to ensure safe actuator execution.

In our experiments, this pipeline works well, and the arm follows the commanded trajectories reliably. We would like to ask two questions:

  1. Do you have any comments or suggestions regarding our control pipeline?
    Is this method consistent with how you recommend using LOW_LEVEL_SERVOING mode? Are there better or more stable alternatives for low-level position control?

  2. Most importantly, we are unable to retrieve base feedback while in LOW_LEVEL_SERVOING mode.
    When our high-level controller (running at 10 Hz) attempts to call base_cyclic.RefreshFeedback(), it does not update critical state information, such as the end-effector pose, velocity, external force/torque (wrench), etc. These values, normally available in BaseFeedback, are essential for our robot learning algorithm. Is there any way to retrieve these feedback values?

Thanks for your support and looking forward to your advice!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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