Home    About me    Publications    Blog    Undergrad memories

Fabio Ruini’s blog

Because Italians do it better! What the f**k? Ehm… the blogs, I mean… obviously! :-/

Archivio per maggio, 2010

An Incremental Approach to the Evolutionary Design of Autonomous Controllers for Micro-unmanned Aerial Vehicles

Ancora una volta ce l’abbiamo fatta. Questa volta con quasi quattro orette di ritardo rispetto alla deadline ufficiale (ma ne scontiamo una per via del fuso orario europeo), ma il paper per TAROS 2010 e’ stato ufficialmente sottomesso. In questo momento sono troppo fuso per riuscire a scrivere qualcosa di pur vagamente sensato. Quindi mi limito a copia/incollare l’abstract dell’articolo e mettervi a disposizione il link da dove potete scaricarlo nel caso in cui vogliate darci un’occhiata. Non garantisco sulle parti che ho scritto nelle ultime ore.

The work presented herein aims to provide a quantitative measure of the impact deriving from the adoption of an incremental approach to evolution within the context of Evolutionary Robotics. Notwithstanding the large amount of published researches relying on incremental evolution, little quantitative analysis have been performed so far to provide the answer to a basic question: is incremental evolution beneficial for evolutionary approaches to autonomous robotics? The application we use as testbed is a computer-based model of MAV (Micro-unmanned Aerial Vehicles) autonomous navigation. Either single individuals embedding a neural network controller or teams made of several MAVs are subjected to different tasks across a simulated three-dimensional world. These tasks are: (1) navigation to a target area, (2) tracking of a moving target, and (3) execution of a behaviour requiring spatial and temporal coordination among members of the same team. The results obtained are compared with those generated via direct evolution. There are no evidences of systematic advantages deriving from the adoption of an incremental evolution approach.

Discussions on incremental evolution

