Go to Post When you tell any of your kids that winning isn't important, or isn't [I]that[/I] important, the flapping sound you hear is your credibility flying away. - jlindquist74 [more]
Home
Go Back   Chief Delphi > Technical > Technical Discussion
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 16-03-2010, 22:07
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
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
fine control of robot with mecanum wheels

I am advising a team that built a robot with mecanum wheels, and they are very unhappy with the lack of fine control of robot movements, especially at low speeds.

Each 8" mecanum wheel is powered via a chain connected to an AM toughbox gearbox with a CIM motor.

There are no encoders, so the wheels are being commanded open-loop (i.e. they are being given voltage commands).

My analysis is that the design has too much friction in the drive train, and the gear ratio is too high, to obtain fine control at low speeds with an open-loop command.

The solution I proposed is to use a lower gear ratio (sacrificing top speed for better fine control at low speeds), or to add encoders and CAN bus so the Jags can do closed-loop speed control of the wheels. Neither of these solutions can be accomplished before their next competition.

I see no other viable options. Comments or suggestions?


~

Last edited by Ether : 16-03-2010 at 22:50.
  #2   Spotlight this post!  
Unread 16-03-2010, 22:50
Boommaster713's Avatar
Boommaster713 Boommaster713 is offline
Registered User
FRC #0932 (Circuit Chargers)
Team Role: Driver
 
Join Date: Dec 2008
Rookie Year: 2008
Location: Tulsa, OK
Posts: 11
Boommaster713 is an unknown quantity at this point
Re: fine control of robot with mecanum wheels

My Team this year has also run a system identical to this setup and have not had any issues regarding the control of the robot(Once setup properly). So the basic premise of too much friction and high gear ratio is not the culprit.

So a simple question would be what kind of control issues is your team experiencing?
  #3   Spotlight this post!  
Unread 16-03-2010, 23:04
StevenB StevenB is offline
is having FRC withdrawal symptoms.
AKA: Steven Bell
no team
Team Role: College Student
 
Join Date: May 2005
Rookie Year: 2005
Location: Stanford, CA
Posts: 416
StevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond repute
Re: fine control of robot with mecanum wheels

This may be something you've already tried, but you might want to consider a nonlinear joystick mapping. That is, when you push the joystick halfway, you only move at 1/4 speed instead of 1/2. This gives you finer control of slower movements, while allowing you to still use the full speed range. Very rarely do you care if you move at 3/4 speed vs full speed, but you definitely care about 0 vs 1/4 - thus, you can stretch the axes accordingly.
All you have to do is square the input, making sure to preserve the sign.

A second note - if this is a first or second year team, my suggestion is, "get used to it." Fast robots are almost always hard to control, and the best fix is simply driver practice. I remember during my rookie year feeling that our robot was uncontrollable, but we eventually learned to drive it, and it wasn't as bad as we thought.
__________________
Need a physics refresher? Want to know if that motor is big enough for your arm? A FIRST Encounter with Physics

2005-2007: Student | Team #1519, Mechanical Mayhem | Milford, NH
2008-2011: Mentor | Team #2359, RoboLobos | Edmond, OK
2014-??: Mentor | Looking for a team...
  #4   Spotlight this post!  
Unread 16-03-2010, 23:18
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
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: fine control of robot with mecanum wheels

Quote:
Originally Posted by StevenB View Post
This may be something you've already tried, but you might want to consider a nonlinear joystick mapping. That is, when you push the joystick halfway, you only move at 1/4 speed instead of 1/2. This gives you finer control of slower movements, while allowing you to still use the full speed range. Very rarely do you care if you move at 3/4 speed vs full speed, but you definitely care about 0 vs 1/4 - thus, you can stretch the axes accordingly.
All you have to do is square the input, making sure to preserve the sign.
Yes, it's already been tried:
http://www.chiefdelphi.com/forums/sh...d.php?p=921992


Quote:
A second note - if this is a first or second year team, my suggestion is, "get used to it."
I'd like to hear from any teams that have implemented closed-loop wheel speed control via encoders connected directly to Jags, on a bot with mecanum wheels.

Also, are any teams using shiftable transmissions (high and low gears) ?



~
  #5   Spotlight this post!  
Unread 16-03-2010, 23:23
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
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: fine control of robot with mecanum wheels

Quote:
Originally Posted by Boommaster713 View Post
My Team this year has also run a system identical to this setup and have not had any issues regarding the control of the robot(Once setup properly). So the basic premise of too much friction and high gear ratio is not the culprit.
The basic premise was too much friction and high gear ratio to be controlled open-loop. Is your bot's wheel speed controlled open-loop or closed-loop?


Quote:
So a simple question would be what kind of control issues is your team experiencing?
"lack of fine control of robot movements, especially at low speeds"


~
  #6   Spotlight this post!  
Unread 16-03-2010, 23:32
DavidGitz's Avatar
DavidGitz DavidGitz is offline
Lead Technical Advisor
FRC #1208 (MeTool Brigade)
Team Role: Coach
 
