November 30th: Robotics Meeting
Today was rather tiring.
There was a robotics meeting after school today. It lasted until 8 PM!
During lunch and right at the start of the meetings there were some interviews to conduct.
Anyways, the engineering team was finishing up creating the kicker frame and the body of the robot. For the electrical team, it was discovered that we didn't have the omni wheels required for the robot, so by direction of the engineering team, we created a small model of our drive train using the VEX kits our mentor, Mr. K, uses for the engineering essentials class to see if the robot design would still function with regular rubber wheels.
For the programming team, the members got to work optimizing the conditionals for the drive base, as well as accounting for the controller drift. After that was finished, we got to work creating the camera system for the robot. There were two ways to create it. We could do it the easy way with 3 lines of code to declare the camera, set the resolution, and begin capture video, or we could manually create a new thread to do it to distribute the load on the RoboRIO. Our new members without prior experience set up a camera using the simple way, while our more advanced member (name hidden for privacy concerns) got to work researching and setting up a thread with compression for the second camera.
In the mean time, I helped another member who had fallen behind on learning C++. We reviewed data types and functions. I wanted to get into classes but he had to leave early.
At this time the electrical team finished creating the model of our drive system using the VEX kit, where it was discovered that as a result of wheel friction, with only two back motorized wheels, our robot wouldn't be the greatest. Our mentor had a talk with the other mentors to decide on a solution, because overnight shipping omni wheels wouldn't be possible for us.
Then, we tested the camera. I was stupid and I forgot to actually set the cameras to be different in the SmartDashboard software, so I wasted 10 minutes of time, but the code functioned well, and the camera was running on the separate thread. However, despite having a low resolution, the camera still ran at 7 FPS! I searched up online how to resolve this issue when I discovered that the .SetFPS() method existed for the camera class...
When I discovered this I was overjoyed but confused. In these past 2-3 years I've had to deal with horrible frame rates and disgusting resolutions during matches! Yet who knew that this function to fix my biggest problem existed all along! I'm confused because it was such a simple fix! Even during CalGames, I was trying to fix this issue but the forum thread I found led me to adjusting the compression, which I wasn't able to do in time. How come using the .SetFPS() method wasn't the first solution? At least now we'll be able to more effectively control the robot with better cameras in the future, and hopefully for the upcoming season.
Anyways, at this time of the meeting, it was really late, around 7PM. Only a couple members were still present at the meeting, which was nice to know that some members would still stick around late. The programming team did some final touches to the camera system, while the engineering team continued fabricating the kicker and chassis.Â
At this point it was getting close to 8, so we began to clean up. Last year only 3 people stayed late until 8, but this year 5 people stayed late until 8, which I think is a great improvement.
Tomorrow we will definitely be staying until 8 to finish the robot. I'm really hoping more people come tomorrow because I really want the robot to be finished! We're literally almost there and we just have a couple more steps but the hard work we put in will definitely be worth it!
Thanks for reading,
Issac