Programming

Being able to program is an integral part of the CRC Robotics competition, as it is necessary for three different components of the competition: controlling the robot, creating a website, and with a programming competition that is held before and during the event. Although all of these components include the same theme of programming, they were all worked on separately, as they all require different types of programming.

Programming the Robot

Programming the robot itself is the most important segment of programming for the competition, as without proper programming of its movements, the robot's design and construction would be useless, as it would not be able to be controlled. This also means that inversely, it is very difficult to program the robot without having the necessary sections of the robot already constructed and working. This means that although the robot programmers spent a significant amount of time working on code for the robot, they also spent a lot of time advancing their knowledge in domains of robotics-related coding, such as PID, port registers, encoders, ect.

The Programming Competition

Since the main programming competition is held during the competition, nearly all of the work relating to the programming competition has been through practicing with the practice problems released on the CRC discord server often. One of the struggles with the programming competition practice was with the communication between members that were working on solutions to the problems. Sometimes, the team struggled with communicating their ideas and documenting them well enough to make sure they were properly implemented. Despite this, the practice ended up being relatively successful, with a combined score of 29.66/30 on the two returned practice problems.

The Website

The website component of the competition was the most time consuming section of all the programming aspects. One of the main struggles with completing the website was procrastinating that time consuming work associated with making a website, which led to the majority of it being completed on the weekend before its due date. However, although a large amount of work had to be done on the final weekend, many people not associated with the website in robotics came together to help with the final push to complete it, which led to it being able to be finished. Through working on the website, we were able to advance our skills in coding in html/css/js, and we were able to improve on our documentation skills, as we had to keep track on the work done by every section of the team to document it on the website.