Workspace 5 Robot Simulation 32 _HOT_
Click Here ->->->-> https://geags.com/2sVgJ8
Current research in mobile robotics focuses more and more on enabling robots and humans to share a common workspace. A well known research initiative in this direction is the Factory of the Future, which has the goal to develop smart factories with networked tools, devices, and mobile manipulation platforms (e.g. the KUKA youBot). It is also known as Industry 4.0, which was coined at the Hanover Fair in 2011 (Kagermann et al. 2011).
Nowadays, robots in manufacturing are typically not designed to be mobile and human-safe. They are placed inside cages and operation is interrupted as soon as a human enters the safety zones. Current solutions for mobile robots in manufacturing settings are restricted to predefined paths, e.g., tracks on the floor, or restricted to movement in a grid to ensure easy navigation. Humans are not allowed to enter the navigation zone of the robots in order to ensure safety.
Although robot localisation is a requirement for multi-robot collision avoidance, most approaches assume perfect sensing and positioning and avoid local methods by using global positioning via an overhead tracking camera (Alonso-Mora et al. 2015a) - or are purely simulation based (van den Berg et al. 2011). Nevertheless, to be able to correctly perform local collision avoidance in a realistic environment, a robot needs a reliable position estimation of itself and the other agents and humans without the help of external tools. Additionally, multi-robot systems in a real-world environment need methods to deal with the uncertainty in their own positions, and the positions and possible actions of the other agents.
In this paper, we add the following three novelties to this field: First, we show a reliable estimation of the localisation uncertainty using the adaptive Monte Carlo localisation (AMCL), then we combine this with a sampling-based approach to incorporate human avoidance and lastly, by incorporating the commonly used Dynamic Window Approach (DWA) (Fox et al. 1997) with a global path planner, allows us to handle complex environments with multiple dynamic, i.e. humans and robots, and static obstacles.
We introduce a sampling based approach that incorporates human avoidance. By using the sampling based approach together with a more complex evaluation function, more control over the behaviour of the robots is gained. For instance, it is straight forward to discourage robots to pass closely by humans by assigning a high cost, while closely passing by other robots has lower costs.
Lastly, we introduce the combination of the sampling based approach with the DWA method. The DWA approach is commonly used as control algorithm for local control. It is the standard method which is used on many platforms when using ROS (Quigley et al. 2009). It uses forward simulations of a set of velocity commands, known as trajectory rollouts. In our experiments, we show how the sampling based method can successfully be combined with the DWA approach to ensure good navigation within the proximity of other robots, static obstacles and humans.
The remainder of the paper is structured as follows. Section 2 summarises the related work; Sect. 3 provides the necessary background; Sect. 4 introduces the combination of on-robot localisation with the velocity obstacle paradigm. Section 5.2 extends the previously introduced algorithm with human detection and a sampling based approach and Sect. 5.3 combines the sampling based approach with the DWA planner. Section 6 presents the empirical results of the approaches. Section 7 concludes the paper and discusses future work.
In multi-robot collision avoidance research, there is often a centralised controller. For instance, in Bruce and Veloso (2006) an approach for safe multi-robot navigation within dynamics constraints is presented. However, these approaches are not robust, since if the centralised controller fails, the whole system breaks. Another common approach is motion planning, which can take dynamic obstacles into account. The main assumption here is that the whole trajectory of the dynamic obstacles is known as in Ferrara and Rubagotti (2009).
In Althoff et al. (2012) a probabilistic threat assessment method for reasoning about the safety of robot trajectories is presented. Monte Carlo sampling is used to estimate collision probabilities. In this approach, the trajectories of other dynamic obstacles are sampled. This way, a global collision probability can be calculated. This work is closely related to the research done in this paper; however, that approach is probabilistic instead of the geometric representation used for the algorithms we propose.
Recently, in Bareiss and van den Berg (2015), a generalised reciprocal collision avoidance method was introduced. This method uses control obstacles, i.e. it looks which input controls may lead to a collision in the future. This enables planning for any kind of robot where the motion model is known. However, these control obstacles are non-linear making the calculations more complex. Additionally, the work does not consider static obstacles and the experiments rely on an external positioning system.
This work introduces a local collision avoidance approach that deals a.o. with the problems of multiple robots sharing the same workspace with or without humans. An overview of existing (global and local) approaches for human aware navigation (Kruse et al. 2013) shows that the main focus of current research is on the comfort, naturalness and sociability of robots in human environments. This usually entails only one robot acting in a group of humans, i.e. as a personal assistant. Our approach however, is aimed at a different distribution of agents, namely many robots navigating together with many humans in the same shared workspace.
An example of the single robot, multi-human navigation approach is the stochastic CAO approach (Rios-Martinez et al. 2012), which models the discomfort of humans and uses the prediction of human movement to navigate safely around people. Another similar approach is described in Lu (2014). It is based on layered costmaps in the configuration space and it also describes a user study where gaze-detection was used to determine the intended heading of the humans to update the costs. This layered costmaps idea is similar to the multiple evaluation functions in our approach. However, it is purely based on the configuration space, i.e. it assumes all obstacles to be static. Hence, this approach also does not cover the dynamic nature of moving obstacles as opposed to our presented approach, which uses the velocity space to explicitly model dynamic obstacles.
Similarly, the work in Linder et al. (2016) has the focus on a single robot acting in a multi-human environment. The focus is on tracking and predicting humans and classifying multiple humans into groups. This research is complementary to the work in this paper as it allows the robots to detect and track humans, which is necessary for collision avoidance.
We will present the construction of the various types of the velocity obstacles that have evolved over time to take reciprocity into account. Afterwards, three examples of how to select a new collision free velocity are explained and how dynamic and movement constraints for different type of robots can be taken into account.
where \(p_{{ rel}}\) is the relative position of the two robots and \(\mathcal {F}_A \oplus \mathcal {F}_B\) is the convex hull of the Minkowski sum of the footprints of the two robots. The \({ atan}2\) expression computes the signed angle between two vectors. The resulting angles \(\theta _{{ left}}\) and \(\theta _{{ right}}\) are left and right of \(p_{{ rel}}\). If the robots are disc-shaped, the rays are the tangents to the disc with the radius \(r_A + r_B\) at centre \(p_{{ rel}}\) as shown in Fig. 1b. The angle can then be calculated as:
However, oscillations can still occur when the robots are on collision course. All robots select a new velocity outside of all VOs independently, hence, at the next time-step, the old velocities pointing towards the goal will become available again. Thus, all robots select their old velocities, which will be on collision course again for the next calculation, where each robot selects again a collision free velocity outside of all VOs.
To overcome these oscillations, the reciprocal velocity obstacle (RVO) was introduced in van den Berg et al. (2008). The surrounding moving obstacles are in fact pro-active agents, and thus aim to avoid collisions too. Assuming that each robot takes care of half of the collision avoidance, the apex of the VO can be translated to \(\frac{v_A + v_B}{2}\) as shown in Fig. 1c. This leads to the property that if every robot chooses the velocity outside of the RVO closest to the current velocity, the robots will avoid to the same side. However, in some situations the robots will not avoid to the same side, since the selected velocity should make progress towards its goal location as well, and therefore, the closed velocity, which is collision free, is on the wrong side of the RVO.
To counter these situations, the hybrid reciprocal velocity obstacle (HRVO) was introduced in Snape et al. (2009, 2011). Figure 1d shows the construction of an HRVO. To encourage the selection of a velocity towards the preferred side, e.g. left in this example, the opposite leg of the RVO is substituted with the corresponding leg of the VO. The new apex is the intersection of the line of the one leg from RVO and the line of the other leg from the VO. This reduces the chance of selecting a velocity on the wrong side of the velocity obstacle and thus the chance of a reciprocal dance, while not over-constraining the velocity space. The robot might still try to pass on the wrong side, e.g. another robot induces a HRVO that blocks the whole side, but then soon all other robots will adapt to the new side too.
Another problem occurs when the workspace is cluttered with many robots and these robots to not move or to only move slowly. As shown Fig. 1b, the VOs are translated by the velocity of the other agents. Thus, in these cases, the apexes of the VOs are close to the origin in velocity space. Additionally, if static obstacles such as walls are included, any velocity will lead to a collision eventually, thus rendering the robots immobile. This problem can be solved using truncation. 2b1af7f3a8