the null-space-based behavioral control for autonomous...

13
Intel Serv Robotics DOI 10.1007/s11370-007-0002-3 ORIGINAL RESEARCH PAPER The null-space-based behavioral control for autonomous robotic systems Gianluca Antonelli · Filippo Arrichiello · Stefano Chiaverini Received: 20 August 2005 / Accepted: 18 December 2006 © Springer-Verlag 2007 Abstract In this paper a new behavior-based approach for the control of autonomous robotic systems is pro- posed. The so-called null-space-based behavioral (NSB) control differs from the other existing methods in the behavioral coordination, i.e., in the way the outputs of the single elementary behaviors are combined to com- pose a complex behavior. The proposed approach is compared with the main existing approaches while two experimental case studies, performed with a Khepera II mobile robot, are reported to validate its effectiveness. Keywords Behavioral control · Behavioral coordination · Autonomous robots 1 Introduction Autonomous robots employed in service applications pose challenging control problems. They need to pro- cess many data in real-time, eventually working in an unstructured environment, while accomplishing several tasks such as manipulation, exploration, mapping, or moving through predefined via-points. Obviously, they need also to avoid static or dynamic obstacles, perform fault detection algorithms and preserve their integrity. G. Antonelli · F. Arrichiello (B ) · S. Chiaverini Dipartimento di Automazione, Elettromagnetismo, Ingegneria dell’Informazione e Matematica Industriale (DAEIMI), Università degli Studi di Cassino, via G. Di Biasio 43, 03043 Cassino (FR), Italy e-mail: [email protected] G. Antonelli e-mail: [email protected] S. Chiaverini e-mail: [email protected] Many service applications such as, e.g., surveillance robotics [8], inspection [20], rescue robotics [27] or enter- tainment robotics [22] are solved by resorting to a behav- ioral approach since they require to achieve several goals at the same time; these may conflict one with the other and a relative importance among them is to be assigned. Moreover, the importance of a task is often context-depend; for example, obstacle avoidance of a static, far, obstacle might be of smaller importance with respect to the task of reaching a close target position. As recognized in [13], performing these operations in a pure serial sequence is a debatable approach. The most promising approach seems instead to decompose the problem in several sub-problems, eventually solvable in parallel, whose solutions then need to be composed in one single motion command to the robot. The sub- problems are commonly termed behaviors, functional modules, motor schemas, or tasks and we will use these terms as synonyms in this paper while calling in short behavioral approach any method aimed at properly com- posing these elementary behaviors. Among the behavioral approaches, seminal works are reported in the papers [13] and [7], while the textbook [8] offers a comprehensive state of the art. A behavioral approach designed for exploration of planetary surfaces has been investigated in [17], while in [18] the experi- mental case of an off-road navigation is presented. Lately, behavioral approaches have been applied to the formation control of multi-robot systems as in, e.g. [25], [21] and [9]. The use of techniques inherited from inverse kinematics for industrial manipulators is described in [10, 5, 31]. In [28] a hierarchical behavior-based system that performs several vision-based manipulation tasks by using different combinations of the same set of basic behaviors is presented. In [29] an architecture for

Upload: others

Post on 05-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv RoboticsDOI 10.1007/s11370-007-0002-3

ORIGINAL RESEARCH PAPER

The null-space-based behavioral control for autonomous roboticsystems

Gianluca Antonelli · Filippo Arrichiello ·Stefano Chiaverini

Received: 20 August 2005 / Accepted: 18 December 2006© Springer-Verlag 2007

Abstract In this paper a new behavior-based approachfor the control of autonomous robotic systems is pro-posed. The so-called null-space-based behavioral (NSB)control differs from the other existing methods in thebehavioral coordination, i.e., in the way the outputs ofthe single elementary behaviors are combined to com-pose a complex behavior. The proposed approach iscompared with the main existing approaches while twoexperimental case studies, performed with a Khepera IImobile robot, are reported to validate its effectiveness.

Keywords Behavioral control · Behavioralcoordination · Autonomous robots

1 Introduction

Autonomous robots employed in service applicationspose challenging control problems. They need to pro-cess many data in real-time, eventually working in anunstructured environment, while accomplishing severaltasks such as manipulation, exploration, mapping, ormoving through predefined via-points. Obviously, theyneed also to avoid static or dynamic obstacles, performfault detection algorithms and preserve their integrity.

G. Antonelli · F. Arrichiello (B) · S. ChiaveriniDipartimento di Automazione, Elettromagnetismo,Ingegneria dell’Informazione e Matematica Industriale(DAEIMI), Università degli Studi di Cassino,via G. Di Biasio 43, 03043 Cassino (FR), Italye-mail: [email protected]

G. Antonellie-mail: [email protected]

S. Chiaverinie-mail: [email protected]

Many service applications such as, e.g., surveillancerobotics [8], inspection [20], rescue robotics [27] or enter-tainment robotics [22] are solved by resorting to a behav-ioral approach since they require to achieve severalgoals at the same time; these may conflict one with theother and a relative importance among them is to beassigned. Moreover, the importance of a task is oftencontext-depend; for example, obstacle avoidance of astatic, far, obstacle might be of smaller importance withrespect to the task of reaching a close target position.

As recognized in [13], performing these operations ina pure serial sequence is a debatable approach. The mostpromising approach seems instead to decompose theproblem in several sub-problems, eventually solvablein parallel, whose solutions then need to be composedin one single motion command to the robot. The sub-problems are commonly termed behaviors, functionalmodules, motor schemas, or tasks and we will use theseterms as synonyms in this paper while calling in shortbehavioral approach any method aimed at properly com-posing these elementary behaviors.

