# Progress report 06/12 group 8
## Jobs done
- We succesfully connected the camera and we made it work correctly.
- We were able to use the camera both with the ROS node and integrated within a `rospy` routine (i.e. subscribing with Python to the topic, decoding the image and showing it).
- We were able to integrate the SLAM messages into the Python routine, which is going to be useful for navigation and obstacle avoidance
- We were able to work with the navigation package in the simulator (given a static map). This includes sending a goal (position + orientation) to the navigation stack.
- We were able to detect the mannequins in the images (both in the pre-collected dataset and in the Raspberry camera's images)
- The code has been uploaded to the repository.
### Details (mannequin detection)
- First attempt to detect mannequins was based on the computer vision algorithm SIFT (or SURF). SIFT tries to find keypoints on the current image and compares it with a initial image and tries to match the keypoints. If there are enough keypoints found, the mannequin is detected. In practics there will be more than one mannequin in the image such that clustering is needed. The tried methods did take quiet some time, consequently we searched for other methods/options. Our current solution is based on a color detection algorithm.
- We use the camera to determine how the mannequin is directed. Currently, we adopt a color detection algorithm of `opencv` to detect colors in an image. Since the environment the turtlebot3 will we placed is quiet specific. We assume that if green or red is detected, it comes from the mannequin. After some pre-processing a bounding box will be drawn around a (possible) mannequin. The code is integrated in the camera node and works properly with the raspberry pi camera.
## Future work
- Integrate navigation into the routine and try it out on the real robot
- The navigation should work without a static given map, so further research will be done to find an optimal way to implement this.
- Integrate social functions i.e. stop at the mannequin and offer the drinks
- Adjust the camera's position and dress up the robot