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

Programmatically recover from Safe Stop -> Exception "cannot signal semaphore: count would exceed maximum" #206

Open
buswayne opened this issue May 23, 2024 · 0 comments

Comments

@buswayne
Copy link

Hello, as in previous request, we are also trying to programmatically recover the robot when a safe stop happens.

We have seen that in dsr_hw_interface.cpp in OnMonitoringStateCB(const ROBOT_STATE eState) when the robot goes into Safe Stop, it actually throws the exception "cannot signal semaphore: count would exceed maximum", resulting in the robot to turn off and requiring manual restart.

We fixed it commenting the set_robot_control command makes the exception to go away.

Why is it happening in the first place? Is it safe to comment out that line? Thanks

        case STATE_SAFE_STOP:
            std::cout << "AHHH" << std::endl;
            if (g_bHasControlAuthority) {
                std::cout << "OHHH" << std::endl;
                Drfl.set_safe_stop_reset_type(SAFE_STOP_RESET_TYPE_DEFAULT);
                std::cout << "UHHH" << std::endl;
                // Drfl.set_robot_control(CONTROL_RESET_SAFET_STOP);
                std::cout << "EHHH" << std::endl;
            }
            break; 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant