Go to Post At this point in build season, I'm thinking that whatever type we can get built and working is the best type, by far! - MrForbes [more]
Home
Go Back   Chief Delphi > FIRST > General Forum
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 20-01-2012, 21:55
O'Sancheski O'Sancheski is offline
Registered User
no team
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Connecticut
Posts: 675
O'Sancheski has a reputation beyond reputeO'Sancheski has a reputation beyond reputeO'Sancheski has a reputation beyond reputeO'Sancheski has a reputation beyond reputeO'Sancheski has a reputation beyond reputeO'Sancheski has a reputation beyond reputeO'Sancheski has a reputation beyond reputeO'Sancheski has a reputation beyond reputeO'Sancheski has a reputation beyond reputeO'Sancheski has a reputation beyond reputeO'Sancheski has a reputation beyond repute
Re: Mechanum Wheels?

Quote:
Originally Posted by SuperNerd256 View Post
-More complicated to code, even at the minimum level
I disagree with this statement. WPI has a complete library for mecanum wheels. My old team used them last year for the first time and had them programmed on the drivetrain the day we received the shipment from AndyMark.
Reply With Quote
  #2   Spotlight this post!  
Unread 20-01-2012, 21:57
Andrew Lawrence
 
Posts: n/a
Re: Mechanum Wheels?

Quote:
Originally Posted by O'Sancheski View Post
I disagree with this statement. WPI has a complete library for mecanum wheels. My old team used them last year for the first time and had them programmed on the drivetrain the day we received the shipment from AndyMark.
I mean when you go into the real nitty gritty coding stuff. THe code they give you is fine, but to make it better takes some work.

This is just what I've been told by our programmers, I'm not a master of code myself, however my trustful programmers are.
Reply With Quote
  #3   Spotlight this post!  
Unread 20-01-2012, 22:03
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,070
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: Mechanum Wheels?

Quote:
Originally Posted by SuperNerd256 View Post
I mean when you go into the real nitty gritty coding stuff. THe code they give you is fine, but to make it better takes some work.

This is just what I've been told by our programmers
Could you please ask your programmers to tell us how they made it better than the WPI code.

Reply With Quote
  #4   Spotlight this post!  
Unread 20-01-2012, 22:06
Andrew Lawrence
 
Posts: n/a
Re: Mechanum Wheels?

Quote:
Originally Posted by Ether View Post
Could you please ask your programmers to tell us how they made it better than the WPI code.

The themselves haven't programmed it, but from reading the WPI code and looking at how to make it better, they said getting it perfect (not 100%, but a close 99%) would take some extra code.

I'll ask them at our next meeting, though. Now I'm interested, too.
Reply With Quote
  #5   Spotlight this post!  
Unread 21-01-2012, 00:08
theprgramerdude theprgramerdude is offline
WPI Freshman
AKA: Alex
FRC #2503 (Warrior Robotics)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2008
Location: Brainerd, Minnesota
Posts: 347
theprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud of
Re: Mechanum Wheels?

Quote:
Originally Posted by SuperNerd256 View Post
The themselves haven't programmed it, but from reading the WPI code and looking at how to make it better, they said getting it perfect (not 100%, but a close 99%) would take some extra code.

I'll ask them at our next meeting, though. Now I'm interested, too.
Code:
void RobotDrive::MecanumDrive_Polar(float magnitude, float direction, float rotation)
{
	// Normalized for full power along the Cartesian axes.
	magnitude = Limit(magnitude) * sqrt(2.0);
	// The rollers are at 45 degree angles.
	double dirInRad = (direction + 45.0) * 3.14159 / 180.0;
	double cosD = cos(dirInRad);
	double sinD = sin(dirInRad);

	double wheelSpeeds[kMaxNumberOfMotors];
	wheelSpeeds[kFrontLeftMotor] = sinD * magnitude + rotation;
	wheelSpeeds[kFrontRightMotor] = cosD * magnitude - rotation;
	wheelSpeeds[kRearLeftMotor] = cosD * magnitude + rotation;
	wheelSpeeds[kRearRightMotor] = sinD * magnitude - rotation;

	Normalize(wheelSpeeds);

	m_frontLeftMotor->Set(wheelSpeeds[kFrontLeftMotor] * m_invertedMotors[kFrontLeftMotor]);
	m_frontRightMotor->Set(wheelSpeeds[kFrontRightMotor] * m_invertedMotors[kFrontRightMotor]);
	m_rearLeftMotor->Set(wheelSpeeds[kRearLeftMotor] * m_invertedMotors[kRearLeftMotor]);
	m_rearRightMotor->Set(wheelSpeeds[kRearRightMotor] * m_invertedMotors[kRearRightMotor]);
}
This is straight from the RobotDrive source. What could possibly be improved?
__________________
Attending: MN Duluth Regional
Reply With Quote
  #6   Spotlight this post!  