Among the behavioral approaches, seminal works arereported in the papers [13] and [7], while the textbook [8]offers a comprehensive state of the art. A behavioralapproach designed for exploration of planetary surfaceshas been investigated in [17], while in [18] the experi-mental case of an off-road navigation is presented.Lately, behavioral approaches have been applied to theformation control of multi-robot systems as in, e.g. [25],[21] and [9]. The use of techniques inherited from inversekinematics for industrial manipulators is described in[10,5,31]. In [28] a hierarchical behavior-based systemthat performs several vision-based manipulation tasksby using different combinations of the same set of basicbehaviors is presented. In [29] an architecture for

Page 2: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

dynamic changes of the behavior selection strategies ispresented.

The behavioral approaches differ in the way theycompose the single task outputs to build the motioncommand to the robot. In presence of multiple behav-iors, each task output is designed so as to achieve itsspecific goal but it is generally impossible that a singlemotion command to the robot can accomplish all theassigned behaviors at the same time. In particular, whena motion command cannot reduce simultaneously thevalue of all the task functions there is a conflict amongthe tasks that must be solved by a suitable policy.

This paper is aimed at describing a new behavioralcontrol scheme, that will be called the null-space-basedbehavioral (NSB) approach [2,3]. To better underlinethe characteristics of the new method, it will be pre-sented in an unified framework together with the twomain behavioral approaches; namely, the layered controlsystem [13] as a significant case of competitive approachand the motor schema control [7] as a significant caseof cooperative approach. To allow a clear comparison,we consider for all these approaches the same set oftasks and discuss how the velocity command to the robotis differently built by composition of the velocity com-mands output by the single tasks. The experimental vali-dation will concern a comparison among the approachescited above in a move-to-goal mission and a kick-to-goalmission. The obtained results show the effectiveness ofthe proposed method.

2 Background on behavioral coordination

In this paper a behavior is expressed through a functionof the robot configuration that measures the degree offulfilment of the task (e.g., a cost or a potential func-tion); thus, in a static environment the task is achievedwhen its output is constant at a value that minimizes thetask function. For example, if the task output is a veloc-ity command to a mobile robot, to reach a given goalposition a distance-from-goal task function can be con-sidered; the velocity command will then be generatedso as to reduce the distance between the vehicle and thegoal and it will be null when the goal position is reached.If, in addition, an obstacle must be avoided, anothervelocity command will be generated so as to increasethe distance between the vehicle and the obstacle; thiscommand will be null when the obstacle is consideredout of reach. In this scenario, when the obstacle is some-where along the line of sight of the goal position from therobot the two behaviors come in conflict: in fact, the twoindividual-task velocity commands will counteract andthe vehicle can either approach the goal position (and

come closer to the obstacle too) or escape the obstacle(and drive away from the goal position too).

One important feature that characterizes the behav-ioral approaches is the way they handle multiple elemen-tary tasks to be achieved simultaneously. From a generalpoint of view, the different solutions to this problem ofbehavioral coordination can be basically cast either inthe frame of competitive methods or in the frame ofcooperative methods [8]. In the competitive methods ateach time instant only one task is selected to be activeand the control algorithm tries to solve only the chosentask. In the cooperative methods, instead, a supervisorelaborates each elementary task as if it were alone andbuilds the overall solution as the weighted sum of all themotion commands resulting from the single elementarytasks; in addition, on the the basis of sensory informa-tion, the supervisor can dynamically change the relativeimportance of the tasks by changing the vector of weightgains.

2.1 Competitive behaviors coordination

Competitive methods provide a means of coordinatingbehavioral response for conflict resolution. The coordi-nation can be viewed as a competition among behaviors;only one behavior wins and its response only is sent tothe robot for execution.

This type of competitive strategy can be performedin a variety of ways. Generally, a coordination func-tion (serving as an arbiter) selects a single behavioralresponse. The function can take the form of either a pri-oritization network (in which a strict behavioral dom-inance hierarchy exists) or an action-selection method(in which, on the basis of sensor information, only themost active behavior is selected).

The layered architecture, proposed in [13], is a clas-sical example of a competitive method. It is an archi-tecture for controlling mobile robots that lets the robotwork at increasing levels of competence. Each behavioris related to a layer that is an asynchronous module thatcommunicates over a low-bandwidth channel. In partic-ular, each behavior is represented using an augmentedfinite state machine model. On the basis of sensors infor-mation, each layer, working independently from the oth-ers, elaborates an output that is a motion command forthe robot, i.e., a direct input to the actuators or a refer-ence velocity vector for the low-level control (see Fig. 1).Each task can be implemented using the preferred algo-rithm; for instance, one of the most used approaches isbased on the virtual potential concept [12].

Layers have different priority levels and the possibleconflict among the tasks is solved by assigning a hier-archy so that the higher-level tasks can subsume the

Page 3: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

Fig. 1 Single-task block

Fig. 2 Sketch of the layered control system in a 3-task example

lower-level ones. This architecture, also known in lit-erature as subsumption architecture, needs the use ofa priority-based coordination function. From a practicalaspect, the subsumption can follow two mechanisms: theinhibition, used to prevent that a signal is transmitted tothe actuators, and the suppression, in which a signal isreplaced by an higher-priority one.

