Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   [FRC Blog] The 2016 Season, by the Numbers 2 (http://www.chiefdelphi.com/forums/showthread.php?t=148831)

Hallry 07-06-2016 12:25

[FRC Blog] The 2016 Season, by the Numbers 2
 
Posted on the FRC Blog, 6/7/16: http://www.firstinspires.org/robotic...-the-numbers-2

Quote:

The 2016 Season, by the Numbers 2

Written by Kevin O'Connor, Robotics Engineer.


One of the under-the-hood features of the FRC Control System software is a system called Usage Reporting. This system tracks what WPILib objects are created in each team's code and reports the data back to FMS when the robot is connected to the field. This data helps FIRST and our Suppliers understand how teams are using the Control System which can give us insight into things such as adoption of new features or usage of legacy classes.

Here are a few numbers from the data that teams may find interesting:

152,572

The total number of Usage Data records captured by FMS

22,607

The total number of motor controllers used on 2016 robots

6,402

The total number of USB input devices used to control those motors

2,156

Total Encoders used to get feedback from those motors

1,4021

The number of teams that used pneumatics (with the PCM) on their 2016 robot

764

The number of USB cameras streamed back to the Driver Station

489

The number of Digital Outputs used to control non-actuators (lights, sensors, etc.) on 2016 robots

17

The number of Analog Outputs used to control non-actuators (sounds, lights, etc.) on 2016 robots



1

The number of teams using the GearTooth sensor class which was made for the GearTooth sensors from the 2006-2008 KOP

The complete processed data set can be found here.



A few notes on this data:

- The data has been semi-anonymized. Team numbers have been replaced with rookie years and the data has been resorted so teams are not in order by team number.

- We can only track the objects teams create in code. If you create extra motor controllers that aren't on your robot2, they will still be captured by this system. If you create motor controller objects of the wrong type, that wrong type will be captured by this system.

- Counted objects and TRUE/FALSE show the largest number of any given object used in any one match (i.e. if a Robot had 2 Encoders in match 1 and 3 Encoders in match 7, 3 will be reported). Language and Framework report what was used in the last recorded match.

- Some objects naturally result in double counting (Encoders use Digital Inputs)



1Compressor may not show for C++ and Java teams that didn't use the Compressor object. Counting the # of teams that had > 1 Solenoids is a more accurate count of teams using pneumatics.

2Example: 43 teams report more than 4 relays with only 4 relay ports on the roboRIO.

marshall 07-06-2016 12:46

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
So how do we get more encoders on more motors?

notmattlythgoe 07-06-2016 12:49

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by marshall (Post 1591772)
So how do we get more encoders on more motors?

Require 2 encoders to be declared per motor. Because 2 > 1.

#2encoders

Thad House 07-06-2016 12:50

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Those numbers are really cool and interesting to go through.

Quote:

Originally Posted by marshall (Post 1591772)
So how do we get more encoders on more motors?

One thing to remember is that Encoders hooked up through CAN Talons would not show up. I saw a decent amount of teams doing that this year, which would probably help raise that some more. But I do agree more teams need more encoders or potentiometers, as that greatly increases the performance of robots.

notmattlythgoe 07-06-2016 12:54

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by Thad House (Post 1591775)
Those numbers are really cool and interesting to go through.



One thing to remember is that Encoders hooked up through CAN Talons would not show up. I saw a decent amount of teams doing that this year, which would probably help raise that some more. But I do agree more teams need more encoders or potentiometers, as that greatly increases the performance of robots.

It also probably isn't taking into account optical sensors used as counters for shooter wheels.

Jon Stratis 07-06-2016 12:56

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by marshall (Post 1591772)
So how do we get more encoders on more motors?

I think the key to this is figuring out how to make tuning the PID loops easier. We've been using encoders and potentiometers with PID loops for years, yet it still takes our programming team a ridiculous amount of time to get each one tuned correctly. There just isn't enough time to get them set up correctly most years, and even though we put them on the robot and try to get them working, it seems like we end up commenting them out when we get to competition and have run out of time to get them working.

Plus, the USDigital encoders that we've always used have such small wires... it seems we're always breaking one or more of them!

Anupam Goli 07-06-2016 13:03

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by Jon Stratis (Post 1591777)
Plus, the USDigital encoders that we've always used have such small wires... it seems we're always breaking one or more of them!

Once you go Grayhill, you never go back.

Quote:

Originally Posted by Thad House (Post 1591775)
But I do agree more teams need more encoders or potentiometers, as that greatly increases the performance of robots.

Depends on the application. If I have a 2 position arm or mechanism that doesn't need precise operation, I can get away with just using a limit switch. And I'm sure that you don't really need encoders for intake rollers, either; but teams should definitely be using them for their drivetrain and shooter wheels. (Hell, 1648 used a banner sensor and a piece of retro-reflective tape on a belt for our shooter's feedback)

