Latest Posts

Saturday, November 29, 2014

Hierarchical State Machine

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.

HSM Highest Level of Operation


HSM - Lower Level 

Calibration


Obstacle Avoidance during Calibration / Open Field 

Explanation of Zig - Zag - Zog (shown above) 



No comments:

Post a Comment