Figure 2, reproduced from [13], represents the func-tional scheme of this subsumption architecture in a3-task example. It is interesting to notice that no higherlevel supervisor is required since each task can subsumethe lower level ones and, if not subsumed by an higherlevel, it directly commands the actuators.

With this approach, only the higher active task isproperly achieved and it is possible to add new layerssimply choosing their positions in the hierarchy. Onlywhen the higher-priority task is fulfilled, by outputtinga zero motion command and not subsuming the lower-priority tasks, the second-highest in the hierarchy startsto be satisfied. The tasks, thus, are pursued selectivelybased on the available sensorial information.

In the older version of this algorithm the overall robotbehavior is simply achieved by collecting elementarybehaviors; later, an intermediate level has been pro-posed and the overall robot behavior is obtained byselecting an abstract behavior that is, itself, a collectionof elementary behaviors [8].

2.2 Cooperative behaviors coordination

Cooperative methods provide an alternative to compet-itive. Behavioral fusion provides the ability to concur-rently use the output of more than one behavior at atime. A supervisor elaborates each behavior and givesas output an intermediate solution, calculated as the sumof all the motion commands (one for each task) oppor-tunely multiplied by a gain vector. The supervisor, on thebasis of sensor information, can dynamically change the

Fig. 3 Sketch of the motor schema control in a 3-task example

gain vector, giving instantaneously more or less weightto each task.

The motor schema control [7], strongly motivated bythe biological sciences (as neuroscientific, psychologicaland robotic sources), is one of the cooperative methodsfor behavioral approaches. A motor schema is “the basicunit of motor behavior from which complex actions canbe constructed. It consists of both the knowledge of howto act as well as the computational process by which it isenacted” [7]. The output of a navigation motor schemais a vector representing the desired advancing veloc-ity vector. The navigation behavior is obtained by theproper combination, by an high-level supervisor, of thetask functions. This architecture, thus, needs the pres-ence of a supervisor that dynamically selects the activebehaviors and outputs the robot motion command by anormalized sum of the active tasks.

In [9], for the formation control of multi-robot sys-tems, a weight is also considered for each task output.The supervisor realizes the selection of active behav-iors properly changing the weights of each task. Thisapproach implements a hierarchy among the tasks,where a null weight deactivates a behavior while theactive ones are taken into account in proportion tothe respective weight factor. The weights are usuallycontext-dependent (depending on word perception andinterpretation) and, thus, can dynamically change therelative priority of the tasks.

The main difference with the competitive methods isthat this approach realizes a linear combination of theoutputs elaborated for each task. In this way, no task iscompletely achieved but, on the basis of the gain vectors,a compromise solution is found.

Figure 3 represents the functional scheme of thisarchitecture in a 3-task example; with respect to thesubsumption architecture in Fig. 2 the main differenceis in the presence of a supervisor. Same as the layeredcontrol system, each task can be implemented using thepreferred algorithm, e.g., the virtual potential approach[7,12].

Page 4: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

3 Null-space-based behavioral control for autonomousrobots

As discussed in the above, in a general robot mission theaccomplishment of several tasks at the same time is ofinterest. A possible technique to handle the tasks’ com-position has been proposed in [10,11], which consists inassigning a relative priority to the single task functionsby resorting to the task-priority inverse kinematics intro-duced in [19,23] for ground-fixed redundant manipula-tors. Nevertheless, as discussed in [15], just in the caseof conflicting tasks it is necessary to devise singularity-robust algorithms that ensure proper functioning of theinverse velocity mapping.

Based on these works, this idea is developed in [5]in the framework of the singularity-robust task-priorityinverse kinematics [15]. In [6] this approach has beenused in simulation to control a multi-robot team per-forming a caging mission, subject to obstacle avoidanceand failure of one or more vehicles. With reference to ageneric platoon of autonomous vehicles, the basic con-cepts are recalled in the following.

By defining as σ ∈ Rm the task variable to be con-

trolled and as p∈Rn the system configuration, it is:

σ = f (p) (1)

with the corresponding differential relationship:

σ̇ = ∂f (p)

∂pv = J(p)v , (2)

where J ∈ Rm×n is the configuration-dependent task

Jacobian matrix and v∈Rn is the system velocity. Notice

that n depends on the specific robotic system consid-ered, in case of a differential mobile robot n = 3, andthe term system configuration simply refers to the robotposition/orientation, in case of a full actuated underwa-ter vehicle n = 6, finally, an anthropomorphic robotscan reach very large value of n.

An effective way to generate motion references pd(t)for the vehicles starting from desired values σ d(t) of thetask function is to act at the differential level by invertingthe (locally linear) mapping (2); in fact, this problem hasbeen widely studied in robotics (see, e.g., [30] for a tuto-rial). A typical requirement is to pursue minimum-normvelocity, leading to the least-squares solution:

vd = J†σ̇ d = JT(JJT

)−1σ̇ d . (3)

At this point, the vehicle motion controller needs areference position trajectory besides the velocity refer-ence; this can be obtained by time integration of vd.However, discrete-time integration of the vehicle’s ref-erence velocity would result in a numerical drift of the

reconstructed vehicle’s position; the drift can be coun-teracted by a so-called closed loop inverse kinematics(CLIK) version of the algorithm, namely,

vd = J†(σ̇ d + Λσ̃

), (4)

where Λ is a suitable constant positive-definite matrixof gains and σ̃ is the task error defined as σ̃ =σ d−σ .

Differently from the two methods recalled in theprevious sections, NSB control intrinsically requires adifferentiable analytic expression of the tasks defined,so that it is possible to compute the required Jacobi-ans. In detail, on the analogy of Eq. (4), the single taskvelocity is computed as

