PRE2017 3 Group15: Difference between revisions
Line 12: | Line 12: | ||
== Approach, milestones and deliverables == | == Approach, milestones and deliverables == | ||
== Approach, milestones and deliverables == | |||
To be able to reach our goal to make a model of a group of cleaning robot that can find litter in a randomly generated realistic city as efficiently as possible, first a literature study will be done to make sure that the group is working on something that has never been done before, or do more work than is necessary. | |||
Afterwards the problem will be modelled into Netlogo. For this a setup of the model, the properties of the robot, an algorithm to make a random map, an algorithm to fill the map with litter, a path finding algorithm, a collaboration strategy and a user interface are needed. | |||
The first milestone that will be reached will be a complete literature study. This should be finished by the end of week 2. | |||
The second milestone that will be reached will be a finished setup in Netlogo, which means a single possible map with litter and a robot that can move randomly within its constraints. Which will be reached by the end of week 3. | |||
The third milestone will be the completion of the map generating algorithm and the litter generating algorithm, which will be finished by the end of week 5. This milestone will be worked on simultaneously with milestone four. | |||
The fourth milestone will be the completion of the Path finding algorithm and the robot collaboration strategy. Which will also be reached by the end of week 5. | |||
The fifth milestone will be the integration of milestone three and four. This will be reached when the path finding algorithm and robot collaboration strategy works with the random maps and random litter positions. This milestone will be reached by the end of week 6. | |||
The sixth and final milestone will be a finished wiki and presentation, which will be reached by the end of week 7. | |||
The final deliverable of the project will be a working Netlogo model of the cleaning robots working together on a random realistic map with realistic litter positions, which can then be used in later projects on an actual group of cleaning robots for real life testing. | |||
== Who's doing what? == | == Who's doing what? == |
Revision as of 13:20, 20 February 2018
Problem statement and objective
Litter is a big problem in our society, especially in city centers. Litter has a lot of negative effects on society. It can attract pests like rats and flies, which can result in human diseases. It can bring harm to animal life. It can increase the use of fossil fuel instead of recycling and it can reduce the sense of safety. To prevent this, public places should remain clean. Currently this is a hard human job, with a low profile. This job could be replaced by cleaning robots, that would clean more efficiently and more thoroughly. That is why the objective of this project is to make cleaning robots work together to clean the streets.
The users
The citizens and the tourists are the most important users in this project. They will directly benefit from the reduction of litter on the street and would like to have them as clean as possible. As already described in the problem statement, the reduction of litter will lead to less pests and less danger for children playing outside. Of course, wild life will benefit from this reduction of litter for the same reasons as humans do.
Enterprises, especially shops and malls, will also benefit from the reduction of litter, since it is much more attractive to go to a clean mall than to a dirty one. Furthermore, the municipalities which deploy and maintain the robots (or if privatized an enterprise) are also an important user. The entity responsible for the cleaning, would like the robots to be as efficient and as low cost as possible.
Possibly an operator is required to control all robots and help them with cleaning where necessary. The operator would like the robots to be as autonomous as possible, and have a clear and intuitive interface to control and/or help the robots.
Approach, milestones and deliverables
Approach, milestones and deliverables
To be able to reach our goal to make a model of a group of cleaning robot that can find litter in a randomly generated realistic city as efficiently as possible, first a literature study will be done to make sure that the group is working on something that has never been done before, or do more work than is necessary.
Afterwards the problem will be modelled into Netlogo. For this a setup of the model, the properties of the robot, an algorithm to make a random map, an algorithm to fill the map with litter, a path finding algorithm, a collaboration strategy and a user interface are needed.
The first milestone that will be reached will be a complete literature study. This should be finished by the end of week 2.
The second milestone that will be reached will be a finished setup in Netlogo, which means a single possible map with litter and a robot that can move randomly within its constraints. Which will be reached by the end of week 3.
The third milestone will be the completion of the map generating algorithm and the litter generating algorithm, which will be finished by the end of week 5. This milestone will be worked on simultaneously with milestone four.
The fourth milestone will be the completion of the Path finding algorithm and the robot collaboration strategy. Which will also be reached by the end of week 5.
The fifth milestone will be the integration of milestone three and four. This will be reached when the path finding algorithm and robot collaboration strategy works with the random maps and random litter positions. This milestone will be reached by the end of week 6.
The sixth and final milestone will be a finished wiki and presentation, which will be reached by the end of week 7.
The final deliverable of the project will be a working Netlogo model of the cleaning robots working together on a random realistic map with realistic litter positions, which can then be used in later projects on an actual group of cleaning robots for real life testing.
Who's doing what?
Task | Who |
---|---|
Further required research | Everybody |
Create setup for model (+properties of robots) | Niek |
Litter generation | Ruben, Martijn S |
Map generation | Ruben, Martijn S |
Collaboration of robots | Kyle |
Path finding | Martijn T |
User interface | Ruben, Martijn S |
Integration of previous parts | Everyone |
SotA: literature study
General
Springer Handbook of Automation, chapter 70: Cleaning Automation
Especially in the domain of cleaning, service robots already provide many different options for relieving people of dangerous, stressful, and/or monotonous work and are penetrating both household and professional market sectors. Household systems have technically simple and low-cost designs and are already being sold in large numbers. Professional systems are technically complex, flexible, cost effective, efficient, and easy to operate. However, since they fail to fulfill the requisite criteria in many cases, they have not yet established themselves as mass products. Nevertheless, numerous individual solutions exist for special applications such as facade or pool cleaning.
To the extent that they do not fully navigate surfaces when geometries are more complex or environments are dynamic and generally can neither navigate themselves nor coordinate tools better than humans, professional cleaning robots’ sensory and cognitive capabilities continue to limit their universal and cost-effective use. Such cleaning robots will not become mass products until their cost effectiveness, performance, efficiency, and total attendant costs make them superior to manual cleaning. Further development of service robots’ cognitive capabilities, environment modeling sensor systems, and multimodal user interfaces is being pursued worldwide for other fields of application and is a fundamental prerequisite to establishing cleaning robots in the professional sector.
Norbert Elkmann, Justus Hortig, Markus Fritzsche
New Brooms Sweep Clean – An Autonomous Robotic Cleaning Assistant for Professional Office Cleaning
In this paper, a prototype autonomous robotic cleaning assistant, that can both clean floors and clear trash bins in offices, is presented. It was realized on a Care-O-bot 3 platform, a multi-purpose service robot. The arm was upgraded with a tool changing interface from Schunk, which enables switching between a three finger hand for clearing bins and a vacuum cleaner for cleaning floors. A tool trolley is used to carry containers for waste and fixtures for detached tools. In short, the robot first inspects all rooms to find the polluted locations and will directly clear all found trash bins into the waste container of the trolley. Then, it changes its three finger hand for a vacuum cleaner at the trolley and attempts to clean all spots from the polluted locations list. Afterwards, the robot verifies the cleanliness and stores the information so that the operator can clean the remaining spots and inform the system about false alarms to improve its behavior. The most important functional modules are:
• Map Segmentation: results in ‘room’-sizes between 15 and 80 m2 and allows for planning a good trajectory through the environment.
• Exploration Algorithm: optimizes the sequence of entered rooms as a traveling salesman problem (TSP), using a quite extensive algorithm, also taking the minimal amount of trolley positions and the time it costs to move to the trolley to clear a trash bin into account.
• Dirt Detection and Learning: A visual dirt detection method is applied which judges on a per image basis without any need for learning the patterns of the clean ground or the appearance of any pollution and can detect spots occupying an area of >5 mm diameter. This method is explained in the two articles above. It is extended to learn from the operator using the check for false alarms as described above.
• Trash Can Cleaning: The detection of attached markers on bins proved most reliable and computationally economical compared to other approaches for object recognition and can be used in the real world. The MoveIt framework is used for arm movement to grasp a bin.
• Tool Change: using an industrial interface combined with visual servoing methods for automization. The tool are connected mechanically by closing an inner rotational lock and electrically using a CAN bus interface.
• Vacuum Cleaning: The vacuum cleaner is placed on the ground and the robot drives back and forth or left and right to clean the spot. Within narrow areas, the arm itself is moved.
The test showed that although it was a first prototype, it already worked surprisingly well. Using the learning algorithm, the reported pollution precision was increased from 62% to 89%. In summary, 90% of the trash bins could be cleared and 86% of the dirt was removed, with a speed performance of approximately 120 m2 per hour (4 times less than a professional, but many improvements are suggested).
Path finding
Complete Coverage Navigation of Cleaning Robots Using Triangular-Cell-Based Map
In this paper, a novel navigation method is presented for a cleaning robot, which can work well in a completely unknown workspace. First, a new triangular-cell-based map representation that enables a cleaning robot to have more navigation directions is presented. While the rectangular-cell-based map has eight navigation directions, the triangular-cell-based map increases the navigation directions to 12. This increase makes the navigation path shorter and more flexible. Second, a complete coverage navigation and map construction method is presented, which enables a cleaning robot to navigate the complete workspace without any information about the environment. To generate a complete coverage navigation path without prior information of the environment, the wall-following navigation was first performed. Through this procedure, a cleaning robot can obtain the information of the contour of the environment. Then, basic templates were introduced as means for local navigation. To find the uncovered region and determine the local direction, the distance-transform method was also adopted. With the use of simulations the effectiveness of the approach was verified.
Joon Seop Oh, Yoon Ho Choi, Jin Bae Park, and Yuan F. Zheng, Fellow, IEEE
Complete Coverage Path Planning and Guidance for Cleaning Robots
This paper describes a complete coverage path planning and guidance methodology for a mobile robot, having the automatic floor cleaning of large industrial areas as a target application. The proposed algorithms rely on the a priori knowledge of a 2D map of the environment and cope with un- expected obstacles not represented on the map. A template based approach is used to control the path execution, thus incorporating, in a natural way, the kinematic and the geometric model of the mobile robot on the path planning procedure. The novelty of the proposed approach is the capability of the path planner to deal with a priori mapped or unexpected obstacles in the middle of the working space. If unmapped obstacles permanently block the planned trajectory, the path tracking control avoids these obstacles. Tests with the mobile robot LABMATE show that satisfactory floor coverage can be obtained using a template approach even when there are mapped or unmapped obstacles present in the interior of the cleaning area.
R. Neumann de Carvalho, H.A. Vidal, P. Vieira, M.I. Ribeiro
Mobile Robot Positioning: Sensors and Techniques
This article presents an overview of existing sensors and techniques for mobile robot positioning. The foremost conclusion that was drawn from reviewing a vast body of literature was that for indoor mobile robot navigation no single, elegant solution exists. For outdoor navigation GPS is promising to become the universal navigation solution for almost all automated vehicle systems.
J. Borenstein, H. R. Everett, L. Feng, D. Wehe
Litter detection
RoboEarth
Thousands of robotic systems deal with and try to solve the same essential problems. This article is about a design and first implementation of a system for sharing knowledge between robots. The data, independent of specific robot hardware, is collected, stored shared and linked by RoboEarth, using existing standards. This enhances robot learning and adaption in complex tasks. Besides, robots using RoboEarth can execute tasks for which they were not explicitly designed for. The implementation is based on an architecture of three layers: a server, generic components and a robot specific layer. The server holds the database in which it stores a global world model with information on objects, environments and action recipes. It also provides basic reasoning Web services. The main purpose of generic components in the second layer is to allow robots to interpret the action recipes. The third layer provides a generic interface to a robot’s specific (hardware-dependent) functionalities via a skill abstraction layer. For our project, a RoboEarth-like system would in particular be very useful to recognize litter, both using the information about objects (what is litter and what not) as well as about the environments (to be more efficient in finding the litter). The information about actions could be useful for picking up the litter, depending on what system we will use.
A Visual Dirt Detection System for Mobile Service Robots
This article described a method to detect dirt on floors that are monochrome or have at least some repetitive pattern. The data from a RGB-D sensor (color camera with depth-sensor) is processed in four main steps (last two combined):
• Plane Segmentation: This step finds the part of the image in which the floor can be seen, using the depth-information from the sensor. It basically looks for a plane that contains the most points to satisfy a particular plane equation (ax + by + cz + d = 0).
• Spectral Residual Filtering: This step filters out the background of the floor image leaving only the innovation part, by finding the deviations from the statistical mean of the logarithmic amplitude spectrum (using the Fourier transform) of each channel (R, G and B) of the image.
• Rescaling and Thresholding: Artificial dirt is added to the floor (2 black and 2 white spots) causing extrema in the response, which are used to rescale the response of the whole image in order to prevent the normal patterns in the floor to be seen as dirt, in particular when there is no real dirt. The spots in the rescaled dirt image with an intensity above a certain threshold are selected as dirt.
Depending on the floor background structure, 52.6% to 92.5% of the dirt was detected, with a positive false rate of only a few percent. Depending on the surface, problems such as very dark and small objects not being recognized as dirt, or light reflection causing false positives could occur. Further, the algorithm proved to be able to cope with changing surface material and texture to some extent. However, large scale dirt stains (such as from coffee) are filtered as background with this approach. Remark: In this article I read “Tidying up larger objects was demonstrated at the Robocup@home challenge by the team of robot Eraser.” Finding more information about this could be useful for our project as well.
Autonomous Dirt Detection for Cleaning in Office Environments
Here, an extended/improved version of the dirt detection system from the previous article is explained. Two of these extensions are a large, publicly available database of dirty ground floors (65 different kinds of dirt recorded at 5 floor materials) and a testing framework to use this database. All data is recorded using the service robot Car-O-bot 3. The integrated laser scanners and RGB-D camera Microsoft Kinect were used to localize the robot and dirt, so that the detection could be integrated in a map. To enable this mapping and because the camera might not always operate in the same position above the ground, a perspective normalization is applied after the plane segmentation described in the previous article. To do this, a homography which transforms the ground plane as seen in the camera image into a plane seen from a (virtual) bird’s eye view is estimated. The steps ‘Spectral Residual Filtering’ and ‘Rescaling’ from the previous article remained the same, although they are here referred to as ‘Saliency Computation’ and ‘Saliency Normalization’. At the ‘Dirt Thresholding’-step, they now implemented an option to exclude the pixels that belong to strong lines from the thresholding operation, since these strong lines are often caused by transitions between bright and dark (background) surfaces and result in false detections. The advantages of dirt mapping are: (1) fusion of multiple observation to strengthen certainty, (2) option to temporally separate inspection and removal and (3) enable verification and feedback. Another threshold could now also be used to determine what is seen as dirt or not can be used: the amount of frames in which a spot is detected as dirt (possibly as a ratio of the total amount of frames in which the spot is captured). Depending on both threshold values, different detection and false positive rates can be achieved: for example about 90% detection and 45% false positives, or about 100% detection and 85% false positives (averaged over the different dirt and floor types). The performance could even be improved when for example different threshold values would be used for different floor types. The system however still does not take larger (3-dimensional) litter into account, and of course fails when dim lighting prevents dirt from becoming visible in the image at all, even for humans.
Robot movement
Principles of appendage design in robots and animals determining terradynamic performance on flowable ground
This paper shows an approach to control (and vary) the ground penetration resistance of a granular substrate using continuous upward airflow through a fluidized bed. This technique is used to investigate the influence of ground strength on the locomotion performance of robots (a bio-inspired hexapedal robot called SandBot and numerical simulations for the Xplorer robot) and animals (four lizard-like species and a crab). They found that locomotor performance was strongly correlated with the foot pressure. Generally, the experimental and simulated results followed the same trends: for small leg penetration ratios (foot pressure relative to penetration force per unit area per depth and leg length), the locomotion performances only decrease slightly, but for larger penetration ratios, the performance started to decrease substantially, probably due to drag of the ventral surface. This also provides an explanation to the fact that the performance of some animals was more sensitive to the ground penetration resistance differences in the investigated range than for other animals: graphs made with normalized average speed and leg penetration ratios showed very similar data points for all species. The data points for the robots also showed similar behavior, except that animals could still maintain ≥50% of their speed on fully fluidized ground, suggesting that they likely combine passive and active control to diminish the decrease of performance on low stiffness substrates. The most important conclusion from this article for our project is that we could use relatively large foot and a light body (i.e. smaller foot pressure) when possible, to minimize leg penetration ratio and stay within the ‘insensitive’ region to ground stiffness change, in particular when we use a legged robot. Of course, the body should not be too close to the ground to prevent extra friction for substrates with a low ground penetration resistance.
Litter collection
Robot design
United States Patent Mobile Robot for Cleaning
This patent describes multiple designs for a robotic cleaner. A robotic cleaner includes a cleaning assembly for cleaning a surface and a main robot body. The main robot body houses a drive system to cause movement of the robotic cleaner and a microcontroller to control the movement of the robotic cleaner.
Romanov et al.
Development of Outdoor Service Robot to Collect Trash on Streets OSR-01
This paper describes the design of an autonomous robot which is to be used to collect trash on the streets. The robot has two wheels to move but drives an already provided route. To avoid objects it uses four 2-D laser range finders. It is currently only able to pickup PET bottles using a hand with five degrees of freedom. It can detect objects using a omni-camera. To measure the distance to the object, it uses two additional cameras. The image recognition is done using a technique known as 'template matching'. This means that the robot has a large library of objects labelled as trash which it compares to the images received from the omni-camera. If the images are sufficiently similar, the robot will pick it up.
Obata, M., Nishida, T., Miyagawa, H., Kondo, T., & Ohkawa, F. (2006). Development of Outdoor Service Robot to Collect Trash on Streets. IEEJ Transactions on Electronics, Information and Systems, 126(7), 840-848. doi:10.1541/ieejeiss.126.840
Development of Outdoor Service Robot to Collect Trash On Streets OSR-02'
This is a follow up on the previous paper. For the new prototype, dubbed OSR-02, an extra hand is added. This allows one hand to hold a trash bin while the other can put the trash in it. Furthermore, the wheels are replaced with crawlers. The sensors and detection system was were kept the same. More detailed tests were also documented, showing that the OSR-02 is able to get over a ditch of 180 mm in width. The robot was also tested in public space, where it was able to successfully pickup plastic and glass bottles in the route and able to avoid pedestrians.
Nishida, T., Takemura, Y., Fuchikawa, Y., Kurogi, S., Ito, S., Obata, M., . . . Ohkawa, F. (2006). Development of outdoor service robots. Paper presented at the 2006 SICE-ICASE International Joint Conference, 2052-2057. 10.1109/SICE.2006.315491
A Study on Development of Home Mess-Cleanup Robot McBot
This paper describes the design of an autonomous robot which is to be used to cleanup indoors. The robot has two arms to grasp the object and a lifting support. Objects are recognized by a RFID tag. After an object is picked up, it is able to place on for example a shelf. Self localization is done by placing RFID tags on the ground.
Ma, Y., Kim, S., Oh, D., & Cho, Y. (2008). A study on development of home Mess-Cleanup Robot McBot. 2008 IEEE/ASME International Conference on Advanced Intelligent Mechatronics. doi:10.1109/aim.2008.4601644
Educational Outdoor Mobile Robot for Trash Pickup
Inspired by the 'Push the Talking Trash Can' of Disney, an interactive low-cost outdoor mobile trash can is designed. With this robot, they aimed to raise environmental awareness, help clean up the environment and promote robotics education among children. The robot is also equipped with a low-cost air quality monitoring system. They purposely avoided autonomous robot because it minimizes control by children and they will find it more fun and have a sense of accomplishment by interacting with, and remotely controlling the robot. Also, autonomous is difficult because the roads in underdeveloped countries often have potholes, uneven construction etc making it difficult to navigate effectively. On the robot a LCD display is mounted to display the air quality and broadcast messages and animations. It can be controlled remotely using smart phone/tablet. The materials used in the construction costed less than 250 dollar.
Pattanashetty, K., Balaji, K. P., & Pandian, S. R. (2016). Educational outdoor mobile robot for trash pickup. 2016 IEEE Global Humanitarian Technology Conference (GHTC). doi:10.1109/ghtc.2016.7857304
Vision-Based Coverage Navigation for Robot Trash Collection Task
This paper describes an algorithm to optimally find and pickup trash and benchmarks this against existing algorithms. The proposed algorithm consists of four distinct steps
1. Follow the wall to obtain the contour and size of the working space. By doing this the working space can be split up into rectangular cells.
2. Scan for garbage in the current cell
3. Find and move to an unvisited area. Repeat step 2 and 3 until all areas have been visited.
4. Deposit trash and move back to initial location
Step 3 is implemented using the 'Boustrophedon Path-Planner' algorithm and a random path planner. It turned out that the 'Boustrophedon Path-Planner' performed better.
Chiang, C. (2015). Vision-based coverage navigation for robot trash collection task. 2015 International Conference on Advanced Robotics and Intelligent Systems (ARIS). doi:10.1109/aris.2015.7158229
Path Planning for Complete and Efficient Coverage Operation of Mobile Robots
The paper presents a method for mobile robots to perform area coverage tasks where completeness and efficiency of coverage are important. The method can be used for robotic de-mining, cleaning, painting, etc.
It is assumed that the robot is operated in an enclosed indoor environment and it knows its map in terms of occupancy grids.
A divide and conquer strategy is employed for efficiency. A cell decomposition algorithm divides the given area into cells (sets of grids):
1. Occupancy grid maps are rotated along their orientation invariant angle so that two identical maps with different rotation result in the same maps.
2. The given area is decomposed into cells based on the change in free space segments for each 'slice' of the map.
3. Noisy cells (created due to complex structures and sensor noise) are merged into larger neighbor cells.
Next, the path is generation for efficient area coverage.
1. Predefined template paths are generated for each cell (back and forth or spiral motion) to find an optimal path to cover them. Predefined templates are used to reduce computational complexity.
2. A path for the overall area is formed from the path that requires minimum time for each cell. A graph search algorithm is used for this purpose.
J. W. Kang, S. J. Kim, M. J. Chung, H. Myung, J. H. Park and S. W. Bang, "Path Planning for Complete and Efficient Coverage Operation of Mobile Robots," 2007 International Conference on Mechatronics and Automation, Harbin, 2007, pp. 2126-2131. doi: 10.1109/ICMA.2007.4303880
A Multi-Robot System for Continuous Area Sweeping Tasks
A trash collecting robot performs a so-called 'continuous area sweeping' task. With this task, a robot must repeatedly visit all points in a fixed area. This paper extends this task to multi-robot scenarios.
The approach described in this paper is not to simply send the robots along the same routes again and again, but to sweep based on a task-dependent cost function. For example, when removing trash robots should prioritise heavily-trafficked areas.
The paper mostly focuses on dividing the overall area between multiple robots.
M. Ahmadi and P. Stone, "A multi-robot system for continuous area sweeping tasks," Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006., Orlando, FL, 2006, pp. 1724-1729. doi: 10.1109/ROBOT.2006.1641955
DustCart, an autonomous robot for door-to-door garbage collection: from DustBot project to the experimentation in the small town of Peccioli
DustCart is an autonomous garbage collecting robot. It can navigate urban environments with static and dynamic obstacles. Users can request a garbage removal after which the robot is dispatched, interacts with the user through a touchscreen interface, and receives a garbage bag. Next, it moves to a site where the garbage is deposited. DustCart monitors air quality, temperature, and humidity along the way.
Two DustCart robots were tested for three months in the small town of Peccioli, Italy.
G. Ferri, A. Manzi, P. Salvini, B. Mazzolai, C. Laschi and P. Dario, "DustCart, an autonomous robot for door-to-door garbage collection: From DustBot project to the experimentation in the small town of Peccioli," 2011 IEEE International Conference on Robotics and Automation, Shanghai, 2011, pp. 655-660. doi: 10.1109/ICRA.2011.5980254
System design of a litter collecting robot
Litter is a very big problem, because a broad study of annoyances of the Dutch public found that people rated litter to be more annoying than noise from neighbors and cigarette smoke. There is however a big difference between the places where most litter occurs, which are near sporting facilities and parking lots, and where people perceive it as annoying, which are mostly in shopping malls and on the beach. Furthermore, litter has more consequences than just annoyance. It can attract pests like rats and flies, which can result in human diseases. It can bring harm to animal life. It can increase the use of fossil fuel instead of recycling. It can reduce the sense of safety, and above all, can increase the amount of litter on the street, making this a negative spiral. To prevent this spiral, public places should remain clean.
Currently this is a hard human job with low profile. It is, however, important to keep humans involved in the job, because human cleaners in the streets have a social aspect. Using a robot that cleans most of the litter, and a human to show the robot where it missed certain litter or to help with cleaning up hard to clean litter, the human will have a physically easier job, and has more time for the social aspect of being in the area. It is also important to make the robot quiet and power efficient.
To find the litter efficiently, the robot has a Portable Operator Device, allowing the human cleaner to make a picture of a new type of litter and send it to the robot, so that the robot will recognize it next time. To make the robot power efficient and quiet, a circle of plastic fingers were used and a flap that could close when litter was found. The fingers would then push the can into the hopper. To know where the litter is, scanning laser range finder and a camera were used. The camera takes a picture when the SLRF finds an object, and this image is compared to the litter pictures in the memory of the robot.
G. Bonnema, "System design of a litter collecting robot"
Autonomous Robotic Street Sweeping: Initial Attempt for Curbside Sweeping
Street cleaning can be a coverage or a tracking problem, which both require localization, coverage path planning and tracking control. Using two fisheye cameras and projective transformation, a top view was gained and edge filtering, a Hough transform and RANSAC line fitting was used to find the sidewalk along which the robot has to drive.
J.Jeon, B.Jung, J.C.Koo, H.R.Choi, H.Moon, A.Pintado, P.Oh, "Autonomous Robotic Street Sweeping: Initial Attempt for Curbside Sweeping"
Coverage Path Planning for Mobile Cleaning Robots
There are different ways in which a robot can do path planning in any given environment. The first way is Random Path Planning, in which the robot will move in a random direction until it is obstructed and will then chose a new random direction. A spiraling bias can be added to make this approach more convenient. A more sophisticated way to cover the whole area, is by using Exact Cellular Decomposition. This method splits the room into parts which are easier to cover. Which also makes it more efficient in places with obstacles. A variance on the Exact Cellular Decomposition is the Boustrophedon Cellular Decomposition, which does the same, but makes the parts so that it can be cleaned with a simple back and forth motion. A fourth method is a Backtracking Spiral Algorithm. Which does the same as a random spiral, but takes into account possible blocking objects by moving around them and adding the information gained of the object to make the spiral change shape so that the same places are not cleaned twice. The solution proposed is an extended version of the BCD in 5 steps:
1. The robot moves to the outer boundary of the environment
2. The robot follows this boundary until it has completely circled it
3. A BCD of the environment is created
4. Create a list containing every cell. The first one is where the robot is
5. The cells are covered in sequential order
To make this also work in dynamic environments, the robot will continue scanning the room and adjusting the individual cells when detecting sensor or localization errors.
Simultaneous Localization and Mapping
Simultaneous Localization and Mapping (SLAM) is for a robot to be placed at an unknown location in an unknown environment and for the robot to build a consistent map of its environment while simultaneously determining its location within the map. The problem with SLAM is that the true locations are never known or measured directly.
The probabilistic version of SLAM checks the highest probability for a landmark to be and the robot to be given the history of vehicle locations, the history of control inputs and the set of all landmark observations. The problem with this is that much of the error comes from when the robot wrongly estimates its position with reference to a landmark only once.
To find a solution to SLAM, the programmer needs to find an appropriate representation for both the observation model and motion model that allows efficient and consistent computation of the prior and posterior distributions in the time update step and the measurement update step.