Join Date: Dec 2006
Rookie Year: 1996
Location: O'Fallon, IL
Posts: 341
DavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud of
Send a message via AIM to DavidGitz Send a message via MSN to DavidGitz Send a message via Yahoo to DavidGitz
Re: fine control of robot with mecanum wheels

Quote:
Originally Posted by StevenB View Post
square the input
Actually, if you want to increase the sensitivity at low values and decrease it at larger values, you would square root the input values, or another function with a downward concavity. If you square a value between zero and 1, it becomes even smaller.
__________________
  #7   Spotlight this post!  
Unread 16-03-2010, 23:36
TD912 TD912 is offline
Registered User
AKA: Chris Leung
FRC #1989 (Viking Robotics)
Team Role: College Student
 
Join Date: Sep 2009
Rookie Year: 2009
Location: Vernon, NJ
Posts: 156
TD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud ofTD912 has much to be proud of
Re: fine control of robot with mecanum wheels

The joysticks return values between -1 and +1 for both the X and Y axes, And these values are then used to generate a signal for the speed controller. You can "curve" the output however you want. Normally, moving the joystick 50% forward would send a 0.5 signal to the contoller. Squaring it should give you finer control at lower speeds (moving the joystick 50% forward would result in a 0.25 signal being sent), while getting the square root would do the opposite (50% forward would end up sending a 0.71 signal instead!). In either case, you could still achieve full speed by moving the joysticks all the way forward. You should experiment to see what works best for you, and be sure to program in a way to keep your positive values positive, and negative values negative when squaring.

Just remember that the motors will still need to be able to produce enough force to move the robot, Plus there are things like deadband to deal with, so very low values like .1 might not appear to do anything.

Edit: By the time I typed this up, all these people replied already! Sorry if I repeated what was already said.
__________________
Zip-ties, hot glue, and duct tape.

2008 New York City Regional Champions - (41/555/1989)
2009 Brunswick Eruption 8 Finalists - (1989/56/1807)
2010 PARC XIII Champions - (25/341/1989)

Over The Bump

Last edited by TD912 : 16-03-2010 at 23:40.
  #8   Spotlight this post!  
Unread 16-03-2010, 23:46
TubaMorg TubaMorg is offline
Programmermechanicalelect ricalcoach
AKA: Dan
FRC #1480 (Robatos Locos)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2005
Location: Houston
Posts: 450
TubaMorg has a reputation beyond reputeTubaMorg has a reputation beyond reputeTubaMorg has a reputation beyond reputeTubaMorg has a reputation beyond reputeTubaMorg has a reputation beyond reputeTubaMorg has a reputation beyond reputeTubaMorg has a reputation beyond reputeTubaMorg has a reputation beyond reputeTubaMorg has a reputation beyond reputeTubaMorg has a reputation beyond reputeTubaMorg has a reputation beyond repute
Re: fine control of robot with mecanum wheels

We are using an open loop this year and we have used it in the past for our mecanum drive, though we use direct drive and a higher gear ratio than the KOP transmissions. We aren't using encoders to control wheel speed, but we ARE using a gyro to make sure the robot stays pointed in the right direction.

We aren't experiencing control issues perhaps because of our differences. You could fairly easily increase your gear ratio (in a way) without too much trouble by changing your sprocket sizes. A smaller output sprocket and a larger wheel sprocket will slow your wheels down.

Hope this helps...
__________________
I don't need a signature.
  #9   Spotlight this post!  
Unread 16-03-2010, 23:52
Dad1279 Dad1279 is offline
Registered User
FRC #1279 (Cold Fusion)
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2004
Location: NJ
Posts: 511
Dad1279 has much to be proud ofDad1279 has much to be proud ofDad1279 has much to be proud ofDad1279 has much to be proud ofDad1279 has much to be proud ofDad1279 has much to be proud ofDad1279 has much to be proud ofDad1279 has much to be proud ofDad1279 has much to be proud of
Re: fine control of robot with mecanum wheels

As a point of reference, we used the AndyMark 8", directly driven with 12:1 transmissions. For control we used Logitech 3d, using the 'twist' of the joystick for rotation.

They were driven by PWM, w/o feedback. Rotation/twist was scaled down.

This worked fine on both our test-bot and the final robot.
  #10   Spotlight this post!  
Unread 16-03-2010, 23:57
ajd ajd is offline
Registered User
FRC #3238
Team Role: Alumni
 
Join Date: Feb 2010
Rookie Year: 2010
Location: Mount Vernon, WA
Posts: 46
ajd will become famous soon enough
Re: fine control of robot with mecanum wheels

Quote:
Originally Posted by DavidGitz View Post
Actually, if you want to increase the sensitivity at low values and decrease it at larger values, you would square root the input values, or another function with a downward concavity. If you square a value between zero and 1, it becomes even smaller.
Most likely, you would want to decrease the sensitivity, which would give you more control, since the same change of the joystick position would give you a smaller change in motor speed. So squaring it seems like a better bet for more control.
  #11   Spotlight this post!  
