Robotics StackExchange | Archived questions

Random effort peaks added between Trajectory controller and Hardware Interface

We are controlling a physical electro mechanical joint with an effortcontrollers/JointTrajectoryController. For safety we are using the jointlimits_interface::EffortJointSoftLimitsInterface. Using ROS kinetic, ROS control and ubuntu 16.04.

When the joint is experiencing a high load, the joint began to tick. We deduced that some very high effort commands are sent towards our motorcontroller. However the output of the effort trajectory controller does not reflect these high effort commands. The situation is visualized in the plot shown below.

As can be seen in the image:

From the image can be seen that between the output of the controller and somewhere before the limits, large negative effort peaks occur.

image description

We suspect that there is a discrepancy between the reading and the writing of the memory location of the respective effort command. This is therefore between the command write by the trajectory controller and the command read by the hardware interface. We have not yet found a way to prove or prevent it.

What ways are there to debug such a problem and prevent the effort peaks?

Asked by bvaningen on 2019-07-31 04:02:24 UTC

Comments

Answers