About
Time: Oct 2021 ~ Dec 2021
Role: Developing algorithms to evolve the soft robot
Advanced use of genetic algorithms, Designed and Simulated physics environment, OpenGL.
Target
The soft robot contains numerous critical parameters. And I designed a genetic algorithm to evolve these parameters that changed the shape of soft robot. By changing the shape, we can create a fastest robot.
Parameters
Constructing the robot with cubes, each cube is built using 12 springs and 8 mass. The springs' lengths are encoded with several parameters, length = a(1 + b( w*t + c )).
a is a constant parameter, set to the original length of the spring.
b is Evolved parameter, with a range of 0 to 0.25.
w is the frequency of the breathing, set to 0.001 rad/s.
c: Evolved parameter, with a range of 0 to 2.
Other parameters:
Spring constant (k): The spring constant for the springs that are connecting the masses; also an evolved parameter with a range of 800 N/m to 10,000 N/m.
n: numbers of springs
Method:
The difference in compression and extension of springs make the robot move. We crossover the evolved parameters above (b, c, and k) to improve the moving speed of the robot. For shape improvement, we have rates of 15% adding and 8% removing tetrahedrons, with a limit of 5 tetrahedrons on a robot. A random mass is chosen among the existing masses, and a new mass is created at a fixed distance from the chosen mass. 3 springs then connect to the closest 3 masses, creating a tetrahedron. Our goal, by adding tetrahedrons instead of cubes, was to provide a more dynamic object with fewer constraints for better results.