Go to Post I don't want a carbon copy of your wheels.. I want to improve upon your design. - Tom Bottiglieri [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
  #16   Spotlight this post!  
Unread 15-02-2015, 10:27
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Correcting Mecanum Wheels with Encoders (Ether, We Summon You!)

Quote:
Originally Posted by Alan Anderson View Post
How heavy is your robot, and how is the weight distributed? The symptom sounds like the back wheels are slipping a little on the carpet, which suggests that the robot is front-heavy.
Another thing to consider that strongly affects mecanum... is your frame square? Perhaps one of the wheels is off the ground or bears too little of the weight.
  #17   Spotlight this post!  
Unread 15-02-2015, 10:51
Toa Circuit's Avatar
Toa Circuit Toa Circuit is offline
Thaddeus Maximus
AKA: Thad Hughes
FRC #4213 (MetalCow Robotics)
Team Role: Leadership
 
Join Date: Nov 2012
Rookie Year: 2012
Location: Shirley, IL
Posts: 131
Toa Circuit is an unknown quantity at this point
Re: Correcting Mecanum Wheels with Encoders (Ether, We Summon You!)

My #1 concern in your setup is this:
What is causing the odd strafing? If it's wheel slippage (my main guess), encoders on the drive wheels won't help you. Consider using a gyroscope to get your error. You'll likely be happier anyways.
__________________

2012 Head of Programming and Electrical
2013-14 Overall Team Captain and Programming Head
2012-14 Mentor of FLL Team Power Surge
2014 Dean's List Finalist
2014 CIR Xerox Creativity Award
Webpage
  #18   Spotlight this post!  
Unread 15-02-2015, 12:26
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,125
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: Correcting Mecanum Wheels with Encoders (Ether, We Summon You!)


The OP has stopped responding to his thread, so we don't know the status is, or if he is still reading.

But so far, the responses have not addressed his original question:

Quote:
Originally Posted by goldenguy00 View Post
To fix this, we are using encoders, but we are running into some severe difficulties my question is ... what am I doing wrong in the second example? The robot does not move in autonomous, nor in teleop.

  #19   Spotlight this post!  
Unread 15-02-2015, 12:42
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Correcting Mecanum Wheels with Encoders (Ether, We Summon You!)

Quote:
Originally Posted by goldenguy00 View Post
Through a bit of troubleshooting, I found that this works...
Code:
public class TalonCan {

    CANTalon talon;

    public TalonCan(int canID){
	talon = new CANTalon(canID);
        talon.changeControlMode(ControlMode.PercentVbus);
    }
}
And this doesn't...
Code:
public class TalonCan {
    
    CANTalon talon;
    
    public TalonCan(int canID){
        talon = new CANTalon(canID);
	talon.changeControlMode(ControlMode.Speed);
	talon.setPID(0.1, 0.001, 1, 0.0001, 100, 36, 0);
	talon.set(0);
	talon.setFeedbackDevice(FeedbackDevice.QuadEncoder);
    }
}
I believe it's from not using the encoders, so my question is, what am I doing wrong in the second example? The robot does not move in autonomous, nor in teleop.
I assume that since you are only showing the constructor that you are not changing anything else. That would be your problem I suspect. When you change modes, you change the units of "set();". That means you need to select a velocity based on your joystick. If you are using it like you should for a typical open-loop robot, then the values you are sending to set() are -1 to 1. This means that when you switch to closed loop you are asking for a velocity of -1 to 1. Depending on your sensor (you indicated an encoder) that is incredibly slow. Depending on how your PID constants are tuned, it may give the results you described.
  #20   Spotlight this post!  
Unread 15-02-2015, 13:37
Ken Streeter's Avatar
Ken Streeter Ken Streeter is offline
Let the MAYHEM begin!
FRC #1519 (Mechanical Mayhem)
Team Role: Engineer
 
Join Date: Feb 2005
Rookie Year: 2005
Location: Team: Milford, NH; Me: Bedford, NH
Posts: 475
Ken Streeter has a reputation beyond reputeKen Streeter has a reputation beyond reputeKen Streeter has a reputation beyond reputeKen Streeter has a reputation beyond reputeKen Streeter has a reputation beyond reputeKen Streeter has a reputation beyond reputeKen Streeter has a reputation beyond reputeKen Streeter has a reputation beyond reputeKen Streeter has a reputation beyond reputeKen Streeter has a reputation beyond reputeKen Streeter has a reputation beyond repute
Re: Correcting Mecanum Wheels with Encoders (Ether, We Summon You!)

Quote:
Originally Posted by jhersh View Post
When you change modes, you change the units of "set();". That means you need to select a velocity based on your joystick. If you are using it like you should for a typical open-loop robot, then the values you are sending to set() are -1 to 1. This means that when you switch to closed loop you are asking for a velocity of -1 to 1.
Just to add a little bit more to what Joe has said, the "velocity" in the Talon SRX when using speed (velocity) control mode is in counts per 1/10 of a second. See section 17.1 of the Talon SRX Software Reference Manual for a little more info. On our robot, our top speed as measured on the Talon SRX is around 600 units, so we use set() commands which range from -600 to +600.
__________________
Ken Streeter - Team 1519 - Mechanical Mayhem (Milford Area Youth Homeschoolers Enriching Minds)
2015 NE District Winners with 195 & 2067, 125 & 1786, 230 & 4908, and 95 & 1307
2013 World Finalists & Archimedes Division Winners with 33 & 469
2013 & 2012 North Carolina Regional Winners with teams 435 & 4828 and 1311 & 2642
2011, 2010, 2006 Granite State Regional Winners with teams 175 & 176, 1073 & 1058, and 1276 & 133
Team 1519 Video Gallery - including Chairman's Video, and the infamous "Speed Racer!"
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


All times are GMT -5. The time now is 02:15.

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