PRE2017 3 Group15: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
Line 50: Line 50:
Less obvious system requirements that can be added are:
Less obvious system requirements that can be added are:


*The robot should not collect too much sand
*The robot should not carry too much sand


*Can't topple because of external forces
*Can not topple because of external forces


*The robot needs to be able to move reliably over sand and mud
*The robot needs to be able to move reliably over sand and mud
*The robot should not float in water


*The robot needs to be water proof in case a big wave hits it
*The robot needs to be water proof in case a big wave hits it

Revision as of 13:34, 5 March 2018

Week 3

Updated problem statement

Design of an autonomous robot that is able to clear a beach of litter.

We will be focussing mainly on the design of this robotic system, and will only briefly pay attention to its software. The design poses problems such as locomotion on a beach and operation during the day when visitors are present.

Design process

Heuristics

In the conceptual phase, there are a few heuristics to the design process, namely:

  • The choice between architectures may well depend upon which set of drawbacks the client can handle best.
  • Extreme requirements should remain under challenge throughout system design, implementation and operation.
  • Don't assume that the original statement of the problem is necessary the best or even the right one.
  • No complex system can be optimum to all parties concerned, nor all functions optimized.
  • A model is not reality.
  • Complex systems will develop and evolve within an overall architecture much more rapidly if there are stable intermediate forms than if there are not.
  • Build in and maintain options as long as possible.
  • Don't make an architecture too smart for its own good.

(art of system architecting.pdf)

The conclusions that can be taken from this are that the design will have to have intermediate forms of the design during the design, which will be interpreted in a robotic system as different sub systems that work on their own. Also the system should not be smarter than it should be, meaning in this context that the robot should only save the information that it needs and have the options to do things that make sense according to the designer rather than making it think about those options itself.

V-shaped designing

The heuristics of the conceptual design makes the use of V-shaped design very logical. According to the book The Design of High Performance Mechatronics, in time, first the functional requirents should be determined, which should move past the system design, subsystem design and detailed design (element design) by decomposition and defenition in the conceptual phase. Afterwards the opposite way should be taken for the implementation. This however is not relevant for the design phase.

Conclusion

From the two perspectives stated in the previous sections, it becomes clear, that first the functional requirements should be determined and converted into specifications, which should then be decomposed into subsystems which can be divided among the designers, who will in turn decompose the subsystems into elements that can be individually designed. Furthermore the behaviour of the robotic system will be needed to designed, making sure the robot is efficient and comply to the requirements.

System requirements

The obvious system requirements that can be taken from the problem statement are the following:

  • The system must be able to recognize objects and determine what is litter and what not
  • The system must be able to collect litter

Less obvious system requirements that can be added are:

  • The robot should not carry too much sand
  • Can not topple because of external forces
  • The robot needs to be able to move reliably over sand and mud
  • The robot should not float in water
  • The robot needs to be water proof in case a big wave hits it
  • The robot should be able to operate long enough and will thus need a good battery system, good recharging system and/or other ways to obtain energy such as solar cells
  • The costs of a robot should not be too high
  • The robot should be able to pick up objects of several sizes
  • The robot should be able to carry enough litter with it

These requirements can be decomposed into the following specifications - note: currently these are best-guess values to give an idea of the order of magnitudes.

  • Pick up 9 out of 10 items defined as litter on a sandy environment
  • Produce less than 50dB of sound
  • Keep at least 1 meter distance from humans
  • Do not pass humans more than 2 times in 10 minutes
  • Maximally 10% of the picked up weight is sand
  • Move at at least 2 m/s on sand
  • Survive in water of the same height as the robot for 2 seconds
  • Operation time of at least 1 hour without recharging, recharging within 30 minutes or a battery replacing system or another way to obtain energy such as solar cells
  • The maximum costs of one robot should be €5.000,- (?)
  • The robot should be able to pick up objects of 50 - 2000 grams (?) (or volumes)
  • The load capacity of one robot should be minimal 20 kg (?) (or volume)
  • Can't topple when wind blows with 3 m/s.

"Social" requirements

Besides the technical requirements, there are also various social issues the robot will need to deal with. The designed robot needs to interact in an environment with many stochastic agents. One might imagine that such a robot will attract the attention of many young children. These children might for example want to stand on it, or try to hinder the operation of the robot. Therefore the robot should be very robust. Besides from other agents harming the robot, it should also be impossible that the robot harms other agents. This means that at the very least, sensors should be installed to avoid running in to people. Lastly, we should be aware of how the robot will change the people in its environment. One might postulate that the existence of such a robot means that the people will become lazy. In one study (find source again), a school placed an interactive bin inside the canteen which would give positive feedback if students threw their litter in. This resulted however in a huge mess around the bin because students were trying to threw their litter as hard as possible in the direction of the bin.

