top of page

Skystone

For the 2019-2020 season, the challenge was called Skystone.  In this challenge, robots are required to recognize "skystones", which are special lego-like bricks with a picture on them, and move them to another side of the playing field in autonomous.  Robots are also required to move a foundation plate, and park under a bridge.  In the teleop section, they have to stack bricks and try to build as tall a structure as they can, and cap it off with a custom team capstone to get bonus points.  They also have to move the foundation plate with the skyscrapers so that the towers don't topple over, and park in a corner.

September-November: With last years experience, we were much more efficient.  We tweaked the drivetrain a bit, to make it faster by increasing the gear ratio, and increasing powers.  Also lowered the chassis.  Then we experimented with a swinging arm to grab stones, but in the end settled on a simple grabber and lift that was quite effective in practice.  We tried using Tensorflow for skystone detection, but it was too slow.  Instead we just used color sensors to detect it.  We also used another distance sensor and magnetic limit switch to ensure that the lift would stop at the bottom, and that we could detect if we had grabbed more than one stone (which isn't allowed).  We did well ending up winning the qualifier, although not as captain.  Our robot was probably the best there though as we had a 2-stone autonomous (we could detect and move two skystones and park in the autonomous 30 second period), and could make towers of 5-6 blocks.  We also won the control award trophy.

November - January: Focus on SW by adding odometry, which would allow the robot to know where it is on the field exactly, use threads for greater concurrency, and use openCV (computer vision)  for skystone detection to make it faster and attempt a 3 or 4 stone autonomous.  We also increased the lift stages to be able to make taller stacks.

February - March: We focused on perfecting odometry, PID control, and pure pursuit motion planning that allowed us to have a much more sophisticated robot that could determine where it was on the field at all times, and move fluidly and rapidly in smooth, curved paths while concurrently operating its capabilities such as the lift and grabber.  By the time we went to the Northern California regional championship, which we qualified for, our robot could do a 3-stone autonomous with foundation move and park for a potential 54 points in autonomous. While this is quite good, the very best teams (2 or 3 out of 52 in the Norcal championship) were able to do a 4 stone autonomous sometimes. We added a tape-measure parking assist that allows the robot to simply unspool a measuring tape rapidly to reach the parking spot instead of having to drive there itself.  This is allowed by the rules since any part of the robot has to be touching the parking spot, and robots cna expand out of their starting dimensions.

Overall, we were 3d in our division in the regional championship, and were a 3d seed alliance captain.  This is the best showing ever for us, and our robot now is very capable. We could have gone to the finals had we better obstacle avoidance algorithms.  I intend to work on that in the off season!

An example of our 3 stone autonomous and foundation move and park during one of the games

bottom of page