Conor Ryan 07-06-2016 13:14

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Coolest thing I saw:
Code:

Lang        Count        Percentage
C#        1        0.03%
C++        435        13.97%
Java        1526        49.00%
LabVIEW        1116        35.84%
Python        33        1.06%
Unknown        3        0.10%
Total        3114        100.00%


Joe Ross 07-06-2016 13:43

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by Hallry (Post 1591771)
Example: 43 teams report more than 4 relays with only 4 relay ports on the roboRIO.

It shows that we used 3 relays, when we used none. I suspect something else is being misreported as relay. 330 is row 148, in case anyone is interested.

Thad House 07-06-2016 13:46

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by Joe Ross (Post 1591784)
It shows that we used 3 relays, when we used none. I suspect something else is being misreported as relay. 330 is row 148, in case anyone is interested.

WPILibJ doesn't currently report Relays. So relays are not shown for any Java team. That should be fixed next season however.

notmattlythgoe 07-06-2016 13:47

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by Joe Ross (Post 1591784)
It shows that we used 3 relays, when we used none. I suspect something else is being misreported as relay. 330 is row 148, in case anyone is interested.

How did you figure that out? Did I miss the "Flipped back over to secure the win" column?

marshall 07-06-2016 13:53

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by Thad House (Post 1591775)
One thing to remember is that Encoders hooked up through CAN Talons would not show up. I saw a decent amount of teams doing that this year, which would probably help raise that some more. But I do agree more teams need more encoders or potentiometers, as that greatly increases the performance of robots.

Are you certain about this? I would think they would still show up per WPILib... I am likely wrong though.

As for tuning PID... I think we need to release some directions on how we do it... that or Omar should put his method out there. We spend maybe a couple hours tuning it and then we play with values a little here or there as needed but typically we get it right pretty quick. I'll see if I can't get a student to explain the method they use.

Thad House 07-06-2016 13:56

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by marshall (Post 1591788)
Are you certain about this? I would think they would still show up per WPILib... I am likely wrong though.

They don't. The encoder and counter reporting are only set when the WPILib encoder or counter classes are used. The encoders into the CAN Talons have no way currently of getting reported, as they are just methods in the CANTalon class.

So for like our robot, which is on 1885, it only shows 1 encoder, as we only had 1 hooked into the roboRIO, and the other 2 were directly into CANTalons.

marshall 07-06-2016 13:58

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by Thad House (Post 1591789)
They don't. The encoder and counter reporting are only set when the WPILib encoder or counter classes are used. The encoders into the CAN Talons have no way currently of getting reported, as they are just methods in the CANTalon class.

So for like our robot, which is on 1885, it only shows 1 encoder, as we only had 1 hooked into the roboRIO, and the other 2 were directly into CANTalons.

Well then... there are likely a lot more encoders not being *ahem* counted for then.

Sorry, had to do it.

notmattlythgoe 07-06-2016 13:59

Re: [FRC Blog] The 2016 Season, by the Numbers 2
 
Quote:

Originally Posted by marshall (Post 1591790)
Well then... there are likely a lot more encoders not being *ahem* counted for then.

Sorry, had to do it.



All times are GMT -5. The time now is 18:18.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi