Roombas are nifty little gadgets that keep dirt away, but what if they could save lives? It wouldn't take much to add enough functionality to enter dangerous areas and find people in need of rescue. Whether it is an earthquake, fire or even a violent incident, the Roomba can scan for dangers. It could find possible shooters as well. Our Roomba is built to save lives and mitigate any dangers that victims of natural disasters or violent incidents could run into.
What it does
The Roomba has a built in camera that can be used to look for people who are in need of help. It also has an array of sensors to find environmental data. During a fire, the thermal camera can be used to measure the temperature of a door. In doing so, it can tell the user if there is a fire on the other side or not. It also as acceleromenters to detect tremors or see if a building is shaking. See the breakdown video here
The Roomba is set up so that many volunteers can use it to during a major crisis. Citizens in one country sometimes want to help with relief effort in another, but now they can directly contribute by using our new Rescue Roomba.
How we built it
We used PHP and and HTML to create a server on the Raspberry PI. The web server has a user interface to view the camera, sensor data and and control the Rescue Roomba. you can visit our web server here (You must be on the same wifi network as the roomba at this time)
When a control function is selected on the website, the Raspberry PI will run a Python script. These Python scrips act as drivers to interface with both an Arduino and the Roomba. The Raspberry PI will send the bytes necessary for our low level hardware to do the computations it needs, such as parsing through sensor data or choosing how far to move.
Challenges we ran into
We had several hardware issues the we ran into. The Raspberry PI is power hungry, so it was hard to find a way to supply it with enough current. We had to use a special buck boost converter to efficiently step down the voltage of the Roomba's Battery.
Streaming video turned out to be very difficult. We contacted developers from Granular and they gave us links to help. We also had to step down the frame rate because the Raspberry PI can only handle so much.
All of us were working on different parts of the project at a single given time. We needed to combine our Python, C, HTML and PHP experience to all work together. Making sure we were all on the same page while coding was a challenging process.
Accomplishments that we're proud of
For many of us, it was our first time using PHP or Python. It was a learning curve, but we were able to get the things working that we set out to do. It got difficult, but we persevered through and we are happy with the results.
What we learned
We learned how to use PHP to set up a video stream from a Raspberry PI. Some of us learned Python for the first time and used it to access low level hardware inside of the Roomba and talk to an Arduino.
What's next for Rescue Roomba
We plan on using TensorFlow and open CV to have an automated search for survivors of disasters. Currently, we have a function that can automatically path through hallways. The next step is to use computer vision to our advantage in the Rescue Roomba's missions.
Log in or sign up for Devpost to join the conversation.