vi = J†i

(σ̇ i,d + Λiσ̃ i

), (5)

where the subscript i denotes i-th task quantities. If thesubscript i also denotes the degree of priority of the taskwith, e.g., Task 1 being the highest-priority one, in thesame case of 3 tasks we have provided as an example forthe other two approaches considered, according to [15]the CLIK solution (4) is modified into

vd = v1 +(I − J†

1J1

) [v2 +

(I − J†

2J2

)v3

]. (6)

Remarkably, Eq. (6) has a nice geometrical interpreta-tion. Each task velocity is computed as if it were actingalone; then, before adding its contribution to the overallvehicle velocity, a lower-priority task is projected ontothe null space of the immediately higher-priority taskso as to remove those velocity components that wouldconflict with it.

A functional scheme of this architecture is illustratedin Fig. 4. As in the case of the motor schema control, thepresence of a supervisor might be considered in orderto dynamically change the relative task priorities. Forinstance, in absence of close obstacles an obstacle-avoid-ance task could be locally ignored. This has been done,e.g., in [4] for a manipulator with floating base.

It must be remarked that, with this approach, a full-dimensional highest-priority task would subsume thelower-priority tasks. In fact, with a full-rank J1 matrix,its null space would be empty and the whole vector v2would be filtered out.

The NSB control always fulfils the highest-prioritytask. The lower-priority tasks, on the other hand, arefulfilled only in a subspace where they do not conflictwith the ones having higher priority. This is clearly anadvantage with respect to the competitive approaches,where one single task can be achieved at once, and tothe cooperative approaches, where the use of a linearcombination of each single task’s output has as a resultthat no single task is exactly fulfilled; in the latter, the

Page 5: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

Fig. 4 Sketch of the null-space-based behavioral control in a 3-task example. The supervisor is in charge of changing the relative priorityamong the tasks

designer needs to heuristically tune the parameters topractically achieve fulfillment of the higher priority task.On the other hand, as explained in [24], in the case ofmultiple non-conflicting tasks the NSB does not guar-antee that the lower priority tasks is instantaneouslyachieved with the sub-optimal velocity. Nevertheless, inthe considered case, the closed loop ensures that theerror of the secondary task converges to zero. The pro-posed approach gives to the overall algorithm a certainrobustness with respect to the possible occurrence ofconflicting tasks while paying a loss of efficiency thatmight be avoided by resorting to specific redundancyresolution algorithms [24]. See [26] for a dissertationabout the notion of optimality in behavior-based robot-ics.

The work [14], involving a mission of end-effectorpath tracking for a robot manipulator, can be consid-ered as the first application of a NSB algorithm; in thatcase study, in fact, the manipulator moves in an environ-ment with an obstacle. The tasks are arranged in a NSBarchitecture, however, the obstacle becomes the higherpriority task only when a distance threshold is detected.This can be considered as a supervisor in charge of avery simple tasks coordination.

3.1 Competitive and cooperative coordination schemesas particular cases of the NSB

When the tasks handled by a layered control systemor by a motor schema control have a smooth analyticexpression, so that the relative Jacobian matrices can becomputed, it can be shown that the former schemes canbe seen as particular cases of the NSB control.

By considering the extended task vector obtained bystacking all the single defined task vectors

σ =[σT

1 · · · σTn

]T, (7)

the corresponding extended Jacobian matrix can be writ-ten as:

J = diag{J1, . . . , Jn} . (8)

At this point, by using a weighted pseudoinverse inEqs. (3) and (4) with the weight matrix

W = diag{α1, . . . , αn} , (9)

the motor schema control is recovered when αi ∈[0, ∞]and the layered control system is obtained whenαi ∈ {0, 1} and

∑αi = 1. In fact, the motor schema control

satisfies a weighted sum of the tasks, while the layeredcontrol system satisfies one task selectively.

4 Tasks composition

4.1 How many tasks simultaneously?

The strong geometrical meaning of the proposedapproach allows to easily discuss about the number oftasks that can be handled simultaneously. Let us supposethat the primary task, of a generic dimension m1, is ful-filled by a n-degrees-of-freedom (DOFs) robotic system.The null space of its Jacobian is a space of dimensionsn − r1 (where r1 ≤ m1 is the rank of the Jacobian). Sup-posing the secondary task (of dimension m2 and rankr2 ≤ m2) is not conflicting with the primary task (mean-ing that the secondary task acts in the null space of theprimary task), the null space of their combination hasdimension n − r1 − r2. Choosing the tasks in a way theyare not conflicting, it is useful to add tasks until

∑ri = n.

Thus, once covered all the degrees of freedom of the sys-tem, it is useless to add successive tasks of lower prioritysince they will be projected on to an empty space (thusgiving always a null contribution to the system veloc-ity). In case of conflicting tasks is not possible to do anygeneric assumption regarding the useful number of tasksbut, case by case, intersection among null spaces shouldbe analyzed.

In case of a differential drive mobile robot, not con-sidering the vehicle orientation, it is n = 2 and it isthus clear that, once the DOFs are used, it is useless toadd other tasks. For an anthropomorphic robotic sys-tem, however, the number of DOFs is obviously larger

Page 6: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

Fig. 5 A case of two simultaneous behaviors: v1 is the output ofan obstacle-avoidance task while v2 is the output of a move-to-goaltask

and can be easily handled with a geometric approach ofthis kind.

