Go to Post Defense is not at all anti-GP. - Wetzel [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

 
View Poll Results: How do you choose values for tank drive?
Mathematically (Please define below) 5 29.41%
Path based 3 17.65%
Experimentation 8 47.06%
Other 3 17.65%
Multiple Choice Poll. Voters: 17. You may not vote on this poll

Closed Thread
Thread Tools Rate Thread Display Modes
  #16   Spotlight this post!  
Unread 02-09-2009, 12:42
Abrakadabra Abrakadabra is offline
Here We Go !!!
AKA: Scott Kukshtel, Mr. K
FRC #3467 (The Windham Windup!)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2002
Location: Windham, New Hampshire
Posts: 160
Abrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant future
Re: Tank Steering

Quote:
Originally Posted by JesseK View Post
... The gyros are on a reset circuit that resets their power every N seconds to reduce slop...
This is a very interesting idea, but does it really work? I always thought that the gyros (at least the ones we use) had to have a quiet "settling" period during initialization, otherwise their readings would be bogus. What am I missing?

P.S. - I'm also impressed at the amount of truly useful information that has appeared in this thread in just a couple of hours, as compared to some of the other ones that go on for days and weeks, and provide nothing of value (<cough> game hints </cough>)
  #17   Spotlight this post!  
Unread 02-09-2009, 12:57
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,082
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Tank Steering

Quote:
Originally Posted by Abrakadabra View Post
This is a very interesting idea, but does it really work? I always thought that the gyros (at least the ones we use) had to have a quiet "settling" period during initialization, otherwise their readings would be bogus. What am I missing?

P.S. - I'm also impressed at the amount of truly useful information that has appeared in this thread in just a couple of hours, as compared to some of the other ones that go on for days and weeks, and provide nothing of value (<cough> game hints </cough>)
You need a quiet settling period during gyro calibration, but if you already know the calibration data they can be power cycled pretty quickly.

How would turning off a gyro ever help, though? Integrated angular position from a gyro drifts over time, and power cycling will reset this drift, but then the gyro is "starting" at an unknown orientation.
  #18   Spotlight this post!  
Unread 02-09-2009, 13:13
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,722
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: Tank Steering

Quote:
Originally Posted by Jared341 View Post
You need a quiet settling period during gyro calibration, but if you already know the calibration data they can be power cycled pretty quickly.

How would turning off a gyro ever help, though? Integrated angular position from a gyro drifts over time, and power cycling will reset this drift, but then the gyro is "starting" at an unknown orientation.
(Example) GyroA power resets. It's drift is reset to zero, yet all the while during GyroA's reset, GyroB provides (supposedly) accurate data. Software keeps track of which gyro is active and what the overall relative heading is since system start, and it also keeps track of failover status (e.g. if it's unable to read from the second gyro it doesn't reset the first...). For autonomous hovering purposes, resetting the gyros is necessary so that the quadrotor stays in the air autonomously for long periods of time, yet all they control for hovering's purpose is yaw rate. We think of yaw rate as a local discreet-time issue rather than something to track from system startup. So tracking heading for that purpose adds unnecessary overhead to the hovering routines.

We will only need to keep track of true heading if we take it another step further and do autonomous travel. But there are many hurdles to get over first, like not crashing when tilting forward to go in a straight line .... We'll probably put a compass on board at some point too, but as a 3rd heading sensor.

I also wanted to note that it doesn't really make sense to power cycle gyros in FRC unless your robot is trying to spin in place for several rotations and stop at an exact angle. The quadrotor only does it because with environmental effects (e.g. turbulence) on such a lightweight system, the thing winds up spinning 720 degrees over a 10 minute period sometimes.
__________________

Drive Coach, 1885 (2007-present)
CAD Library Updated 5/1/16 - 2016 Curie/Carver Industrial Design Winner
GitHub

Last edited by JesseK : 02-09-2009 at 13:23.
  #19   Spotlight this post!  
Unread 02-09-2009, 13:36
Tom Line's Avatar
Tom Line Tom Line is offline
Raptors can't turn doorknobs.
FRC #1718 (The Fighting Pi)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 1999
Location: Armada, Michigan
Posts: 2,554
Tom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond repute
Re: Tank Steering

Quote:
Originally Posted by biojae View Post
Navigation with skid steer is harder, and it seems no teams have done much with it
What?

In 2007, we were one of the most consistent teams in the country scoring the tubes on the rack-n-roll rack. We were consistent to about 1/4 inch true position through the use of a gyro, two encoders, and knowing the center of turning of the robot. We were skid steer.

In 2008, we consistently did 4 lines unless we were blocked by another bot, and we knew exactly where the robot was going to turn and end up. Using skid steer, a gyro, and two encoders.

In 2009, we had the robot set up to accept an angle and a distance from two dials on the board so we could put it anywhere we needed it (barring collisions of course). We didn't account for side skid just for simplicity's sake. We used a gyro and two encoders.

Skid steer is extremely easy to navigate with by doing constant angle / distance calulcations at a decent rate and averaging them between the sides. In fact, functionally, the math is no different that the trig you do with the swerve.

On what do you base the idea that not many people with skids have done much with navigation?

Last edited by Tom Line : 02-09-2009 at 13:38.
  #20   Spotlight this post!  
Unread 02-09-2009, 13:39
EricH's Avatar
EricH EricH is online now
New year, new team
FRC #1197 (Torbots)
Team Role: Engineer
 
Join Date: Jan 2005
Rookie Year: 2003
Location: SoCal
Posts: 19,825
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: Tank Steering

All I'm going to say on the 6WD skid navigation is:

1024's 2008 automode.

(I can also name several other teams, including my own, but choose not to.)
__________________
Past teams:
2003-2007: FRC0330 BeachBots
2008: FRC1135 Shmoebotics
2012: FRC4046 Schroedinger's Dragons

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

  #21   Spotlight this post!  
Unread 02-09-2009, 15:55
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,526
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: Tank Steering

Quote:
Originally Posted by JesseK View Post
I'm pretty sure '08 bots who could run around the field multiple times used more than just gyros and encoders (...like human IR control...).
The teams I'm thinking of with 4+ line autons using encoders and gyros either didn't use the remote, or only used it to change "paths"; the encoders and gyros themselves still had to be accurate.

I stand by my statement, encoders (on drive wheels) and gyro alone are sufficient for accurate navigation even at high speeds.

As Chris said, separate dummy wheels would be superior, but teams did just fine with out them in 08.
  #22   Spotlight this post!  
Unread 02-09-2009, 16:39
AustinSchuh AustinSchuh is offline
Registered User
FRC #0971 (Spartan Robotics) #254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Feb 2005
Rookie Year: 1999
Location: Los Altos, CA
Posts: 803
AustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond repute
Re: Tank Steering

Quote:
Originally Posted by biojae View Post
Could an accelerometer account for the deflection?
and how was the spline calculated?
We might have been able to use an accelerometer, but we heard enough stories about people trying to use one for traction control and determining that it wasn't working well that we didn't bother to try. It also was at the point of diminishing returns, since the bot didn't skid sideways very much anyways.

I don't recall the equation, but you can spend some time on the wikipedia page or the internet in general and get a parametric equation for the cubic spline.

Quote:
Originally Posted by biojae View Post
The steering seems to me the hardest part. What variables did the PD loop control ?
turn = error * k1 + (error - lasterror) * K2
left = 1.0 + turn
right = 1.0 - turn

Like always, the hard part is tweaking the constants.
  #23   Spotlight this post!  
Unread 02-09-2009, 18:41
biojae's Avatar
biojae biojae is offline
Likes Omni drives :)
AKA: Justin Stocking
FTC #5011 (BOT SQUAD) && FTC#72(Garage bots)&& FRC#0399 (Eagle Robotics)
Team Role: College Student
 
Join Date: Oct 2008
Rookie Year: 2008
Location: Lancaster
Posts: 276
biojae is a jewel in the roughbiojae is a jewel in the roughbiojae is a jewel in the rough
Re: Tank Steering

Quote:
Originally Posted by AustinSchuh View Post
We might have been able to use an accelerometer, but we heard enough stories about people trying to use one for traction control and determining that it wasn't working well that we didn't bother to try. It also was at the point of diminishing returns, since the bot didn't skid sideways very much anyways.
So, just correcting the skid value from an absolute sensor (ex Ultrasonic sensor to a known wall) is all that is required to have accurate readings?

Also on carpet, there isnt as much skidding, so it is not as important then?


Quote:
I don't recall the equation, but you can spend some time on the wikipedia page or the internet in general and get a parametric equation for the cubic spline.
Ok, then thats not too hard. Yay math!

Quote:
turn = error * k1 + (error - lasterror) * K2
left = 1.0 + turn
right = 1.0 - turn

Like always, the hard part is tweaking the constants.
and your error has what value? current heading - target heading, or something similar?
__________________
FTC Team 72 - No site
FRC Team 399 - http://www.team399.org
2010 Rockwell Collins Innovation in Control Award - (Use of the CAN bus, among other reasons) Phoenix, Arizona!
  #24   Spotlight this post!  
