Go to Post You can design and theorize all you want, but the sooner you get to testing your ideas and seeing how things actually work, the better off you will be. - Andy Baker [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 Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 26-01-2013, 20:54
z_beeblebrox's Avatar
z_beeblebrox z_beeblebrox is offline
Custom User Title
AKA: Cal
FRC #4183 (Bit Buckets)
Team Role: Alumni
 
Join Date: Jan 2012
Rookie Year: 2012
Location: Cambridge MA
Posts: 811
z_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond repute
Drivetrain Control Systems

Just curious and looking for ideas:

How does your team control your drivetrain? Tank, arcade or something different? What is your OI? Any feedback or closed-loop control? Extra features like automatic shifting, etc.? How do you control it in autonomous? Why did you do it like you did? How well does it work?

About my team:

Last year, we used the default arcade drive code with the turn and drive rate controls divided between the sticks of a gamepad. We had no autonomous driving or sensor feedback. Our control system worked OK, given the limitations (terrible turning) of the 4-wheel drive we built.
This year, we are using a 6-wheel dropped center wheel drivetrain with shifting transmissions. Based on the experience of our mentors and other successful Arizona teams, we decided to modify an RC pistol grip controller for our OI. (After driving it for a while, I never want to go back to gamepads) At first, we tried the same sort of arcade drive code as last year. It worked well enough to control the robot, but made it difficult to do smooth, fast movements (although lack of driver practice may have contributed to that).
Now, our control system is based on the pseudocode that a 254 mentor posted here. This system lets you control turn radius instead of turn rate, making the robot behave more like a car. Everyone who drives the robot is impressed by its smooth, precise turning at high speeds.
Over the next few days, we plan on implementing PID speed control with left and right encoders to make the robot drive straight without operator corrections. We are also working on driving to pick up discs in the autonomous period. This will use a trapezoidal speed profile generator and a speed PID controller for each side.
__________________
2012 Utah Regional Rookie All-Star
2013 Phoenix Regional Judge's Award for "design process and prototyping"
2014 Hub City Regional Quality Award, Arizona Regional Excellence in Engineering Award
2015 Arizona East Regional Creativity Award, Winner
2016 Arizona North Regional Finalist, Arizona West Excellence in Engineering Award, Finalist
  #2   Spotlight this post!  
Unread 29-01-2013, 22:30
tcjinaz tcjinaz is offline
Tim
FRC #3853
Team Role: Mentor
 
Join Date: May 2011
Rookie Year: 2011
Location: Arizona
Posts: 206
tcjinaz has a spectacular aura abouttcjinaz has a spectacular aura about
Re: Drivetrain Control Systems

Hi Zaphod

Still got that extra head ?

We're experimenting right now, and comparing Arcade, Tank and 610 Mr Lim's Kaj (split Arcade) control setups with both Logitech Joysticks and, soon, the Logitech Gamepad.

The jury is still out. The most experienced driver is addicted to tank drive. The rookies are split between tank and Kaj.

Simultaneously, we are messing with filters, rate limits and the like on the inputs. It started with "debounce the operators," but has become interesting since.
__________________
Software Mentor
3853 Pridetronics[

  #3   Spotlight this post!  
Unread 31-01-2013, 00:15
Mr. Lim Mr. Lim is offline
Registered User
AKA: Mr. Lim
no team
Team Role: Leadership
 
Join Date: Jan 2004
Rookie Year: 1998
Location: Toronto, Ontario
Posts: 1,125
Mr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond repute
Re: Drivetrain Control Systems

I may be a bit biased... but "Kaj Drive" (split arcade, y-axis on the left stick, x-axis on the right stick) has been a staple on both 188 and 610 for quite some time.

Kaj refers to Kajeevan, a long-standing and well-decorated former driver for 188 who pushed hard for this drive layout as a grade 9 driver, and used it to great effect ever since.

It is best implemented on a gamepad like the Logitech Dual Action / F310s.
__________________
In life, what you give, you keep. What you fail to give, you lose forever...
  #4   Spotlight this post!  
Unread 31-01-2013, 09:26
ttldomination's Avatar
ttldomination ttldomination is offline
Sunny
no team
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2007
Location: Roanoke, TX
Posts: 2,066
ttldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond repute
Re: Drivetrain Control Systems

Quote:
Originally Posted by Mr. Lim View Post
I may be a bit biased... but "Kaj Drive" (split arcade, y-axis on the left stick, x-axis on the right stick) has been a staple on both 188 and 610 for quite some time.

Kaj refers to Kajeevan, a long-standing and well-decorated former driver for 188 who pushed hard for this drive layout as a grade 9 driver, and used it to great effect ever since.

It is best implemented on a gamepad like the Logitech Dual Action / F310s.
My team refers to that as arcade drive, but I suppose there some ambiguity when it comes to arcade on one vs. two joysticks.

I will say that arcade on one joystick is extremely difficult to do. I'd recommend the "Halo Drive", or what Mr. Lim calls the "Kaj Drive". Just take the drive scheme off the Halo games. Literally the easiest system to implement and the easiest for someone to learn.

- Sunny G.
__________________
1261: 2007-2012
1648: 2013-2014
5283: 2015
  #5   Spotlight this post!  
Unread 31-01-2013, 11:50
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,125
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Drivetrain Control Systems

Quote:
Originally Posted by ttldomination View Post
I'd recommend the "Halo Drive", or what Mr. Lim calls the "Kaj Drive".
I don't think the operator interface Mr Lim described is Halo.

I've never seen or used a Halo game (I'm not into video games), but from discussions here on CD, Halo has fwd/reverse on the Y axis, and strafe right/left (not rotate) on the X axis of the same joystick.


  #6   Spotlight this post!  
Unread 31-01-2013, 12:26
ttldomination's Avatar
ttldomination ttldomination is offline
Sunny
no team
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2007
Location: Roanoke, TX
Posts: 2,066
ttldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond repute
Re: Drivetrain Control Systems

Quote:
Originally Posted by Ether View Post
I don't think the operator interface Mr Lim described is Halo.

I've never seen or used a Halo game (I'm not into video games), but from discussions here on CD, Halo has fwd/reverse on the Y axis, and strafe right/left (not rotate) on the X axis of the same joystick.


