We are a group of students passionate about automation and pet companions. However, it is not always feasible to own a live animal as a busy engineer. The benefits of personal companionship are plentiful, including decreased blood pressure. Automation is the way of the future. We developed routines using a iRobot Create 2 robot which can dance to music, follow its owner like a dog, and bring items from another room on its top.
What it does
Spot uses visual processing and image recognition to follow its owner all over their home. He is a helpful companion capable of carrying packages, providing lighting and cleaning for his owner. Furthermore, his warm and friendly appearance is always welcome in any home. The robot platform used also has the capability for autonomous floor cleaning. Finally, Spot's movements can be controlled through a web application which also displays graphs from all the Roomba's sensors.
How we built it
Spot was built using a variety of different software. The webpage used to control spot was coded in HTML and CSS with Django/Python running in the backend. To control the roomba and display the sensor graphs we used matlab. To do the image processing and get the roomba to follow specific colours the openCV library with python bindings was used.
Challenges we ran into
One major challenge was being able to display the all the graphs/data on the website in real time. Having different APIs for Python and Matlab was a struggle which we overcame.
Accomplishments that we're proud of
As a group of relatively new hackers who met at YHacks, we are extremely proud of being able to use our different engineering disciplines to implement both hardware and software into our hack. We are proud of the fact that we were able to learn about image processing, Django/Python and use them to control the movements of the Roomba. In addition to completing all 3 iRobot challenges, we were still able to accomplish 2 tasks of our own and learned plenty of things along the way!
What we learned
Throughout the creation of spot our group learned many new technologies. As a group we learned how to run Django in the back end of a webpage and be able to control a roomba through a webpage. In addition, we were able to learn about the openCv library and how to control the roomba through image processing. We were also able to learn how to do various things with the roomba, such as making it sing, manipulating the sensor data to produce graphs and track its movements.
What's next for Spot
Spot has many real world applications. As a mobile camera-enabled robot, it can perform semi-autonomous security tasks e.g. patrolling. Teleoperation is ideal for high-risk situations, including bomb disposal, fire rescue, and SWAT. This device also has therapeutic applications such as those performed by the PARO seal robot---PTSD treatment and personal companionship. As a generic service robot, the robot can include a platform for carrying personal items. A larger robot could assist with construction, or a stainless steel robot could follow a surgeon with operating tools.