Closed jgvictores closed 4 years ago
Related: #120 (recovery from fault state).
Edit: actually switch to quick stop state.
Related: https://github.com/roboticslab-uc3m/yarp-devices/issues/215 (map fault state to YARP control modes).
Per 5.4.9, Object 605Eh: Fault reaction option code (P091.063.iPOS.STO.UM.0219, 2019):
This object determines what action should be taken if a non-fatal error occurs in the drive. The non-fatal errors are by default the following:
- Under-voltage
- Over-voltage
- I2t error –when the internal register ASR bit1 is 0 in setup.
- Drive over-temperature
- Motor over-temperature
- Communication error (when object 6007h option 1 is set)
Accepted values:
-1
= "No action"0
= "Disable drive, motor is free to rotate"2
= "Slow down with quick stop ramp" (default)I'm not sure if this is something like an on-line self-recovery in line of #2
This can't be automated, we want to let motors cool down in case a I2t event occurs, for instance. Therefore, fault state reset needs to be a manual operation. See https://github.com/roboticslab-uc3m/yarp-devices/issues/2#issuecomment-538367522.
or something completely different such as allowing joints to be blocked easily for demos. Very open to suggestions!
This no longer happers, faulted joints do not interfere with the rest of the chain and demos may carry on. @jgvictores suggests that checkMotionDone
could spoil this behavior. I need to check whether the target reached
bit in statusword is set/reset on a fault event and, if deemed necessary, handle this special state in the implementation (just test against current drive state, which is only meaningful in OPERATION_ENABLED).
If you look closely, there are two "Target reached" bits with distinct interpretation:
I need to check whether the
target reached
bit in statusword is set/reset on a fault event and, if deemed necessary, handle this special state in the implementation (just test against current drive state, which is only meaningful in OPERATION_ENABLED).
Ready at https://github.com/roboticslab-uc3m/yarp-devices/commit/11b9115598f5331683974e309de363b2d7d1528f. Again, this is probably mode-of-operation-dependent, but it's a good start.
Closing as INVALID, we just can't fix the world.
In light of issues such as this (private ref), which will continue to occur, I'm proposing some fail-safe mode for TechnosoftIpos.
I'm not sure if this is something like an on-line self-recovery in line of #2, or something completely different such as allowing joints to be blocked easily for demos. Very open to suggestions!