Go to Post I tried to make them look at disgruntled as possible. - Katie_UPS [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 20-08-2010, 21:19
GGCO's Avatar
GGCO GGCO is offline
Registered User
AKA: Grant
FRC #3357
Team Role: Alumni
 
Join Date: Jan 2008
Rookie Year: 2004
Location: Michigan
Posts: 406
GGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to beholdGGCO is a splendid one to behold
Send a message via AIM to GGCO
Re: User Interface - Drivetrain Controls

Xbox 360 controllers. Joysticks are WAY too inaccurate considering your whole arm is involved with moving them. For the most precise control, thumbs win.
__________________
"Great spirits have always encountered violent opposition from mediocre minds" - Albert Einstein
The FIRST Alliance
COMETS Robotics
Website

  #2   Spotlight this post!  
Unread 20-08-2010, 21:59
AdamHeard's Avatar
AdamHeard AdamHeard is offline
Lead Mentor
FRC #0973 (Greybots)
Team Role: Mentor
 
Join Date: Oct 2004
Rookie Year: 2004
Location: Atascadero
Posts: 5,506
AdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond repute
Send a message via AIM to AdamHeard
Re: User Interface - Drivetrain Controls

Quote:
Originally Posted by GGCO View Post
Xbox 360 controllers. Joysticks are WAY too inaccurate considering your whole arm is involved with moving them. For the most precise control, thumbs win.
I actually disagree here.

I've wasted too much of my life accumulating too many level 50's in Halo 2/3 (Glad I'm done with that...), and used a 360 controller to drive 294's 2007 robot. It worked, I THOUGHT I liked it; During practice while coaching my new drivers who use a separate joystick for throttle and steering (actually, same setup as on the 360 controller, just using joysticks), I found I personally much prefer the joysticks and was able to perform better with them.
  #3   Spotlight this post!  
Unread 21-08-2010, 00:20
Siri's Avatar
Siri Siri is offline
Dare greatly
AKA: 1640 coach 2010-2014
no team (Refs & RIs)
Team Role: Coach
 
Join Date: Jan 2008
Rookie Year: 2007
Location: PA
Posts: 1,624
Siri has a reputation beyond reputeSiri has a reputation beyond reputeSiri has a reputation beyond reputeSiri has a reputation beyond reputeSiri has a reputation beyond reputeSiri has a reputation beyond reputeSiri has a reputation beyond reputeSiri has a reputation beyond reputeSiri has a reputation beyond reputeSiri has a reputation beyond reputeSiri has a reputation beyond repute
Send a message via ICQ to Siri
Re: User Interface - Drivetrain Controls

Jared - thanks very much for the "rules of thumb". Those will help a lot in refining our UI. Given how Daisy drives, I'd definitely agree your rationale is well founded! The 2 DOF per hand thing will prove interesting, but I think it's wise. We've run into the same problem as well.

Ether - Thank your for the article. I understand that one can technically parameterize snake-like & dynamic relative twist movements for any truly holonomic drive, but I hadn't tried the kinematics for either. I've never heard of an omni bot implementing snake-like movement, but that shouldn't have lead me to ruling out the option. My oversight, apologies. Also, if you're already out there, please feel free to step forward. And link your white paper, because that's just plain cool.
I had actually intended my comment concerning snake/pivot control to ask how such bots manage their additional input (not output, sorry) variables--namely wheel orientation--in using their DOFs (or perhaps I should say freedom in general). This was a nomenclature failure on my part, sorry.

BEEKMAN - I'd be interested in learning more about your mecanum's UI mapping. The technical detail would go over my head, but the "pretty much anyone can drive it" comment is very compelling. Feel free to PM me if you're still worried about thread hijacking.

Decent II: Interesting. I'll bug our video game gurus and see if they can dig this up (legally).

Joysticks: I have to agree with eagle, while your wrist may have less manual dexterity than your thumb, the joystick scale is much larger than a game controller's analog sticks. (Though I'd guess some of this is up to the speed control, etc algorithms.) Our current driver is starting to lean back towards joysticks, but it does understandably seem to vary based on how much of a gamer one is. A steering wheel though, that's an idea. Wonder if our driver's ever doing to get her license.
__________________
  #4   Spotlight this post!  
Unread 21-08-2010, 11:58
Dkt01's Avatar
Dkt01 Dkt01 is offline
Programming Mentor
AKA: David
FRC #1756 (Argos)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Peoria, Il
Posts: 145
Dkt01 will become famous soon enough
Re: User Interface - Drivetrain Controls

Ether-
We actually ended up doing what we called a "Pac-Man drive". Our system compared the values for the x and y axes and only used the greater of the two. For example if the left joystick was in a position where x=.8 and y=.2, the robot would move right at 80% speed.
You are correct in saying the robot would only go forward/backward or strafe, but no combination. This solved our unwanted rotation problem.
We also used a custom dead band because the XBox controllers never went back to the exact same spot, but other than that we never had any issues. Unfortunately the directional arrows on the left never gave us usable input values, otherwise we may have used them for something.
  #5   Spotlight this post!  
Unread 21-08-2010, 12:17
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,077
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: User Interface - Drivetrain Controls

Quote:
Originally Posted by Dkt01 View Post
Our system compared the values for the x and y axes and only used the greater of the two. For example if the left joystick was in a position where x=.8 and y=.2, the robot would move right at 80% speed.
You are correct in saying the robot would only go forward/backward or strafe, but no combination. This solved our unwanted rotation problem.
I'm glad you found a solution that worked. In the heat of battle or in a time crunch, you've got to go with what works.

But now that you're in the off-season, you might want to go back and ask why you were getting the unwanted rotation. It seems odd that you could strafe with no rotation, and you could go forward/reverse with no rotation, but you could not go diagonally without rotating. Could you tell us a bit about how you programmed the wheel speeds?

~
  #6   Spotlight this post!  
Unread 21-08-2010, 22:19
Dkt01's Avatar
Dkt01 Dkt01 is offline
Programming Mentor
AKA: David
FRC #1756 (Argos)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Peoria, Il
Posts: 145
Dkt01 will become famous soon enough
Re: User Interface - Drivetrain Controls

Ether-
Since our team doesn't have much as far as an off-season program, I can't get very specific. We basically used the LabView holonomic drive. We added in a PID control which used gyro readings to keep the robot facing the same direction. The PID adjusted robot rotation to compensate for the unwanted rotation. For some reason, no matter how much we tuned the PID, the robot rotated when driving at angles other than 0, 90, 180, or 270. This year, depending on the game, we may try to build off this system so it can work at other angles. We spent a lot of time this year learning LabView (none of us had used it) and dissecting SubVI's to see how they functioned, so we ran out of time to work out all the bugs.
  #7   Spotlight this post!  
Unread 22-08-2010, 00:25
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,077
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: User Interface - Drivetrain Controls

Quote:
We basically used the LabView holonomic drive. We added in a PID control which used gyro readings to keep the robot facing the same direction. The PID adjusted robot rotation to compensate for the unwanted rotation. For some reason, no matter how much we tuned the PID, the robot rotated when driving at angles other than 0, 90, 180, or 270.
Thanks for the clarification. If you guys figure it out, I'd be very interested to hear what you found, if you're willing to share.

~
  #8   Spotlight this post!  
Unread 22-08-2010, 21:30
JDM JDM is offline
programming lead; team executive;..
FRC #2199 (Robo-Lions)
Team Role: Programmer
 
Join Date: Feb 2008
Rookie Year: 2008
Location: Eldersburg, Maryland
Posts: 34
JDM is on a distinguished road
Re: User Interface - Drivetrain Controls

2199 used mecanum drive for the first time this year. We found that using any combination of joysticks wasn't intuitive, but with a three-axis joystick (as Jared pointed out) it was too easy to twist by accident. What we did was to use the bottom "throttle" controller on the joystick as a multiplier for the twist (from zero to one). This actually worked surprisingly well to keep us straight when we wanted, rotating easily when we needed to, and helped control the rate of rotation (it was pretty darn fast).

On top of that, we used CAN w/ speed control and cubed all joystick inputs. There were no other controls other than the trigger to activate our kicker. I noticed with this that new drivers were able to reach a level of competency much faster than with tank drive (which worked very well for us, but we've also had very experienced drivers).
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

Similar Threads
Thread Thread Starter Forum Replies Last Post
pic: Team 241: User Interface Dantvman27 Extra Discussion 1 21-02-2007 13:12
is the 2004 user interface compatible with the 05 RC? wildabyss Control System 5 22-02-2005 05:28
Using non joystick controls with Operator Interface (Hacking Various Controllers) Astronouth7303 Control System 58 02-02-2005 15:56
[FVG]: User Interface Mike Ciance FIRST-related Organizations 15 25-07-2004 14:30
GUI (graphical user interface) nzj1 Programming 1 17-01-2003 22:47


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

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