What it does
iRoamba is a web control dashboard which serially links to the iRobot Create 2 unit. It enables the user to administer directional commands, such as "drive forward," "drive backward," "turn left," and "turn right," to the unit and also visualizes important data which it receives from the unit's many sensors: cliff sensors, bump sensors, a wall sensor, and wheel drop sensors. On top of that, it allows the user to see the total distance traveled, the current angle of the unit, the rotary encoder counts from both wheels, and the instantaneous velocity of the unit. It also shows a tracking map which dynamically updates with the path of the unit in real-time. All of this information is displayed in a visually pleasing, interactive web page which is responsive and fits on one screen.
How we built it
Challenges we ran into
What we learned
What's next for iRoamba
Now that we have created a user-friendly, robust web dashboard through which to directionally control the Create 2, we want to update our webpage so that it can administer more unique commands, such as toggling between modes and playing music. We also want to implement a scheduling system or path design tool so that the user can queue up a series of commands which the unit will carry out at the push of a button. Another component we want to add to the webpage is a new set of graphs so that the data visualization is even more intuitive, and we want the user to be able to save an export the graphs, as well as record the unit's journey through the webpage. When it comes to user control, we want the user to be able to make the unit move around not only with the mouse, but also the keyboard, so that it feels easier to direct the unit.
On a higher level, we want to be able to use our webpage to design larger, more complex programs with the Create 2 unit. Pairing the unit with an Amazon Echo or Raspberry Pi or large monitor so that it can play music and connect to WiFi and display pictures and text are all made easier with our webpage, since we can control and read from the unit more efficiently, which makes the entire developmental process easier. For starters, we want to create a real-life PAC-MAN style game with the Roomba, using a series of commands on our webpage to program the unit to complete an obstacle course of debris. The more clutter it sweeps up from the floor, the more points it gets!