-
Notifications
You must be signed in to change notification settings - Fork 14
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
Monitor internal state in BasicCartesianControl/CartesianControlServer #118
Comments
This issue was repurposed to focus solely on internal state considerations regarding the BasicCartesianControl implementation and its network wrapper (possibly spanning to AmorCartesianControl, too). Initial and on-runtime controller configuration will be discussed at #121. |
Regarding internal state and concurrency issues, check #129 (comment). Conveniently pasted excerpt:
|
Idea (from #121 (comment)): stream configuration parameters (#121) in the recently created |
Not sure about this, we'll rarely want to access config params in a high frequency manner. RPC set/get calls should be enough. The only advantage I see here is that Another idea: provide a bonus RPC vocab to retrieve all config parameters with their value. For both interfaces:
|
I agree.
Cool. For |
Added reference to related issue in description: #106. |
In spite of 7d2e073, I'd like to decouple our internal vocabs from those used by YARP controlboard interfaces (which have nothing to do with cartesian control). @jgvictores OK to create |
Sure! |
New vocab definitions and group parameter accessors: #121 (comment). |
Keyword: state machines (FSM). Several checks should be performed against internal state variables upon entering most of the control commands (e.g. current control mode, whether the trajectory instance is cleared and ready for use, etc.). The CMC thread would take care of any necessary cleanup before and after execution. |
For now, marking as blocked by #145. |
Added to list: refuse setting controller parameters ( |
This is a temporary workaround until a cleaner solution is found for #118.
This is a temporary workaround until a cleaner solution is found for #118.
Moving this away from the issue description regarding control modes:
|
Regarding locks and race conditions because of port callbacks being invoked at the same time, see |
Some thoughts arised while working on the BCC/CCS at #117:
stat
or others. We do have some safety mechanisms in place, though, to guard against ugly race conditions.wait()
method, see Issue non-blocking movements and create new wait() command #106).VOCAB_CC_CONFIG_XXX
) if not in non-controlling state (stopControl()
). (6e78a53, ac4e607)movi
performs that switch on its very first execution, but it takes quite long due to hardware limitations. Idea: preset control modes via controller configuration parameters iff using streaming commands. (852453d)The text was updated successfully, but these errors were encountered: