Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some Characteristics about libiiwa. #2

Closed
CodingCatMountain opened this issue Jul 15, 2023 · 1 comment
Closed

Some Characteristics about libiiwa. #2

CodingCatMountain opened this issue Jul 15, 2023 · 1 comment

Comments

@CodingCatMountain
Copy link

Hello, developer! @Toni-SM . Thank you for this repo! There is a KUKA iiwa7 in my lab. So far,we utilize the iiwa_stack or even "iiwa_ros" repo to control KUKA iiwa7. However, we have met some problems. 1. iiwa_stack is too slow due to the Protocol used in this repo. And iiwa_stack does not provide the API to control joint_torque. So a lot of useful controller, e.g., LQR, could not be implemented via iiwa_stack. 2. iiwa_ros is not very stable. For example, KUKA iiwa7 will randomly swing when the control mode is set as "Position". And there are some problems happen in gravity compensation when the tool is attached on the end-effector of iiwa7. So I wanna to ask some questions about this repo. Which protocol used in this repo? Does any controller example rely on the joint_torque have been implemented on the real robot via this repo? Or could you provide more real-robot examples which the input of the controller running on the real robot is joint_torque? Looking forward to your reply! :-)

@Toni-SM
Copy link
Owner

Toni-SM commented Jul 16, 2023

Hi @CodingCatMountain

Current libiiwa implementation relies on the KUKA Standard and Servoing interfaces:

  • Standard interface: A software interface that allows viewing the current state of the robot, setting parameters, and programming discontinuous blocking or non-blocking motion sequences.
  • Servo (or servoing) interface: A real-time software interface that allows the implementation of non-deterministic applications and continuous and smooth motion composed of multiple points. This interface requires the presence of some KUKA-specific software libraries in the cabinet (used by iiwa_stack).

Neither of them allows the application of torque for robot control.

For this, it is necessary to rely on the KUKA Fast Robot Interface (FRI), a fast robot interface that enables access to the robot controller from an external computer in real time. FRI can only be controlled in C++ (KUKA Fast Robot Interface C++ SDK) and requires JAVA to initialize the FRI interface at robot (cabinet) side.

The idea is to eventually add FRI support to libiiwa... although I don't know for when

Repository owner locked and limited conversation to collaborators Jul 16, 2023
@Toni-SM Toni-SM converted this issue into discussion #3 Jul 16, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants