Purpose
The Purpose of this post is to outline the final Hierarchical State Machine that will be implemented within our robot's software. A hierarchical state machine differs from a typical finite state machine in that it allows for the programming of functions by difference (also known as software by inheritance). This allows us to define new classes based off old classes, and only specify the difference between the two modules. This also introduces behavioral inheritance - which, in our case, allows us to have similar states of operation for the robot. For example, the robot will be in an "open field" operation at least twice over the course of the challenge. Thus, it would save us a lot of time to declare this instance of operation with a single state "openFieldOperation"- defining the behavior as a function of the robot's sensor feedback.
.png)
.png)

No comments:
Post a Comment