Unread 21-01-2012, 00:10
Andrew Lawrence
 
Posts: n/a
Re: Mechanum Wheels?

Quote:
Originally Posted by theprgramerdude View Post
Code:
void RobotDrive::MecanumDrive_Polar(float magnitude, float direction, float rotation)
{
	// Normalized for full power along the Cartesian axes.
	magnitude = Limit(magnitude) * sqrt(2.0);
	// The rollers are at 45 degree angles.
	double dirInRad = (direction + 45.0) * 3.14159 / 180.0;
	double cosD = cos(dirInRad);
	double sinD = sin(dirInRad);

	double wheelSpeeds[kMaxNumberOfMotors];
	wheelSpeeds[kFrontLeftMotor] = sinD * magnitude + rotation;
	wheelSpeeds[kFrontRightMotor] = cosD * magnitude - rotation;
	wheelSpeeds[kRearLeftMotor] = cosD * magnitude + rotation;
	wheelSpeeds[kRearRightMotor] = sinD * magnitude - rotation;

	Normalize(wheelSpeeds);

	m_frontLeftMotor->Set(wheelSpeeds[kFrontLeftMotor] * m_invertedMotors[kFrontLeftMotor]);
	m_frontRightMotor->Set(wheelSpeeds[kFrontRightMotor] * m_invertedMotors[kFrontRightMotor]);
	m_rearLeftMotor->Set(wheelSpeeds[kRearLeftMotor] * m_invertedMotors[kRearLeftMotor]);
	m_rearRightMotor->Set(wheelSpeeds[kRearRightMotor] * m_invertedMotors[kRearRightMotor]);
}
This is straight from the RobotDrive source. What could possibly be improved?
They said something about advanced controls to make the omnidirectional drive more intuitive and easy to use.
Reply With Quote
  #7   Spotlight this post!  
Unread 21-01-2012, 00:28
theprgramerdude theprgramerdude is offline
WPI Freshman
AKA: Alex
FRC #2503 (Warrior Robotics)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2008
Location: Brainerd, Minnesota
Posts: 347
theprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud oftheprgramerdude has much to be proud of
Re: Mechanum Wheels?

Quote:
Originally Posted by SuperNerd256 View Post
They said something about advanced controls to make the omnidirectional drive more intuitive and easy to use.
Controls aren't part of the drive code; they're the parameters that are passed into the drive code. What your programmers don't seem to understand is it's their code, not the WPILib code, that can be improved.

It's like saying even though the motor controller is already set to 100%, the code can be improved to set it to 110% via "better controls". That doesn't happen.
__________________
Attending: MN Duluth Regional
Reply With Quote
  #8   Spotlight this post!  
Unread 21-01-2012, 00:32
Andrew Lawrence
 
Posts: n/a
Re: Mechanum Wheels?

Quote:
Originally Posted by theprgramerdude View Post
Controls aren't part of the drive code; they're the parameters that are passed into the drive code. What your programmers don't seem to understand is it's their code, not the WPILib code, that can be improved.

It's like saying even though the motor controller is already set to 100%, the code can be improved to set it to 110% via "better controls". That doesn't happen.
We don't use mecanums. Never have. The point they made was in order to have the best quality controls for the drivers and have the driving experience be the most controllable and intuitive that our drivers can have, more complex programming would be required for mecanums compared to the traditional tank drive.

That's that, let's not derail this thread further.
Reply With Quote
  #9   Spotlight this post!  
Unread 21-01-2012, 01:46
Joe Schornak's Avatar
Joe Schornak Joe Schornak is offline
No Stranger To Love
FRC #2840 (Blue Tide)
Team Role: Alumni
 
Join Date: Dec 2008
Rookie Year: 2008
Location: Phoenix, AZ
Posts: 182
Joe Schornak is a splendid one to beholdJoe Schornak is a splendid one to beholdJoe Schornak is a splendid one to beholdJoe Schornak is a splendid one to beholdJoe Schornak is a splendid one to beholdJoe Schornak is a splendid one to beholdJoe Schornak is a splendid one to behold
Re: Mechanum Wheels?

