State Based Machines in LabView

A common design pattern to use in robotics is a State Based Machine. A State Based Machine lets you have different ‘states’ of behavior that your robot might exhibit, and governs rules for transitioning from state to state. For instance, your robot might be in a state called “Search for Game Piece” and use its camera to try to find a vision target. Once it finds it, it could transition to a state called “Drive to Game Piece”, then once it arrived at the game piece it could transition to “Pick Up Game Piece”. For more depth about State Machines, check out this Wikipedia article:

I’ve assembled a series of videos explaining how to build a Soda Machine in LabView as a State Based Machine. A soda machine is a good example, because it goes through many states as the user buys a soda:

  • “Add Money”
  • “Choose Item”
  • “Deliver Item”
  • “Return Money”

Each video is about five minutes long, and by the end you’ll be 90% of the way to havin a working LabView soda machine! The tutorial videos assume you’ve used LabView before, but all advanced concepts are introduced as I do them.

You can find the videos online here:

I hope this helps! Please let me know if you do the tutorials and what could be improved or worked well!