We improvised our robot in the new season and we made our robot a cube so it would be
easier to position and it is more efficient to put on attachments. This is because of its cube shape and because it had the same structure on front and back.
It also is very good for the gaps in between the missions because they are far away, which the shape of the robot helps with.
Our Strategy
Our code
We used block-based code rather than python to make coding easier and more accessible
We separated all code into separate custom blocks (functions) to enhance readability and easiness to code
We put each run into a separate file on the robot to allow run redos and protect against accidental turning off, which is something we didn't do last year
Our Move and Turn Code
We had different move and turn code compared to last year, and we have improved to minimize drift:
We changed our wheels from Spike PRIME to EV3 wheels, as it provides more balance between the robot because our robot is very heavy.
We used something called PID code to fix the drift problems.
If you haven't heard of PID, it stands for Proportional Integral Derivitive.
First, the robot determines the error in the moves and turns. This can be caused by drift, or a mistake in the code. This is the P part of PID.
Then, the robot finds the amount of time that the error happened. This is the I part of PID.
Lastly, the robot makes sure it doesn't pass this target, and this is the the D part of PID.
Our problems with drift
In our journey through robotics, we had problems with the robot drifting. In order to fix this, we tampered with the code, and many other things. We realized that it was the wheels. We looked at the SPIKE Prime wheeels and realized that it was the problem. It didn't have enough traction and we tried EV3 wheels. We tested them on specific missions with the same code. We realized that the EV3 wheels had more traction and chose them.
Session Norms
During every session, in order to achieve success, we had to do a series of things to keep us calm and collected.
We created a google drive folder to hold all of our code so that in case we needed to go back, we could download the code into the app from the folder.
We also created a second table to take a deep dive into missions that we thought were harder and we could include that theory and attacthments into the Acticube 4.0
Lastly, in order to move on to other missions, we had to run the mission 3 times consistently.
Matrix
After the qualifiers, the judges gave us feedback saying that we should implement a matrix into our robot design. We thought this was a good idea and added a matrix. We also included a Weekly Log keeping track of our points and percentages of accuracy.
Conclusion
We iterated our robot design multiple times and created a large but durable robot
We used modular attachments and made many innovations to improve efficiency, such as passive attachments and joint attachments
We faced a huge problem in drift and fixed it by switching to EV3 wheels and using PID code
We stored code in Google Drive, used a matrix to decide on missions, and collected our complete run data