This case study is an illustration of the computation and use ofneedsto allow a team of robots to perform a vehicle-following cum platooning task. It is shown that the use of needs in triggering different behaviours with varying intensities translates to a weighted summation of output vectors where the weights are determined dynamically.
The description of this use case is summarized in Table D.3.
D.4.1 Experimental setup
Six 4-wheel, differentially-driven autonomously guided vehiclesr1, r2, . . . , r6with corre- sponding locationsx1,x2, . . . ,x6are randomly placed in a 160m×160m two-dimensional level terrain. The leading robotr1is programmed to visit the following waypoints at 6- second intervals: (20, 20), (20, 140), (140, 20), and (140, 20). For robots 2 to 6, theith robot is programmed to follow the (i−1)th robot. It is expected that with the use of simple rules based on needs, and pre-assigned platooning order, simple seeking and avoidance behaviours will emerge, with vehicles self-organizing into a platoon while visiting specific checkpoints. It is further shown that as one or more needs become unavailable, the vehicle-following and platooning task is disrupted, as vehicles come to a halt, or end up colliding with one another.
D.4.2 Formulation
Let each robot’s state be represented byxr = [xr, yr, φr]T, subject to a dynamic model of the following form:
xr,k+1=f(xr,k,uk,dx) (D.11)
whereuk is the control input at time k, and dx is the disturbance. For the purpose of simulation, the dynamic model is replaced with a T-integration model of the following form (Smith, 1990):
xr,k+1=xr,k+tsγ[αx˙k+1+ (1−α) ˙xk] +dx, (D.12) wheretsis the sampling interval,γandαare parameters that influence the behaviour of the integrator. TheT-Integrator is numerically stable, as opposed to Euler integration.
Observations made by the sensors at thekth instant are represented byxf,k. In this case, these observations comprise estimates of the locations of other vehicles in the team, and the proximity to the boundary of the terrain.
Table D.3: Use Case D.3: Vehicle following and platooning.
Item Description
Case ID Use Case D.3.
Case Name Vehicle following and platooning.
Description A platoon of six vehicles are positioned randomly within a simulated environment. The use of two rules based on twoneeds, that of seeking a pre-assigned leader, and avoiding collision with other vehicles, are to be shown.
Purpose To demonstrate the following:
(i) Needsare a viable form of representation suitable for multi- agent coordination and formation control.
(ii) Needs are a viable representation of the internal state of a system and its observations of the environment.
(iii) The use of needs to encapsulate the tasks that a system is designed to perform.
(iv) The determination of theactionsof a system given itsneeds.
Rationale The interaction between many autonomous vehicles needs to be managed in order to ensure their survivability, especially when operating in close proximity with one another.
Environment Simulated outdoor environments.
Actors & Entities Six simulated 4-wheel, differentially-driven autonomously-guided vehicles. Four checkpoints.
Needs safety,accomplishment.
Emotions None.
Actions obstacle-avoidance,goal-seeking.
Triggers Proximity to leading vehicle (target) and other vehicles (mobile obstacles).
Initial condition Six vehicles, in randomized starting locations and orientations.
Four checkpoints.
Success condition With two rules, and pre-assigned platooning order, simple seeking and avoidance behaviours are illustrated when the vehicles self- organize into a platoon, following a leader while it proceeds to specific checkpoints.
Failure condition In the case where one or moreneedsare unobservable, the task of vehicle platooning is disrupted, or worse, accidents and collisions may occur.
Significance Needs are a suitable representation for multi-agent coordination and formation control, in addition to being useful for influencing behaviour of vehicles.
Twoneedsand two behaviours are defined for each vehicle. The needs are given by:
• nsafe, the need forsafety, andn¯safe, the fulfilment of the same need, which, for the ith robot, are given by:
nsafe,i= min
"
1.0, 2bi
dmin
2#
, n¯safe,i= 1.0−nsafe,i, (D.13) wherebiis the bounding radius of the robot, anddminis the distance to the nearest robot (obstacle).
• naccomp, the need foraccomplishment, andn¯accomp, the fulfilment of the same need, which, for theithrobot, and targetxg, are given by:
naccomp,i= 1.0−min
"
1.0,
2bi
kxg−xik 2#
, ¯naccomp,i= 1.0−n¯accomp,i. (D.14) The two behaviours are given by:
• obstacle-avoidance: voa,i, a vector that directs a robot away from obstacles:
voa,i=−
N=6
X
k,k6=i
2bi
kxk−xik∠(xk−xi) (D.15)
• goal-seeking: vgoal,i, a vector that directs a robot towards a target location:
vgoal,i=
1.0− 2bi
kxg−xik
∠(xg−xi) (D.16) The final driving vector for theithrobot,viis determined using:
vi=vmax
nsafe,ivoa,i+naccompvgoal,i nsafe,i+naccomp,i
(D.17) where vmax is the maximum allowable velocity for the robot. Equation (D.17) is a weighted summation of the driving vectors generated by the behaviours, where the weights are dynamically determined according to changingneeds fulfilmentlevels. This is akin to an approach using dynamic potential fields or one based on motor-schemas (Arkin, 1989).
D.4.3 Results
When robots have full observability of all theneeds(Figure D.15), they are quick to self- organize into a single file platoon, with the leading robot consistently being able to reach the four waypoints, and the followers are able to maintain good tracking of the robot in front. No collisions between robots occurred, given that vehicles possess the need for safety, which kept them at a safe distance, especially when leading robots decelerate when approaching each waypoint.
In the event where the need forsafetyis unobservable, robots no longer have access to this need, and are consequently unable to keep a safe distance from other vehicles, resulting in collisions between vehicles and congestion (Figure D.16).
To examine the behaviour of the vehicles under the influence of just the need for safety, the need for accomplishment is disabled (i.e. made unobservable). Figure D.17 shows the effect of this need, which is to drive robots away from one another. However, since the distances between robots in the att = 0 are already far, the speed at which vehicles avoid each other is low, indicative of the lesser intensity of the need to do so.
The variations of theneedsat run-time are shown in Figure D.14. From the graphs shown, the leading robot is able to maintain the fulfilment ofnaccomp at relatively high levels, as its goal is defined in terms of the four waypoints which it can arrive at. The fulfilment of naccomp for the other robots are lower since each robot’s goal is set to the location of the preceding robot, hence they will not be able to arrive at their destination without colliding into the preceding robot. Theneedsfulfilment ofnsafeis also higher in the leading robot after the platoon is formed. This is because the front robot is relatively unobstructed.