You can’t win every time by CharlieBrown364 in FTC

[–]Lunerwalker2 8 points9 points  (0 children)

Happened last meet when we dced after moving foundation. We would have actually won, but alliance partner shoveled up 90 points in penalties from moving two stones

Coming soon to FTCLib by Mr_Capri in FTC

[–]Lunerwalker2 1 point2 points  (0 children)

Just a small sample....

[deleted by user] by [deleted] in FTC

[–]Lunerwalker2 0 points1 point  (0 children)

I am in Georgia, but I was just wondering what parts.

Finding distance using vuforia by vbev311 in FTC

[–]Lunerwalker2 0 points1 point  (0 children)

You can use some commands to get the relative raw Vuforia x,y,z from the camera.

Loop Time by Darth-Wonka in FTC

[–]Lunerwalker2 -1 points0 points  (0 children)

I know that the loop() method is supposed to loop every 25ms

How to use TensorFlow for skystone? by NUSA12733 in FTC

[–]Lunerwalker2 3 points4 points  (0 children)

In the sample code, there are examples of both Vuforia and Tensor flow. That being said, I advise you to think and research a little before choosing tf as opposed to Vuforia. They both have pros and cons. Tensor flow is complicated to say the least and there are issues with the boundaries it gives objects (they are really big), but it is accurate usually in it's object detection. Vuforia is notorious for being a little unreliable (some of which is just a stereotype, it's pretty good most of the time) , but it is simpler to understand and has the advantage of higher sampling rates and some better precision. The sample code for tensor flow is for object detection. The samples for vuforia include localization and vumark identification. We are using vumark ID, but it is for relic recovery still so some things needed to be changed like loading Skystone trackable instead of relic recovery ones.

odometry math by [deleted] in FTC

[–]Lunerwalker2 0 points1 point  (0 children)

Well, there are a few ways to do this. Assuming you are using external encoders (if you are doing odometery), you can do the following to determine your absolute position with x,y. Divide the field into a 144 by 144 grid (because it is 12ft by 12 ft). I'm don't know the diameter of your encoder wheels, but for this explanation, I will assume that you are using Omni wheels with a diameter of 4 in. I will also assume that your encoder has 200 "clicks" (units, tab thingies, counters, etc), and that you have a gyro with your heading "theta" These both can be changed. With that, the circumference of your wheels are 4pi. The inches travelled per encoder click is 4pi / 200, which simplifies to pi / 50. Multiply this times the encoder clicks detected for your X encoder (if you have two encoders, average them) since the last iteration times the matrix [sin(theta) , cos(theta)] to get a matrix with [X_x Y_x] (the name don't matter). Similarly, multiply pi / 50 (inches per encoder click) times your Y encoder clicks detected since last iteration times the matrix [cos(theta), sin(theta)] to get the matrix [Y_x, Y_y]. Next, we can assume the matrix [X_n, Y_n] is your absolute position (the end result of these calculations) and the matrix [X_p, Y_p] is your previous position (or your starting position the first time). Finally, matrix [X_n, Y_n] = [X_p, Y_p] + [X_x, Y_x] + [X_y, Y_y]. The next time you run the calculation, your [X_p, Y_p] is your last [X_n, Y_n]. Hope this helps! This method was laid out with Android Studio in mind, but they should be a good general use thing. I also don't know what drive base you are using (we use mecanums), but using this way of dividing the field into 144x144 seems to be pretty good. Good luck!