This is not evident for the cooperative approach,where the designer often adds several tasks even afterhaving used the system DOFs, or, on the other side, doesnot have a clear view of the remaining DOFs that canbe exploited. In literature it is easy to find several tasksmerged even for a single 2-DOFs mobile robot. As it willbe noticed in the Sect. 4.2, this causes a corruption of allthe tasks’ velocities, even the ones of higher priority.

4.2 Task velocity composition comparison

Let us consider the very simple situation of a 2-DOFsmobile robot moving under the effect of the two behav-iors:

– Task #1: obstacle-avoidance– Task #2: move-to-goal

being the first of higher priority than the second; thecorresponding task outputs are the velocity vectors v1and v2 and the velocity command to the robot is thevelocity vector vd. In absence of obstacles, the obsta-cle-avoidance task is not activated and the robot movesaccording to the sole move-to-goal command, i.e.,vd ≡ v2. In a situation such as the one reported in Fig. 5the two single task velocities are non null and a suitablevelocity command to the robot must be decided.

In the case of the layered control system the obstacle-avoidance behavior subsumes the move-to-goal one andthe resulting velocity command to the robot will then bevd ≡ v1 (see Fig. 6).

In the case of the motor schema control the outputsof the two tasks are weighted, summed and normalizedas shown in Fig. 7. Of course, the selection of the weights

Fig. 6 Task velocity composition of the layered control systemfor solving the problem sketched in Fig. 5. The velocity commandto the robot is the wide-line vector vd: Task 1 subsumes Task 2

Fig. 7 Task velocity composition of the motor schema control forsolving the problem sketched in Fig. 5. The velocity command tothe robot is the wide-line vector vd: the weight of Task 1 is 1.2while the weight of Task 2 is 0.4 and the norm of the weighted sumis saturated

is a design choice and our example, thus, just shows onepossibility.

It is worth noticing in this simple example how theweighted sum of the task outputs may cause conflictamong the behaviors. In fact, as can be seen in Fig. 7,the lower-priority (α2 =0.4) Task 2 velocity has a compo-nent along the higher-priority (α1 =1.2) Task 1 velocitythat modifies its magnitude. As a result, the robot doesnot fulfill one single task, even the higher-priority one,but a linear combination of the tasks. Of course, if fulfill-ment of one single task is desired, the supervisor must setthe corresponding weight to unity while deactivating allthe other tasks; in this case, except for the presence of thesupervisor, the motor schema control works similarly toa layered control system.

Page 7: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

In the case of the NSB approach, before being addedto the higher-priority Task 1 velocity, the lower-priorityTask 2 velocity must be projected onto the the null spaceof the primary-task Jacobian matrix. If the primary taskis specified so as to ensure a minimum given distancefrom the obstacle (i.e., is expressed as a scalar function),its Jacobian has a monodimensional range space alignedto the vehicle-obstacle direction and a monodimension-al null space along the orthogonal direction. Therefore,by projecting the secondary task velocity onto the nullspace of J1, the component of v2 that would affect thevehicle-obstacle distance is filtered out (see Fig. 8); onthe other hand, the other component of v2 results in aslide-around-the-obstacle motion.

5 Case studies

In this section two different experimental case studieswill be discussed. In the first one, presented in Sect. 5.1,a comparison among different behavioral approachesis investigated in a move-to-goal mission. In the secondexperimental case study, presented in Sect. 5.2, a kick-to-goal mission is performed with the proposed approach.For both the case studies, involving the mobile robotKhepera II manufactured by K-Team [1] and shown inFig. 9, the heading controller is derived from the con-troller reported in [16] while the wheels’ controllers isa PID developed by the manufacturer. The robot sizeis approximatively 8 cm; the encoders resolution is suchthat a quantization of ≈ 0.8 cm/s and ≈ 9 deg/s are expe-rienced.

5.1 Unicycle-like mobile robot: move-to-goaland obstacle-avoidance

The overall mission is decomposed in two elementarytasks, namely:

– Task #1: obstacle-avoidance;– Task #2: move-to-goal.

a) Obstacle-avoidanceThe obstacle-avoidance is the highest priority taskbecause its achievement is of crucial importance topreserve the integrity of the vehicle. In presence ofan obstacle in the advancing direction, its aim is tokeep the robot on a safe distance from the obsta-cle. Thus, its implementation elaborates as output avelocity, in the robot-obstacle direction, that keepsthe robot to a safe distance from the obstacle. There-fore, it is:

Fig. 8 Task velocity composition of the null-space-basedbehavioral control for solving the problem sketched in Fig. 5.The move-to-goal velocity is projected onto the null space of thehigher-priority obstacle-avoidance Jacobian. The resulting motionis so that the vehicle slides around the obstacle

Fig. 9 Robot Khepera II of the K-Team

σ1 = ‖p − po‖ ∈ R

σ1,d = d

J1 = r̂T ∈ R1×2 ,

where po is the obstacle position and

r̂ = p − po

‖p − po‖

is the unit vector aligned with the obstacle-to-vehi-cle direction. According to (5), the primary-taskvelocity is then

v1 = J†1λ1

(d − ∥∥p−po

∥∥).

Page 8: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

In the NSB approach, moreover, the obstacle avoid-ance task elaborates also the null-space direction.The expression of the corresponding null space,required only for the third approach considered,is

N(J1) = I − J†1J1 = I − r̂r̂T

