Individual wiki page - collision avoidance: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
(Blanked the page)
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[file:report.pdf]]


= Planning =
== Week 5 ==
Making individual planning
Task environment description
Finalising user requirements through proxemics + privacy issues (partially completed already)
Investigating if dynamic window approach is still viable, if so try to understand how it works and how it can possibly be extended for this application
== Week 6 ==
Looking at viability of Social Force Model and SLAM, are they a better than DWA?
Identifying ways to combine these approaches
(Finding a way to distinguish between humans and static objects)
== Week 7 ==
Describing the ‘best’ collision avoidance procedure
Performing simulations with this procedure
Discussion of benefits and disadvantages for this approach
Topics for further research
Working on final presentation
=Topic=
User-centred design of a collision avoidance procedure for robots in supermarket environments
=Introduction & Problem statement=
Robot navigation and collision avoidance in crowded and dynamic environments is a challenging problem, not only from a technical point of view, but also when looking at how robots should behave in the proximity of (large numbers of) people.
This research will focus on finding a solution for robot collision avoidance in a supermarket environment.  A supermarket environment has aspects that make it unique from other crowded environments. To make this more concise, a description of this environment is given with advantages and difficulties for designing a robot collision avoidance. Furthermore, it will also become clear that users (staff & customers) will have certain requirements that relate to human robot interactions (HRI).  Keeping both the environment and customer requirements in mind, state-of-the art collision avoidance procedures will be assessed on application in a supermarket environment and possible additions to enhance them for this application will be investigated. A simulation with a candidate object avoidance procedure will be done to test its working potential. Finally, advantages and disadvantages for this candidate procedure are given and topics for further research will be presented.
=Task environment description of a supermarket=
We will look at advantages and difficulties for robot collision avoidance in supermarkets.
==Advantages for collision avoidance==
1. It is assumed that there are several (security) cameras already mounted on the ceiling and that the robot already possesses an omnidirectional camera.  By giving the robot access to ceiling mounted cameras, these can be used for collision avoidance as extra sensory input on top of the camera already present on the robot itself. This gives the robot a top down view of the area he is in, filling in blank spots in the robot’s local sensing. This poses several questions; for one, security cameras usually make use of fish-eye cameras giving a distorted view of the environment, meaning that these images might need to be processed or not usable at all.  Then also, how many extra ceiling cameras would be necessary and how much would that cost? Takaaki Sato et al. [BRON]  have proved that fish eye cameras can be used to make a (2D) bird’s eye view of an environment to eliminate blind spots in a robot’s local sensing.
2. Supermarket aisles have a static layout, with each aisle having distinct retail products ordered in a known layout. This can be used for robot localisation but has no real impact on collision avoidance.
==Difficulties for collision avoidance==
1. Customers and staff members will be walking around supermarkets, either in groups or alone, maybe carrying a shopping cart. All these people need to be avoided in a way that is perceived as safe by them.
2. There are also peak times in number of customers walking around (e.g. on Saturdays). Collision avoidance procedures on their own might then lead to the robot having no way to avoid masses of people. Collision avoidance might need to be adapted here, so that a visible or hearable cue is added that alerts surrounding customers in a comfortable way. It should be investigated what kind of cues are desirable in these situations.
3. (Parked) shopping carts are present, which are objects that can move but not necessarily. For a parked shopping cart case, there should be some prediction about probability that it will move and in what direction. This probability should be depended on whether a human is close to that cart. These probabilities might be implemented in a cost function for shopping carts specifically. This can however lead to computationally heavy predictions and calculations, so this will need to be investigated
4. Miscellaneous items such as boxes, pallets or retail products fallen from shelves might be present as obstacles. Since these objects are static, no prediction of movement is necessary and avoiding it is rather straightforward with already existing collision avoidance procedures.
=Identifying user requirements=
==Proxemics for HRI during avoidances==
In order to find a desirable way in which robots avoid and move alongside humans, user requirements will be looked at.
The term collision avoidance in general will be used for the avoidance of all entities in a supermarket, being: humans, moving objects and stationary objects. When avoiding or moving close to humans, it is important that humans do not feel any discomfort, harm or surprise. To make these and related terms more concise the definitions of Thibault, K et al. [BRON] will be used:
''Comfort'' is the absence of annoyance and stress for humans in interaction with robots.
It should be noted that comfort is different than safety, in that a robot can move about safely but the surrounding people may feel unsafe. The opposite is also possible, when the human perceives a robot moving about safely it can still end up in a collision.
''Naturalness'' is the similarity between robots and humans in low-level behavior patterns.
Naturalness thus strives to a physical imitation of humans as much as possible. Examples are movement speed and shape of a robot.
''Sociability'' is the adherence to explicit high-level cultural conventions.
Sociability can be seen as constraints posed by society. Examples are the rule to walk on the right hand side.
Several robot user requirements for avoiding collision with customers will be looked at now. Most of them come from surveys presented by the literature summary of Thibault, K et al. and come from studies in the field of proxemics.
1. Robots should never come too close to humans, even during object avoidance routines. It could frighten humans, possibly leading to sudden actions and human injury.
E. Hall [BRON] found designations for interpersonal distances for several human interactions:
[[File:Proxemics.png|centre]]
This table can be used to find a proper distance for robots during an avoidance or general movement that respects the personal zones of people. Generally, to make a person feel safe the robot should try to avoid the intimate and personal space of people, so a distance of more than 120 cm would be preferred during avoidance.
2. Robots should not block a human’s path, which may cause frustration.
This requirement is rather straightforward, however, Thibault, K et al. describe that when humans actively try to avoid robots as well (when the robot’s movement is perceived as safe) this is not necessarily a problem anymore.
3. Robots should not move/approach too fast, which leads to discomfort for surrounding people.
Butler and Agah [BRON] found that approaching with 1 m/s turned out uncomfortable, while 0.5 m/s was acceptable. During avoidance the situation is slightly different, but the same velocities could be used. An important aspect of robot movement is the degree in which it is predictable, understandable or readable for humans. According to Hayashi [BRON] and Satake [BRON] a speed that adapts to or resembles surrounding humans would be desirable for general movement.
4. Avoid erratic motions during movement, especially when close to humans.
This refers to the aspect of smoothness, which means that the geometry of the taken path and the velocity profile should be smooth. This would improve the naturalness of robots.
5. Robots should not make noises that cause distraction when coming close to humans, to increase comfort.
The notion of comfortable motion is expanded by researchers, also taking into account that robots should not be noisy.
6. Behaviours disliked by society and the dominant culture should be avoided.
Robots might need to prefer one side side of the aisle for movement and/or avoidance, depending on country and culture. The robot might also need to “excuse himself” if it wants to avoid a human or notices a human is blocking its path. These aspects would make the robot more sociable.
These user requirements are taken into account when looking at possible object avoidance procedures.
==Possible privacy issues when sensing humans==
==Describing cost functions==
In order to find a path avoiding a human, in a sufficiently safe, comfortable, natural and legible way, a cost function is used. This cost function assigns cost values to robot actions, depending mostly on environment and the robot’s state. This cost function can be expanded to the environment’s geometry, type and state, the person’s age and gender, their current activity, the current interactions between people and interactions between people and objects. All this knowledge it has about its environment is stored in this cost function, which it tries to minimise when choosing a way to avoid collision. A visualisation of this cost function as a map is seen in figure XX.
[[file: CostFunction.png|centre]]
his cost function can incorporate the user requirements stated previously, by for example, modeling that moving closer to humans has less cost if done at low speed than at high speed. A problem with this is that search space increases tremendously, resulting in the robot to be less reactive. A combination of the following cost functions is thought to be appropriate for store clerk robots:
* Object padding (seen in figure XXa)
Object padding can be useful so that the robot does not move too close to supermarket shelves, possibly causing misaligned products to fall out of shelves creating further complexities.
* Object occlusion and hidden zones (seen in figure XXb and c combined)
Due to the chaotic nature of the environment, people can come rushing around corners leading to possible collisions with robots that are just behind line of sight for humans. Avoiding these locations is desirable.
* Basic comfort distance (seen in figure XXd)
Following the previously described user requirements, every person’s personal space needs to be avoided as much as possible.
* Passing people on their left (seen in figure XXg)
Passing people on their left is a social convention that should be preferred by the robot during collision avoidance.
* Space ahead for moving (seen in figure XXh)
In general, robots should avoid moving in this space as it hinders people. On the other hand, this cost function can be used for when a robot escorts persons, making it prefer to have the same velocity as the moving person and be slightly in ahead of the person.
Most cost functions have growing costs as the distance to some entity decreases. This can of course be tweaked to exponential or other functions. For our application it is probably not necessary to change this parameter. Combining these cost functions can be done via weighted sums. Cost function shape and combination can be tweaked manually or through machine learning.
=Distinguishing between humans and objects=
==Further distinguishing between possibly moving objects and static objects==
==Describing motion prediction models==
=Assessment of possible collision avoidance procedures=
==Social force model==
==SLAM==
==Dynamic window approach==
==Motion prediction extension==
==Cost function extension==
=Simulation of candidate procedure=
=Conclusion=
=Discussion & topics for further research=

Latest revision as of 13:59, 14 October 2018