So, during NBN and ITZ specifically, using openCV on python would allow robots to automatically find and score scoring objects. I made I similar program in about a month, my question is, why did no one do it?
Who is saying no one did it?
As a side note. I don’t like cameras because they have a tiny field of view compared to lidar.
I have been using the RPI3 with the Vex 0.5 Microcontrollers for some of my advanced robotic applications and the RPI3 works really well for me.
Because while it’s cool to do and is a great way to build skills, it’s ultimately not something that will separate top tier teams. The top tier VEX U teams will build and design for efficiency and effectiveness. Building and design things to be optimal. Build things to win the game.
I actually think there actually is a big payoff to using more powerful computation engines for top level competitive play, but it entirely depends on what a team determines to be the optimal strategy given their specific constraints for any given competition game.
In a game like Skyrise it was most beneficial to stay on your half of the field and even stay in place to build your 7 section tall Skyrise in the autonomous period. It didn’t make strategic sense to use CV or Lidar to detect changes on the field such that you could compensate based on changes in game state because there was too much risk for an opponent to try and execute any actions that could hinder only you enough to guarantee a win. This meant that it wasn’t likely that these more advanced systems would have saved you two times in a three match series (guaranteeing a win). The cost benefit analysis for these tools showed that they would have been too expensive to develop and weren’t necessary to win with enough confidence to be satisfied as a team.
In a game like Nothing But Net or Starstruck where the game state was very chaotic in the sense that objects moved more and very randomly, it makes a huge amount of sense to be able to track objects and retrieve them during an autonomous phase and constantly score (or block in the case of Starstruck). If I had time to compete at full throttle last year this is exactly what I would have done.
The biggest issues for VEXU teams from my experience and perspective are limited time, resources and lack of competition experience (from either the current game or overall). I would love to design a robot and spend nine months developing machine learning algorithms that can use advanced sensors to determine which actions to take and when based on perceived game state, but building a world-class competition robot takes most of the season and leaves teams with something like one or two months at most to do software development, which simply isn’t enough time for this type of tech.
At least in my opinion.
I agree with the lack of time. We’ve fiddled with AI/CV since at least Toss Up. Never got to a functional product for use on a competition robot. If it really was to be done right, would do it for pretty much a year before the next game release and ensure that it’s adaptable for the game.
I totally agree, and this has been the limiting factor in the past. Starstruck gave us (WPI1) the chance to build a very simple robot, mechanically speaking, that would get the job done just enough so that we could spend 90% of our time over the year just working on software. We had two people doing software and one person doing mechanical. That seemed to be about the right ratio to get everything done just barely in time for worlds.
Out of curiosity, how do you think you would have done if the Starstruck season lasted another year?
I think we would have gotten to a decently competitive level. We wouldn’t beat a good driver, but would still be able to hold our own. There were a few matches we could have won but didn’t either because of some bug or because we worked as intended but needed better decision making. Worlds was the first time that robot ran totally on its own, so we had a few initial problems to fight with before the robot started working as intended. Obviously more time would mean those problems go away and we have more time to perfect the decision making and movement.
I recently got my VEX R2D2 Robot upgraded to use a Raspberry Pi 3 with a Vex 0.5 Microcontroller! It allows me to use Robot Basic to control it using Wi-Fi.
I guess we should take it as a compliment that you didn’t notice. Though I assume you probably only saw the two teams competing in the finals. It actually took quite a bit more dedication to achieve accurate odometry to allow the robot(s) to actually do something with the balls after it collected them than it did to search for and collect balls. Collecting them didn’t do much good if you couldn’t score them accurately, or at least drop them off in your corner of the field. I assume that is why more teams didn’t end up pursuing (or completing) such autonomous programs.