where I is the identity matrix of proper dimen-sions. It can be observed that this direction is tan-gent to the circle. Thus, the velocity component ofsecondary task has to be projected along the tan-gent direction. It is worth noticing that, for all theapproaches, the obstacle avoidance task is activeonly when required, i.e., when the vehicle is closerthan a threshold value to the obstacle and when theoutput velocity of the lower priority tasks is in theobstacle direction. Thus, when these conditions aresimultaneously verified, in case of the layered con-trol system, the obstacle avoidance task is active andsubsumes the lower-priority one, while, for the othertwo approaches, the supervisor activates the taskand combine the outputs as previously described.

b) Move-to-goalThe move-to-goal task is the same in all the schemesand its output is a velocity, in the goal direction, pro-portional to the distance from the goal pg; therefore,it is

σ 2 = p ∈ R2

σ 2,d = pg ∈ R2

J2 = I ∈ R2×2 .

According to (5), the secondary-task velocity thenis

v2 = Λ2(pg − p).

For all the algorithms, a saturation is performed onthe resulting velocity in order to feed the system withlimited amplitude signals.

In this experiments the robot is connected to the PCvia a tether, the sampling time is 50 ms, a saturation of5 cm/s and 130 deg/s have been introduced for the lin-ear and angular velocities, respectively. The desired goalposition is [40 − 3]T cm, an obstacle has been consideredin

[20 − 5

]T cm. Since the experiments have been devel-oped to test the algorithms, the obstacle is consideredas perfectly known. For the first task the safe distance

Fig. 10 Layered control system: top Path followed for reachinga goal in presence of obstacle; middle Odometric measure of lin-ear velocity of the robot; bottom Odometric measure of angularvelocity of the robot

to the obstacle has been set to d = 8 cm, while the dis-tance at which the obstacle can be recognized and thetask became active has been set to 10 cm to take intoconsideration the limited range of the sensors.

For all the algorithms the gains have been kept con-stant, i.e., the gains have been selected as

λ1 = 10

Λ2 = 1I.

In the top plot of Fig. 10, the path followed by the robotcontrolled by the layered control system is presented.It can be noticed that the robot, while approaching theobstacle, switches to the sole obstacle-avoidance taskand resumes the sole move-to-goal task when far enoughfrom the obstacle. Middle and bottom plots show thecorresponding measured values of the linear and angular

Page 9: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

Fig. 11 Motor schema: top Path followed for reaching a goal inpresence of obstacle; middle odometric measure of linear velocityof the robot; bottom odometric measure of angular velocity of therobot

velocities. It is worth noticing that, with a different safetyradius or robot dynamics, the switches between the twotasks can be more than two causing a kind of chatter-ing around the safety radius before resuming the solemove-to-goal task and finally reaching the goal.

In the top plot of Fig. 11 the path obtained under themotor schema control is presented. It is worth noticingthat the vehicle enters a 8 cm-circle around the obsta-cle since the algorithm outputs a linear combination ofthe two tasks. Obviously, the designer can modify thetasks’ weights thus imposing a more or less conservativevehicle behavior. Middle and bottom plots show the cor-responding measured values of the linear and angularvelocities.

In the top plot of Fig. 12, the path followed with thenull-space-based control is shown. The geometric char-acteristic of this approach can be easily verified; during

Fig. 12 Null-space-based control: top Path followed for reachinga goal in presence of obstacle; middle odometric measure of lin-ear velocity of the robot; bottom odometric measure of angularvelocity of the robot

the obstacle avoidance, in fact, the vehicle keeps thesafe distance from the obstacle exactly, thus fulfillingthe higher priority task, and uses its null space in orderto try to fulfill the lower priority. The overall motion is aclean sliding of the vehicle around the safe circle. Mid-dle and bottom plots show the corresponding measuredvalues of the linear and angular velocities are shown.

5.2 Unicycle-like mobile robot: kick-to-goal

In this section, the mission of a soccer-playing mobilerobot kicking a ball in a goal will be considered. Thesupervisor (see Fig. 4), has been implemented resortingto a finite-state system. Notice that the specific techniqueused in order to implement the supervisor is a designer’schoice and will not modify the NSB architecture; in [4],for example, the supervisor has been designed resorting

Page 10: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

to a fuzzy-based approach. For this specific mission thefollowing states have been considered:

� prepare kick;� execute kick;� wait;� hold rest position.

The actions are defined using simple rules based oninformation about sensors, state and switching condi-tions. In particular:

– if the robot is in the prepare-kick state, it moves toa target position at a proper distance from the ballalong the ball-goal direction. While performing thisaction, the robot has to avoid eventual obstacles (i.e.other robots or the ball) present in the environment.When the robot reaches the target position, the stateswitches to the execute-kick one;

– if the robot is in the execute-kick state, the robotmoves at high velocity toward the ball, aligning itselfwith the ball-goal direction; the consequent impact,thus, represents the kick. Then, the state switches tothe wait state;

– if the robot is in the wait state, the robot reducesits velocity and waits to verify that the ball is mov-ing correctly to the goal or that, due to an impre-cise impact or other disturbances, a second kick isrequired;

– the robot is in the hold-rest-position state if it recog-nizes to have correctly put the ball in the goal; it thiscase it moves to the designed rest position.

For each state, the supervisor properly selects the ele-mentary tasks that are to be fulfilled and assigns their rel-ative priority. Three tasks (that will be described later)have been coded, namely

a) obstacle-avoidance;b) move-to-goal;c) execute-kick;

and the supervisor of the NSB architecture performs thetask composition as follows:

State Primary Secondaryprepare kick a bexecute kick c –wait a bhold rest position a b

Please notice that different states activate the sametasks but these can be implemented with different gains;