Terzo weekend in quel di Losanna e terzo weekend che devo passare di fronte al computer per via di una qualche deadline. Non e’ esattamente un grande inizio. Questa e’ la volta del paper da sottomettere entro domani sera per TAROS 2010 (che, lo so, se non fosse stato per l’estensione della deadline avrei dovuto averlo gia’ finito un mese fa, ma tant’e'). Al momento sto aspettando i risultati delle ultimissime simulazioni in esecuzione sui server di Plymouth (che avevo trovato un po’ trafficati e la cosa ha quindi richiesto piu’ tempo del previsto), ma il paper e’ ormai pronto. Ieri e oggi li ho passati a mettere a posto la parte introduttiva e di literature review, attingendo da una marea di papers. Il risultato, una volta tanto, mi sembra molto soddisfacente. Al punto che lo condivido qui con voi, nel caso in cui abbiate commenti da fare o suggerimenti da consigliarmi (pregasi considerare che manca ancora una revisione linguistica e che, quello che trovate qui sotto, e’ tutto scritto a sentimento).

human-evolution

Introduction

Focusing on the domain of evolutionary computation, for ‘incremental evolution’ – as concisely stated by Barlow [1] – we refer to “the process of evolving a population on a simple problem and then using the resulting evolved population as a seed to evolve a solution to a related problem of greater complexity”.

The inspiration for this approach clearly comes from biological evolution. Animal species (and this is particularly true for humans) have acquired over the time the ability to perform extremely complex tasks. These abilities have not appeared from the middle of nowhere at a certain stage during the evolution, rather they have been progressively built up on top of simpler behaviours. If it is true that these simple behaviours have been sometimes quite evident in their manifestations (e.g., in order to learn how to run, the humans have gone through a complex series of sequential steps involving standing on their legs, walking, etc.) this is not always the case. Sometimes, in fact, these underlying capabilities needed as prerequisites for the development of more complex behaviours remained ‘silent’ over the time, i.e. not expressed in form of explicit behaviours before abruptly appearing. This is what has been demonstrated by Gould introducing the concept of ‘punctuated equilibrium’ [2], a phenomena that later on has been easily identified among many others areas outside the biological evolution domain, such as the introduction of government policies [3], the diffusion of technological innovations [4], etc. Both continuous/progressive evolution and punctuated equilibrium dynamics (see for example the classic work by Lindgren [5] can be seen as result of computer-simulated evolutionary processes.

In the work presented herein we propose the application of an incremental approach to evolution for an Evolutionary Robotics [6] model, aimed to the development of autonomous controllers for MAVs (Micro-unmanned Aerial Vehicles). Incremental evolution can be seen as a way to force the evolutionary algorithm used to generate a continuous evolutionary dynamics, thus better directing the evolution toward the desired goal, At the same time it allows avoiding the long periods of stasis typical of punctuated equilibrium-like dynamics that might make complicated evaluating the intermediate solutions emerged for a complex problem.

The remainder of this paper is structured as follows. In the opening section we provide a brief introduction about the usage of incremental approaches within the robotics and, more specifically, Evolutionary Robotics (ER) fields. Section II describes the functioning of the ER model employed as basis for the work presented herein and show the results obtained by non-incremental evolutionary runs of the corresponding computer simulator. Section III illustrates the characteristics of the incremental approach adopted and illustrates the results it has generated, performing a comparison with those obtained through direct evolution. The results are then discussed in details in Section IV, and the following conclusions are drawn in Section V.

Incremental evolution in autonomous robotics

The idea of using an incremental approach to evolution is very well known in the autonomous robotics and evolutionary computation fields. Gomez and Miikkulainen [7] describe the advantages of incremental evolution already back in 1997, mentioning among others the possibility offered by this approach for evolving behaviours otherwise not obtainable, as well as the better generalisation capabilities exhibited by controllers designed following this paradigm. But the origin of incremental evolution can be dated back even further. Rodney Brooks, for example, taking inspiration from his previous work on behavior-based robotics, was among the firsts to propose an incremental approach to be used within the genetic programming domain in 1992 [8]. This should not be surprising taking into account the fact that Brook’s subsumption architecture itself [9] could be easily seen as a way to mimic incremental evolution, building increasingly complex behavioural modules on top of simpler ones. A tribute must then be payed to Inman Harvey’s and his research group in Sussex for their studies on the SAGA (Species Adaptation GAs) framework [10]. Thanks to its work, Harvey’s group – that could be considered the ‘father’ of the incremental approach to evolution in autonomous robotics – has provided a coherent theoretical framework for incremental evolution. Framework that has been used by a significant number of researchers all over the world as basis for their works.

During more recent times, Mouret and Doncieux [11] have attempted to make order into the field, providing a classification of the possible approaches to incremental evolution in autonomous robotics in four categories: (1) ‘staged evolution’, (2) ‘environmental complexification’, (3) ‘behavioural decomposition’, and (4) ‘fitness shaping’. Staged evolution employs multiple fitness functions that correspond to multiple sub-tasks of increasingly difficulty: the population is initially evolved to perform the simplest task, then the fitness function is modified leading to the solution of the second task, and so on. Environmental complexification is similar to staged evolution, but the complexity of the task can be modified continuously operating on certain parameters. Behavioural decomposition (also called modular evolution) relies on the decomposition of a neural controller into separate task-based sub-controllers, each of these is evolved independently from the others. An evolutionary algorithm then combine all of these modules into a master neurocontroller. Finally, fitness shaping uses a weighted sum of multiple evaluation criteria in order to create a fitness gradient that evolution tries to follow.

As from the above classification, incremental evolution does not necessarily involve a progressive complexification of the controller architecture, although this is frequently the case especially when neural network are employed. Usages of this approach are abundant in literature. A good example consists in Stanley and Miikkulainen’s work [12], where they present the NEAT (NeuroEvolution of Augmenting Topologies) method, a framework for evolving neural network topologies along with synaptic weights. The results they have obtained applying NEAT on a reinforcement learning task used as benchmark demonstrate how this approach can outperform those based on fixed neural networks topologies. In Stanley’s case, the topology of the network changes over time following evolutionary dynamics. But it is also common the case in which is the experimenter who decides the topology the ‘global’ controller must have, manually joining various sub-modules dedicated to different functions. Togelius [13] (also reviewed in [14]) provides a further classification based on the possible ways in which different neural modules could be incrementally attached to an existing controller. He defines ‘incremental evolution’ as the evolution of a one layer network using multiple fitness functions, ‘modularised evolution’ as the evolution of multiple layers or multiple networks with a single fitness function, and ‘layered evolution’ as the evolution of a multi-layered network using multiple fitness functions, specific for each layer. On this basis, Tomko and Harvey [14] have pointed out that it is also of fundamental importance to consider how new units/modules are connected to the main controller during incremental evolution. Their findings highlight the detrimental effect generated by the use of random large connection weights, rather suggesting the linkage of additional neural modules using connection weights with zero values.

As reviewed by recent researches carried out by Petrovic [15][16], many works that can be found within the abundant Evolutionary Robotics literature have employed, to different extents, an incremental approach to evolution. The topics are as differentiate as possible: from the control of unmanned aerial vehicles [1] to 6-legged robots [17], passing through artificial vision systems [18] and autonomous learning [19]. Though, most of the published works simply justify the reason for using an evolutionary approach as consequence of non-better specified ‘issues’ in evolving the desired behaviour through direct evolution. Rarely a quantitative analysis of the advantages coming from the adoption of an incremental approach is provided. One of the few exceptions to this trend consists in the work carried out by Walker [20], who performs an accurate comparison between the performances generated by a direct and an incremental methods for a multi-variable symbolic regression problem. Walker interestingly takes into account the full ‘computational costs’ of both approaches, intended as the number of evaluations of the fitness formula required by the two alternatives. The results he collected demonstrate that no significant advantages in terms of full computational costs are guaranteed by the adoption of an incremental approach. Another recent interesting study, leading to similar evidences, is the one carried out by Christensen and Dorigo [21] comparing the performances generated by two popular approaches to incremental evolution (behavioral decomposiition and environmental complexity increase) against the results obtained through several non-incremental evolutionary algorithms. According to their results none of the incremental evolutionary strategies performs any better than the non-incremental approach. This stream of criticisms seems to have had an effect also on a fierce supporter of the incremental approach as Harvey, that in his already mentioned work states how – according to the analysis carried out – incremental evolution seems to outperform direct evolution only under specific conditions.

In conclusion literature presents results supporting both the arguments, with a recent increase in the number of works that look at the phenomena with a skeptical eye. Anyway, the impression is that it is still extremely difficult to provide a definitive answer to the dilemma whether incremental evolution is ‘better’ or not than direct evolution. The study presented herein aims to give an additional contribute to the topic, with the awareness of not being able to provide any conclusive answer.

References

[1] G. Barlow, C. Oh, and E. Grant, “Incremental evolution of autonomous controllers for unmanned aerial vehicles using multi-objective genetic programming,” Proceedings of the 2004 IEEE Conference on Cyber- netics and Intelligent Systems, 2004.
[2] S. Gould, The Structure of Evolutionary Theory. Belknap Press of Harvard University Press, 2002.
[3] F. Baumgartner and B. Jones, Agendas and Instability in American Politics. The University of Chicago Press, 1993.
[4] C. Loch and B. Huberman, “A punctuated-equilibrium model of technology diffusion,” Management Science, vol. 45, no. 2, pp. 160– 177, 1999.
[5] K. Lindgren, “Evolutionary phenomena in simple dynamics,” Artificial Life II, pp. 295–312, 1991.
[6] S. Nolfi and D. Floreano, Evolutionary Robotics. The Biology, Intel- ligence, and Technology of Self-Organizing Machines. Cambridge, MA: MIT Press, 2000.
[7] F. Gomez and R. Miikkulainen, “Incremental evolution of complex general behavior,” Adaptive Behavior, no. 5, pp. 317–342, 1997.
[8] R. Brooks, “Artificial life and real robots,” Toward a Practice of Autonomous Systems: Proceedings of the First European Conference on Artificial Life, pp. 3–10, 1992.
[9] R. Brooks, “A robust layered control system for a mobile robot,” IEEE Journal of Robotics and Automation, vol. 2, no. 1, pp. 14–23, 1986.
[10] I. Harvey, “Artificial evolution: A continuing saga,” Evolutionary Robotics. From Intelligent Robotics to Artificial Life, vol. 2217, pp. 94–109, 2001.
[11] J.-B. Mouret, S. Doncieux, and J.-A. Meyer, “Incremental evolution of target-following neuro-controllers for flapping-wing animats,” From Animals to Animats 9. Proceedings of SAB 2006, the 9th International Conference on Simulation of Adaptive Behavior, pp. 606–618, 2006.
[12] K. Stanley and R. Miikkulainen, “Evolving neural networks through augmenting topologies,” Evolutionary Computation, vol. 10, no. 2, pp. 99–127, 2002.
[13] J.Togelius,“Evolution of a subsumption architecture neurocontroller,” Journal of Intelligent and Fuzzy Systems, vol. 15, no. 1, pp. 15–20, 2004.
[14] N. Tomko and I.Harvey, “Do not disturb: Recommendations for incremental evolution,” Proceedings of ALIFE XII, the 12th International Conference on the Synthesis and Simulation of Living Systems, 2010.
[15] P. Petrovic, “Overview of incremental approaches to evolutionary robotics,” Proceedings of the 1999 Norwegian Conference on Com- puter Science, pp. 151–162, 1999.
[16] P. Petrovic, “A step towards incremental on-board evolutionary robotics,” Proceedings of SCAI’01, the Seventh Scandinavian Conference on Artificial Intelligence, pp. 3–12, 2001.
[17] D. Filliat, J. Kodjabachian, and J.-A. Meyer, “Incremental evolution of neural controllers for navigation in a 6-legged robot,” Proceedings of the Fourth International Symposium on Artificial Life and Robotics, 1999.
[18] I. Harvey, P. Husbands, and D. Cliff, “Seeing the light: Artificial evolution, real vision,” From Animals to Animats 3, Proceedings of SAB 1994, the 3rd International Conference on Simulation of Adaptive Behaviour, pp. 392–401, 1994.
[19] E. Tuci, M. Quinn, and I. Harvey, “An evolutionary ecological approach to the study of learning behavior using a robot-based model,” Adaptive Behavior, vol. 10, no. 3-4, pp. 201–221, 2002.
[20] M. Walker, “Comparing the performance of incremental evolution to direct evolution,” Proceedings of the 2nd International Conference on Autonomous Robots and Agents, pp. 119–124, 2004.
[21] A. Christensen and M. Dorigo, “Incremental evolution of robot controllers for a highly integrated task,” From Animals to Animats 9, pp. 473–484, 2006.

Mario AI Competition

Mentre raccoglievo materiale per il paper che sto scrivendo riguardo all’applicazione di un approccio evolutivo incrementale al mio simulatore di MAVs, mi sono imbattuto nella pagina di tale Julien Togelius, della University of Copenhagen, interessato ad un suo articolo pubblicato nel 2004. Bazzicando all’interno della sua home page mi sono trovato un link interessante. Un collegamento che porta alla pagina dedicata alla Mario AI Competition 2009, una competizione patrocinata da IEEE Consumer Electronics Society Games Innovation Conference 2009 ed IEEE Symposium on Computational Intelligence and Games che si e’ tenuta in due tranche tra agosto e settembre dello scorso anno. Scopo della contesa, molto semplicemente, quello di sviluppare un controller intelligente per Infinite Mario Bros, un clone open source dello storico platform di casa Nintendo.

Infinite Mario Bros

La competizione ha riscosso un discreto successo (e, se l’avessi saputo per tempo, ci avrei partecipato di corsa pure io!), con personaggi che hanno proposto soluzioni anche molto complesse (vedi ad esempio il controller proposto da Robin Baumgarten, una dimostrazione di come sia possibile rendere incredibilmente complicato un task relativamente semplice). Un report dei contributi sottomessi lo si puo’ trovare qui e qui. Ovviamente, anche i sorgenti di tutti i controller (rigorosamente sviluppati in Java) sono liberamente scaricabili. La Mario AI Competition e’ stata riproposta anche per il 2010, ma ancora una volta sono arrivato lungo in quanto a tempistiche. Chissa’, magari il prossimo anno ce la faro’.

Purtroppo, non essendo pratico di applet Java per il web, non sono riuscito a trovare il modo di embeddare il gioco di cui si parla all’interno di questo post. Nel caso voleste farci una partitina, comunque, tutto cio’ che e’ necessario fare e’ puntare il vostro browser al link: http://www.mojang.com/notch/mario/index.html.

Primi pezzi di un controller autonomo

Giornata piuttosto incoraggiante quella di oggi. Durante una sessione di pranzo/brainstorming con i colleghi del laboratorio abbiamo messo a punto gli ultimi dettagli ed abbozzato un piano di lavoro per il periodo che trascorrero’ qui all’EPFL. Come gia’ accennato post addietro, l’obiettivo della mia visita e’ quello di sviluppare un algoritmo di flocking e poi testarlo in reale utilizzando un certo numero di MAVs (probabilmente fino a 10, quindi un numero piuttosto significativo). Una cosa che, stando alla letteratura, ancora non e’ stata fatta con successo al di fuori delle simulazioni. Il software che utilizzavo a Plymouth sta venendo man mano riadattato al nuovo compito ed il processo sta andando piu’ velocemente di quanto avessi previsto (forse forse inizio a capire come funziona Irrlicht?). Al punto che oggi pomeriggio ho provveduto a scrivere un primo pezzo del controller di flocking. Si tratta di una funzione preliminare, ovviamente, che si occupa di mantenere il MAV entro i confini di un certo ambiente di riferimento. Poche righe di codice, ma che al momento sembrano funzionare (anche se andranno poi rifinite adattandole alle caratteristiche fisiche del robot usato). Qui sotto e’ comunque possibile vedere il risultato. 5 MAVs che viaggiano in maniera indipendente e che non escono (quasi mai) dai confini dell’ambiente.

Flight paths followed by 5 MAVs attempting to stay at the centre of a given environment

Lunedi’ si faranno le prime prove di volo con un aeroplanino utilizzante un mio controller. Nel frattempo mi installo Parallels ed una qualche distribuzione Linux per poter poi andare di cross-compiling sul software da trasferire sul robot. Si preannuncia qualcosa di interessante. Cosi’ come si preannuncia interessante il fatto che dovro’ richiedere il permesso di soggiorno per starmene qui. Cosa alla quale non avevo pensato, ma che in effettivamente ha senso considerato che non sono in un Paese parte dell’Unione Europea. Non so se tecnicamente posso essere considerato un clandestino sino a quando non mi sistemero’ da un punto di vista burocratico. Nel caso sarebbe un’altra esperienza da mettere a CV.

Poker Tracker for Mac

A distanza di tempo si torna a parlare di poker su queste pagine. Purtroppo non si tratta di poker giocato (il mio ultimo live risale al 19 aprile scorso, con la vittoria al £15+4 deep stack del Grosvenor di Plymouth; al momento mi sto limitando, di tanto in tanto, a qualche sessione on line di heads-up prevalentemente su Gioco Digitale, che ho trovato terreno relativamente agevole), ma quasi. Ho infatti scoperto, assolutamente per caso, che gia’ da un botto di tempo (fine 2007, addirittura!) e’ disponibile una versione beta di Poker Tracker che gira in maniera nativa su Mac.

Poker Tracker 3 (splash screen)

Nonostante il programma in questione sia stato soppiantato dal piu’ recente Hold’em Manager, che moltissimi grinder sembrano preferire, si tratta comunque di un gran bel pezzo di software. Avendo poi il sottoscritto una licenza e, soprattutto, un database di circa 170,000 mani, era mio preciso dovere quello di installarlo. I risultati sono stati un po’ deludenti. Ci sono molti bug (in merito ai quali gli utenti/amministratori del forum ufficiale rispondono pero’ in maniera veloce ed efficiente), l’importazione dei file di history generati dalle poker room .it (per via dell’utilizzo del simbolo dell’€) non funziona bene ed il tutto non e’ propriamente velocissimo. Pero’ funziona. Con tanto di HUD che, questo si’, almeno su Full Tilt sembra girare piuttosto bene (su Stars non l’ho provato, mentre mi dicono non funzioni su Gioco Digitale per via di un presunto bug nel software delle room del network OnGame). Cosi’ come il replayer, che e’ veloce e non mi ha ancora dato il benche’ minimo problema.

Poker - Texas Hold'Em on Full Tilt Poker - Royal flush replayed through Poker Tracker (beta) for Mac

Se siete utenti Mac alla ricerca di un software nativo, meno limitato rispetto a Poker Copilot, Poker Tracker e’ quello che fa per voi.

Microsoft Robotics Developer Studio 2008 R3

Da un post apparso sul Microsoft Robotics Studio Blog, apprendo che e’ stata rilasciata la versione 2008 R3 dell’apprezzato tool di sviluppo per robotica Microsoft Robotics Developer Studio.

Microsoft Robotics Developer Studio (logo)

Non tantissime, almeno ad una prima occhiata, le differenze rispetto alla release R2. Il blog menziona infatti le seguenti migliorie:

And today, we’re even more excited to announce the availability of the Microsoft Robotics Developer Studio 2008 R3 (Microsoft RDS). What’s new?

Microsoft RDS is now offered free of charge as a download at http://www.microsoft.com/robotics/.
Microsoft RDS is now available as a single edition — containing all of the functionality of the previous Standard Edition at no cost.
New features in Microsoft RDS 2008 R3 include added support for Visual Studio 2010 and two additional simulation environments (Multi-level House and Factory).
Additional samples have been made available on CodePlex, including Sumo and Soccer simulations. By making source code available on CodePlex, the community can modify and extend the Microsoft RDS platform.

Other new updates/changes include:

The CCR & DSS Toolkit has been merged into RDS 2008 R3
CCR & DSS will remain a core component of RDS
CCR & DSS can be obtained by installing the full RDS package
R3 is no longer compatible with Compact Framework (CF) development
Samples for languages other than C# have been moved to CodePlex.

Mi lascia un po’ perplesso il fatto che si menzioni che ora il tutto sia free of charge. Da quanto ne so io (che me l’ero scaricato e provato un po’) lo era anche prima. Boh. Di certo c’e’ l’introduzione del supporto a Visual Studio 2010 e a due ambienti di simulazione aggiuntivi. La nuova versione del Microsoft Robotics Developer Studio e’ scaricabile a partire da questo link.

Una volta ogni 45 anni

Essendo che accade una volta ogni 45 anni, direi che posso permettermi di sprecare il post odierno incensando l’Inter, neo-campione d’Europa dopo aver liquidato il Bayern con un 2 a 0 secco ed una superiorita’ che, malgrado non concretizzatasi in un numero straordinario di palle gol, e’ stata piuttosto evidente durante l’intero corso della partita. Tedeschi lasciati manovrare in maniera sterile, senza concedere loro il benche’ minimo varco, e giocatori pronti a ripartire in velocita’ alla prima occasione utile.

Menzione d’onore, ovviamente, va al signor Diego Milito. In questo momento, senza timore di smentite, l’attaccante piu’ forte al mondo. Veloce, tecnico, cinico, pratico, concreto, dotato di una straordinaria visione di gioco e votato al sacrificio. Semplicemente perfetto. Per lui una stagione da incorniciare, che sarebbe stata lo stesso anche senza la doppietta in finale. Ma, certamente, questa e’ stata la ciliegina sulla torta. Milito signore anche fuori dal campo. Ho ancora ben impressa in mente l’intervista che gli fecero, a caldo, subito dopo la finale di Coppa Italia giocata contro la Roma. Durante la quale venne sistematicamente legnato nelle maniere piu’ becere per 90 minuti piu’ recupero. Al fischio finale, ai microfoni, nemmeno un accenno a questo fatto. Al contrario, soddisfazione e congratulazioni agli avversari capaci di mettere l’Inter in difficolta’. Chapeau.

Diego Milito

ll secondo gol segnato dall’argentino e’ il miglior spot possibile per le caratteristiche del giocatore. Parte dalla trequarti su servizio di Eto’o. Si accentra in velocita’, palla al piede, ma con la testa alta a cercare i movimenti del camerunense, che pero’ non sembra voler tentare di liberarsi dai centrali del Bayern e va invece a cercare posizione a centro area, pensando probabilmente che il compagno di reparto avrebbe cercato la conclusione da fuori. Milito si trova cosi’ a dover cercare il dribbling sui difensori in chiusura. Nessun doppio passo o cagate varie. Semplice finta di corpo, piu’ che sufficiente per mandare a spasso il povero Van Buyten, liberarsi il destro e, in una frazione di secondo, infilare con precisione chirurgica l’angolino dove Butt non puo’ proprio arrivare (se poi continua tutte le volte a fare uscite in stile calcio a 5, le cose per un attaccante sono ancora piu’ facili…).

Ne approfitto per una piccola rivincita personale. Quando Ibra era andato via dall’Inter ed al suo posto era stato preso Eto’o, io ero uno dei pochissimi a sostenere che Moratti avesse fatto un affarone. Mi sembra che i risultati di quest’anno ne siano la conferma. Via una prima donna, bella da vedere ma assolutamente sterile ed impalpabile in tutte le occasioni importanti, dentro tre (comunque fenomeni, ma forse meno dotati dello svedese da un punto di vista tecnico) gregari pronti a correre come disgraziati, pressare costantemente i difensori avversari impedendo loro di costruire gioco, e capaci di buttarla dentro quando serve. Sono questi i giocatori che, da sempre, nel calcio fanno vincere una squadra. Salvo rare eccezioni quali poteva essere, giusto per rimanere in tempi recenti, il Ronaldo dell’era Simoni, capace veramente di vincere una partita da solo. Ma di giocatori cosi’ se ne contano 3 o 4 nella storia del calcio ed Ibrahimovic non rientra tra questi.

Degustazioni a Perroy

In chiusura di settimana e per festeggiare l’inizio di un lungo weekend (qui, a quanto pare, anche il prossimo lunedi’ e’ di bank holiday), insieme ai ragazzi del laboratorio ci siamo trasferiti nel dopo lavoro in quel di Perroy, un paese nei dintorni di Losanna, per la visita alla Domaine Chatelanat, una cantina gestita da alcuni lontani parenti di uno dei PhD che lavorano al LIS.

Perroy e’ un villaggio piccolo ed ordinato, arrampicato sulle prime colline che circondano Losanna, assediato da vigne e per questo ricchissimo di cantine. Il logo del comune, che riporto qui sotto, credo possa dare un’idea dell’importanza del ruolo che il vino ricopre per gli indigeni.

Perroy, VD (Switzerland) - logo of the city council

Il motivo della visita, oltre ai succitati legami di parentela che menzionavo qui sopra, e’ da ricercarsi in un’iniziativa lanciata dal cantone del Vaud, che in accordo con i produttori vinicoli locali ha organizzato un weekend nel corso del quale tutte le cantine rimanessero aperte per visite, assaggi e, ovviamente, acquisti. Qui sotto, nel caso in cui aveste voglia di leggere un po’ in francese, trovate un articolo di giornale che mi hanno girato e dove si parla dell’evento.

Caves vaudoises ouvertes

Di seguito qualche foto della serata, nelle quali il sottoscritto, come sempre, non compare mai. Come suggerisce qualcuno, di tanto in tanto dovrei magari provare a cedere la macchina fotografica e farmi immortalare in un qualche luogo. Giusto per ricordare a me stesso e ai posteri, un giorno, che c’ero anch’io. Ad ogni modo, questo e’ l’ingresso della cantina.

Perroy, VD (Switzerland) - Domaine Chatelanat (cave), entrance

Qui ci sono un po’ di bottiglie esposte.

Perroy, VD (Switzerland) - Domaine Chatelanat (cave), a few exposed bottles

E questo e’ invece lo stupendo angolo cioccolato, dove ho trascorso la maggior parte del tempo accompagnato da qualche rosso aggressivo.

Perroy, VD (Switzerland) - Domaine Chatelanat (cave), chocolate testing

Poi, giusto per non dimenticarci che siamo pur sempre in Svizzera, un impresentabile elemento d’arredo presente all’ingresso della cantina.

32525_397488852938_693762938_4368265_4522983_n

Sorvoliamo, naturalmente, sul fatto che il sottoscritto, in quanto guidatore, ha dovuto essere molto moderato negli assaggi e che, in quanto non amante (eufemismo) dei formaggi, non ha neppure potuto riempirsi lo stomaco con le raclette offerte, limitandosi a spiluccare con maleducatissima voracita’ qualunque altra cosa semi-commestibile passasse dalle sue parti. In compenso mi sono comprato due bottiglie, una di GamaNoir ed un’altra di Doral (trovate i dettagli sul sito della cantina) alle quali cerchero’ di fare onore al piu’ presto.

Anybots QB

Prendendo probabilmente spunto dall’articolo comparso un paio di giorni fa tra le colonne virtuali di IEEE Spectrum, sul Corriere di oggi e’ tale Elvira Pollina a presentare agli italiani, un po’ a sorpresa, un nuovo robot prodotto dalla compagnia californiana Anybots: il QB.

Anybot QB robot

Nonostante i richiami della giornalista al mitico Emiglio, nel caso di QB si tratta, per farla molto semplice, di un parente evoluto del Rovio. Le funzionalita’ di base sono pressapoco le stesse, pero’ ottimizzate con un orientamento piu’ business e fatte entrare all’interno di uno chassis un po’ piu’ sofisticato rispetto a quello del giocatollino della WowWee. Un esempio di funzionamento di QB lo potete vedere nel video qui sotto, tratto da YouTube. Vi consiglio comunque di dare un’occhiata anche a quello presente sul sito di IEEE Spectrum, il quale, sebbene piu’ breve, rende meglio l’idea di utilizzo del robot che hanno in mente i progettatori.

Ad ogni modo, pare che alla Anybots pare facciano anche un po’ di cose piu’ interessanti. Spulciando il loro sito, molto essenziale, ho letto qualcosina riguardo ad altri due robot che meritano un’occhiata piu’ approfondita. Trattasi di Dexter e Monty.

Ah, tra le altre cose, se vi avanza un CV potete spedirlo anche a questi signori. Pare che stiano cercando personale dalle competenze varie ed assortite.

Tons of scientific books (for free) from IN-TECH

C’e’ il periodo dei matrimoni. Ed in questo ormai ci siamo in mezzo. E poi, a quanto pare, c’e’ il tempo dei book chapters. Pare ci siamo in mezzo pure a questo. Nella mia mailbox, questa mattina, e’ infatti arrivato un invito da parte della IN-TECH per scrivere un contributo per un libro di prossima uscita dal titolo, molto semplice ed esplicito, “Multi-Agent Systems”. Peccato che i lor signori, oltre ad un contributo scritto, ne volessero pure uno economico. Non una cifra importante, ma comunque sufficiente, unita agli altri impegni del periodo, per farmi desistere dall’impresa.

Ad ogni modo questa della IN-TECH, una realta’ che non conoscevo, e’ stata una scoperta interessante. La casa editrice in questione pubblica quattro journals scientifici, al secolo International Journal of Advanced Robotic Systems, International Journal of Cyber-Physical Systems, International Journal of Humanoids (in merito a questo, una singola uscita e datata 2009) e International Journal of Engineering Business Management. In aggiunta a questi si e’ prodigata nella pubblicazione anche di diversi (ben 93) libri. Tra i piu’ rilevanti in relazione ai campi di cui mi occupo segnalo Aerial Vehicles (2009), Frontiers in Evolutionary Robotics (2008), Advances in Robotics, Automation and Control (2008), Frontiers in Adaptive Control (2009), Brain, Vision and AI (2008), Advances in Evolutionary Algorithms (2008), Automation and Robotics (2008), Advances in Human Computer Interaction (2008), Cutting Edge Robotics (2005) ed Advances in Service Robotics (2008).

IN-TECH publishing (books list)

Cosa estremamente interessante e’ che la casa editrice abbraccia in pieno la filosofia Open Access (e questo spiega il perche’ chiedano agli autori un auto-finanziamento per la pubblicazione delle versioni cartacee dei libri pubblicati). Il che sta a significare che tutte le issue dei giornali sopra riportati, nonche’ tutti i libri che ho menzionato, sono liberamente scaricabili dal web in comodo formato PDF. Direi che ce n’e’ abbastanza da riempire un iPad…

Pagina successiva »