Unread 02-09-2009, 23:47
AustinSchuh AustinSchuh is offline
Registered User
FRC #0971 (Spartan Robotics) #254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Feb 2005
Rookie Year: 1999
Location: Los Altos, CA
Posts: 803
AustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond repute
Re: Tank Steering

Quote:
Originally Posted by biojae View Post
So, just correcting the skid value from an absolute sensor (ex Ultrasonic sensor to a known wall) is all that is required to have accurate readings?
Also on carpet, there isn't as much skidding, so it is not as important then?
As with all engineering, you need to figure out how much is good enough, and how to deal with things not being exactly as planned. Say someone gets between the wall and your sensor? Say someone crashes into your side? Do you care? We chose to just use the ground speed encoders and let someone crashing into our side make us loose track of our real position. For the most part, it worked fine, and it's debatable whether having that information when someone did hit us would have allowed us to do much more. Assuming you tried to add in an Ultrasonic sensor, that would only let you narrow down the potential error in one direction. I'd say just integrate the ground speed encoders, or the ones on your drive train, and use that until you have determined that that isn't enough. Detecting position and using it are isolated things that you can improve independently.

Quote:
Originally Posted by biojae View Post
and your error has what value? current heading - target heading, or something similar?
If you are trying to point the robot in a direction in order to go in that direction, the error is some measurement that is fairly linear and will be 0 when you are pointed in the correct direction. The heading error was what I used when trying to go to a way point.
  #25   Spotlight this post!  
Unread 03-09-2009, 00:45
biojae's Avatar
biojae biojae is offline
Likes Omni drives :)
AKA: Justin Stocking
FTC #5011 (BOT SQUAD) && FTC#72(Garage bots)&& FRC#0399 (Eagle Robotics)
Team Role: College Student
 
Join Date: Oct 2008
Rookie Year: 2008
Location: Lancaster
Posts: 276
biojae is a jewel in the roughbiojae is a jewel in the roughbiojae is a jewel in the rough
Re: Tank Steering

Quote:
Originally Posted by AustinSchuh View Post
As with all engineering, you need to figure out how much is good enough, and how to deal with things not being exactly as planned. Say someone gets between the wall and your sensor? Say someone crashes into your side? Do you care? We chose to just use the ground speed encoders and let someone crashing into our side make us loose track of our real position. For the most part, it worked fine, and it's debatable whether having that information when someone did hit us would have allowed us to do much more. Assuming you tried to add in an Ultrasonic sensor, that would only let you narrow down the potential error in one direction. I'd say just integrate the ground speed encoders, or the ones on your drive train, and use that until you have determined that that isn't enough. Detecting position and using it are isolated things that you can improve independently.
Considering that we will probably only have 15 seconds again, encoder errors shouldn't compound too quickly. Only if we go longer then that, a recalibration may be necessary

Quote:
If you are trying to point the robot in a direction in order to go in that direction, the error is some measurement that is fairly linear and will be 0 when you are pointed in the correct direction. The heading error was what I used when trying to go to a way point.
so you took your spline and split it into discrete points? then calculated the angle to the next point, and arced to the point, or did you turn, then drive straight?
__________________
FTC Team 72 - No site
FRC Team 399 - http://www.team399.org
2010 Rockwell Collins Innovation in Control Award - (Use of the CAN bus, among other reasons) Phoenix, Arizona!
  #26   Spotlight this post!  
Unread 03-09-2009, 13:31
AustinSchuh AustinSchuh is offline
Registered User
FRC #0971 (Spartan Robotics) #254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Feb 2005
Rookie Year: 1999
Location: Los Altos, CA
Posts: 803
AustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond repute
Re: Tank Steering

Quote:
Originally Posted by biojae View Post
so you took your spline and split it into discrete points? then calculated the angle to the next point, and arced to the point, or did you turn, then drive straight?
Splitting the spline up into points is one way to do it. Create a list of fairly evenly spaced points, and go to the next point on the list when you get within a certain distance of the last point. I think our programmer wrote some equation that did it without points, but I'm fuzzy on that detail of the code.

You don't have to worry about what it does between the points. Just apply forwards power, and PID your heading. The robot can't make sharp turns easily, so it'll take a bit to make the turn and that will smooth the turn out. You can also just up the number of points. This is the same thing as approximating a circle as a many sided polygon. The more sides, the better the approximation.
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
need glp programing steering with a steering wheel Matchew Programming 2 10-02-2003 14:20
Under or Over? To tank or Not to tank that tis the question! archiver 2001 2 23-06-2002 22:53
Single Joystick Tank Steering archiver 2001 5 23-06-2002 22:49
tank or go-cart style steering? archiver 2001 17 23-06-2002 22:42
tank steering archiver 2000 10 23-06-2002 22:28


All times are GMT -5. The time now is 01:56.

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