Go to Post Blue Nitrile Tread is the best smelling wheel tread. #thingsyoufigureoutat2AM - Ginger Power [more]
Home
Go Back   Chief Delphi > Technical > Technical Discussion
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 04-01-2012, 17:08
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
What margin of error is tolerable in FRC?

What margin of error is tolerable in FRC? After running tests with last year's robot, the margin of error on the drive train encoder output was 1.45% and 3.45%. That seems insignificant, but is it? Would a kalman filter be necessary if this data was getting put into a PID control loop?
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
  #2   Spotlight this post!  
Unread 04-01-2012, 17:21
Tristan Lall's Avatar
Tristan Lall Tristan Lall is offline
Registered User
FRC #0188 (Woburn Robotics)
 
Join Date: Aug 2001
Rookie Year: 1999
Location: Toronto, ON
Posts: 2,484
Tristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond repute
Re: What margin of error is tolerable in FRC?

Quote:
Originally Posted by davidthefat View Post
What margin of error is tolerable in FRC? After running tests with last year's robot, the margin of error on the drive train encoder output was 1.45% and 3.45%. That seems insignificant, but is it? Would a kalman filter be necessary if this data was getting put into a PID control loop?
I'm actually more interested in what margin of error is acceptable for the officials' decisions—and that's kind of what I hoped the thread was about when I saw it in the portal—but that's a subject for another thread.

What's the second sensor for the Kalman filter? Even without knowing the plan, given that many teams do without even PID, my educated guess would be that you can get away without it—so it's not "necessary". Are you planning to use this for autonomous modes, or just for analyzing robot motion after the fact? How accurate are your measurements, anyway? What are you using as the baseline? Have you considered how much error is inherent to backlash in the drivetrain, for example?

The real answer is that it depends. You're going to need to define what's important to you, and assess it in that framework. Do some failure mode analysis: if the error on the encoder is 3%, and given certain other assumptions about the robot, what are the effects? Are those tolerable to you?

Another part of the analysis concerns how difficult it is for you to acquire or implement a suitable Kalman filter. Are you good at coding? Do you understand the principle of operation? What other things could you be doing instead of implementing a Kalman filter?
  #3   Spotlight this post!  
Unread 04-01-2012, 17:31
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,078
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: What margin of error is tolerable in FRC?

Is the encoder on a driven or non-driven wheel?

Non-driven wheels ("follower wheels", typically using a primitive suspension and an omniwheel) will just about always give you better encoder data than powered wheels simply because wheel slip is not an issue. I would try using a non-driven wheel before attempting something like a Kalman filter.
  #4   Spotlight this post!  
Unread 04-01-2012, 17:34
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: What margin of error is tolerable in FRC?

Quote:
Originally Posted by Tristan Lall View Post
I'm actually more interested in what margin of error is acceptable for the officials' decisions—and that's kind of what I hoped the thread was about when I saw it in the portal—but that's a subject for another thread.

What's the second sensor for the Kalman filter? Even without knowing the plan, given that many teams do without even PID, my educated guess would be that you can get away without it—so it's not "necessary". Are you planning to use this for autonomous modes, or just for analyzing robot motion after the fact? How accurate are your measurements, anyway? What are you using as the baseline? Have you considered how much error is inherent to backlash in the drivetrain, for example?

The real answer is that it depends. You're going to need to define what's important to you, and assess it in that framework. Do some failure mode analysis: if the error on the encoder is 3%, and given certain other assumptions about the robot, what are the effects? Are those tolerable to you?

Another part of the analysis concerns how difficult it is for you to acquire or implement a suitable Kalman filter. Are you good at coding? Do you understand the principle of operation? What other things could you be doing instead of implementing a Kalman filter?
It is mainly for autonomous mode. The second sensor would most likely be a gyro. The error is mostly due to mechanical issues. The chains jiggle a lot so that translates into noise in the readings. My mentor has the mentality that all software can eliminate mechanical issues. And he kind of already has put all his eggs into the software basket this year. I've already written most of the relating to the drive train for this year... Coding is not the issue; the real issue is properly understanding and implementing the filter. As far as I know, that only requires some linear algebra and a lot of reading up on it. I spent the last 2-3 days just reading up on it.

I really do not have much to do other than implement that filter and tuning the PID constants. Perhaps I can be doing my winter break homework


Quote:
Originally Posted by Jared341 View Post
Is the encoder on a driven or non-driven wheel?

Non-driven wheels ("follower wheels", typically using a primitive suspension and an omniwheel) will just about always give you better encoder data than powered wheels simply because wheel slip is not an issue. I would try using a non-driven wheel before attempting something like a Kalman filter.

All our wheels are driven (WCD)
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
  #5   Spotlight this post!  
Unread 04-01-2012, 17:40
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,580
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
Re: What margin of error is tolerable in FRC?

Can you describe the test that you performed to determine the 1.45% and 3.45% values.
  #6   Spotlight this post!  
Unread 04-01-2012, 17:43
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: What margin of error is tolerable in FRC?

Quote:
Originally Posted by Joe Ross View Post
Can you describe the test that you performed to determine the 1.45% and 3.45% values.
I let the wheels run, on blocks, at a constant PWM value for 5-10 minutes at a time and plotted all the data points on Excel and got the average RPM and divided by the range of values. And now I think about it, that is not the correct way to measure the MoE...
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
  #7   Spotlight this post!  
Unread 04-01-2012, 17:48
Andrew Schreiber Andrew Schreiber is offline
Joining the 900 Meme Team
FRC #0079
 
Join Date: Jan 2005
Rookie Year: 2000
Location: Misplaced Michigander
Posts: 4,068
Andrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond repute
Re: What margin of error is tolerable in FRC?

