Turtlebot Navigation and Face Recognition
In the hospitals we know that for every patient has his specific schedule for his medication.
Many nurses or even doctors, as a result of pressure or lack of experience and knowledge, make mistakes by giving the suitable medicine to the right patient.
In our project, we suggest a solution to this problem by letting the Turtlebot doing this mission.
We will put on the Turtlebot the suitable medicine and by giving it some inputs it navigates to the suitable room and gives the suitable medicine for the suitable patient by face recognition.
- As an approach to solve the problem, we divide the main task into multiple subtasks/modules:
- Navigation and Exploration: First of all we should build a map (laser scan) to discover our environment that we are working at.
- Human Detection: detect the exact coordinate of the human on the map .
- Face Detection and Recognition: The last step in our project, is to be sure that our patient is the wanted person who we want give him the medicine.
- Our project is built on the Turtlebot with Robot Operating System (ROS)
- The Robot is Turtlebot 2 which include an acer notebook supported by Ubuntu 12.04
- The code was written in python , c++ and ROS packages.
1) Building the map
2) Human Detection
*The leg detector takes laser scans as input and uses a random forest trained classifier to detect groups of readings as possible legs.
- The green circle = Turtlebot
- The red circle = Patient
- The black circle = Coordinate of any point
3) Build_turtlebot_path function
- Input : The coordinate of patient’s path
- Output : Executing the path. In case and there is no problem the Turtlebot will start navigation
*Assume that we have two patients in our hospital
4) Face Detection and Recognition
- When the turtlebot arrives to the target , it will stop in front of the patient, and paralleled the face recognition code is running .
- 15 seconds is the time that required to the turtlebot to approve patient’s face .