Fig. 13 Robot Khepera II of the K-Team with the rubber ballused in the experiment

for instance, in the hold-rest-position state, that is lesscritical than the prepare-kick state, lower positional gainsmight be implemented to lower the energy consumption.

The tasks functions and the corresponding Jacobiansare:

a) obstacle-avoidance. See Sect. 5.1.a).b) move-to-goal. See Sect. 5.1.b).c) execute-kick. In order to kick the ball, the vehicle

needs to impact with it in the ball-goal direction withhigh velocity. Since this task needs two degrees offreedom, its null space is the null set; this excludesthe possibility to fulfill a secondary task function,whose definition can be thus avoided. Denoting asr̂g the unit vector aligned with the ball-to-kick direc-tion and with ∆θ the relative angle between r̂g andthe vehicle-to-kick direction, it is possible to define

vc = λc,1dg sign (∆θ) r̂⊥g + λc,2e−∆θ2

α r̂g ,

where λc,1, λc,2 and α are control gains and dg is thedistance of the vehicle from the line connecting theball and the goal.

In these experiments the mobile robot communicateswith an host computer via a radio link at 9600 bps. Incase of perfect transmission the packets required for thecontrol can be transmitted in ≈ 70 ms. Since the radio-modem is equipped with a correction/acknowledge algo-rithm, when a packet is lost it can be retransmitted upto 10 times, thus resulting in a longer transmission time.In our experiments the 95 % of the packets reached thevehicle in ≈ 70 ms but the remaining 5 % in a largertime, thus resulting in a small phenomenon of randomsampling.

The vehicle and the ball positions are measured byresorting to a vision-based system working at a sampling

Page 11: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

Fig. 14 Paths of different experiments as measured by the visionsystem: the ball is sketched in the initial and final position, thevehicle path is shown in solid line and the ball path in dashed line

time of 60 ms whose details are not given here for seekof brevity, in Fig. 13 it is possible to notice the markerused for feature extraction. The measurement error hasan upper bound of ≈0.5 cm and ≈1◦.

According to the above considerations, the samplingtime of the host PC is selected as 100 ms. A saturation of23 cm/s and 100 deg/s has been introduced for the linearand angular velocities, respectively.

The desired goal position is[120 40

]T cm. Also inthis experiment, the safe distance to the obstacle forthe Task a has been set to d = 8 cm, while the distanceat which the obstacle can be recognized has been setto 10 cm to simulate the limited range of onboard sen-sors.

The gains have been selected as

λa = 1

Λb = I

λc,1 = 3

λc,2 = 30

α = 0.8 .

Several experiments have been run, in which the vehi-cle starts in the prepare-kick state. When the vehicle is inposition to kick, the state becomes the execute-kick one.The supervisor is in charge of eventually switching backto the prepare-kick state if the kick is not strong enoughto reach the goal. When the ball is in the goal or outsidethe field, the vehicle goes to the rest position [80 30]T cm.

In Fig. 14 the paths of different experiments areshown; the ball is sketched in the initial and final posi-tion, the vehicle path is shown in solid line and the ballpath in dashed line. The paths are as they have beenmeasured by the vision system. The robot case is notflat and the ball direction after the impact is stronglyinfluenced by the exact angle of impact with the robot.The ball’s surface, moreover, is also not flat and in some

Fig. 15 Active tasks duringthe multiple steps of a“kicking a ball in goal”experiment. The vehicleneeds two kicks to realize thegoal

Page 12: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

experiments very unpredictable changes of direction areexperienced.

In Fig. 15, nine snapshots of one single run arereported. The supervisor dynamically selects the active

Fig. 16 Paths of different executions of the same experiment

0 5 10 15

0

5

10

15

20

[cm

/s]

0 5 10 15

−100

−50

0

50

100

[deg

/s]

[s]

[s]

Fig. 17 Linear and angular reference velocities for a one-kickexperiments. The kick can be observed at t ≈ 6 s

state and the corresponding tasks with their relative pri-ority. It is worth noticing that the vehicle has 2 DOF; itis thus useless in our approach to arrange several taskssimultaneously, as instead is done, e.g., in a cooperativebehavioral approach.

In Fig. 16, the repeatability of the experiment is ana-lyzed. As it can be observed, there is a polarization ofthe kicks due to the low level dynamic controller error.

In Fig. 17, the commanded linear and angular veloci-ties to the low level controller are reported. It can beshown that, despite the noise present in the overallsystem, the NSB behavioral controller outputs smoothenough reference values.

Finally, it must be noticed that the mission is fulfilledmost of the times. Few failures have been experiencedalways due to major hardware breakdown of the powersystem or of the communication channel.

6 Conclusions

Behavior-based algorithms are the most commonapproaches for autonomous robot control. In this papera new algorithm to coordinate the behaviors, namedNSB control, is proposed. The NSB, characterized by astrong geometrical interpretation, uses a priority basedlogic to combine multiple tasks. The proposed approachis presented and compared with the competitive andcooperative methods and it is verified in experimentalcase studies involving a single mobile robot. Moreover, adiscussion of the number of tasks simultaneously activeand a kinematic interpretation of the methods are alsogiven.

References

1. http://www.k-team.com/. K-Team2. Antonelli G, Arrichiello F, Chiaverini S (2005) Experimental

kinematic comparison of behavioral approaches for mobilerobots. In: Proceedings 16th IFAC world congress, Prague