[quote=davidthefat;1096299] My mentor has the mentality that all software can eliminate mechanical issues. And he kind of already has put all his eggs into the software basket this year.
[\QUOTE]
Yeah... uh he's wrong.

[quote=davidthefat;1096299]
I've already written most of the relating to the drive train for this year...
[\QUOTE]

Check the rules on this one.

So here's the deal, good software can make a good robot great. Bad software can make a good robot bad. Good software can't make a mechanically incomplete robot good. What I'm trying to say is that, for FIRST, you don't always need fancy controls, you don't need 100% accurate movement. You need a 100% reliable drive train. A trained drive team. A solid scouting/strategy team. And a dedicated team of students and mentors.
__________________




.
  #8   Spotlight this post!  
Unread 04-01-2012, 17:50
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: What margin of error is tolerable in FRC?

Quote:
Originally Posted by Andrew Schreiber View Post
Check the rules on this one.

So here's the deal, good software can make a good robot great. Bad software can make a good robot bad. Good software can't make a mechanically incomplete robot good. What I'm trying to say is that, for FIRST, you don't always need fancy controls, you don't need 100% accurate movement. You need a 100% reliable drive train. A trained drive team. A solid scouting/strategy team. And a dedicated team of students and mentors.
I thought that if the code was publicly available before the kickoff, it is all good. It is on a public repository on GitHub as I type.

As far as your other comments go, I personally agree. However, I have to do everything in my power to make this year's robot best as I can. We are clearly lacking in the hardware aspect of the team and I am considering even doing the electronics this year because the main electrical guy graduated last year. It is my last year and I can't just sit around and expect someone else to do anything. That is partially the reason why I started writing the code two weeks ago and testing months ago. I'm just trying to do the best I can.
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.

Last edited by davidthefat : 04-01-2012 at 18:08.
  #9   Spotlight this post!  
Unread 04-01-2012, 17:59
EricH's Avatar
EricH EricH is offline
New year, new team
FRC #1197 (Torbots)
Team Role: Engineer
 
Join Date: Jan 2005
Rookie Year: 2003
Location: SoCal
Posts: 19,813
EricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond repute
Re: What margin of error is tolerable in FRC?

Quote:
Originally Posted by davidthefat View Post
I thought that if the code was publicly available before the kickoff, it is all good.
According to the 2011 rules, it is. (blue box in <2011R22>)

Therein lies the problem: we don't know if the rules will remain the same for 2012. Yet.
__________________
Past teams:
2003-2007: FRC0330 BeachBots
2008: FRC1135 Shmoebotics
2012: FRC4046 Schroedinger's Dragons

"Rockets are tricky..."--Elon Musk

  #10   Spotlight this post!  
Unread 08-05-2013, 17:57
jacob9706 jacob9706 is offline
Registered User
AKA: Jacob Ebey
FRC #3574 (High Tekerz)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Seattle
Posts: 101
jacob9706 is on a distinguished road
Re: What margin of error is tolerable in FRC?

I don't know if you ever found an implementation but we created one in Java last season to try out on joystick readings. Here is what we came up with.
Attached Files
File Type: java Kalman.java (2.0 KB, 30 views)
__________________
/*
* Team 3574 Alumni
*
* 2011 - Highest Seeded Rookie
* 2011 - Rookie All-Star
* 2012 - Engineering Inspiration
* 2012 - Olympic Deans List Winner
* 2013 - Engineering Inspiration
* 2013 - Judges Award (For unique circular robot and the way the team works together.)
*/
  #11   Spotlight this post!  
Unread 18-05-2013, 00:28
wireties's Avatar
wireties wireties is offline
Principal Engineer
AKA: Keith Buchanan
FRC #1296 (Full Metal Jackets)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2004
Location: Rockwall, TX
Posts: 1,170
wireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond repute
Send a message via AIM to wireties
Re: What margin of error is tolerable in FRC?

Quote:
Originally Posted by davidthefat View Post
I let the wheels run, on blocks, at a constant PWM value for 5-10 minutes at a time and plotted all the data points on Excel and got the average RPM and divided by the range of values. And now I think about it, that is not the correct way to measure the MoE...

Just a heads up... the drive train, the sensors and the software are a complete system. The system will behave very differently with no load (sitting up on blocks). In general running it on the ground dampens the response a bit and makes the system more stable. Your error bars should decrease.

HTH
__________________
Fast, cheap or working - pick any two!
  #12   Spotlight this post!  
Unread 19-05-2013, 23:16
Djur's Avatar
Djur Djur is offline
WPILib
AKA: Sam Carlberg
no team
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2009
Location: Massachusetts
Posts: 182
Djur will become famous soon enough
Re: What margin of error is tolerable in FRC?

Quote:
Originally Posted by jacob9706 View Post
I don't know if you ever found an implementation but we created one in Java last season to try out on joystick readings. Here is what we came up with.
What's that gigantic int array, joystick output? And those variables have very descriptive names... could you elaborate on what they're for?
__________________
WPILib dev (RobotBuilder, SmartDashboard, GRIP)
  #13   Spotlight this post!  
Unread 19-05-2013, 23:52
Ginto8's Avatar
Ginto8 Ginto8 is offline
Programming Lead
AKA: Joe Doyle
FRC #2729 (Storm)
Team Role: Programmer
 
Join Date: Oct 2010
Rookie Year: 2010
Location: Marlton, NJ
Posts: 174
Ginto8 is a glorious beacon of lightGinto8 is a glorious beacon of lightGinto8 is a glorious beacon of lightGinto8 is a glorious beacon of lightGinto8 is a glorious beacon of light
Re: What margin of error is tolerable in FRC?

Quote:
Originally Posted by Djur View Post
What's that gigantic int array, joystick output?
It's only used in main(), so it just seems like sample data to me.
__________________
I code stuff.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


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

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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