Skip to content
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

Limitations about ROS drivers for KUKA iiwa robot #46

Open
jacknlliu opened this issue Jun 26, 2018 · 7 comments
Open

Limitations about ROS drivers for KUKA iiwa robot #46

jacknlliu opened this issue Jun 26, 2018 · 7 comments

Comments

@jacknlliu
Copy link
Owner

jacknlliu commented Jun 26, 2018

The current interface for real-time control is called in the new Sunrise controller: Connectivity.
This one is divided to 2 main packages :

Reference

@jacknlliu
Copy link
Owner Author

jacknlliu commented Jun 26, 2018

motion too slow (iiwa stack)

It seems that effect of cartesian pose command is less than the joint position command in KUKA iiwa robot controller.

We can test something related with this.

  • parameterize the setMinimumTrajectoryExecutionTime and setTimeoutAfterGoalReach. We hope using a dynamic configuration for this.
  • script to test.
  • using joint position and IK to replace the cartesian pose command.

Reference

@jacknlliu jacknlliu changed the title Limitations about ROS driver for KUKA iiwa robot Limitations about ROS drivers for KUKA iiwa robot Jun 26, 2018
@jacknlliu
Copy link
Owner Author

jacknlliu commented Jun 27, 2018

wrong ttd (iiwa stack)

We use the TimeToDestinationService to get the time about the excutation, but the result seems not correct.

This caused that we can't use the cartesian pose command which needs determined time.

We need a script to test it.

@jacknlliu
Copy link
Owner Author

jacknlliu commented Jul 5, 2018

TimeoutAfterGoalReach (iiwa stack)

Depending on our iiwa_stack version, when switching between different control modes, the setTimeoutAfterGoalReach will be called and then the controller will last such time to work.

But if you just update the parameters of the current control mode, it will not work, because of the current iiwa_stack implement. This will not call the switchSmartServoMotion() which creates a new motion with the TimeoutAfterGoalReach again.

@jacknlliu
Copy link
Owner Author

jacknlliu commented Jul 8, 2018

Switching control modes caused exception (iiwa stack)

More details, see iiwa_stack #120.

This is related with the safe operation in impedance mode and switching control mode. (The Law III of Asimov)

Possible solutions:

import static com.kuka.roboticsAPI.motionModel.BasicMotions.positionHold;

// or
import com.kuka.roboticsAPI.motionModel.PositionHold;

In iiwa_stack ROSMonitor.java, we know that we should update the commanded position to the current robot position.

/*
    * Continuously updating the commanded position to the current robot
    * position If this is not done, when setting the stiffness back to
    * a high value the robot will go back to that position at full
    * speed: do not try that at home!!
    */
motion.getRuntime().setDestination(robot.getCurrentJointPosition());

Temporay Solution:
Please see jacknlliu/iiwa_stack@dd35ef9

Reference

@jacknlliu
Copy link
Owner Author

jacknlliu commented Jul 8, 2018

Plan to use grl and iiwa_stack

Difference

  • iiwa_stack is well documented, but some problems can't be solved by current version.
  • grl uses the FRI interface, but iiwa_stack uses the SmartServo interface.
  • our sunrise os is 1.7, but the grl only support higher versions.

Why?

TODO

  • give the stratification of the grl modules, we only need the lower modules.
  • catkinize the grl modules what we need
  • combined them

@jacknlliu
Copy link
Owner Author

Teaching and Demonstration using KUKA LBR iiwa

@jacknlliu
Copy link
Owner Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant