Here is
one of the good ones I found if you are a DIYer.
Also, do some reading on the development of cleaners, that'll give you a good idea of the requirements. If you can only find published articles and can't access them let me know and I can send them to you... it's great having university access.