Comments (2)
Hello @sukhrajklair,
Thanks for the excellent question.
Ok, so the general way we've approached this is through the use of components attached to specific clients.
Going with the example you outlined above, let's name the two states StGoalEvaluator and StGoalExecutor. I'm imagining a process where StGoalEvaluator would receive and evaluate a new goal request. If the evaluation of the request succeeds, then the state would throw a success event (which it could transition on to StGoalExecutor) and during onExit, write the accepted goal to a goal queue component attached to the Nav2z Client (for instance) in the Navigation Orthogonal. The next state would select the goal from the queue and navigate to the goal pose.
Here are some components we've written before for the Nav2z Client Behavior Library that may have some of the functionality you're looking for...
This state and client behavior may also give you some inspiration...
And can be seen in this demo...
https://www.youtube.com/watch?v=A3kmCQS_ww8
Regarding the use of the data fields in the events, the main purpose of the fields is to identify which runtime object threw a given event, and from what Orthogonal (to account for multiple instances of a given runtime object, say for instance in the case of a two arm robot that uses two instances of Moveit) or State (in the case of state reactors) the event was thrown from.
I suppose it would be possible to create different events able to carry other data, but I'd need to hear the specific use case first.
from smacc2.
I hadn't thought of using components but now I can see how they can be used to carry data between states. Thanks for the suggestion and examples.
from smacc2.
Related Issues (20)
- Test1
- No comprehensive documentation (especially for concepts)
- Build Errors HOT 7
- How to use Action events HOT 5
- warning format occorred. HOT 2
- Look at getting Nvidia GPU to run docker image
- Investigate running UE5 with AMD and Fedora
- Set up ROS2 on Fedora
- feature/sm_dancebot_ue ./run_docker_container_editor.sh doesnt work
- feature/sm_dancebot_ue ./run_editor_smacc.sh-readme
- Update from 0.4.0 to 2.3.18 on 22.04 Humble not transitioning to next inner state HOT 19
- Confusion about rationale behind orthogonal implementation
- Migrate to modern Gazebo HOT 1
- Nav2z client's waypoint Navigator sends goals in odom frame. HOT 2
- Adding manually compiled SMACC2 packages files to /opt/foxy folder HOT 2
- Fastbin Misalignment - Ubuntu 22.04 - Ros Humble HOT 1
- Error!! when build package HOT 4
- error during installation SMACC2 for rolling HOT 2
- SmaccAsyncClientBehavior onExit() freezes when cancelGoal() is called on the attached action client HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smacc2.