Being in such a rich environment with other agents brings however also some advantages. No system is perfect which means that the system will sometimes fail. It is for example very hard for a robot to classify what is junk, and what is not. If a robot is in doubt however, it could simply ask nearby agents or a human operator by for example sending a picture of it. In the case where somebody for example drops their bottle, it could be on accident. When the robot detects this, it could pick it up and give it back to the one that dropped it. The robot also should not clear away toys of children, and if possible try to avoid demolishing their sand castles when operating. Furthermore, it is possible to use the fact that most people want to relax on the beach. When the robot detects that it is in danger because for example children are hitting it, it could sound an alarm. This will annoy nearby people, and they can chase away the children to make the robot stop it's alarm. Lastly, it is possible that the robot gets stuck. Asking for the help of other agents or a human operator could be again a simple solution to this problem.

  • The system must not harm or annoy humans

List of tasks

  • Design of a sub-system which is able to recognize objects and determine whether what is litter and what is not
    • Sensor(s) (probably a camera or RGB-D sensor)
    • Software (flow chart only?)
  • Design of a sub-system which is able to pickup the trash and filter out sand
    • Electronics
    • Mechanical
  • Design of a sub-system which is able to move through the sand
    • Electronics
    • Mechanical
  • Design of the hull (shape + material + ?)
  • Sensors, which sensors do we need and where should they be located
  • Drop off point (?)
  • What will power the robot? big batteries with charging point/solar panels/combustion engine
  • Misc tasks (display (?), speakers, sensors)
  • More research (?)
  • Bill of Material
  • onderlinge robots zou laten samenwerken

Week 2

Last Thursday we received the feedback that we wanted to start programming too quickly and that we neglected the users too much. Therefore, we have decided to change our approach. The current plan is to research how/where/why is litter spread and from this we hope to find a specific problem for which we will propose a specific solution using robotics. Furthermore we have contacted an expert which might have a specific problem that needs a solution.


Found problems:

Research

  • Literatuur over afval posities (waar het meeste is)
  • Hoe waar waarom wordt afval weggegooid
  • Communicatie tussen mensen en robots / hoe gaan mensen daar op reageren
  • Interview met Stefan Van Der Wal /stads huis (afval op straat expert)
  • Is het legaal (robots met video op straat)
  • Onderzoek naar waar mensen het ergste vinden dat er afval ligt (niet perse het meeste)

Literature

The composition of litter

Litter can be decomposed into different groups which occur more or less in the streets. According to Rijkswaterstaat, out of big litter (excluding gum and sigaret buts), beverage packaging, take-away litter and paper are the biggest problems, accounting for 24%, 22% and 21% of the total litter respectively between 2008 and 2014. The total list can be found in the table below.

Beverage packaging 24%

Take-away litter 22%

Paper 21%

Other packaging 17%

Candy 10%

Plastics 3%

Unidentifiable litter 2%

Food remains 1%


According to the same study, the absolute values of the different litter types, including small litter, can be found in the table below

Sigaret buts 18,794

Beverage packaging 16,379

Take-away litter 15,656

Paper 15,298

Other packaging 12,408

Gum 10,117

Candy 7,213

Plastics 1,850

Unidentifiable litter 1,737

Food remains 1,000


In Utrecht an analysis was done of the sweep litter (litter + sand), which found that 88.5 ton out of the 156.8 ton was sand, meaning that 56% of the effort of sweeping up litter is wasted on sand.


Irritations caused by trash

The table below shows the irritation of the average (dutch) citizens. Irritation of other things are added as well to put the numbers in perspective

Litter besides the road: 92% (62% very annoyed, 30% somewhat)

Loud noise: 64% (28% very annoyed, 36% somewhat)

Litter on beached: 95% (76% very annoyed, 19% somewhat)

Full trashcan: 77% (40% very annoyed, 37% somewhat)

Traffic jam: 26% very annoyed, 33% somewhat

paper/cigarettes/chewing gum on streets 64% very, 30% somewhat

Furthermore, when asked citizens they state that 27% of all litter is in the shopping mall, 15% is on the beach and 13% is on the parking lot.

Data is from: "Inzamel- en beloningsystemen ter vermindering van zwerfafval"

Litter positions

According to EcoConsult in 2014, the following indication scores were given for big and small litter (a high indication score means a clean environment)

Area Score big litter Score small litter
Average 3.56 3.44
Recreational area 4.15 4.04
Water recreational area 3.91 3.86
Business area 3.35 3.60
Shopping area II 3.69 3.45
Shopping area I 3.37 3.19
Residential area III 4.01 4.04
Residential area II 3.85 3.80
Residential area I 3.53 3.48
Event/Sporting centers 3.46 3.40
Access road 3.47 3.68
School area 3.35 3.42
Parking lots 3.08 2.62
Public transport 3.25 2.85
Catering/Entertainment centers 3.59 3.14
Shopping malls 3.50 3.07

As a conclusion we can state that parking lots, public transport and Shopping areas in urban cities have the most litter.

At the parking lots, most of the litter is caused by take-away packages, sigaret buds and beverage packages. Citizens also believe these places are filthy as stated by Gemeente Schoon in 2010 and 2012. The most plausible reason to believe parking lots have so much litter is that people stay only for a limited time and therefore they have little bonding with the area. In addition, creating litter from inside a car can be done relatively anonimous.

