In this project, I am writing a Finite State Machine that encodes the following robot states and behavior:
State: Idle (this is the starting state) Activity: Monitor stream of images from the camera. Classify each image using the model I developed previously. If one of the symbols is recognized (i.e. not “none”), use the built-in text-to-speech functionality to have the robot say the name of the recognized symbol, then switch to the appropriate state.
State: drone (activated by showing “drone” symbol) Activity: The robot should locate one of the cubes (one will be placed in front of it within view), pick up the cube, drive forward with the cube for 10cm, put down the cube, and drive backward 10cm. Then return to Idle state.
State: order (activated by showing “order” symbol) Activity: Use the drive_wheels function to have the robot drive in a circle with an approximate radius of 10cm. Then return to Idle state.
State: inspection (activated by showing “inspection” symbol) Activity: Have the robot drive in a square, where each side of the square is approximately 20 cm. While driving, the robot must continuously raise and lower the lift, but do so slowly (2-3 seconds to complete lowering or raising the lift). Lower the lift at the end of the behavior, and return to Idle state.

Log in or sign up for Devpost to join the conversation.