-
Notifications
You must be signed in to change notification settings - Fork 28
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
Change state from one to another with a service call? #20
Comments
Hi @Devansh1902, you can create an idle state that waits for service requests and change to another state when a request is received. Is this what you want? |
Yes lets say foo state is the start state and from foo i want to go to bar with a service call and when in bar state also the transition should happen from another service call to change the state back to foo |
So, in that case, should both states have a service or do you want only one service? For the first case, a new ROS 2-based state can be created, similar to the action and service client states. |
Only one service in the default state and from that default state user can do a service call to change the state and then stay in the state till another service call comes to go back to default state |
You can create a node with a service that controls the switch between the states by using a variable on the blackboard. So the states should wait for the service call. |
please explain this line of code |
StateMachine object is got from the pointer and its operator () is called which returns an outcome. |
i have several states but one is default one : auto sm = std::make_sharedyasmin::StateMachine(yasmin::StateMachine({""})); |
You should add an outcome to your state machine: Then, you can add a transition from your Standby state to that outcome ( |
sorry i didnt got you. for what we ll use the end ? |
You have to add the final outcomes of the state machine, similar to the states, for instance, "End". Check the demo. |
how can user change state from foo to bar using a service call
please help
The text was updated successfully, but these errors were encountered: