Behaviours for simulated humanoid robots - Mendonça, José Lucas Lemos (2015)
This thesis in inserted in the FC Portugal 3D team, which competes in the humanoid simulation league 3D from RoboCup. The objectives of this thesis are to improve the behaviours already created and to develop tools to support the development and debugging of the robotic agent. With this in mind, the process of optimization was improved to make it more efficient and adapted to include the new heterogeneous models. Executing the optimization process, using the state of the art algorithm CMA-ES, the time of the getup was reduced by half. Afterwards, the agent was put running in sync mode, which allows the simulations to run as fast as the computer in use can process, and not the simulation speed of the competion with cycles of 20ms. In the agent posture, it is now used the information from the gyroscope and the euler angles are calculated to get a better estimative of the robot orientation. On the other hand, the agent architecture was updated and new behaviours were created and optimized to support the new heterogeneous models. In relation to the standard model, some behaviours execute faster because of their physical difference. In the slot behaviours, it is now possible to defined preconditions in each step, so the agent can abort the behaviour when any condition does not comply. This change reduces the time wasted executing all the behaviour in situations in which the success is improbable. In terms of tools, a Agent Monitor Window was created for each agent which can: present in runtime variables from the agent code; interact with the code trough widgets; and if the simulation is in sync mode, defined the simulation cycle time, with the possibility to pause it and execute step by step, which gives a great advantage in terms of analysing the agent execution. The second tool was a behaviour testes for behaviours defined in XML, which allows, in runtime, to change the behaviour to test, edit its content, aggregate different files in sequence and finally the tolls can execute various agents in parallel. The last tools is Log Analyser of the logs generated by the agents and the server, which allows: exporting in different formats, see in form of plots the variables parsed, filtrate the simulation information; and create a server simulation which can be used to analyse, in parallel, the plots of chosen variables and the simulation in a monitor.