In addition to following the user, the ordinary following behavior can also be used to follow other robots. It gives the robot quite some freedom to decide how exactly to follow the target. But in multi-robot scenarios is might be of interest to follow a target more precisely. The tactical behavior Virtual Train lets the robot follow the target on the path it has taken (as long as the obstacle avoidance behaviors do not intervene). This might be useful only in the ordinary shopping scenario for maintenance tasks. But in related applications it can be indeed useful even for the customers: thinking for example of hardware stores which are not far from the supermarket scenario where people tend to buy larger amounts of goods. An additional benefit of this behavior is that in the future other devices can be coupled to the shopping robots: for example an automatic wheel chair would be able to lead or follow the robot.
Fig. 7.2.: The virtual train concept.
Left: The Virtual Train concept: the (L)eading robot (blue) communicates a trail of past positions (red dots). The following robot (green) generates target points on this trail to follow the first one on the same path. The target has
to have a distance of dLMin>rLfrom the leader and should be as far as possible in front of the (F)ollower, but not
farther away than rF.
Right: Screenshot showing a ordinary case of one robot following the other on the communicated trail (red dots).
In order to enable other robots to follow, each robot generates a sparse trail of past positions in a certain interval and communicates this trail to the other robots. The following robot follows this trail. As the behavior is a tactical behavior, it operates based on goal positions which are then executed by the reactive
behaviors.
When a robot is ordered to build a virtual train with the other one, the trail of the (L)eader is processed by the (F)ollower. Two special points on the trail are identified (see Fig. 7.2, left): First this is the furthest point on the trail which the F may moved to. It has to be further away from L than a defined safety distance
7.4. TB: Virtual train as goal points. So the following robot always keeps the distance to the leading robot. The second one is a point on the trail close to F, which is used as interim goal point for F on its way to the final goal point. It is as far towards L as possible, but has to be closer to F than a certain activation distance rF. Additionally, a smoother orientation set-point can be generated by taking the average orientation from the next trail point and a point on the trail further ahead. Fig. 7.2 (right) shows the concept in application.
Fig. 7.3.: Left: Special situation regarding the virtual train concept: the leader turns around and needs space to do so. This way the goal for the follower is virtually pushed behind it, letting the follower retreat from the leader and freeing the path.
Right: The green robot is taking a shortcut to the other side of the trail once the circle rF intersects with the trail.
This way the robot omits moving a misleading indirection.
When L decides to move back on (almost) the same path, it can deactivate trail points which F has already reached. Due to the deactivated points near L, the candidates for F’s next goal are pushed backwards on the trail and eventually they even move behind F. This way L is able to virtually push F back on the path it came. Figure 7.3 (left) shows a sketch and 7.4 an example for “the backwards driving” of a virtual train with ETrolley leading (the blue robot) and InBOT following (the green robot). Using this behavior, F cannot block L or even trap L in a dead end.
The points on the trail are always prioritized by their age, meaning that newer points are favored. Thus, the newest point inside the circle with the radius rFis selected as the next goal point. This comes in handy when the target robot moves back close by the trail traveled earlier. The follower is able to take a shortcut as depicted Figure 7.3 (right). This is of special importance when earlier L was virtually pushing F backwards.
Fig. 7.4.: Forming a virtual train: In this sequence the blue robot is controlled manually (in fact it is
ETrolley) and the green one is ordered to follow it shortly after it is passed by the blue one (A). After
receiving the order the green robot moves on the path taken by the blue robot previously (red marks). In (B) the blue robot drives into a narrow passage, followed by the green robot. Later in (C) it drives backwards out of the passage virtually “pushing” the green robot back on the path it came. Finally (D) shows again the green robot following the path of the blue one. The blue line marks the path of the green robot. It shows how the robot was pushed back and that it later on follows the blue robot again without making the indirection of driving into the narrow corridor (even though the path of the blue one leads there).
Fig. 7.5.: Forming a virtual train: 5 robots are starting tightly packed with the order to build a virtual train. As they start moving they each wait for their preceding robot to gain a defined distance before starting themselves.
8. Conclusion, Discussion, and Open Issues
This chapter concludes this thesis. First of all, the work presented in the preceding chapters is briefly summarized. Then it is described how the control architecture has been implemented on several robot systems in addition to the implementation on InBOT, demonstrating the generalized character of the control. In Section 8.3 several aspects of the control system and its achievements are discussed. The section is followed by a summary of open scientific issues (Sec. 8.4) and finally by a list of general thoughts to be addressed when rolling out the system for the public (Sec. 8.5).