Unread 17-03-2010, 00:23
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
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: fine control of robot with mecanum wheels

Quote:
Originally Posted by ajd View Post
Most likely, you would want to decrease the sensitivity, which would give you more control, since the same change of the joystick position would give you a smaller change in motor speed. So squaring it seems like a better bet for more control.
Correct.

I'd like to hear from any teams that have implemented closed-loop wheel speed control via encoders connected directly to Jags, on a bot with mecanum wheels.

Also, are any teams using shiftable transmissions (high and low gears) ?


~
  #12   Spotlight this post!  
Unread 17-03-2010, 00:43
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
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: fine control of robot with mecanum wheels

Quote:
Originally Posted by Dad1279 View Post
As a point of reference, we used the AndyMark 8", directly driven with 12:1 transmissions. For control we used Logitech 3d, using the 'twist' of the joystick for rotation.

They were driven by PWM, w/o feedback. Rotation/twist was scaled down.

This worked fine on both our test-bot and the final robot.
AndyMark 8"... check
3-axis Joystick ... check
"twist" for rotation ... check
PWM ... check
no wheelspeed feedback ... check
rotation "scaled down" ... check

only difference is wheels are connected to toughbox (12.75:1) transmissions via sprocket and chain.

What kind of curve-shaping did you do on your joystick outputs before feeding them into your wheel-command-calculation algorithm ?


~
  #13   Spotlight this post!  
Unread 17-03-2010, 00:48
JamJam263 JamJam263 is offline
Registered User
FRC #0263
 
Join Date: Feb 2009
Location: Lk Ronkonkoma
Posts: 27
JamJam263 is a glorious beacon of lightJamJam263 is a glorious beacon of lightJamJam263 is a glorious beacon of lightJamJam263 is a glorious beacon of lightJamJam263 is a glorious beacon of light
Re: fine control of robot with mecanum wheels

Quote:
Originally Posted by Ether View Post
Correct.

I'd like to hear from any teams that have implemented closed-loop wheel speed control via encoders connected directly to Jags, on a bot with mecanum wheels.

~
Team 263 is using exactly that. We found that the voltage control in an open loop was way too unreliable. Each wheel is directly hooked to a AM tougbox, with an encoder directly connected to the Jaguar that controls it. Using CAN speed control made everything more reliable, no drifting and a lot better traction control. The 1kHZ PID loop in the Jags helped use tremendously. Out of 60 Teams in NYC we where the only ones using CAN, and had quite a few comments from other teams using mecanum on how much better it preformed. The only issue that was not directly fixed with CAN and the built in PID was control at lower speeds. To fix this we simply used the throttle on the joystick to make an adjustable scale where setRPM=joystick*throttle*maxRPM. With adding the throttle everything worked without any issues. Using the throttle to make an adjustable scale works for voltage control, and a PID loop can easily be set up with the encoders hooked to the cRio in a short period of time. Actually switching our C++ code from an open system using pwm to CAN didn't take us more then an hour, neither did setting up the CAN network itself if you have the cables to do it.
__________________
Favorite 2009 quotes:

"Do we really need all of the cRIO or can we cut it in half to save weight?"

  #14   Spotlight this post!  
Unread 17-03-2010, 01:32
dtengineering's Avatar
dtengineering dtengineering is offline
Teaching Teachers to Teach Tech
AKA: Jason Brett
no team (British Columbia FRC teams)
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2004
Location: Vancouver, BC
Posts: 1,830
dtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond repute
Re: fine control of robot with mecanum wheels

Can't say this will help, but we did encoder based closed-loop on our Rack'n'roll mecanum (8" AM mecanums off 12:1 direct drive banebots)... using interrupts on the IFI controller. It did help... at least once we got the PID coefficients tuned. Until then it was wild!

Hopefully it will be easier with the new hardware...

Jason
  #15   Spotlight this post!  
Unread 17-03-2010, 08:51
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
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: fine control of robot with mecanum wheels

Quote:
Originally Posted by JamJam263 View Post
To fix this we simply used the throttle on the joystick to make an adjustable scale where setRPM=joystick*throttle*maxRPM. With adding the throttle everything worked without any issues. Using the throttle to make an adjustable scale works for voltage control...
Yeah, we also tried using the throttle* to scale the joystick (with open-loop PWM control) but it wasn't good enough. The driver wants more fine control, and I don't blame him.


*We used the throttle to control the parameter "a" mentioned in this post:
http://www.chiefdelphi.com/forums/sh...d.php?p=921992


~
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
jaguar speed control of mecanum wheels Ether Motors 7 05-02-2010 13:02
Spinning the Robot with Mecanum Wheels Teammax Technical Discussion 21 02-02-2010 18:14
Help with mecanum wheels CyDrive Programming 7 10-02-2008 16:16
Assistance with Mecanum Wheels CollmandosGrl General Forum 8 14-01-2008 17:42
Teams With Mecanum Wheels Foss@Team176 Technical Discussion 15 06-10-2005 09:38


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

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