- A brief description of the clock control gains you picked for the warmup and why you liked the result:
We experimented with multiple different values of P and D gain values. This helped us to get a better understanding of what these values physically represent for the clock.
Our favorite combination was P gain = 0.005 and D gain = 0.01 because in this configuration the clock hands seemed to be more in sync and aligned at 180 degrees for a brief moment. We liked a smaller value of D gain because the system was more damped implying less oscillations. We also liked the smaller value of P gain because it seemed to deflect less from the original position and went slower showing us the “satisfying” sync we mentioned above.
2. A paragraph briefly describing your performance objectives and outcomes:
Our main idea was to create a spiral like vertical choreography, by stacking the 2 link systems. We wanted the distance sensors to cause each two link system to be attracted to the robot above it. Given below was our storyboarding process of what we envisioned for our project:
Once we began modeling this idea in Webots to get the desired simulation, we ran into some trouble with figuring out the code. However, we decided to experiment with a choreography that involves reversing the velocity and creating another pattern. Given below is some pseudo code for that:
In the end we were able to make a sort of vertical choreography. We changed the orientation of all of the distance sensors so that they were facing up in order for them to be able to see the other two link robots above them. However for the top robot we made its distance sensor point down so it could see all the robots below it. One of the rules that we implemented was that every time a distance sensor was activated for a particular robot that would make the robots start moving in the opposite direction. This created a less deterministic choreography but was visual interesting to watch. After testing this idea we saw that there was an edge case where the four robots could all form a sort of staircase. In this case the robots would stop interacting because they were all going the same velocity. In order to fix this and make the robots interact together again we also change the direction of the top robot after a certain amount of time passed. We chose the top robot because all the other robots below would then be activated again and the chaotic motion would resume. This is the final simulation that we achieved –