-
Notifications
You must be signed in to change notification settings - Fork 218
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
Added new kuka_kss_hw_interface and associated kuka_msgs packages. #258
base: melodic-devel
Are you sure you want to change the base?
Added new kuka_kss_hw_interface and associated kuka_msgs packages. #258
Conversation
movesQueued = ROS_GetNextMoveFIFO(nextMove, moveTime) | ||
CONTINUE | ||
IF (movesQueued > 0) THEN | ||
PTP nextMove C_PTP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does that imply that for dense trajectories the maximum achievable speed will be limited by the distance between points? Ie so that a full stop would be possible at any time if no further points where to follow
We use splines here for our internal driver and love this feature of Kuka
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. The legacy motion planner will limit velocity if point spacing is very close.
I also found that the EKI update rate of 20Hz is a bit slow for smaller robots. The robot executes the planned moves faster than the update rate and is starved of data so it plans a stop. This results in jerky motion.
For your spline motions, to use the single line SPTP or do you download a trajectory as a spline block? Do you suggest we change the PTP to SPTP in ros_krlptp.src?
I experimented with a spline TIME_BLOCK using the moveTime parameter. I couldn't get this to provide continuous motion.
The architecture of this new driver enables different operating mode programs so we could assign different programs to each use a different motion strategy. This might be helpful if there is not a "best" solution to fit all cases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We use several spline_ptp blocks of varying point size/lenghts that we concatenate. Unfortunately we found no way to use them with a variable length of points directly. You can visually tell where two blocks are connected. We try to guess a velocity override based on the ratio of velocity to max velocity, this is not accurate at all but sufficient for bin picking.
I don't know if switching this line to SPTP is advisable or not, you got the @ kuka.com address 😉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. Thanks for your insights.
One of the challenges with the SPLINE block is that it cannot support a variable length or loop inside. It sounds like you used the common strategy of a fixed size block. Did you also use the C_SPL blending after the end of the block? That can help to smooth the path.
Is your driver also using ROS Control, or is it downloading a whole trajectory for execution?
I appreciate your suggestion and I will test the single SPTP to see if it improves performance.
The goal of this new package was to utilize the latest Kuka technology and system knowledge to provide a driver that is more functional and industry ready.
It has many new features: