-
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
rsi_hw_iface: "1073: Command gear torque An" error on any use #89
Comments
@BrettHemes, @tingelst, @pgorczak, @destogl, @bj0rkedal: did you guys ever run into anything like this? |
Are you using an |
No, I'm currently running a Tbh I would've expected the RSI Diagnostics screen to show much worse stats if this is the problem, but I guess we'll have to try anyway. |
FWIW I had similar stability issues before, that could be mitigated by modifying the RSI/ros-control interface to use relative position commands. In that case, the instability was clearly visible when you plotted the measured joint angles (sudden escalating oscillation). |
It's kind of hard to know for certain without additional tests -- as we committed the cardinal sin of changing more than a single 'variable' in our attempts to diagnose our issue, but it's very likely that incorrect tool load data was the cause of the excessive torque faults I reported in my OP. Dropped / missing RSI packets will probably exacerbate this, as the controller will attempt an even larger correction than if everything is contiguous, but the controller is now no longer complaining, so we can move on to other things. Thanks @SNBasti and @pgorczak for your input. |
@gavanderhoorn: I'd like to reopen this issue. In the mean while I have changed the configuration with respect to the first post by Gijs:
Behavior The RSI Diagnostic Monitor on the KR C4 shows (in my opinion) quite good connection results: Additional info |
Seeing as you are on Kinetic, your description makes me think of moveit/moveit#416. moveit/moveit#160 could also be an influence here (as in: the fact that it hasn't been merged yet).
This should definitely not happen. To see whether it's the time parameterisation you could try a TOTG planning adapter that would take the place of the IPTP. To see whether the OMPL changes are of influence we could see whether Indigo causes the same issues. An alternative could be to construct a trajectory manually and then submitting it to the driver (you could still use the TOTG or IPTP in those cases). |
I re-opened the issue, but I just realised: are you still getting the If the latter, we should probably open a new issue. |
The description there seems very similar to the behaviour I also see. I will perform some more tests this week and specifically look into this. I think I did not get Side note: I just changed the drive configuration of the robot (removed external positioner) so might take some time before I have it reconfigured (and am able to do the tests). |
#119 probably fixes this. |
@rtonnaer update? |
I've been in contact with @rtonnaer and according to him, the nr of occurences of the reported error(s) has dropped significantly. Unfortunately 'nothing' has changed. I put 'nothing' between quotes as a lot has changed in the meantime, but nothing that could be necessarily pointed to as the cause. MoveIt happily plans paths and the robot executes them. This is with |
@rtonnaer's problem as described here seems to be a completely different one. @gavanderhoorn are you still getting the original faults of this issue? |
@hartmanndennis: I'm not sure whether it is a different issue. What makes you conclude that? |
Your original issue as I understand it was that the controller faults and aborts the program after some time, whereas rtonnaer never described(at least in this issue) the controller to fault, but having motions with vibrations, which can have many reasons, like your suggestion of kinetic moveit's weird time parametrization. |
You're correct that as @rtonnaer describes it, this doesn't sound like the same issue. We (I work with him) probably mixed some things up, which led him to post this here. @rtonnaer: if you're still having this issue, it might make sense to open a new one. Please include a reference to #116 (specifically #116 (comment)). |
We had the same issue or at least similar issue a couple years ago. The robot would execute a trajectory planned with MoveIt and randomly fail with the same error during execution. I noticed that the cumulative link mass in our URDF was much higher than the total weight of the robot. After adjusting those values we never had this problem again. |
I'm happy you were able to work around this, but I'm surprised by the solution you present. MoveIt (or: OMPL) does not take dynamics into account. Or at least, it only takes joint velocity and acceleration limits into account after the kinematic path has been planned (and "takes into account" is a bit of a misnomer: those joint limits are fed into the time-parameterisation algorithms MoveIt uses, which don't change the path any more, but add timing information).
Perhaps @simonschmeisser can weigh in here as well. He probably has more up-to-date working knowledge of MoveIt. |
No, you're right. I'm sorry, maybe I remembered it wrong. I don't have the old commits anymore since we had to redo our repository but I'm sure it had something to do with the way the trajectory was generated. I believe that if the time between the points was too low, or the distance too high it would require massive torque to reach it and at that point the fail safe would kick in. |
this would of course make the KRC complain, yes. Perhaps you weren't using OMPL, but some other planner which does take dynamics into account? |
No, it was definitely OMPL. Honestly now I don't anymore what fixed it. All this time I believed that MoveIt takes the dynamics into account and thought that it would be impossible to drive the robot at max. possible speed along a trajectory (without knowing the mass & inertia). I did find an old commit and found this while looking through it. For some reason my planned trajectories were in the form of
Maybe this modification of the |
Context:
Set up
kuka_rsi_hw_interface
and the controller as I've done before (followedkrl/readme.md
as always).State reporting works fine, RSI connection seems stable (quality: 100, total loss: +2 in 1 or 2 seconds, max contiguous loss: 2).
At the "run
rqt_joint_trajectory_controller
" section I do just that.After enabling the rqt controller (push the big red button), robot moves slightly (robot is in
0, -90, 90, 0, 90, 0
pose and apparentlyrqt_joint_trajectory_controller
rounds the values in the sliders to two decimals). Even without touching any of the sliders (so just enabling the rqt controller), the controller will go into a fault mode, always giving meCommand gear torque An
errors (withn
any (or sometimes all) of the joints in the robot).I've verified the in- and outgoing RSI XML documents and they seem reasonable enough. Maximum correction send right before the controller faults is similar to (A1 angle differs slightly each time):
Running a simple test script (
FollowJointTrajectory
action client that sends A1 to +5 degrees in 10 seconds (two pointJointTrajectory
)) also results in the error, but after somewhat more time.I must be missing something here, but don't see it (any more).
The text was updated successfully, but these errors were encountered: