Programming the hexabot was more difficult than anticipted. Across the experience, the largest recurring issue was interference. Each leg had to be controlled individually so that they would not bump into eachother. Another significant issue was friction with the ground, and the general physics involved such as how strong our materials needed to be, and how much torque the servos would require. The first sequence designed moved three legs at a time, in two groups, and then rotated them all back to the central position. The legs move were alternating so that the robot could balance on the remaining three. This sequence did propel it forwards, however the friction with the ground translated through the legs into the main body, creating tensions in opposite directions. This tension could potentially tear the robot apart, so the code had to be redesigned.
The next coding sequence was identical, however instead of moving all legs back to the central position in one group, it moves in two. This prevents the tension, but results in more of a waddling motion. This causes the robot to wiggle back and forth, resulting in the robot moving in unexpected directions.
The final coding sequence works differently. The very front, and very back legs are lifted for the movement process, but place down to provide stability when legs are being lifted. While those legs are down, the remaining move in two groups where they lift and rotate forward. Then, they return to the ground and rotate together back to the central position. This prevents any unnescesary tension, and also moves the rotbot directly forwards.