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

"Jerky" motions while using kuka_rsi_hw_interface for a KUKA KR240 L210 MED #147

Open
BastiSta opened this issue Dec 5, 2018 · 3 comments

Comments

@BastiSta
Copy link

BastiSta commented Dec 5, 2018

Hi all,
I am working with a KUKA KR240 L210 MED with a safe control system and would like to control it via the kuka_rsi_hw_interface. Starting the moveit_planning_execution.launch works and the robot can be started without problems. Also the visualization and path planning via Rviz and the execution of the movement works. My problem now is that the robot jerks randomly and does not move smoothly. At first I thought, there are too few waypoints passed and increased the number but there was no improvement. Also different planners from moveit don't lead to a clear improvement of the movement.
Has someone already had similar problems and could help me?

@cschindlbeck
Copy link

Yes. This is the issue discussed in #126 and unfortunately it has not been resolved yet. I slow down the robot to mitigate this issue at least a little bit.

@BrettHemes
Copy link
Member

I have the same issues with the EKI interface as well... @cschindlbeck @gavanderhoorn are you running with this/these issues currently?

@gavanderhoorn
Copy link
Member

gavanderhoorn commented Jul 18, 2019

There are two main causes for jerky motions that have been identified so far:

  1. OMPL planning in combination standard IPTP
  2. non-jerk limited/aware time parameterisation on the MoveIt side (and the joint_trajectory_controller)

A third could potentially be using a PC with a high enough cpu load so as to cause starvation of the RSI / EKI driver node -- but that is fixable using a proper real-time kernel (and a small change actually to the driver nodes).

Switching to the AddIterativeSplineParameterization or AddTimeOptimalParameterization helps, but won't completely fix everything.

Until somebody writes a jerk-limited time parameterisation and joint_trajectory_controller or implements some low-pass filtering on the controller side I believe we're going to keep 'suffering' from this.

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

No branches or pull requests

4 participants