3. Antonelli G, Arrichiello F, Chiaverini S (2005) The null-space-based behavioral control for soccer-playing mobile robots. In:Proceedings 2005 IEEE/ASME international conference onadvanced intelligent mechatronics, Monterey, pp 1257–1262

4. Antonelli G, Chiaverini S (2003) Fuzzy redundancy resolutionand motion coordination for underwater vehicle-manipulatorsystems. IEEE Trans Fuzzy Systems 11(1):109–120

5. Antonelli G, Chiaverini S (2003) Kinematic control of a pla-toon of autonomous vehicles. In: Proceedings 2003 IEEEinternational conference on robotics and automation, Taipeipp 1464–1469

6. Antonelli G, Chiaverini S (2004) Fault tolerant kinematic con-trol of platoons of autonomous vehicles. In: Proceedings 2004IEEE international conference on robotics and automation,New Orleans, pp 3313–3318

Page 13: The null-space-based behavioral control for autonomous ...webuser.unicas.it/arrichiello/papers/AntArrChi_ISR2008.pdf · Keywords Behavioral control · Behavioral coordination ·Autonomous

Intel Serv Robotics

7. Arkin RC (1989) Motor schema based mobile robot naviga-tion. Int J Robot Res 8(4):92–112

8. Arkin RC (1998) Behavior-based robotics. The MIT Press,Cambridge

9. Balch T, Arkin RC (1998) Behavior-based formation con-trol for multirobot teams. IEEE Trans Robot Automation14(6):926–939

10. Bishop BE (2003) On the use of redundant manipulator tech-niques for control of platoons of cooperating robotic vehicles.IEEE Trans Systems Man Cybern 33(5):608–615

11. Bishop BE, Stilwell DJ (2001) On the application of redun-dant manipulator techniques to the control of platoonsof autonomous vehicles. In: Proceedings 2001 IEEE inter-national conference on control applications, México City,pp 823–828

12. Borenstein J, Koren Y (1989) Real-time obstacle avoidancefor fast mobile robots. IEEE Trans Systems Man Cybern19:1179–1187

13. Brooks RA (1986) A robust layered control system for amobile robot. IEEE J Robot Automation 2:14–23

14. Chiacchio P, Chiaverini S, Sciavicco L, Siciliano B (1991)Closed-loop inverse kinematics schemes for constrainedredundant manipulators with task space augmentation andtask priority strategy. Int J Robot Res 10(4):410–425

15. Chiaverini S (1997) Singularity-robust task-priority redun-dancy resolution for real-time kinematic control of robotmanipulators. IEEE Trans Robot Automation 13(3):398–410

16. De Luca A, Oriolo G, Vendittelli M (2000). Stabilization ofthe unicycle via dynamic feedback linearization. In: 6th IFACsymposium on robot control, Wien, pp 397–402

17. Gat E, Desai R, Ivlev R, Loch J, Miller DP (1994) Behaviorcontrol for robotic exploration of planetary surfaces. IEEETrans Robot Automation 10(4):490–503

18. Langer D, Rosenblatt JK, Hebert M (1994) A behavior-basedsystem for off-road navigation. IEEE Trans Robot Automa-tion 10(6):776–783

19. Maciejewski AA (1988) Numerical filtering for the operationof robotic manipulators through kinematically singular con-figurations. J Robot Systems 5(6):527–552

20. Mali AD (2002) On the behavior-based architectures ofautonomous agency. IEEE Trans Systems Man Cybern32(3):231–242

21. Mataric MJ (1997) Behavior-based control: Examples fromnavigation, learning, and group behavior. J Exp Theor Artifi-cial Intell 9(2–3):323–336

22. Myung-Jin J, Arai F, Hasegawa Y, Fukuda T (2003) Mood andtask coordination of home robots. In: Proceedings 2003 IEEEinternational conference on robotics and automation, Taipei,pp 250–255

23. Nakamura Y, Hanafusa H, Yoshikawa T (1987) Task-prioritybased redundancy control of robot manipulators. Int J RobotRes 6(2):3–15

24. Park J, Choi Y, Chung WK, Youm Y (2001) Multiple taskskinematics using weighted pseudo-inverse for kinematicallyredundant manipulators. In: Proceedings 2001 IEEE inter-national conference on robotics and automation, Seoul,pp 4041–4047

25. Parker LE (1996) On the design of behavior-based multi-robot teams. Adva Robot 10(6):547–578

26. Pirjanian P (2000) Multiple objective behavior-based control.Robot Auto Systems 31(1–2):53–60

27. Rybski PE, Papanikolopoulos NP, Stoter SA, Krantz DG,Yein KB, Gini M, Voyles R, Hougen DF, Nelson B,Ericksn MD (2000) Enlisting rangers and scouts for reconnais-sance and surveillance. IEEE Robot Auto Magaz 7(4):14–24

28. Saffiotti A, Wasik Z (2003) A hierarchical behavior-basedapproach to manipulation tasks. In: Proceedings of 2003 IEEEinternational conference on robotics and automation, Taipei,pp 2780–2785

29. Scheutz M, Andronache V (2004) Architectural mecha-nisms for dynamic changes of behavior selection strategiesin behavior-based systems. IEEE Trans Systems Man Cybern34(6):2377–2395

30. Siciliano B (1990) Kinematic control of redundant robotmanipulators: a tutorial. J Intell Robot Systems 3:201–212

31. Yang Y, Brock O, Grupen RA (2003) Exploiting redundancyto implement multi-objective behavior. In: Proceedings 2003IEEE international conference on robotics and automation,Taipei, pp 3385–3390