"The difference between a disaster to a catastrophe is that a catastrophe happens to you"
As parents to children, there is nothing worse in the world than loosing your child, especially after a disaster has hit, in an open environment where there is a large crowd and no "lost kids" designated areas. Reuniting families who got separated is one of the major missions at disaster recovery. Why not use several autonomous robots that wonder about the crowd and help the parent and child find each other?
What it does
A group of Marcos (robotic agents) will collaborate in locating and matching parents and children. Each Marco walks autonomously through the crowd, avoiding obstacles. Recognizing a person in distress it approaches him, offers comfort and starts a conversation. When meeting a child, the agent will collect his name, picture and all the data it can get. The information will upload to a database and shared between all agents. If the child is already in the missing children database, a note will be sent to his parents. Marco will take the child to a safe location where he will be treated and looked after until he meets his parents. When a parent is located, the robot will scan the database to see if the child has already met Marco. If the child is already found, the agent will escort him to the child. If not, the agent will collect as much information possible, including a picture of the child, saving the parent picture to the database as well. Now, all agents will recognize the missing child in the crowd, when met. The parent is free to continue looking for his child. When the child will be located, any Marco meeting the parent will recognize him and connect him with his loved one.
How we built it
We used the Pepper robot with the core naoqi SDK for python to interact with the robot. Pictures and names are uploaded to the cloud and other robots receive notification from the cloud. It employs python, navigation algorithms, basic chat AI, machine learning (to find a child's face in a crowd) and networking.
Challenges we ran into
First we had to learn the SDK and write the skeleton code to make it work. This has quite a steep learning curve. Then, some workarounds had to be made to overcome weaknesses in the robots' OS.
Accomplishments that we're proud of
Fully simulate a meeting between Pepper and a child, than a parent. Recognizing the child in the database from the data collected from the parent.
What we learned
The API for the robot. Design interaction with humanoid robots.
What's next for Marco
The idea can be implemented in any scenario of disaster recovery, or even at crowded places, helping quickly connect loved ones.