Ah, thanks for that.

When talking to the students, if you say "Halo Drive", about 90% of then pick up on what I intended for it to mean, so I suppose that kind of sunk in.

- Sunny G.
__________________
1261: 2007-2012
1648: 2013-2014
5283: 2015
  #7   Spotlight this post!  
Unread 31-01-2013, 12:37
Brian Ha's Avatar
Brian Ha Brian Ha is offline
Teh Ha Kid
FRC #0302 (Team 302)
Team Role: Driver
 
Join Date: Oct 2009
Rookie Year: 2009
Location: Oxford
Posts: 151
Brian Ha has a spectacular aura aboutBrian Ha has a spectacular aura aboutBrian Ha has a spectacular aura about
Re: Drivetrain Control Systems

What Mr. Lim calls Kaj drive we actually call it RC Drive because technically that's is where it comes from. That is also the drive system that we use since i fought for it as driver.
__________________
Starcraft 2 Hit me up Cheese 972, or join the FRC chat room ingame
  #8   Spotlight this post!  
Unread 31-01-2013, 12:43
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,125
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Drivetrain Control Systems

Quote:
Originally Posted by Brian Ha View Post
we actually call it RC Drive because technically that's is where it comes from
It comes from RC? What's RC?


  #9   Spotlight this post!  
Unread 31-01-2013, 13:03
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,600
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: Drivetrain Control Systems

Quote:
Originally Posted by Ether View Post
It comes from RC? What's RC?
http://www.rcplanet.com/Futaba_2DR_2...-asterisk-.htm Notice how the joysticks are constrained to one axis each.
  #10   Spotlight this post!  
Unread 31-01-2013, 13:19
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Drivetrain Control Systems

When we run 'halo', we do the following:

-If the robot can strafe (some of our VRC robots can), we map the left stick as Translation and the right stick X as rotation. Idealy we would have a translation vector and rotation power, and map everything nicely and correctly, but in the real world we just use a our 'normal' 2-stick non-strafe halo drive and map the left X to the strafe wheel (in a 5-wheel H drive). One Vex robot in particular was really fun to drive, since the gains worked out nicely so the axis of rotation while strafing and rotating fully (e.g. left stuck straight left, right stick straight right) would rotate around the tip of the collector.

-If the robot cannot strafe, we remove the left X (in software, not physically) and use the left Y as 'Throttle' and right X as 'Wheel'. We then use a variant of the Cheesy Poofs algorithm which switches to 'quick-turn' when Throttle is very small. This is what we usually call a 'Halo drive'. Our drivers all liked this algorithm, and I liked it also.

We are actually running something different this year, but I can't talk about it. Ask our pit crew or me about it at a competition.
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
  #11   Spotlight this post!  
Unread 31-01-2013, 14:09
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,125
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Drivetrain Control Systems

Quote:
Originally Posted by Joe Ross View Post
http://www.rcplanet.com/Futaba_2DR_2...-asterisk-.htm Notice how the joysticks are constrained to one axis each.
OK, so with an RC Drive you could put either strafe or rotation on the X axis. So RC Drive would be a superset of Kaj, not a synonym.


  #12   Spotlight this post!  
Unread 31-01-2013, 15:37
Iaquinto.Joe's Avatar
Iaquinto.Joe Iaquinto.Joe is offline
RPI 2018
AKA: Joe Iaquinto
FRC #0308 (The Monsters)
Team Role: Alumni
 
Join Date: Jan 2013
Rookie Year: 2011
Location: United States
Posts: 166
Iaquinto.Joe is a jewel in the roughIaquinto.Joe is a jewel in the roughIaquinto.Joe is a jewel in the rough
Re: Drivetrain Control Systems

This year we decided to create a new control system. We bought a flight controller joystick and mapped the thrust to power, while the right joystick controls rotation and translation values. So if the thrust = 0 and the right joystick is moving, the robot does not move. But if the thrust = 1 and you move the joystick, the robot travels with 100% power to the victors.
__________________
4 year 2011 - 2014 FRC team 308 member, Lead Programmer - C++ / LabVIEW

3 year 2011, 2013, 2014 OCCRA member, Co-Captain OCCRA team 308
  • OCCRA Engineering Excellence - Waterford Kettering 2013
  • Innovation in Control - 2011
  • Quality award- Northville 2012
  • Engineering Excellence- Howell 2014
  • Innovation in Controls- Livonia 2014
  #13   Spotlight this post!  
Unread 31-01-2013, 16:23
Johnbot's Avatar
Johnbot Johnbot is offline
Es Brokein!
AKA: John Westhoff
FRC #4791 (Pandroids)
Team Role: Mentor
 
Join Date: Feb 2012
Rookie Year: 2010
Location: Horsham, PA
Posts: 92
Johnbot is just really niceJohnbot is just really niceJohnbot is just really niceJohnbot is just really niceJohnbot is just really nice
Re: Drivetrain Control Systems

2607, for the past two years, have used "Kaj drive." It started with Logo Motion, when we tried to use Mecanum wheels for the first time. Forward/Reverse was on the Y axis on the left stick, strafing was on the X axis on the left stick, and turning was on the X axis on the right stick.

Well, we only supported our Mecanum wheels on one side, so the shafts holding them were terribly bent up by our second regional, so we couldn't strafe much at all, leaving us with turning on the right stick, and drive on the left stick.
We decided to keep it for Rebound Rumble, and it worked well.

This year, however, I am looking into other methods for controlling our robot. Our current design has a frame of 37"x19", and it has a 40" tower in the front, so it is pretty tippy. I'm playing around with voltage ramping with our Jaguars to make sure we don't flip from changing direction too quickly. Also, I'm trying to add an accelerometer to the tower to correct itself if it ever begins to tip. We also want to mess around with the idea of automatically changing from break to coast depending on our current state of motion.
__________________

2011-2014 - FRC 2607 - Student
2012-2012 - FLL 2249 - Coach
2015- ???? - FRC 4791 - Mentor

Last edited by Johnbot : 31-01-2013 at 16:25. Reason: I made dumb mistakes, and Google Chrome mis-corrected my post.
  #14   Spotlight this post!  
Unread 31-01-2013, 20:47
tcjinaz tcjinaz is offline
Tim
FRC #3853
Team Role: Mentor
 
Join Date: May 2011
Rookie Year: 2011
Location: Arizona
Posts: 206
tcjinaz has a spectacular aura abouttcjinaz has a spectacular aura about
Re: Drivetrain Control Systems

Kajeevan apparently fly some planes along the way

I think we actually implemented Inverse Kaj, I was winging it with a bad memory. We will try True Kaj on Saturday.
__________________
Software Mentor
3853 Pridetronics[

  #15   Spotlight this post!  
Unread 31-01-2013, 21:35
Gregor's Avatar
Gregor Gregor is offline
#StickToTheStratisQuo
AKA: Gregor Browning
no team
Team Role: College Student
 
Join Date: Jan 2012
Rookie Year: 2012
Location: Kingston, Ontario, Canada
Posts: 2,447
Gregor has a reputation beyond reputeGregor has a reputation beyond reputeGregor has a reputation beyond reputeGregor has a reputation beyond reputeGregor has a reputation beyond reputeGregor has a reputation beyond reputeGregor has a reputation beyond reputeGregor has a reputation beyond reputeGregor has a reputation beyond reputeGregor has a reputation beyond reputeGregor has a reputation beyond repute
Re: Drivetrain Control Systems

We use the "Kaj" drive on joysticks/xbox controllers.
__________________
What are nationals? Sounds like a fun American party, can we Canadians come?
“For me, insanity is super sanity. The normal is psychotic. Normal means lack of imagination, lack of creativity.” -Jean Dubuffet
"Insanity is doing the same thing over and over again and expecting different results." -Albert Einstein
FLL 2011-2015 Glen Ames Robotics-Student, Mentor
FRC 2012-2013 Team 907-Scouting Lead, Strategy Lead, Human Player, Driver
FRC 2014-2015 Team 1310-Mechanical, Electrical, Drive Captain
FRC 2011-xxxx Volunteer
How I came to be a FIRSTer
<Since 2011
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 02:21.

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