2. Control based on Ant Colony for a Swarm of Robots in simulation (2004-2005)Computer Skills
1. Control based on Evolution for a Swarm of Robots in simulation (2003-2004)
This is an another aproach derived from the project below that was done by studying deeply the behavior and the mechanics of the ants. An effort to find a gap between the behavior and the mechanics was done and the idea resulted from this research guided the implementation of the control of a robot swarm.
This way was published in [2].
Have learned ant behaviors, difference between ant species, descentralized ways of controlling swarms and botton-up ways of building intelligent agents.
The objective was to make a swarm that explores the environment in a way that the robots do not get too close and neither too far each other and walks like a bee swarm. Developed a program to simulate robots in environment in order to construct an Genetic Algorithm (GA) and simulate the consequences of the changes in the GA in the behavior of the robots.
Have studied some works on ants to acquire more knowledge in how to treat swarms (by observing the nature) and have done a different approach on GA. Have introduced states (a property of Cellular Automatas) in the middle of the chromossomes inside of the GA, in a way to make it look similar to Cellular Automata. The results was published in [1].
Have learned Pareto's principle, inheritance GA, a lot of selection ways for the GA, Cellular Automata behavior, selection function for GA based on the Pareto's graph and ways of solving the premature convergence of the GA to an optimum local rather than an optimum global.
Operation Systems:Work Experience
Languages:
Linux: 4 years of experience (since 2003). Have installed and configurated (this happens everytime that a new version is released) the linux at home (slackware distribution), have been a monitor at university where I did maintenance of the system (including: versions, network problems, students assistance, etc), installed linux in a server (total scsi) computer (was a long jorney) and maintain my friends' computers (hehe). Use nowadays slackware distribution, but I had used Debian long time ago.
Windows: Advanced notion. I have worked with windows before I knew linux, thus I know it for a very long time and installation, configuration and maintanance is not a problem. Although I prefer the linux environment for programming.
Java: Have an basic notion. Have only done some basic programs like the game "Catch the creature" on this site.
C++: 4 years of experience (learned in 2003). Have done 2 neural networks, many different kinds of Genetic Algorithms, some binary trees, a game (as could be download at this site), one avl tree, graph programs, evolution of dynamic graphs where the nodes change position and send messages (it simulated a peer 2 peer environment with messages and connections), a peer2peer class, a simple flying simulator and a lot of funny and simple programs. This language was used also in projects 1 and 2.
Bash Shell: 3 year of experience (learned in 2004). Have done an GA that evolves programs (very funny), a script to find file on the net (using wget, links and advance functions) and a lot of simple scripts (that make easier my job). In the 2 years that I have worked as a Linux tutor I haved used very oftenly this Bash scripts.
Prolog: Have an intermediary notion. Have done some programs in my college subject. A semester of experience.
Assembly x86: Have an intermediary notion. Have learned by reading all the contents of a book by my own. Have done some simple programs with system calls and some programs that call or are called by a function writen in C language.
Pascal: Have learned this language at college. Have one semester of experience. This was my first language, only simple programs made on it.
HTML, CSS and Javascript: Intermediary notion.
PHP: Intermediary notion. Have done a chat, a funny random-size-random-page page, an algorithm of numeric calculus, a tracker and this site.
Libraries:
SDL: Advanced notion. 3 years of experience (since 2004).
Opengl: Intermediary notion. A semester of experience (since 2007). I have developed a game like the flying simulator, but the game lack the physik engine.
Pthreads: Intermediary notion. I have done a peer-to-peer class using this library.
Gear, volunteer student group of robotic / Software Coordinator (2004-2007)Education
Software responsible and Linux Tutor in a Student Laboratory (2005-2007)
Coordinator reponsable for the Artificial Intelligence in the group. I leaded the group to produce Artificial Intelligence for a team of robots, in order to play soccer in the robocup.
Have learned ways to manage a group in order to incentivate the participation, creativity, happiness, close-relationship, freedom, willness, competition and persistence. Noticed the importance of a member opinion and the creation of compromises.
Responsible for the installation, configuration and maintenance of Linux in a Computer Laboratory and should also help students to work in a Linux environment. Received a scholarship for this work.
One year of Mechatronic Engineer in the USP (University of São Paulo), stopped to course Computer Engineer in the same university.
Have done 4 years of Computer Engineer in the USP (University of São Paulo).
Papers Reference
[1]-Uma colônia artificial de formigas modelada por sistema evolutivo
[2]-Implementação das Formigas Robóticas com características físicas das Formigas Biológicas