Humanoid Robot Movement Optimization Framework
- 0 Collaborators
Development of an optimization framework to enhance behavior parameters of a humanoid robot. ...learn more
Project status: Under Development
Robotics, Artificial Intelligence
Intel Technologies
AI DevCloud / Xeon,
Intel Opt ML/DL Framework
Overview / Usage
This project comprises the development of a framework to paralellize the optimization routines for the behavior parameters of humanoid robots. They are virtual representations of a Softbank Robotics NAO robot, with 22 virtual servomotors.
Methodology / Approach
The framework has the following available optimization algorithms implemented in MATLAB/Octave: Hill Climbing (HC), Particle Swarm Optimization (PSO), e Covariance Matrix Adaptation Evolution Strategy (CMA-ES).
In the movement behavior optimization, the main bottleneck is the movement simulation, and its paralellization may significantly improve the overall optimization performance.
The optimization server accelerates the optimization by doing this paralellization. The optimization server receives a matrix from MATLAB/Octave's OptimizationClient, on which the optimization routines are being run. This matrix represents a series of vectors in the parameter space, and each vector is to be run by an agent in a training module. Finally, the training modules return the loss function results for them to be input to the OptimizationClient routines again.
By doing that, for each optimization routine, it is only necessary to create a new training module and a cost function evaluator.
Technologies Used
We will use the RoboCup Soccer 3D Simulation environment (Simspark) running on the Intel DevCloud compute nodes to conduct the optimization iterations. Our neural network models are based on Keras and Tensorflow. Our code use many C++ dependencies commonly used in the robotics community, such as Boost, Google Protocol Buffers, OpenCV, Qt, and ROS (Robot Operating System).