Go to Post Being called coach for the first time by some of my team. My dad was a football player and when I told him that story he teared up a bit. Me? A Coach? - MysterE [more]
Home
Go Back   Chief Delphi > FIRST > General Forum
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 02-05-2016, 21:40
liavt liavt is offline
5431 Programmer/Pit
FRC #5431 (Titan Robotics)
Team Role: Programmer
 
Join Date: May 2016
Rookie Year: 2016
Location: Plano, TX
Posts: 1
liavt is an unknown quantity at this point
When programming doesn't get enough time

https://drive.google.com/file/d/0B7l...ew?usp=sharing
Reply With Quote
  #2   Spotlight this post!  
Unread 02-05-2016, 21:49
MaestroRoboto's Avatar
MaestroRoboto MaestroRoboto is offline
Registered User
AKA: Hiren Bhavsar
FLL #0020 (The Rocketeers)
Team Role: Alumni
 
Join Date: Mar 2014
Rookie Year: 2012
Location: United States
Posts: 25
MaestroRoboto has a spectacular aura aboutMaestroRoboto has a spectacular aura about
Re: When programming doesn't get enough time

I know the feeling

https://drive.google.com/file/d/0Bwz...ew?usp=sharing
__________________
01001000 01001001 00100000 00111010 00101001


Reply With Quote
  #3   Spotlight this post!  
Unread 02-05-2016, 21:53
Hitchhiker 42's Avatar
Hitchhiker 42 Hitchhiker 42 is offline
Roboter
AKA: Mark Lavrentyev
FRC #4557 (FullMetal Falcons)
Team Role: Programmer
 
Join Date: Oct 2015
Rookie Year: 2015
Location: Cromwell, CT
Posts: 469
Hitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to behold
Re: When programming doesn't get enough time

Best way to avoid this: set a schedule, and keep to it. Something that comes up on our team too. End up doing a lot of the testing during our 6 hour unbag time.
__________________



2016 - NE District Championship Entrepreneurship Award
2016 - Hartford District Industrial Design Award
2016 - Waterbury District Engineering Inspiration Award
Reply With Quote
  #4   Spotlight this post!  
Unread 02-05-2016, 22:28
cjl2625's Avatar
cjl2625 cjl2625 is offline
apel py
AKA: Cory Lynch
FRC #2067 (Apple Pi)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2013
Location: Guilford, CT
Posts: 412
cjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to behold
Re: When programming doesn't get enough time

Curse those filthy wrench-swinging rivet-popping screw-driving hammer-smashing mechanical barbarians.

Hand over the robot to the programmers!
__________________
Head Programmer / Driver
Reply With Quote
  #5   Spotlight this post!  
Unread 02-05-2016, 23:17
arc25565 arc25565 is offline
Registered User
FRC #1482 (Ghosts)
Team Role: Mechanical
 
Join Date: Nov 2015
Rookie Year: 2015
Location: Calgary
Posts: 43
arc25565 is an unknown quantity at this point
Re: When programming doesn't get enough time

We were competing in a week 1 regional and the programmers had to do all the code on the plane.
Reply With Quote
  #6   Spotlight this post!  
Unread 02-05-2016, 23:20
BrianAtlanta's Avatar
BrianAtlanta BrianAtlanta is online now
Registered User
FRC #1261
Team Role: Mentor
 
Join Date: Apr 2014
Rookie Year: 2012
Location: Atlanta, GA
Posts: 69
BrianAtlanta has a spectacular aura aboutBrianAtlanta has a spectacular aura about
Re: When programming doesn't get enough time

Even at work you never get enough time to program. Sales and Managers seem to think that programming is easy. If I hear "I JUST want..." Nothing is ever "JUST"

</rant>
Brian
__________________
Reply With Quote
  #7   Spotlight this post!  
Unread 02-05-2016, 23:27
Rivet Man Rivet Man is offline
Registered User
AKA: 97525A425
no team (Better than Bolts)
 
Join Date: Mar 2016
Rookie Year: 2014
Location: Jacksonville
Posts: 40
Rivet Man has a reputation beyond reputeRivet Man has a reputation beyond reputeRivet Man has a reputation beyond reputeRivet Man has a reputation beyond reputeRivet Man has a reputation beyond reputeRivet Man has a reputation beyond reputeRivet Man has a reputation beyond reputeRivet Man has a reputation beyond reputeRivet Man has a reputation beyond reputeRivet Man has a reputation beyond reputeRivet Man has a reputation beyond repute
Re: When programming doesn't get enough time

Quote:
Originally Posted by cjl2625 View Post
Curse those filthy wrench-swinging rivet-popping screw-driving hammer-smashing mechanical barbarians.

Hand over the robot to the programmers!
Hi cjl2625,

I noticed you had an issue with people rivet-popping. In particular, you called them barbarians.

While it's true that rivets have been around for quite a long time (archaeological findings date rivet use back to the bronze period) that does not make the people who implement them barbarians. In fact, it typically implies the opposite. Rivets are an extremely useful and lightweight fastener system that have allowed for a number of technological advancements to occur!

Hope this has helped pop your feelings about those of us who use rivets.

Best Regards,
RM
Reply With Quote
  #8   Spotlight this post!  
Unread 02-05-2016, 23:32
danieltorres danieltorres is offline
Programmer
FRC #0696
Team Role: Programmer
 
Join Date: Jan 2016
Rookie Year: 2014
Location: The Earth
Posts: 3
danieltorres is on a distinguished road
Re: When programming doesn't get enough time

Quote:
Originally Posted by cjl2625 View Post
Curse those filthy wrench-swinging rivet-popping screw-driving hammer-smashing mechanical barbarians.

Hand over the robot to the programmers!
EXACTLY! Those barbarians are SOO difficult to deal with right?!?
Reply With Quote
  #9   Spotlight this post!  
Unread 03-05-2016, 06:13
EmileH's Avatar
EmileH EmileH is online now
it's not a water game, ok?
AKA: Emile Hamwey
FRC #1058 (PVC Pirates) & SLFF (NE Way You Want It)
Team Role: Programmer
 
Join Date: Dec 2014
Rookie Year: 2011
Location: New England
Posts: 531
EmileH has a brilliant futureEmileH has a brilliant futureEmileH has a brilliant futureEmileH has a brilliant futureEmileH has a brilliant futureEmileH has a brilliant futureEmileH has a brilliant futureEmileH has a brilliant futureEmileH has a brilliant futureEmileH has a brilliant futureEmileH has a brilliant future
Re: When programming doesn't get enough time

Quote:
Originally Posted by cjl2625 View Post
Curse those filthy wrench-swinging rivet-popping screw-driving hammer-smashing mechanical barbarians.

Hand over the robot to the programmers!
Quote:
You must spread some Reputation around before giving it to cjl2625 again.
Most true statement I've read in a while
__________________
2016-present: High School Student, FRC 1058 PVC Pirates
2016: RiverRage 20 Champions, Battle of the Bay 3 Champions

2013-2015: Middle School Student, FRC 3467 Windham Windup
Reply With Quote
  #10   Spotlight this post!  
Unread 03-05-2016, 07:07
R2D2DOC's Avatar
R2D2DOC R2D2DOC is offline
Registered User
AKA: Laszlo Hideg
no team (Judge & Volunteer)
 
Join Date: Oct 2007
Rookie Year: 2006
Location: Michigan
Posts: 79
R2D2DOC will become famous soon enoughR2D2DOC will become famous soon enough
Re: When programming doesn't get enough time

Hello,

In sympathy with the programmers, how about this (and check the legality of any of it):
(1) Is wireless flash of the controller available? If so:
(2) Bag the robot with a charged battery.
(3) Put the robot up on blocks.
(4) Depending on what is in the bag, and attached:
(5) Programmers can modify code and wirelessly flash and do limited testing?
(6) Yes electrons are passing though the bag. Yes an electrical change is being made on the robot, but not mechanical.

Just thowing it out there. . . . .

It is human nature to let things slide, especially when the deadline appears far away, and you are not on the tail end of the process. Off season, endeavor to think about scheduling, robot modular design, practice robot, or even partial practice robot that can be controlled and powered. For example, if the mechanical design crew is working on the game manipulator, with a modular design, the programmers can work on chassis control.

Hoping to make the process more effective for as many teams as possible.
Reply With Quote
  #11   Spotlight this post!  
Unread 03-05-2016, 07:50
Bongle's Avatar
Bongle Bongle is offline
Registered User
FRC #2702 (REBotics)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Waterloo
Posts: 1,069
Bongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond repute
Send a message via MSN to Bongle
Re: When programming doesn't get enough time

We got around this very effectively this year by taking a test-driven approach.

Split whatever code you're trying to test out into its own class, and have its entire interface with the robot be a single function call. Make sure the controlling code doesn't talk directly with WPILib (or else it ups the complexity of doing your simulated tests) We had something like:
Code:
class ArmController
{
public:
  Tick(double currentTime, double armPosition, double* shoulderPower, double* elbowPower);
private:
  PIDController m_myPidController;
  int myCurrentState; // 0 = stowing, 1 = going out, 2 = out, 3 = stowed, etc.
};
Usage in the robot code looks like:
Code:
double shoulderPower=0;
double elbowPower=0;
m_armController.Tick(currentTime, m_armPot.Get(), &shoulderPower, &elbowPower);

m_shoulderMotor.set(shoulderPower);
m_elbowMotor.set(elbowPower);
Then, elsewhere (in our case in Visual Studio), write some other code like:
Code:
ArmController controller;
double desiredShoulderPower;
double desiredElbowPower;
controller.Tick(0, OUT_POSITION, &desiredShoulderPower, &desiredElbowPower);

