Go to Post I am thoroughly convinced FIRST is a sport. Convince me otherwise. - Bharat Nain [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rating: Thread Rating: 5 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 03-03-2015, 22:43
TimTheGreat's Avatar
TimTheGreat TimTheGreat is offline
ArchdukeTim
FRC #1418 (Vae Victis)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Falls Church
Posts: 234
TimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura about
Programmers on the Drive Team

For all you programmers who are also driving this year, what are some things you added codewise to make playing the game easier?
__________________
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.



2012 - Gracious Professionalism - Greater DC
2014 - Regional Finalist - Virginia | Industrial Design - Virginia | Regional Finalist - Greater DC
2015 - Innovation in Control - Greater DC
2016 - District Event Winner - VAHAY | Innovation in Control - VAHAY | District Event Winner - MDBET | Industrial Design - MDBET | District Champion - CHCMP | Innovation in Control - CHCMP
  #2   Spotlight this post!  
Unread 03-03-2015, 23:13
NWChen's Avatar
NWChen NWChen is offline
Alum
no team
 
Join Date: Oct 2012
Rookie Year: 2012
Location: New York City
Posts: 205
NWChen is a splendid one to beholdNWChen is a splendid one to beholdNWChen is a splendid one to beholdNWChen is a splendid one to beholdNWChen is a splendid one to beholdNWChen is a splendid one to beholdNWChen is a splendid one to behold
Re: Programmers on the Drive Team

While I'm not necessarily on the drive team - we added a very simple button to scale our drivetrain speed down for slow maneuvering (e.g. lining up with the human player station). Pressing the trigger multiplies output to each motor controller by 0.75.
__________________
2012 - 2015 • Team 2601

  #3   Spotlight this post!  
Unread 03-03-2015, 23:19
sergioCorral842's Avatar
sergioCorral842 sergioCorral842 is offline
College Student
FRC #0842 (Falcon Robotics)
Team Role: Alumni
 
Join Date: Aug 2011
Rookie Year: 2012
Location: Phoenix, Arizona
Posts: 161
sergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to behold
Re: Programmers on the Drive Team

In terms of how the robot drives, or the whole co-pilot/operator code? I am on the drive team, but I am the operator not exactly the driver. I do however, drive the robot a lot, so I know what I have to do to it to make it drive nice.

If you do not have some sort of PID / Gyro control on the robot for driving, get it. It really helps a ton with stabilization and driving in general. Almost anyone that picks up the control can drive it nicely with this kind of control on it.

This year I am also thinking of adding a button to change the robot's front and back, depending on what we are doing (Our robot has a tote harvester on one side, and a claw on the other).

In the end, it all depends on the driver and the robot. Every robot has different things it has to do either faster or more precise.
__________________
Team 842 Falcon Robotics: 2011-2015 (President, Head Programmer, Drive Team)
Arizona Regional Winners: 2012-2014 (Thanks 610, 1212, 1726, 3944, 2486, 2403)
Curie Division Semi-Finalists: 2014 (Thanks 1311, 2013, 2928)
Las Vegas Semi-Finalists: 2015 (Thanks 3495, 4415)
Curie Division Quarter-Finalists: 2015 (Thanks 107, 228, 649)

2015 - 2016: Programming, Drive Team, and Strategy Mentor for Team 3187, The Titans

Studying Computer Science- Software Engineering at ASU (Class of 2019)
  #4   Spotlight this post!  
Unread 03-03-2015, 23:19
xXhunter47Xx's Avatar
xXhunter47Xx xXhunter47Xx is offline
Lord of Lazy
AKA: Austin $wagmaster1337
FRC #4738 (Patribots)
Team Role: College Student
 
Join Date: Jan 2014
Rookie Year: 2013
Location: San Diego
Posts: 305
xXhunter47Xx will become famous soon enough
Re: Programmers on the Drive Team

Not this year's programmer, but can definitely tell you some things that I've worked with the programmers to implement to make my drivers have a better experience.

Speed Select:
100% speed at no button press
50% speed at button 1 on both joysticks
25% speed at button 2 on both joysticks etc

Position Select:
Buttons on button panel push the lift to specified levels based on measurements and encoder PID crap that I'm too lazy to go into detail about but took them ages to implement. At least they figured out PID, I couldn't do it for crap.

Since our robot has super simple movement that's about it.
__________________
College sux yo
  #5   Spotlight this post!  
Unread 03-03-2015, 23:27
Aaron (Awe-Sum)'s Avatar
Aaron (Awe-Sum) Aaron (Awe-Sum) is offline
4961 Strategy/Scouting Mentor
AKA: A-A-Ron
FRC #4961 (Shock and Awe-Sum)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2014
Location: Almont, MI
Posts: 48
Aaron (Awe-Sum) is an unknown quantity at this point
Re: Programmers on the Drive Team

We added a speed control for the drive motors on the controller (left trigger is 60% and right trigger is 40%), along with a filter on the controller joysticks to eliminate slight variations on the direction of the robot (basically to allow for perfect forward backward left right movement by eliminating a few degrees of difference from those directions)
  #6   Spotlight this post!  
Unread 03-03-2015, 23:30
TimTheGreat's Avatar
TimTheGreat TimTheGreat is offline
ArchdukeTim
FRC #1418 (Vae Victis)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Falls Church
Posts: 234
TimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura about
Re: Programmers on the Drive Team

Quote:
Originally Posted by sergioCorral842 View Post
If you do not have some sort of PID / Gyro control on the robot for driving, get it.
What sort of PID do you use for drive train?
__________________
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.



2012 - Gracious Professionalism - Greater DC
2014 - Regional Finalist - Virginia | Industrial Design - Virginia | Regional Finalist - Greater DC
2015 - Innovation in Control - Greater DC
2016 - District Event Winner - VAHAY | Innovation in Control - VAHAY | District Event Winner - MDBET | Industrial Design - MDBET | District Champion - CHCMP | Innovation in Control - CHCMP
  #7   Spotlight this post!  
Unread 04-03-2015, 00:55
sergioCorral842's Avatar
sergioCorral842 sergioCorral842 is offline
College Student
FRC #0842 (Falcon Robotics)
Team Role: Alumni
 
Join Date: Aug 2011
Rookie Year: 2012
Location: Phoenix, Arizona
Posts: 161
sergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to beholdsergioCorral842 is a splendid one to behold
Re: Programmers on the Drive Team

Quote:
Originally Posted by TimTheGreat View Post
What sort of PID do you use for drive train?
This year we are using the Talon SRX's built in PID that takes input from an encoder (4 Six Inch Vex Pro Mecanum Wheels, 1 encoder connected to each motor and then connected directly to the talon).
__________________
Team 842 Falcon Robotics: 2011-2015 (President, Head Programmer, Drive Team)
Arizona Regional Winners: 2012-2014 (Thanks 610, 1212, 1726, 3944, 2486, 2403)
Curie Division Semi-Finalists: 2014 (Thanks 1311, 2013, 2928)
Las Vegas Semi-Finalists: 2015 (Thanks 3495, 4415)
Curie Division Quarter-Finalists: 2015 (Thanks 107, 228, 649)

2015 - 2016: Programming, Drive Team, and Strategy Mentor for Team 3187, The Titans

Studying Computer Science- Software Engineering at ASU (Class of 2019)
  #8   Spotlight this post!  
Unread 04-03-2015, 08:13
GeeTwo's Avatar
GeeTwo GeeTwo is online now
Technical Director
AKA: Gus Michel II
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Slidell, LA
Posts: 3,565
GeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond repute
Re: Programmers on the Drive Team

Our driver last year (still TBD this year) is the captain of programming this year. We have a very simple robot (4 actuators: H drive plus lift). He didn't feel that we needed to do very much with the slew driving; we have an arcade drive on our tank wheels and another joystick for strafing.

However, with no active intake and less than 1/4" tolerance to grab the side of the totes, pickup of game pieces takes a long time if being controlled from a distance away behind the polycarbonate. In addition to a camera which will both provide a driver feed and do some automated tote-finding, we have installed five sensors on the lift (four limit switches and an encoder), two rangefinders (distance to game piece or wall left and right), and four touch sensors (two curb feelers to find the scoring platform, and two on the lift face so we know wen we've touched a tote at both left and right ends). The practice 'bot is alternating between drive sessions and programming sessions to semi-automate pickup, stacking, and scoring motions.
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.
  #9   Spotlight this post!  
Unread 04-03-2015, 08:48
Damiaen_Florian's Avatar
Damiaen_Florian Damiaen_Florian is offline
Do It Until You Can't Get It Wrong
FRC #0195 (The Cyber Knights)
Team Role: Coach
 
Join Date: Dec 2011
Rookie Year: 2011
Location: Southington CT
Posts: 94
Damiaen_Florian is a name known to allDamiaen_Florian is a name known to allDamiaen_Florian is a name known to allDamiaen_Florian is a name known to allDamiaen_Florian is a name known to allDamiaen_Florian is a name known to all
Re: Programmers on the Drive Team

While I am not a programmer I was the driver on my team from 2013-2014.

In addition to the button that slowed down the overall speed of the robot (I used 1/3, but it can be slowed down to a number of different variants, whatever works for you really) I also had 2 buttons that would slowly turn the robot left or right, but still allow you to drive full speed, this helped with lining up for the high goal/3 pt. goal in 2013 & 2014.

In terms of ease of driving I had another 2 buttons that would spin the robot 180 degrees either left or right, holding the stick forward while doing this would allow the robot to drive around a radius. And lastly there was a button on my controller that would flip the axis of robot, so now driving with the back end of my robot was like driving forwards and vice versa.

These buttons might not be necessary to every robot because it definitely depends on your strategy of the game and robot design but for us it made sense. That being said the more the season went on I found myself using these buttons less and less and eventually stopped using them altogether.
__________________
There's always more than one way to win a game.

FRC Team 195 2011-current
  #10   Spotlight this post!  
Unread 04-03-2015, 11:03
TylerStaudigel's Avatar
TylerStaudigel TylerStaudigel is offline
Registered User
FRC #0144 (R.O.C.K)
Team Role: Programmer
 
Join Date: Dec 2013
Rookie Year: 2014
Location: United States
Posts: 39
TylerStaudigel is an unknown quantity at this point
Re: Programmers on the Drive Team

We added RGB LED strips on the sides of our elevator. They change color depending on what level our elevator is at so that we can clearly see our mechanisms height. It's pretty helpful!
  #11   Spotlight this post!  
Unread 04-03-2015, 12:50
NHoffmann's Avatar
NHoffmann NHoffmann is offline
Registered User
FRC #0573 (Mech Warriors)
Team Role: Programmer
 
Join Date: Sep 2014
Rookie Year: 2014
Location: Bloomfield Hills
Posts: 36
NHoffmann is an unknown quantity at this point
Re: Programmers on the Drive Team

Working on an auto-pickup button. Otherwise, changing which side of the robot is the "front" based on which driver trigger is pressed.
__________________
WHO ARE WE?

573!
  #12   Spotlight this post!  
Unread 04-03-2015, 16:23
Oromus's Avatar
Oromus Oromus is offline
Lead Programmer, Community Liason
AKA: Ryan
FRC #1902 (Exploding Bacon)
Team Role: Programmer
 
Join Date: Jan 2015
Rookie Year: 2013
Location: Florida
Posts: 80
Oromus is a splendid one to beholdOromus is a splendid one to beholdOromus is a splendid one to beholdOromus is a splendid one to beholdOromus is a splendid one to beholdOromus is a splendid one to behold
Re: Programmers on the Drive Team

I'm not on the drive team, but I take it upon myself to make changes to the control scheme/add features to fit the individual driver's needs. We've added automation to the opening/closing of our intake based off of the stake of the intake's wheels, a "slow button" for the driver, and created an auto-stacking button for the manipulator.
  #13   Spotlight this post!  
Unread 05-03-2015, 18:48
AutoBotAM AutoBotAM is offline
Registered User
AKA: Christian Reese
FRC #2077 (Laser Robotics (Laserbots))
Team Role: Programmer
 
Join Date: Mar 2012
Rookie Year: 2010
Location: Wisconsin
Posts: 34
AutoBotAM is an unknown quantity at this point
Re: Programmers on the Drive Team

I'm the lead programmer and one of the drivers this year. I added in an automated program for our lifting device that utilized various limit switch sensors for different states. One can just hold down a button, and the lift will cycle itself appropriately based on the current state. So we can have one driver positioning for collection while the other driver simply holds down the button while totes are being collected. No need to manually control the lift and manually align totes for stacking!
__________________
"Mecanum drivetrains, like every other, have advantages and disadvantages, but some of the disadvantages being discussed here are overstated and/or misinformation." -buchanan
  #14   Spotlight this post!  
Unread 05-03-2015, 23:28
Ozuru's Avatar
Ozuru Ozuru is offline
It's always the programmer's fault.
no team
 
Join Date: May 2013
Rookie Year: 2010
Location: Earth
Posts: 268
Ozuru is a splendid one to beholdOzuru is a splendid one to beholdOzuru is a splendid one to beholdOzuru is a splendid one to beholdOzuru is a splendid one to beholdOzuru is a splendid one to beholdOzuru is a splendid one to behold
Re: Programmers on the Drive Team

Quote:
Originally Posted by AutoBotAM View Post
I'm the lead programmer and one of the drivers this year. I added in an automated program for our lifting device that utilized various limit switch sensors for different states. One can just hold down a button, and the lift will cycle itself appropriately based on the current state. So we can have one driver positioning for collection while the other driver simply holds down the button while totes are being collected. No need to manually control the lift and manually align totes for stacking!
How are you ensuring the lift mechanism hits limit switches? We're having trouble doing so.
  #15   Spotlight this post!  
Unread 06-03-2015, 00:35
GeeTwo's Avatar
GeeTwo GeeTwo is online now
Technical Director
AKA: Gus Michel II
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Slidell, LA
Posts: 3,565
GeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond repute
Re: Programmers on the Drive Team

Quote:
Originally Posted by Ozuru View Post
How are you ensuring the lift mechanism hits limit switches? We're having trouble doing so.
We have limit switches on our lift as well, actually four. We used some long-lever switches from Jameco and bent the arms up about 45 degrees one needle-nose-plier width beyond the end of the switch, and down about 90 degrees another plier width down. It ended up looking something like this:
Code:
 
   _________/\
  ┌───────┐   \
  │       │    \
  └───────┘
We mounted this inside our lift channel beside the place where our lift plate passed. As the plate reaches the switch, it pushes back on that 90 degree bend, activating the switch. The long lead at the end keeps the lift from jamming the switch on the return stroke, which was a problem we had with rollers that weren't precisely aligned.

Edit: I attached a photo of how our roller limit switches were mounted.
Attached Thumbnails
Click image for larger version

Name:	HPIM1533.JPG
Views:	151
Size:	293.3 KB
ID:	18570  
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.

Last edited by GeeTwo : 06-03-2015 at 00:39.
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 10:03.

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