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

Write our own state machine instead of using smach (smach sucks) #663

Closed
Rain1618 opened this issue Nov 14, 2024 · 1 comment
Closed

Write our own state machine instead of using smach (smach sucks) #663

Rain1618 opened this issue Nov 14, 2024 · 1 comment
Assignees

Comments

@Rain1618
Copy link
Collaborator

It sounds like a big task but it's not that bad. As long as you understand how a state machine works, you can write your own and add a bunch of features like time-out. Smach is solid but way too simple and limiting. The State Machine could be a class; the states and transitions could be a dict or smt; and adding a new feature would mean just adding a new method, which is sick. Great task for a few new members to plan and design smt together - just make sure it is well designed because everything else in planner depends on it

@Rain1618 Rain1618 assigned Rain1618 and Malak-Oualid and unassigned Rain1618 Nov 14, 2024
@Rain1618
Copy link
Collaborator Author

  1. Look into our current state machine setup for each mission and understand what is going on (maybe do a state diagram drawing for the individual missions too) catkin_ws/src/planner/src/missions.py
  2. Look into smach and smach alternatives (talk to William about this too). Identify which features are good and which features would be nice to add...
  3. Plan out our own state machine implementation --> review this with everyone
  4. Implement state machine!!! Beware of ROS1/2 syntax and the ongoing conversion
  5. Make sure planner doesn't die with out own state machine

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