-
Notifications
You must be signed in to change notification settings - Fork 7
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
Observe joint limits on both iPOS controller implementations #264
Comments
I can't really tell since the synchronization thread keeps sending new torque/current references that might be overwriting something. Perhaps a single reference would be indeed zeroed upon hitting a joint limit. Section 5. Drive control and status states in Table 5.1.2 Drive States:
It might be interesting to check this (out of sheer curiosity), but it's actually worthless since I'm not going to change the way torques or currents are synced. Edit: I have checked this out anyway. The reference torque is not reset upon triggering a limit switch. |
I'm considering one of three possible ways to handle emergency stops upon reaching a joint limit (signalled via EMCY):
The first option is easy, but the actual stop (via RPDO3) is not processed until the next SYNC. The two remaining options rely on a controlword command, hence it is a high priority message (via RPDO1). Transitioning into quick stop must be done without blocking as it is called from within the CAN read thread (because of attending to an EMCY signal). Its main con is having to transition back to Operation Enabled, which can be slow (and would block). The halt command seems a good solution, although a bit tougher to handle than option 1. |
As a follow-up to #262, I'm going to decide on the safety mechanisms we should enforce on the new "external" controller regarding its behavior around joint limits, and also review the ones enabled in the "embedded" implementation.
The "embedded" (classic, default) controller behaves as follows:
The warnings we are getting look like these lines:
The "external" controller heavily relies on the torque/current drive mode, also when it's closing a position control loop. Perhaps encoder reads should be permanently watched and acted upon if we try to go beyond limits?
Relevant iPOS manual entry: 5.3.2 Software limit switches functionality
Even though the manual states that a quick stop is performed, it does not mean that the drive transitions into the "Quick stop active" state. In fact, it is still in "Operation enabled".
The text was updated successfully, but these errors were encountered: