Go to Post Lesson learned, /always/ have a pick list! - Lil' Lavery [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 03-04-2008, 18:23
AmoryG AmoryG is offline
Registered User
FRC #2423 (KwarQs)
Team Role: Alumni
 
Join Date: Mar 2008
Rookie Year: 2008
Location: Watertown, MA
Posts: 221
AmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud of
Unique ways of controlling your robot (driving)

The 2008 competition is mine and my team's rookie year. This year I was the sole student programmer with about no experience with programming. I received tons of help from my mentors and I was able to help program the robot with their assistence. Because of this a lot of the time I was doing things on my own and I did a lot of experimenting.

With my mentors, we came up with quite a few ways of driving the bot. I won't share the code right away (I need to get it first), but would anyone like to share and explain their methods of controlling the driving of the robot? I'm really curious what you guys did.

These are the things we tried (I'll share the code when I get it)...

1. Double Joystick: very hard to control. We tried a lot to make it more controlable, but it never worked out well.

2. Single Joystick 1: One speed, 4 ways of moving robot. Push the joystick up and it moves forward. Push it down it moves backwards. Left it turns a bit left and right it turns a bit right.

3. Other single joystick controlls: We made a few other single joystick control systems. One we used in the competition.

I apologize in advance if broke some sort of rule
  #2   Spotlight this post!  
Unread 03-04-2008, 18:28
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,803
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: Unique ways of controlling your robot (driving)

Quote:
Originally Posted by AmoryG View Post
The 2008 competition is mine and my team's rookie year. This year I was the sole student programmer with about no experience with programming. I received tons of help from my mentors and I was able to help program the robot with their assistence. Because of this a lot of the time I was doing things on my own and I did a lot of experimenting.

With my mentors, we came up with quite a few ways of driving the bot. I won't share the code right away (I need to get it first), but would anyone like to share and explain their methods of controlling the driving of the robot? I'm really curious what you guys did.

These are the things we tried (I'll share the code when I get it)...

1. Double Joystick: very hard to control. We tried a lot to make it more controlable, but it never worked out well.

2. Single Joystick 1: One speed, 4 ways of moving robot. Push the joystick up and it moves forward. Push it down it moves backwards. Left it turns a bit left and right it turns a bit right.

3. Other single joystick controlls: We made a few other single joystick control systems. One we used in the competition.

I apologize in advance if broke some sort of rule
These are all acceptable in competition and here.

Most teams use the double-stick method. Some use single. Others have been known to use the following:
  • DDR pad
  • Steering wheel
  • R/C controller
  • Game controller of some form
__________________
Past teams:
2003-2007: FRC0330 BeachBots
2008: FRC1135 Shmoebotics
2012: FRC4046 Schroedinger's Dragons

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

  #3   Spotlight this post!  
Unread 03-04-2008, 18:30
Herodotus's Avatar
Herodotus Herodotus is offline
Mountain Dew Bandolier Man
AKA: David Resowski
FRC #0910 (Foley Freeze)
Team Role: Alumni
 
Join Date: Apr 2007
Rookie Year: 2006
Location: Michigan
Posts: 428
Herodotus has a reputation beyond reputeHerodotus has a reputation beyond reputeHerodotus has a reputation beyond reputeHerodotus has a reputation beyond reputeHerodotus has a reputation beyond reputeHerodotus has a reputation beyond reputeHerodotus has a reputation beyond reputeHerodotus has a reputation beyond reputeHerodotus has a reputation beyond reputeHerodotus has a reputation beyond reputeHerodotus has a reputation beyond repute
Re: Unique ways of controlling your robot (driving)

My favorite form of driving the base of the robot so far has been double joysticks, because it gives a great deal of control, in my opinion. This year, however, we went with a single joystick with the idea that it would leave my other hand free for some push button semi-automatic controls such as u-turns and lane shifting. That hasn't panned out (yet) but with a little bit of work we've gotten our controls working decently well, the single joystick needs a little more tweaking than dual joysticks.

Our joystick itself was fairly unique though(one of a kind as far as I know), what with being a weighted companion cube.
__________________
I am always doing that which I cannot do, in order that I may learn how to do it. - Pablo Picasso
--My Life in FIRST--
2009 Detroit Xerox Creativity Award
2009 Detroit District Finalists - Thanks to 1856 and 2620
2009 Kettering District Quarter-Finalists - Thanks to 1504 and 1025.
2008 Kettering Kickoff Champions - Thanks to 67, 1075 & 2619
2008 MARC Finalists - thanks 67 & 226
2008 Great Lakes Finalists - thanks 66 & 217
2008 Western Michigan Semi-Finalists - thanks 2337 and 1504
2008 GLR Judges Award Winner
2007 Curie Division Champions - thanks 330 and 1270
2007 ARC Champions (13 and 0, plus scoring a double-keeper!) - thanks 1625 and 313
2007 MARC Champions - thanks 1732 and 1023
2007 Xerox Creativity Award - Western Michign
2006 I.R.I. Champions - thanks 71 and 1625

Last edited by Herodotus : 03-04-2008 at 19:00.
  #4   Spotlight this post!  
Unread 03-04-2008, 18:53
Grant Cox's Avatar
Grant Cox Grant Cox is offline
Back for more.
FRC #0148 (Robowranglers)
Team Role: Tactician
 
Join Date: Feb 2007
Rookie Year: 2007
Location: Greenville, TX
Posts: 419
Grant Cox has a reputation beyond reputeGrant Cox has a reputation beyond reputeGrant Cox has a reputation beyond reputeGrant Cox has a reputation beyond reputeGrant Cox has a reputation beyond reputeGrant Cox has a reputation beyond reputeGrant Cox has a reputation beyond reputeGrant Cox has a reputation beyond reputeGrant Cox has a reputation beyond reputeGrant Cox has a reputation beyond reputeGrant Cox has a reputation beyond repute
Re: Unique ways of controlling your robot (driving)

My personal favorite is a PS2 controller with the USB chicklet. The two analog sticks act the same as joysticks, but it just feels a lot more natural and allows you to have more control than sticks (imo).
__________________
VEX Robotics Marketing Manager

ThunderChicken driver '07-'08
Robowrangler '13-present

FIRST in Michigan, VEX Worlds, and FIRST in Texas MC/Game Announcer '08-present
  #5   Spotlight this post!  
Unread 03-04-2008, 19:48
fimmel's Avatar
fimmel fimmel is offline
Founding Mentor, Team 2370
AKA: Forest Immel
FRC #2370 (iBots 2370)
Team Role: Mentor
 
Join Date: Dec 2005
Rookie Year: 2005
Location: Castleton, Vermont
Posts: 325
fimmel has a reputation beyond reputefimmel has a reputation beyond reputefimmel has a reputation beyond reputefimmel has a reputation beyond reputefimmel has a reputation beyond reputefimmel has a reputation beyond reputefimmel has a reputation beyond reputefimmel has a reputation beyond reputefimmel has a reputation beyond reputefimmel has a reputation beyond reputefimmel has a reputation beyond repute
Re: Unique ways of controlling your robot (driving)

we attempted a mechanum drive this year but never got the strafing to work right. but we had forward backward on the left y axis and left / right steering on the right x axis (along with strafing on the left x axis but that didn't work like i said) and it made it very easy to drive strait since you could tweak the direction with your right hand and just keep ur left at the speed you like.

i recommend people try this cause its nice and very intuitive

...forest
__________________



  #6   Spotlight this post!  
Unread 03-04-2008, 19:51
lukevanoort lukevanoort is offline
in between teams
AKA: Luke Van Oort
no team
 
Join Date: Oct 2005
Rookie Year: 2005
Location: Waterloo, ON, Canada
Posts: 1,873
lukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond repute
Send a message via AIM to lukevanoort
Re: Unique ways of controlling your robot (driving)

We do it like one-stick but we split the x and y axis out onto different joysticks (kind of like Halo). This makes it really easy to drive dead straight (just let go of the turning joystick), gives a bit finer "feel" to the controls than one-stick, and is much more intuitive than tank drive. We have tried other methods, and some of our members prefer to drive tank-style; however, myself and last year's driver both found Halo-style to be the best compromise, so that is what we've used.
__________________
Team 1219: 2009 - Mentor
Team 587: 2005 - Animator, 2006-2008 - Team Captain
  #7   Spotlight this post!  
Unread 03-04-2008, 20:59
AmoryG AmoryG is offline
Registered User
FRC #2423 (KwarQs)
Team Role: Alumni
 
Join Date: Mar 2008
Rookie Year: 2008
Location: Watertown, MA
Posts: 221
AmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud ofAmoryG has much to be proud of
Re: Unique ways of controlling your robot (driving)

Well, one of the reasons why I as the driver (and I think most of my team) didn't like the tank control/duel joystick was partially because our robot was so powerful. The gearing ratio made it so actually stearing the it was one thing, but making it turn gradually and not suddenly turn around in a great circle was another thing. We tried all different things with the programming, but it never worked as well as we hoped. I eventually came up with a system that I used in the competition. The results were the best I could hope for. When you turned the joystick to the top left hand corner, it made a nice curve and just by turning it a bit, I could change the turning direction so if there were robots in the way I could easily menuver around them.

When we first entered the competition we only used 1/4th the power our robot was capable of. Because the rug made it so the robot was slower but a lot more controllable we upped it to 1/2 the power and added a turbo trigger. If the joystick is in a certain area the robot will automatically go straight at max speed. I think I could bring up the code, I have it on my computer somewhere....
  #8   Spotlight this post!  
Unread 03-04-2008, 21:52
mluckham's Avatar
mluckham mluckham is offline
Registered User
FRC #0758 (Sky Robotics)
Team Role: Mentor
 
Join Date: Mar 2006
Rookie Year: 2006
Location: Ontario, Canada
Posts: 116
mluckham will become famous soon enoughmluckham will become famous soon enough
Re: Unique ways of controlling your robot (driving)

Quote:
We do it like one-stick but we split the x and y axis out onto different joysticks (kind of like Halo)
Nice! Like Mode 1 in Radio Control airplane transmitters (one stick rudder, one stick elevator), versus Mode 2 (single-stick). I'm gonna have the guys try that, next year.
  #9   Spotlight this post!  
Unread 03-04-2008, 22:11
Battering_Ram Battering_Ram is offline
Registered User
FRC #0171 (Extreme Engineers)
Team Role: Driver
 
Join Date: Feb 2008
Rookie Year: 2005
Location: Platteville
Posts: 12
Battering_Ram is an unknown quantity at this point
Re: Unique ways of controlling your robot (driving)

I have been driving two years (171) and we have had tank drive both years. I really like this because it isolates the two sides of bot. But I will admit that I want to try the halo style so i will email my programmer right away. In my opinion I believe the one joystick is cramming to much onto one contoller, I'd rather isolate and have more precision(imo). But variety is the spice of life so I think its great how everyone does something different.
__________________

  #10   Spotlight this post!  
Unread 04-04-2008, 11:16
Racer26 Racer26 is offline
Registered User
no team
Team Role: Alumni
 
Join Date: Apr 2003
Rookie Year: 2003
Location: Beaverton, ON
Posts: 2,229
Racer26 has a reputation beyond reputeRacer26 has a reputation beyond reputeRacer26 has a reputation beyond reputeRacer26 has a reputation beyond reputeRacer26 has a reputation beyond reputeRacer26 has a reputation beyond reputeRacer26 has a reputation beyond reputeRacer26 has a reputation beyond reputeRacer26 has a reputation beyond reputeRacer26 has a reputation beyond reputeRacer26 has a reputation beyond repute
Re: Unique ways of controlling your robot (driving)

I suspect you had trouble with twin stick control because you did not map the values to a cubic curve to desensitize it.
  #11   Spotlight this post!  
Unread 04-04-2008, 11:42
Jimmy Cao Jimmy Cao is offline
Registered User
AKA: Jimmy Cao
no team
 
Join Date: Sep 2006
Rookie Year: 2004
Location: San Francisco, CA
Posts: 295
Jimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant future
Re: Unique ways of controlling your robot (driving)

We do something rather unique to our drive system.

There are two joysticks. On one of them, we use both axis. The X axis translates the robot left and right, and the Y axis translates the robot forwards and backwards.

We only use one axis on the other joystick. This joystick is responsible for the rotation of the robot. By using both sticks together, the software places an imaginary point in space that the robot "rotates" around. However, this control system only works on an omni directional drive system.
__________________
Jimmy Cao

Team 469 2006-2010 Student/Alumni
Team 830 2011-2012 Mentor
  #12   Spotlight this post!  
Unread 04-04-2008, 11:43
BigJ BigJ is offline
Registered User
AKA: Josh P.
FRC #1675 (Ultimate Protection Squad)
Team Role: Engineer
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Milwaukee, WI
Posts: 947
BigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond repute
Re: Unique ways of controlling your robot (driving)

For our mecanum setup, we used one stick for all translation (sliding while facing same way, includes forwards/backwards) and another stick for the rotation on the X-axis.

The drivers had different preferences as to which side they were on so they were interchangeable.
  #13   Spotlight this post!  
Unread 04-04-2008, 11:46
jester_assault's Avatar
jester_assault jester_assault is offline
Who are we?!...ROYAL ASSAULT!
FRC #0357 (royal assault)
Team Role: Operator
 
Join Date: Jun 2006
Rookie Year: 2005
Location: Upper Darby, PA
Posts: 7
jester_assault is an unknown quantity at this point
Send a message via AIM to jester_assault
Re: Unique ways of controlling your robot (driving)

For our Mecanum drive system, 357 uses a 3-axis joystick. The X axis and the Y axis are used for forward/backward/ and translation motions, while the Z axis is used for spin. In the past we used a 2 axis joystick and isolated translational movement to only occur when the drive held the trigger of the joystick.
__________________
who are we...ROYAL ASSAULT
  #14   Spotlight this post!  
Unread 04-04-2008, 12:00
E. Wood's Avatar
E. Wood E. Wood is offline
Lead Mentor
AKA: Erik Wood
FRC #0836 (Robobees)
Team Role: Mentor
 
Join Date: Apr 2005
Rookie Year: 2005
Location: California, MD
Posts: 84
E. Wood has a brilliant futureE. Wood has a brilliant futureE. Wood has a brilliant futureE. Wood has a brilliant futureE. Wood has a brilliant futureE. Wood has a brilliant futureE. Wood has a brilliant futureE. Wood has a brilliant futureE. Wood has a brilliant futureE. Wood has a brilliant futureE. Wood has a brilliant future
Re: Unique ways of controlling your robot (driving)

Team 1629 has always used a single joy stick to drive and an array of buttons and switch sto control the functions until this year. This year, while the buttons and switchs are still there, we used a steering wheel to drive. We figured "hey its a race right, race cars already work well, so we will drive it just like a race car." (If you havent checked out our drive train check it out at http://www.team1629.com Its pretty cool.)
__________________
Erik Wood
Team 836 "The RoboBees"
- 2015 Regional Chairman's Award Winner - Palmetto Regional
- 2013 Regional Chairman's Award Winner - Palmetto Regional
- 2012 Regional Chairman's Award Winner - Chesapeake Regional
- 2011 Regional Chairman's Award Winner - Chesapeake Regional





http://www.robobees.org
http://www.growingSTEMS.org
  #15   Spotlight this post!  
Unread 04-04-2008, 12:23
JesseK's Avatar
JesseK JesseK is offline
Expert Flybot Crasher
FRC #1885 (ILITE)
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2005
Location: Reston, VA
Posts: 3,685
JesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond repute
Re: Unique ways of controlling your robot (driving)

I like that halo idea. Things seem more intuitive and less pressure if you can train each hand to do a different task.

Here are some arguments to try single-joystick driving instead of classical tank drive. Keep in mind this is just my opinion. I also have a control systems background so I feel it's easier and more advantageous to do a system rather than leave some things up to driver control.

Personally, I think classical "tank" drive puts too much of the drive processing on the driver, and agree with the OP that it's harder to control. Movements aren't as smooth as they could be and it's hard to process inputs for improvements in the code. Driving backwards and driving while the bot is pointed at the driver also becomes harder without alot of practice. Think about a bunch of cones setup on the track and you have to slalom through them while also making the left-hand turns around the track. Without alot of practice, tank drives will usually make it through such a course slower/quirkier than the single-joystick setup. This year, the slalom consists of 5 other dynamically placed bots and 3 other trackballs on the field, so I believe this comparison is valid.

With a single joystick, in code I can create a system that has some variables (aka coefficients). Based upon the variables I can determine different integral-based rotational neutral zones, scale within certain regions of joystick movement, how the robot reacts based upon its direction, and can eliminate jerky joystick movements that translate to jerky bot movements for both rotation and lateral at the same time. For tank drive, doing all of these things requires at least twice the code so you can determine a rotation vector, where as single-joystick drive rotation is a direct input. Some of this stuff isn't easy to do, and sometimes isn't even necessary depending on the way the driver naturally drives.

Some drivers can intuitively drive without all of the fancy code. Yet imagine how much more they could concentrate on game strategy if they didn't have to focus so much on the drive itself. Just my .02.
__________________

Drive Coach, 1885 (2007-present)
CAD Library Updated 5/1/16 - 2016 Curie/Carver Industrial Design Winner
GitHub
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
surefire ways to break you robot XXShadowXX General Forum 159 06-02-2009 19:03
Whats unique about your website? Trashed20 Website Design/Showcase 7 26-11-2002 13:50
Controlling a FIRST robot with a Lego RCX Controller? archiver 2001 5 24-06-2002 04:19
Favorite NEW unique aspect of a robot archiver 2001 1 24-06-2002 03:57
What's unique about your Regional? Digo Regional Competitions 11 14-04-2002 14:37


All times are GMT -5. The time now is 04:37.

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