how to create your own web page

SPRINT 1

Sprint 1 was a our introduction to this project. We ideated, scoped, and spent a lot of time building up excitement. Here's what we accomplished sub-system wise during this sprint!

Mechanical Progress

01.

Accomplishments?

In the first sprint, the focus was on demonstrating the Roomba movement on our robot. Because of this, we built a very simple box chassis with cutouts for the wheels and that housed our Arduino and motor shield. 

02.

Problems?

The small rectangular frame was unideal for mounting the hand sanitizer dispenser and placement of the bump sensors. Instead of having a mount for the bump sensor we had to hot glue the bump sensor to our chassis. 

03.

Goal for Next Sprint?

In the next sprint, our main goal was to fabricate a chassis that's larger, rounder, and thicker. This chassis will be sturdier so our hand sanitizer dispenser could be mounted and there would be a better way to mount the bump sensors. 

Electrical Progress

Implement two tactile switches to the robot (front and back) and ensure that the type of switch purchased is able to fulfill our project goal of the robot being able to reroute itself when the switch is pressed.

01.

Accomplishments?

The primary objective here was learning about how the circuitry and wiring would look like for implementing the switches, the states of which directly impact robot behavior.

When the switch is high / unpressed, the circuit is normally closed (NC), and the common terminal (C) and NC terminal are connected. When the switch is low/ pressed, the circuit is normally open (NO), and the C terminal and NO terminal are connected.

We connected the common terminal to power and the normally open terminal to a digital I/O pin on the Arduino so that we could set the behavior of the robot in the cases when the switch is either high or low. 

02.

Problems?

Our only problem electrical-wise this sprint was distinguishing between HIGH and LOW. The switches were a little counterintuitive - when the button was pressed, the switch was LOW, and vice versa.

03.

Goal for Next Sprint?

For the next sprint, we wanted to explore the electronics of our COTS sanitizer dispenser and learn how - or if - its hand sensor could be integrated with the rest of our code in Arduino so that if a hand was detected, the robot could stop and then dispense sanitizer after a delay. 

Software Progress

A two-wheeled robot that moved backwards after contact with an obstruction, otherwise moved forward in a straight line.

01.

Accomplishments?

Sanibot, a two-wheeled robot, moved forward until an obstruction was detected. The robot detected an obstruction when a tactile switch was pressed. Upon being pressed, the robot would be directed to move backwards away from the obstruction.

02.

Problems?

If statements were used to determine movement of the robot based on the state of the tactile switch. If the switch was pressed, Sanibot would move backwards away from the obstruction that pressed the switch. Otherwise, the robot would continue moving forward. The key issue with this logic was that the movement command would change as soon as the robot moved away from the obstruction and the switch was unpressed. Therefore, the robot would move towards the obstruction within a few seconds of moving away from it leading to a loop of hitting the same obstruction repeatedly.

03.

Goal for Next Sprint?

Our proposed solution for the next sprint regarding this issue was to implement cases for each movement type (forward and backward). If the tactile switch was pressed by an obstruction, the case would shift and the robot would follow a function which commanded it to move backwards. With this implementation, the robot would need to follow and complete the complete set of commands triggered by the case before moving to the next case.