Go to Post In this case, "non-thermal protected" would mean "future paper weights." - Rick TYler [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
  #16   Spotlight this post!  
Unread 17-03-2010, 10:00
efoote868 efoote868 is offline
foote stepped in
AKA: E. Foote
FRC #0868
Team Role: Mentor
 
Join Date: Mar 2006
Rookie Year: 2005
Location: Noblesville, IN
Posts: 1,426
efoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond repute
Re: fine control of robot with mecanum wheels

My team is using mecanum wheels, I believe we are using the same setup or something similar.


One thing to keep in mind is that everything has a slight polarity, and a deadband. You can work to figure out where the motors start spinning, and then account for it in code.

Also, another thing my team has found useful is separating the rotation component from the XY joystick to another one - we found it was nearly impossible to spin without moving off axis until we did this.


After this season's competition I think I'll write a whitepaper on how I got the students to approach mecanum drive, our setup this year is very easy to control and I'd like them to be able to use it easily in future years (without having to worry about cheating).
__________________

Be Healthy. Never Stop Learning. Say It Like It Is. Own It. Like our values? Flexware Innovation is hiring!. We're looking for Senior Automation, Software, and System Engineers. Check us out!
  #17   Spotlight this post!  
Unread 17-03-2010, 11:03
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,126
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 efoote868 View Post
My team is using mecanum wheels, I believe we are using the same setup or something similar.
Could I ask you to check with your lead programmer to find out if your bot using using closed-loop wheel speed control ?

Thank you.


~
  #18   Spotlight this post!  
Unread 17-03-2010, 11:05
efoote868 efoote868 is offline
foote stepped in
AKA: E. Foote
FRC #0868
Team Role: Mentor
 
Join Date: Mar 2006
Rookie Year: 2005
Location: Noblesville, IN
Posts: 1,426
efoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond repute
Re: fine control of robot with mecanum wheels

There is no wheel feedback.
__________________

Be Healthy. Never Stop Learning. Say It Like It Is. Own It. Like our values? Flexware Innovation is hiring!. We're looking for Senior Automation, Software, and System Engineers. Check us out!
  #19   Spotlight this post!  
Unread 17-03-2010, 11:20
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,126
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

Hi Team 868,

Thanks for your reply. I have a bunch of questions, I hope you don't mind. Any answers you are willing to provide would be much appreciated:

My team is using mecanum wheels, I believe we are using the same setup or something similar.

Are you using 8" AndyMark mecanums? Are the wheels direct-driven, or chain-driven? If chain, what are the sprocket teeth counts? Are you using the KoP AndyMark 12.75:1 toughbox? If not, what is your gear ratio? Are you using Victor or Jag motor controllers?

One thing to keep in mind is that everything has a slight polarity, and a deadband. You can work to figure out where the motors start spinning, and then account for it in code.

Yes, we are aware of this. Nothing we have tried so far is able to achieve fine control at low speeds, given our gear ratio and open-loop control.


Also, another thing my team has found useful is separating the rotation component from the XY joystick to another one - we found it was nearly impossible to spin without moving off axis until we did this.

We have no trouble spinning in-place, with the rotation command on the "twist" axis of a 3-axis joystick.


~
  #20   Spotlight this post!  
Unread 17-03-2010, 11:48
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: fine control of robot with mecanum wheels

Ether,

It sounds like you're running a setup very similar to ours. I can't say we've "mastered" fine motor control with our mecanum wheels, but I'm happy to answer any questions you have. Here's a video of our practice robot, showing what we can/can't do:

http://www.youtube.com/watch?v=apcy5naz5TE

Quote:
Are you using 8" AndyMark mecanums?
Yes.

Quote:
Are the wheels direct-driven, or chain-driven? If chain, what are the sprocket teeth counts?
They are chain-driven. 19 tooth on the ToughBox output shaft, kit supplied 22 tooth on the Mecanum wheel hubs.

Quote:
Are you using the KoP AndyMark 12.75:1 toughbox? If not, what is your gear ratio?
Yes we are using the KoP AndyMark ToughBoxes, unmodified.

Quote:
Are you using Victor or Jag motor controllers?
We are using Jaguar motor controllers, using PWM control.

Our setup also uses the US Digital optical encoders, and the WPILib PIDController object. We are using closed loop I-only motor control, and we cube our joystick inputs before sending them to our control loop.

We also implemented a "slow-down" button, which scales both our translational and angular velocities to about 1/3 of max when held down. You can see it used in the video just prior to when our robot meets the ball - the robot seems to abruptly slow down.
__________________
In life, what you give, you keep. What you fail to give, you lose forever...
  #21   Spotlight this post!  
Unread 17-03-2010, 11:55
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

Something to be aware of is that during testing my team found that in order to control the robot at low speeds the motors must be given 40% of maximum voltage (to overcome the robots moment of inertia) and then once the robot is moving the power can lower slightly.
Other issues that could impact fine control is the lag time between control system and robot.

My Team's robot uses a near identical setup, 8in andymark Mechanums wheels(with black mini wheels), andy mark toughboxes, chains connecting them with andymark wheel tensioners (Fiddly to the extreme to get right, but once right they havent failed through 13+ matches)
all done open loop with no feedback, with jaguars on PWMs, and joystick mapping for fine control

Robot control is a 3 axis joystick
  #22   Spotlight this post!  
Unread 17-03-2010, 12:39
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,126
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 Mr. Lim View Post
Our setup also uses the US Digital optical encoders, and the WPILib PIDController object. We are using closed loop I-only motor control
What made you decide to use closed-loop wheel speed control ? Was the performance less than satisfactory without it ?


~
  #23   Spotlight this post!  
Unread 17-03-2010, 12:55
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: fine control of robot with mecanum wheels

Quote:
Originally Posted by Ether View Post
What made you decide to use closed-loop wheel speed control ? Was the performance less than satisfactory without it ?


~
The performance was far less than satisfactory without it IMHO.

The vector math behind mecanums isn't that complicated, but it depends on the ability to get a wheel turning at precisely the velocity you want it to.
__________________
In life, what you give, you keep. What you fail to give, you lose forever...
  #24   Spotlight this post!  
Unread 17-03-2010, 13:05
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,126
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 Mr. Lim View Post
The performance was far less than satisfactory without it IMHO.
OK. I think that's our problem. We are using open loop.

Quote:
The vector math behind mecanums isn't that complicated
Agreed. We did our own:
http://www.chiefdelphi.com/forums/sh...83&postcount=1

Quote:
, but it depends on the ability to get a wheel turning at precisely the velocity you want it to.
OK. That's what I figured.

~
  #25   Spotlight this post!  
Unread 17-03-2010, 14:08
efoote868 efoote868 is offline
foote stepped in
AKA: E. Foote
FRC #0868
Team Role: Mentor
 
Join Date: Mar 2006
Rookie Year: 2005
Location: Noblesville, IN
Posts: 1,426
efoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond repute
Re: fine control of robot with mecanum wheels

I think the only difference is the wheel size, 6 inch versus 8.
I understand that might provide a difference in the "low speed" handling.

For the drive, we're using Jaguars via PWM.


Sorry I don't have all the information... all of this is from memory.
__________________

Be Healthy. Never Stop Learning. Say It Like It Is. Own It. Like our values? Flexware Innovation is hiring!. We're looking for Senior Automation, Software, and System Engineers. Check us out!
  #26   Spotlight this post!  
Unread 17-03-2010, 14:15
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,126
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 efoote868 View Post
I think the only difference is the wheel size, 6 inch versus 8.
I understand that might provide a difference in the "low speed" handling.
Yes. It could definitely make a difference, depending on other factors of course.

Quote:
Sorry I don't have all the information... all of this is from memory.
I understand. But if I may ask without being too much of a pest, would you be willing to ask your lead engineer whether you have encoders on the wheels/gearboxes, and what the other details of your drivetrain are (gear ratio of transmission and tooth count on sprockets if using chain drive).

Thanks


~
  #27   Spotlight this post!  
Unread 17-03-2010, 14:29
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: fine control of robot with mecanum wheels

The holonomic drivebases that we have used (in 2007 and 2008) had similar kinematics to mecanum drives, and we were also dissatisfied (at first) with the controllability of the drive at all speeds, and especially at low speeds.

The following solutions helped to get us under control, and each of the aforementioned robots managed to win a regional:

1. Make absolutely sure that all wheels are always touching the ground. Ideally, you should have some sort of suspension or at least a non-rigid frame that lets you deal with non-flat carpet.

2. Use a gyro to help the robot drive straight. We used a proportional-only controller with a feed forward component (meaning we did the holonomic drive kinematics to generate the command, and then added the output of a P controller with "yaw command" as setpoint and gyro rate as input). In general, we found that encoders on the wheels did help, but not nearly as much as the gyro (because of wheel slip, non-level surfaces, etc.) Also, this was back in the IFI era, so CAN speed control was not an option.

3. Limit each joystick to a maximum of two axes. We tried using a 3 axis (X,Y,Twist) joystick with our holonomic drive, but despite plenty of practice our drivers always seemed to do better with a two stick setup without a twist axis (one stick for X/Y and another that just uses the X axis for twist, or one stick for Y and twist - e.g. tank drive - and the other for strafing). Simply put, we found that too often the driver would accidentally use the twist axis when they didn't mean to.

4. Making sure that weight is distributed evenly! The vector math assumes all wheels have equal normal force - if your robot is far off from this assumption, your mileage will vary.
  #28   Spotlight this post!  
Unread 17-03-2010, 14:35
efoote868 efoote868 is offline
foote stepped in
AKA: E. Foote
FRC #0868
Team Role: Mentor
 
Join Date: Mar 2006
Rookie Year: 2005
Location: Noblesville, IN
Posts: 1,426
efoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond repute
Re: fine control of robot with mecanum wheels

I know for a fact there are no sensors on individual wheels.
I'll ask tomorrow at BMR what our reduction is.
__________________

Be Healthy. Never Stop Learning. Say It Like It Is. Own It. Like our values? Flexware Innovation is hiring!. We're looking for Senior Automation, Software, and System Engineers. Check us out!
  #29   Spotlight this post!  
Unread 17-03-2010, 15:00
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,126
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 Jared341 View Post

2. Use a gyro to help the robot drive straight.

4. Making sure that weight is distributed evenly!
Weight distribution! Yes, I can see where that might be a factor with our design.

Gyro. Interesting. How difficult was this to implement (develop and tune the algorithm)? Were all your gyro implementations on bots with closed-loop wheelspeed? Or did you try it without closed-loop?

Thanks!


~

Last edited by Ether : 17-03-2010 at 15:02.
  #30   Spotlight this post!  
Unread 17-03-2010, 15:08
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: fine control of robot with mecanum wheels

Quote:
Originally Posted by Ether View Post
Weight distribution! Yes, I can see where that might be a factor with our design.

Gyro. Interesting. How difficult was this to implement (develop and tune the algorithm)? Did you have success using gyro without closed-loop wheelspeed control?

Thanks!


~
Using the gyro was very simple - the algorithm was just:

Code:
for each motor
  motorCommand = <result of holonomic drive calculations>;
  if we are trying to go straight (e.g. yaw command is zero)
    motorCommand += Kp * getGyroRate();
  end if
  Tell motor to go "motorCommand"
end for
As you can see, we didn't need encoders for this to work well for us. We determined "Kp" by having it read from a potentiometer (the throttle on our joystick) - we played with it until it seemed like there was a good balance between staying straight and being smooth (if Kp is too high, the robot will oscillate wildly). You can also use integral or derivative terms (e.g. PI, PD, or PID) in your controller if you aren't satisfied that this is fixing things for you.

We put encoders on our drive, but ended up only using them for distance tracking in autonomous mode rather than for velocity control (the gyro by itself was fine and was 4 less things that could fail).
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 13:44.

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