My team has done quite a bit of experimentation with mecanum wheels this season, since we were initially doubtful of their effectiveness in certain critical areas, like traversing the barrier and climbing the bridge. Unfortunately, until we get some videos and pictures up (hopefully this weekend!) you'll have to trust me that our inadequately-described mechanisms actually work.

Surprisingly, the mecanum roller material grips better on plastic than on plywood. I suspect that fine sawdust is the culprit here, as our test of taping a sheet of plastic to one half of the bridge and then driving up resulted in the robot turning away from the side with the plastic, demonstrating higher traction on that side. We would be able to ascend while strafing, but our bridge has a significant lip that makes it very difficult to go from the ground to the bridge while sideways. No problems with turning sideways partway up and balancing that way, though!

We devised a system of raised powered traction wheels to pull the robot onto the barrier and provide a better point of contact to the mecanum wheels. Our prototype long chassis has no problems climbing over the barrier, even from a stop very close to the barrier without a high-speed run-up. The mecanum rollers function exactly as they should, in that the force vectors cancel due to the wheel orientation and no disadvantageous rolling occurs.

We use mecanum wheels because the extra range of motion is highly useful in offensive play. The ability to strafe has been particularly helpful when lining up on the bridge and will likely be very useful when the robot is sideways while trying to balance three robots. From a control perspective, we use flight simulator joysticks with a twist axis, a setup which has proved highly intuitive and easy to explain to 6th-graders during our school's open house.

In short, while mecanum wheels are certainly not perfect for everything, they have none of the negative traits frequently attributed to them, namely low traction, and we expect to use them to great advantage this season.
__________________
1. Acquire Manual
2. Read Manual
3. ???
4. PROFIT!

Visit www.pcdsrobotics.org!
Reply With Quote
  #10   Spotlight this post!  
Unread 21-01-2012, 03:07
372 lives on 372 lives on is offline
Registered User
FRC #0372 (Robo-Knights)
Team Role: Mascot
 
Join Date: Jan 2011
Rookie Year: 2005
Location: Mukilteo
Posts: 124
372 lives on has a spectacular aura about372 lives on has a spectacular aura about372 lives on has a spectacular aura about
Re: Mechanum Wheels?

Quote:
Originally Posted by SuperNerd256 View Post
We don't use mecanums. Never have. The point they made was in order to have the best quality controls for the drivers and have the driving experience be the most controllable and intuitive that our drivers can have, more complex programming would be required for mecanums compared to the traditional tank drive.

That's that, let's not derail this thread further.

just stop...

they aren't that hard to use and if you gave them a chance you would see that. now can you stop posting all of your opinions on something you clearly don't understand because it could mess up peoples decisions on what wheels to use.
__________________
cole?
Reply With Quote
  #11   Spotlight this post!  
Unread 21-01-2012, 07:13
jvriezen jvriezen is offline
Registered User
FRC #3184 (Burnsville Blaze)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Burnsville, MN
Posts: 636
jvriezen has a reputation beyond reputejvriezen has a reputation beyond reputejvriezen has a reputation beyond reputejvriezen has a reputation beyond reputejvriezen has a reputation beyond reputejvriezen has a reputation beyond reputejvriezen has a reputation beyond reputejvriezen has a reputation beyond reputejvriezen has a reputation beyond reputejvriezen has a reputation beyond reputejvriezen has a reputation beyond repute
Re: Mechanum Wheels?

Quote:
Originally Posted by theprgramerdude View Post
Controls aren't part of the drive code; they're the parameters that are passed into the drive code. What your programmers don't seem to understand is it's their code, not the WPILib code, that can be improved.

It's like saying even though the motor controller is already set to 100%, the code can be improved to set it to 110% via "better controls". That doesn't happen.
One relatively simple improvement you can make for mecanum drive is to add the option for 'field oriented' drive. Using a gyro, you can arrange the code to so that pushing the joystick forward *always* makes the bot move away from you, regardless of which way it is pointing. Moving stick right, the bot always moves directly to the right side wall of the field. This can make driving easier. Our bot last year allowed you to choose via a joystick button which type of drive mode you wanted.
__________________
John Vriezen
FRC, Mentor, Inspector #3184 2016- #4859 2015, #2530 2010-2014 FTC Mentor, Inspector #7152 2013-14
Reply With Quote
Reply


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 20:40.

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