No announcement yet.

How did you do autonomous mode this year?

  • Filter
  • Time
  • Show
Clear All
new posts

  • How did you do autonomous mode this year?

    New coach of a new team here. We haven't even written our first autonomous opmode yet, but we want to be ready by this fall. So we are looking for autonomous ideas. I think it is safe to say that there will be an optical portion to the autonomous period again next year so we have a few months to get ready.

    What worked well for you this year? What camera did you use? Gyro/IMU? Other sensors? Did you use the navigation targets? Vuforia? And how reliable was your setup? What suggestions do you have for a team just starting out?
    Last edited by TheSkipper; 04-29-2019, 08:13 AM.

  • #2
    By the end of season, our autonomous worked 100%, took a lot of work to get there.

    Answers to your questions:

    1. Used the camera in our phones, Moto G2. Was a bit of an issue getting a spot high enough to view the minerals, wish we would have planned for it earlier in season
    2. Used the built-in IMU in the Rev hubs. Very slow, but pretty accurate.
    3. We used the Rev 2M distance sensors to correct the angular errors of the field. Again, slow, but worked well.
    4. Navigation targets were useless for this year, absolutely no benefit in using them. Much easier using other means of robot control
    5. Used TensorFlow which came available mid-season, so a lot of catch up. TensorFlow uses Vuforia, along with its deficiencies and bugs, lol
    6. The models that were programmed into TensorFlow were not done properly, so reading the White wiffleballs on red tape squares was not reliable. We simply changed our methodology to only look for the yellow blocks.
    7. I would strongly suggest you start getting your routines for IMU navigation built now, including putting in PID control for turns, and programming in hysteresis factors for following a specific angular heading. A good simple programming test would be to have your robot approach a 3 foot square of tape on the floor, then do four 90 degree turns to follow the outline of the tape square, then branch out on a specified heading. These routines take tons of trial and error.


    • #3
      Our auto was very reliable and somewhat unique as we did not just move the gold mineral off the mark, we picked it up and scored it in the lander.

      1) Moto G3, rear camera, operated by servo to point in approximate direction of minerals, one at a time in the field of view
      2) IMU gyro - kept turn rates low to allow for more accurate results given data rate from gyro
      3) The position of the minerals in each image dictated a variation in a base turn direction from the landed position - we reliably picked up and scored the gold mineral in the lander in autonomous
      4) did not use navigation targets
      5) tensor flow provided code assumed more than one mineral in the field of view. Stripped away all extraneous code and did a recognition of the mineral in the field of view 5 times in each position to vote on the location of the gold. Worked well as we reliably identified the gold mineral, picked it up, and scored in the lander
      6) Using the tensor flow was relatively easy when all the extraneous useless code was stripped away. Voting was the key to reliable recognition. keeping turn rates low was key to accurate positioning. A lot of teams had issues with other things in the field of view but since we were purposely aiming the camera in an attempt to minimize other items in the field of view, this was not an issue for us. Most of the tensor flow learning curve was understanding the output from the recognition process (a list of recognized object parameters, leftmost in the first list position followed by any other items recognized moving to the right).

      In addition, we will be utilizing the external web cam this coming season (assuming it is still legal) to allow for the phone to be in a more protected position on the robot. We did not have any phone damage but I can see where this could have happened and the risk needed to be minimized.
      Last edited by MikeRush; 04-30-2019, 08:51 AM. Reason: added info


      • #4
        How do you delete a post?
        Last edited by MikeRush; 04-30-2019, 08:55 AM.


        • #5
          We had a new programmer this year that started in September. There approach was as follows:
          First--Get an autonomous that drove around the cubes and balls to drop the team marker during the first league play.
          Second--Once this was running well with the Rev onboard gyro and encoder counts for distance they started with one position and worked with the tensorflow
          Our camera did not have a wide enough field of view to see all three so using logic they determined the third element based on the other two. I know some teams searched each element, but this seems like it would take too long. We have since upgraded to a Logitech C920 for a wider field of view for next year.

          We could reliably move the cube into the depot by the end of league play. Getting a start on this now is a good idea. Why not pick up some of this years elements to practice programming with over the summer they are relatively cheap.

          You did not say weather you are planning on using Blocks or Android Studio for your programming. There are several good examples of starter programs to play with on the github site for AS, we don't use blocks so I could not say how useful they sample programs are for understanding what is going on. We also found a lot of help from several websites where FRC teams shared their Java programs. FRC does not use Blocks so looking out at other ideas would likely be limited to other FTC teams.

          My programmer would say all season... Google Google Google whenever they ran into a stop block about how to get something done.

          Good luck with next season.


          • #6
            Yes, we are using Android Studio. That's a great idea about looking around FRC teams for code ideas.


            • #7
              Our auto work pretty reliably by the end of the season. Our team picked up the mineral like MikeRush's team did. We also were able to double sample (but we didn't have enough time to then score those gold minerals then)

              1) Logitech webcam that we mounted on the bottom of our bot. When the bot was hanging the camera was looking perfectly at the minerals, so that worked out nicely.
              2) We actually didn't use any Gyro/IMU, and it worked out alright, but in hindsight maybe we should've experimented a little bit more with it.
              3) One REV Potentiometer that we attached to our arm shaft to read its angle more accurately and to play with cycling in auto (didn't finish that until after Worlds) and one Modern Robotics Range sensor in the front of the robot to help line us up in one direction (for the other direction we used the wall - see below)
              4) Nope
              5) Tensorflow w/ Vuforia
              6) Our setup was pretty similar to MikeRush's, we also used a voting system that was pretty reliable in most lighting conditions. Basically if we saw a gold on the left side of the image we would add a vote equal to the confidence level of that minerals to a 'left' variable, and if we saw a silver, we'd subtract. Area (left, center, right) with the highest score most likely had the gold. This helped deal with reading the red tape under the silver that looked like a gold.
              7) First, don't get scared by autonomous. Too many rookies are scared of even trying an auto and miss out on easy points as a result. It's not as hard as it looks.
              Second, when my team were rookies, we had no idea how to use sensors (and no money to buy to buy them with ), so to align our self on the field, we did what we did back in FLL: we squared up against the wall. It was simple to program (just drive into the wall - sometimes we do it without even trying) and it was a pretty reliable way to line up. We even did that last season at the World Championships and did decent enough to get picked with probably the lowest-tech line up method of any team there

              Good luck this season!
              Last edited by 10298Programmer; 08-25-2019, 07:16 PM.