Design

Project Goals + Design Criteria

Our main design criteria was that TesRoo was able to

  • Efficiently and effectively map out spaces varying in number of rooms and obstacles

  • Improved user functionality so customers could cater TesRoo to their own individual needs

These transitioned to our four main goals for our final project!

  1. Lower the overall costs of constructing a vacuum robot by only using visual SLAM instead of industry LIDAR

  2. Improving user functionality and ability to control areas that robot can go into using Frontier Exploration and other exploratory algorithms

  3. Create a simulation to demonstrate the possibilities of using VSLAM

  4. Design and develop a physical proof of concept using low-budget hardware solutions

We developed this design criteria and our goals based on the customer experiences and research that we conducted (more on the About tab). We ultimately wanted to find ways to build this low-cost high-efficiency vacuum robot.

Simulation Design

For our simulation, we chose to use iRobot's turtlebot waffle and similar models since they are based on iRobot's roomba research robot platform. Thus, they simulate the dynamics and ability of industry robot vacuums.

Additionally, we opted to use two cameras instead of an ideal model of five cameras since our simulation takes place in a static environment and because of the limitations of Gazebo (more later!). This means that TesRoo must spin in place to have essentially the same capabilities of five cameras in this particular simulation.

The choice of using two cameras also gives us a practical advantage since five cameras may require too much computing power in the real world, particularly in a constrained situation where battery life and efficiency is vital.

Algorithm Design: Frontier Exploration and Real Time Map Based Appearance Mapping

Based on our preliminary research and customer profiles, we wanted TesRoo to first map out the floor rather than waiting until TesRoo vacuums the whole space first. Ultimately, we wanted to cater towards the needs of our customer and build TesRoo in such a way that it would be helpful for customers from different target markets. This became our main motivation and design choice for using Frontier Exploration.

In the field of autonomous robots, exploration of an unknown environment remains fundamental in applications outside of the vacuum robot space. Frontier based exploration is the most common approach to exploration that is currently used in the autonomous robot industry. Frontiers are regions on the boundary between open space and unexplored space. By moving to a new frontier, the robot can keep building the map of the environment until there are no new frontiers left to detect. The advantage of Frontier Exploration is that TesRoo is able to explore large open spaces as well as small cluttered spaces. This flexibility fits into our use case of building accessibility for vacuum robots.

Once the map is built, the user can then use a GUI to specify rooms to explore and regions to avoid.

Hardware Design: Lean and Mean

For our hardware design, we primarily wanted a proof of concept, and sought to do this as cheaply as possible since vacuum robots need to cut costs as much as possible. Our philosophy is cheaper hardware and superior software.

This led us to using toy cars from previous classes we've taken (Electrical Engineering and Computer Science 16B: Designing Information Devices and Systems II) and two logitech webcams.

CAD Drawings

We took inspiration from the traditional models of the Roomba and other leading competitors in the vacuum robot industry to construct TesRoo. More specifically, if we were to design and implement TesRoo in the real world as opposed to a proof of concept, below is a drawing of what we see TesRoo looking like. The red components are the five optical cameras that comprise TesRoo and allow it to visualize different paths.

Gazebo Models

These are two of many different Gazebo models that we designed throughout building TesRoo. We wanted to simulate different types of environments that TesRoo may encounter based on our consumer research. More specifically, we opted to model a classic office space or common area where there may be a lot of traffic that would be the standard environment for TesRoo. We developed around 5-6 different models. However, because of the limitations that Gazebo has in rendering smaller objects such as books, pencils, etc., we used a simplified version of this and other models to prove that our algorithm works.

Design Trade-offs

As we delved deeper into our design process, we realized that there were a few tradeoffs that we had to consider to implement our working simulation and proof-of-concept. In particular, there's an extreme premium placed on computing power since real robot vacuums work on battery and a mobile processor and we wished to replace expensive LiDAR sensors with cost-effective stereo camera. Thus, we decided to minimize the amount of compute we needed to do. In particular, we:

  • Relied heavily on our visual SLAM algorithm and its ability to work in an unknown environment to do most of the obstacle avoidance for us

  • Went with two cameras since two cameras can emulate the power of five cameras by rotating in place while also limiting the amount of image processing required. These design choices made our simulation emulate the practicality of real constrained engineering much more effectively.