jacknlliu / development-issues

Some issues from my development
MIT License
7 stars 1 forks source link

Limitations about ROS drivers for KUKA iiwa robot #46

Open jacknlliu opened 6 years ago

jacknlliu commented 6 years ago

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 commented 6 years ago

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.

Reference

jacknlliu commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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 https://github.com/jacknlliu/iiwa_stack/commit/dd35ef91c64c72fcdb08ee9798a46629caf424aa

Reference

jacknlliu commented 6 years ago

Plan to use grl and iiwa_stack

Difference

Why?

TODO

jacknlliu commented 6 years ago

Teaching and Demonstration using KUKA LBR iiwa

jacknlliu commented 5 years ago

Control Robot with kuka-isir/rtt_lwr