I would prefer the second approach. Scan the whole room for garbage. What is the pattern recognition for this process? . Which algorithm of machine learning can be used? . Can CNN be used?You as developer must decide what the cleaner must do: search and identify trash to clean or just scan all the territory (rooms) to be sequentally cleaned. Both approaches involve image recognition algorithms and territory mapping algorithms.
I agree with you but it need an intelligent software that can make the right decision. So the question is, is this an example of machine learning. I think yes, this is an example of machine learning.A robotic vacuum cleaner does not need RTOS.
This is a straight forward linear sequence.
Collision avoidance and detection is linear programming with no time constraints.
Is there any particular reason you chose neural-network?You can use a neural network for room map learning
I have just taken an example to understand the machine learning concept, I am not going to make it nowAnyway you cannot sure your robot will be making the right decision. It is all about approximation and development cost (and usefulness)
@MrChips Self driving car is another example of machine learning.I would not call this machine learning.
This is image recognition and mapping for the purpose of collision detection and avoidance, and perhaps path generation.
@MrChips I agree that you use the most suitable algorithm for your project.There is still no RTOS, AI or ML employed here.
@tindelHere's an example of a RTOS...
In the course, for the final project, we used a webcam to take video of an analog clock with a Raspberry Pi. We then analyzed each frame to provide images of the second hand at each individual second, without any skips or blurred movement in the second hand, for 30 minutes. I found this to be pretty easy... I generally had 30 frames to work with. I did some image processing to determine when the hand of the clock didn't move much and saved that image. Another requirement was that you had to use at least two threads on the processor. You could do this all on one thread, but that defeats the purpose of learning about RTOS.
A poor persons Rolex:
For extra credit, we used a digital clock to take images every 100ms without any blurs. This was much more difficult - you needed to save 1 frame in 3 so you had to somehow synchronize your camera to your digital clock. I was unsuccessful in this endeavor, so I don't have a video to share, but I was close. It's a project I'll likely circle back around to when I have more time. Here's a few images to give you the idea.
You can clearly see the last digit from 600ms to 700ms is blurred, and would not be acceptable to complete the project. Only one student in our class was successful, and there were maybe 5 that were close. About 30 total people were in the class.
Frankly, this was the best academic course I've ever taken.