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

SMACH for multi-agent systems #54

Open
AlexisTM opened this issue Mar 8, 2018 · 1 comment
Open

SMACH for multi-agent systems #54

AlexisTM opened this issue Mar 8, 2018 · 1 comment

Comments

@AlexisTM
Copy link

AlexisTM commented Mar 8, 2018

I have a multi-agent application which is like a big state machine: Parcel sorting.

To deliver parcels, we are currently using Actionlib to provide tasks to the UGVs, and the tasks are defined by a simple state machine.

I just bumped into SMACH and wonder if it is suitable for multi-agent systems like my application. For one UGV, it would be super simple to use SMACH, but I do not see how I could use it for multiple agents.

The state machine for each UGVs looks like:

START
   * INIT
INIT
   * GET_PARCEL
GET_PARCEL
   * when parcel_put: SCAN_PARCEL
SCAN_PARCEL
   * when parcel_scanned DELIVER_PARCEL
DELIVER_PARCEL
   * when parcel_removed: GET_PARCEL
   * if timeout: EMERGENCY_GATE
EMERGENCY_GATE
   * when parcel_removed: GET_PARCEL
@LoyVanBeek
Copy link
Contributor

Each UGV should be able to run it's own state machine. Even if all state machines are running on the same roscore, as long as they run in different namespaces I think this should be fine.

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

2 participants