Near public transport areas, litter is caused mostly by people that need to be quick to catch a bus or train, because they do not prioritize putting there litter into a bin over catching the train or bus, especially when the closest garbage bin is full. The litter consist mostly of packages of food or drinks bought at the station.

Shopping areas are one of the most important areas because people think that when the shopping area has much litter, the whole township is filthy. As expected, most of the litter in shopping areas are bags and packages of items bought in the shopping area. Most litter occurs during peak visiting hours because litter attracts more litter.


Encouraging dustbin designs

Several dustbins have been developed to encourage people to throw their trash into it by rewarding them when they do so. An example is the ‘WiFi Trash Bin’, invented by Raj Desai and Pratik Agarwal, the founders of the startup ThinkScream. When someone throws something in it, this plastic bin shows an access code for a WiFi-network on a LED screen, giving them access to the network for 15 minutes. It has been tested at the NH7 Weekender music festival in 2014, where six of these smart bins could be used by the visitors. After the festivals in Bangalore, Delhi and Kolkata, over ten thousand people had used the bin. (https://economictimes.indiatimes.com/smart-dustbins-that-give-you-free-wifi-not-rubbish-at-all/articleshow/55804651.cms)

In the Netherlands, a well-known example of interactive dustbins are the ‘Holle Bolle Gijs’ bins (and variations of it), used in the Efteling. These bins ask people in the theme park to throw their waste in it and thank them afterwards or react in another way. Sometimes children even start to look for other waste to throw it away in the park due to this creative invention. Inspired by these bins, the cities Tilburg and Eindhoven organized a design contest for interactive dustbins in 2017. The contest was won by Francien Fleuren and Marcel Lamers with their ‘Trash Tree’ that works on solar energy, lights up in the dark and makes a bird sound when something is thrown in, referring to the positive effect on the environment. Before the contest, in the Henri Dunantpark in Eindhoven, there was already a pilot with an interactive dustbin, which according to alderman Yasin Torunoglu helps to achieve a cleaner environment. In September 2017, also in Bergen op Zoom, some garbage bins have been equipped with a built-in speaker to react to people in a funny way after throwing away their trash. (http://www.omroepbrabant.nl/?news/2675941243/Efteling+inspireert+Eindhoven+en+Tilburg+steden+zoeken+moderne+Holle+Bolle+Gijs.aspx en https://www.tilburgers.nl/afvalbak-de-trash-tree-winnaar-designwedstrijd/ en http://www.omroepbrabant.nl/?news/269611762/Pratende+prullenbakken+met+speciale+stemmen+voor+Sinterklaas+of+Kerstmis.aspx)

Another example is ‘The world’s deepest bin’, an experiment in the context of an initiative called ‘The Fun Theory’ by Volkswagen. A video on their website shows a trash bin in a park that makes a sound as if the trash that people throw in it falls very deep. During one day, 72 kg of rubbish was collected in this bin, which was 41 kg more than the normal bin just a small distance further. Some scientifically critical questions about results of this experiment could be asked, e.g.: Did the people throw in their trash in this bin instead of in the normal bin and not instead of throwing it on the ground, so that the total reduction of litter is less than the results suggest? Would the results still be so promising if the experiment was done for a longer period, or would the people start finding it less interesting in the long-term? However, when these bins would for example be used in touristic places, where are different people and a lot of children each day, these kind of interactive dustbins will probably significantly decrease the amount of litter, similar to the dustbins in the Efteling as described above. (http://www.thefuntheory.com/worlds-deepest-bin)



Week 1

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.

This problem is multifaceted, and contains many sub-problems that need to be solved. A few of the sub-problems include but are not limited to:

  • Design of a robot that is able to pick up various objects of different sizes
  • Use computer vision to identify the litter
  • Design of a robot that is able to drive over uneven terrain
  • Avoid pedestrians
  • Work together with other robots

Since we are limited in time, it is impossible to solve all the problems and deliver a fully functional robot ready for deployment at the end of the project. We have found literature which attempted to solve many of the described problems above in different ways. There is however not many research done in the collaboration of robots which are to collect litter. That is why the objective of this project is to make a model of cleaning robots cleaning the streets, with an emphasize on the teamwork of the robots. In this simulation we will abstract the detection of litter, meaning that the robot has complete knowledge about all objects which are within a specific radius from the robot.

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 of cutting themselves for children playing outside. Of course, wild life will benefit from this reduction of litter for the same reasons as humans do. Small animals can also get stuck in litter or strangle themselves. This will also be reduced with this project. It should also be taken into account that the robots might cause a nuisance for the people walking on the streets in the area during the cleaning.

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, as well as a benefiting party as they might get money from the government to use the robots. 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

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

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.


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

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


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.


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

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


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

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"


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

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"


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


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

Coaching Questions

Coaching Questions Group 15