assert(desiredShoulderPower == 0); // the arm is out, so we shouldn't be trying to drive it
assert(desiredElbowPower == 0); // the arm is out, so we shouldn't be trying to drive it.
And do that for every other state that the arm might be in. We ended up with 20-30 unique tests for our arm controller, found a _ton_ of subtle bugs (some that we may not have found while doing in-pit testing anyway), and it worked _flawlessly_. We wrote it in the stands at Waterloo while the team was unbagging the robot, and basically didn't even give it a classic on-robot test.

Last edited by Bongle : 03-05-2016 at 07:52.
Reply With Quote
  #12   Spotlight this post!  
Unread 03-05-2016, 08:42
Hitchhiker 42's Avatar
Hitchhiker 42 Hitchhiker 42 is offline
Roboter
AKA: Mark Lavrentyev
FRC #4557 (FullMetal Falcons)
Team Role: Programmer
 
Join Date: Oct 2015
Rookie Year: 2015
Location: Cromwell, CT
Posts: 469
Hitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to beholdHitchhiker 42 is a splendid one to behold
Re: When programming doesn't get enough time

Quote:
Originally Posted by BrianAtlanta View Post
Even at work you never get enough time to program. Sales and Managers seem to think that programming is easy. If I hear "I JUST want..." Nothing is ever "JUST"

</rant>
Brian
Just wanted to put this here as it seems fitting:
http://xkcd.com/1425/
__________________



2016 - NE District Championship Entrepreneurship Award
2016 - Hartford District Industrial Design Award
2016 - Waterbury District Engineering Inspiration Award
Reply With Quote
  #13   Spotlight this post!  
Unread 03-05-2016, 08:46
Chris Hibner's Avatar Unsung FIRST Hero
Chris Hibner Chris Hibner is offline
Eschewing Obfuscation Since 1990
AKA: Lars Kamen's Roadie
FRC #0051 (Wings of Fire)
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 1997
Location: Canton, MI
Posts: 1,488
Chris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond repute
Re: When programming doesn't get enough time

As Bongle said: simulation is everything. We write simulation wrappers for almost every bit of code we do, and test it on a PC before it ever sees the robot.

The key is to structure your code such that it can be executed on a PC - in other words, don't bury calls to the hardware input reading or output setting functions within each code unit. This will allow you to test your code unit off the robot.
__________________
-
An ounce of perception is worth a pound of obscure.
Reply With Quote
  #14   Spotlight this post!  
Unread 03-05-2016, 09:07
FrankJ's Avatar
FrankJ FrankJ is offline
Robot Mentor
FRC #2974 (WALT)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2009
Location: Marietta GA
Posts: 1,897
FrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond repute
Re: When programming doesn't get enough time

Every year I tell the programmers they get the robot first. They program it. Then we build it. They have yet to take me up on the offer so they get what they get.
__________________
If you don't know what you should hook up then you should read a data sheet
Reply With Quote
  #15   Spotlight this post!  
Unread 03-05-2016, 09:47
Drakxii Drakxii is offline
Registered User
FRC #4131 (Iron Patriots)
Team Role: Mentor
 
Join Date: May 2014
Rookie Year: 2012
Location: United States
Posts: 120
Drakxii is just really niceDrakxii is just really niceDrakxii is just really niceDrakxii is just really niceDrakxii is just really nice
Re: When programming doesn't get enough time

Quote:
Originally Posted by R2D2DOC View Post
Hello,

In sympathy with the programmers, how about this (and check the legality of any of it):
(1) Is wireless flash of the controller available? If so:
(2) Bag the robot with a charged battery.
(3) Put the robot up on blocks.
(4) Depending on what is in the bag, and attached:
(5) Programmers can modify code and wirelessly flash and do limited testing?
(6) Yes electrons are passing though the bag. Yes an electrical change is being made on the robot, but not mechanical.

Just thowing it out there. . . . .

It is human nature to let things slide, especially when the deadline appears far away, and you are not on the tail end of the process. Off season, endeavor to think about scheduling, robot modular design, practice robot, or even partial practice robot that can be controlled and powered. For example, if the mechanical design crew is working on the game manipulator, with a modular design, the programmers can work on chassis control.

Hoping to make the process more effective for as many teams as possible.
This... is a terrible idea. Not only do you run the risk of putting a hole in the bag but you can't really test anything this way. My programmers and I can make any bot WORK in about an hour or two but it takes days of coding AND FIELD testing to make it work RIGHT.
__________________
Michael D.
Favorite game: Aerial Assist
Least Favorite: Recycle Rush

Pantherbots Mentor - #2582 Lufkin, TX
* Lone Star Regional 2016, 2015 - 3rd place (Semifinals), 2014 - Quarterfinals, 2013 - Quarterfinals (Judges Award)

Iron Patriots Mentor - #4131 Renton, WA
PNW Ranking: 2016 - 18
* Auburn Mountain View District Event 2016 - Semifinals (EE Award)
* Auburn District Event 2016 - Finalists (ID Award)
* PNW Champs 2016 - Quarterfinals
* World Champs 2016 - Carson
Reply With Quote
Reply


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 13:51.

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