Experiments in evolutionary collective robotics
| Autor(a) principal: | |
|---|---|
| Data de Publicação: | 2011 |
| Tipo de documento: | Dissertação |
| Idioma: | eng |
| Título da fonte: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| Texto Completo: | http://hdl.handle.net/10451/8875 |
Resumo: | Tese de mestrado em Engenharia Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2011 |
| id |
RCAP_655357cb474c4e6fc84f198625f574b6 |
|---|---|
| oai_identifier_str |
oai:repositorio.ulisboa.pt:10451/8875 |
| network_acronym_str |
RCAP |
| network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| repository_id_str |
https://opendoar.ac.uk/repository/7160 |
| spelling |
Experiments in evolutionary collective roboticsRobótica evolucionáriaRedes neuronaisAlgoritmos genéticosEscolha colectivaAgregação auto organizadaGestão de energiaTeses de mestrado - 2011Tese de mestrado em Engenharia Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2011A robótica evolucionária é uma técnica que visa criar controladores e morfologias para robôs autónomos, usando técnicas de computação evolucionária, tais como os algoritmos genéticos. De forma semelhante ao principio darwiniano de reprodução do mais apto, o algoritmo genético selecciona os indivíduos mais aptos de cada geração para criar a próxima e assim sucessivamente, até um controlador adequado para a tarefa escolhida seja alcançado. O principal objectivo deste trabalho é o estudo da emergência de comportamentos colectivos em grupos de robôs autónomos, usando técnicas de evolução artificial para evoluir controladores adequados. A emergência de protocolos explícitos de comunicação nas experiências é também estudado, com o objectivo de entender a sua influência nos comportamentos que os controladores desenvolveram. A evolução artificial de controladores pode ser uma tarefa demorada, e a natureza aleatória das primeiras gerações destes pode danificar os robôs (podem surgir comportamentos que levem os robôs a embater contra paredes ou a embater uns contra os outros, etc). Para contornar estes problemas, tanto a evolução dos controladores como os seus respectivos testes foram feitos num simulador. Estes são redes neuronais recorrentes com entradas temporais, cujos pesos das ligações sinápticas, tendência e a taxa de decaimento estão codificados em cromossomas. Os cromossomas são criados usando um algoritmo genético e avaliados por uma função de avaliação desenhada especificamente para a tarefa que os controladores terão que efectuar. O simulador JBotEvolver (http://jbotevolver.sourceforge.net) foi o simulador utilizado para realizar as experiências. Este simulador, escrito na linguagem Java, é um projecto de código aberto que permite simular o comportamento de grupos de robôs num dado ambiente. Para efectuar a evolução artificial do controlador de um grupo de robôs, o simulador usa algoritmos genéticos, em conjunto com uma função de avaliação, previamente escolhida consoante a tarefa em questão. Um interface gráfico permite ao utilizador ver uma representação do ambiente, dos robôs e do seu comportamento. Todos os parâmetros da simulação podem ser alterados ao editar um ficheiro de configuração, que é único para cada experiência. Quando a simulação está a decorrer, um conjunto de ficheiros de dados e de configuração são criados, com os valores de fitness de cada geração, a melhor geração até ao momento e gerações anteriores. Desta forma é possível avaliar os resultados de uma determinada geração, fazer estudos sobre como é que a evolução decorreu, etc. O simulador pode também fazer evolução artificial de forma distribuída. O lado servidor distribui pedaços de informação para os clientes processarem e enviarem de volta. Esta característica do simulador é extremamente útil, especialmente quando são feitas simulações que exijam uma grande capacidade de processamento. Os robôs simulados no conjunto de experiências descrito nesta tese são de forma circular, com dez centímetros de diâmetro, duas rodas que se movem de forma independente, com velocidades a variar entre [-5cm/s, 5cm/s] e um conjunto de sensores que variam consoante o tipo de experiência. Um actuador de cor, que permite aos robôs variar a sua cor em todo o espectro RGB é também incluído nas experiências em que se estuda a emergência de protocolos de comunicação explícitos. Nesta tese, três temas distintos são abordados pelas experiências: agregação auto organizada, escolha colectiva e gestão de energia. No estudo da agregação auto organizada, um controlador foi criado através de evolução artificial, para fazer que um grupo de robôs que inicialmente se encontram distribuídos aleatoriamente pelo ambiente, se agreguem num único grupo e se mantenham unidos. Para evoluir este controlador foi utilizada uma população de cinco robôs com sensores que lhes permitiam detectar outros robôs próximos, no entanto para efectuar um estudo de escalabilidade, o controlador foi testado com dez, quinze e cem robôs. Para o estudo de comportamentos de escolha colectiva, foi criado um ambiente com diversas marcas luminosas. O objectivo era que os robôs encontrassem e escolhessem colectivamente uma dessas marcas formando um único grupo dentro delas. O controlador criado para esta experiências foi evoluído usando um grupo de cinco robôs com sensores proximidade entre robôs e sensores de luz para detectar as marcas luminosas e um ambiente com duas marcas luminosas, a distarem dois metros uma da outra. Estes sensores desenhados para detectar marcas luminosas possuem um alcance de dez centímetros e os robôs iniciam a simulação situados entre as marcas, pelo que os robôs têm que procurar activamente pelas marcas. Para estudar a escalabilidade do controlador produzido, este foi testado com grupos de dez e quinze robôs e num ambiente com cinco marcas luminosas. A influência de protocolos explícitos de comunicação foi estudada também, ao equipar os robôs com um actuador de cor e sensores que detectam mudanças de cor nos robôs nas proximidades. Finalmente, para o estudo de comportamentos de gestão de energia, um ambiente com duas fontes de energia foi criado e um grupo de robôs com uma energia limitada foi usado. O objectivo do controlador produzido foi o de manter o maior grupo de robôs possível intacto, ou seja sem nenhum chegar a um nível zero de energia, o máximo de tempo possível. As fontes de energia usadas nesta experiência apenas podem carregar dois robôs simultaneamente, sendo que se um terceiro robô se juntar, todos os robôs deixam de receber energia. Os robôs utilizados para esta experiência possuem sensores de proximidade entre robôs e sensores que detectam as fontes de energia, bem como o número de robôs que estas se encontram a carregar num dado instante. O controlador foi evoluído usando um grupo de 5 robôs com autonomia de cerca de 80 segundos, durante 120 segundos. Para estudar a escalabilidade do controlador, foram usados grupos de sete e dez robôs e o tempo da simulação foi aumentado para 150 e 200 segundos. O estudo de protocolos de comunicação explícitos foi também estudado ao adicionar um actuador de cor e sensores que detectam mudanças de cor nos robôs nas proximidades, tal como foi feito na experiência de comportamentos de escolha colectiva.Evolutionary robotics is a technique that aims to create controllers and sometimes morphologies for autonomous robots by using evolutionary computation techniques, such as genetic algorithms. Inspired by the Darwinian principle of survival of the fittest through reproductive success, the genetic algorithms select the fittest individuals of each generation in order to create the next one and so forth, until a suitable controller for the designated task is found or for a certain number of generations. The main goal of this work is to study the emergence of collective behaviors in a group of autonomous robots by using artificial evolution techniques to evolve suitable controllers. The emergence of explicit communication protocols in the experiments is also studied in order to understand its influence on the behaviors the controllers evolved. Since artificial evolution can be a time consuming task, and because of the random nature of the controllers produced in early generations can damage real robots, a simulator is often used to evolve and test the controllers. The controllers used in this study are Continuous Time Recurrent Neural Networks whose weights of the synaptic connections, bias and decay rates are encoded into chromosomes. The chromosomes are produced by using a genetic algorithm and evaluated by an evaluation function designed specifically for the task that simulated robots have to perform. The controllers produced through artificial evolution are tested in terms of performance and scalability. The components of the simulator, such as evaluation functions, environments, experiments, physical objects and so forth are described. Some guidelines of how to create such components, as well as some code examples, are available in the report to allow future users to modify and improve the simulator.Urbano, Paulo Jorge Cunha Vaz Dias, 1965-Christensen, Anders LyhneRepositório da Universidade de LisboaBastos, André González Amor, 1986-2013-07-25T10:53:39Z20112011-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/8875enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-03-17T13:00:18Zoai:repositorio.ulisboa.pt:10451/8875Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T02:32:56.157881Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
| dc.title.none.fl_str_mv |
Experiments in evolutionary collective robotics |
| title |
Experiments in evolutionary collective robotics |
| spellingShingle |
Experiments in evolutionary collective robotics Bastos, André González Amor, 1986- Robótica evolucionária Redes neuronais Algoritmos genéticos Escolha colectiva Agregação auto organizada Gestão de energia Teses de mestrado - 2011 |
| title_short |
Experiments in evolutionary collective robotics |
| title_full |
Experiments in evolutionary collective robotics |
| title_fullStr |
Experiments in evolutionary collective robotics |
| title_full_unstemmed |
Experiments in evolutionary collective robotics |
| title_sort |
Experiments in evolutionary collective robotics |
| author |
Bastos, André González Amor, 1986- |
| author_facet |
Bastos, André González Amor, 1986- |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Urbano, Paulo Jorge Cunha Vaz Dias, 1965- Christensen, Anders Lyhne Repositório da Universidade de Lisboa |
| dc.contributor.author.fl_str_mv |
Bastos, André González Amor, 1986- |
| dc.subject.por.fl_str_mv |
Robótica evolucionária Redes neuronais Algoritmos genéticos Escolha colectiva Agregação auto organizada Gestão de energia Teses de mestrado - 2011 |
| topic |
Robótica evolucionária Redes neuronais Algoritmos genéticos Escolha colectiva Agregação auto organizada Gestão de energia Teses de mestrado - 2011 |
| description |
Tese de mestrado em Engenharia Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2011 |
| publishDate |
2011 |
| dc.date.none.fl_str_mv |
2011 2011-01-01T00:00:00Z 2013-07-25T10:53:39Z |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
| format |
masterThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10451/8875 |
| url |
http://hdl.handle.net/10451/8875 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
| instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
| instacron_str |
RCAAP |
| institution |
RCAAP |
| reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
| repository.mail.fl_str_mv |
info@rcaap.pt |
| _version_ |
1833601404119285760 |