Go to Post If you need more complicated control... make it more complicated yourself. ;) - Ryan M. [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
  #1   Spotlight this post!  
Unread 04-12-2012, 10:40
mrcheese123 mrcheese123 is offline
Registered User
FTC #4747
 
Join Date: Dec 2012
Location: Dallas
Posts: 4
mrcheese123 is an unknown quantity at this point
Exclamation Omni-wheel accuracy

I am currently using Robot C to program with a tetrix kit. We have a base drive train with omniwheels and is setup like so:
/------\
| |
| |
\------/

I already have the code for telop written but in testing the motors have a big problem with rolling. When the bot goes diagonally, the motors slow to a stop at random (not every time) rather than just stopping. Also, occasionally, when the train is rotated, two motors stop and two motors roll to make it roll about an extra 45 degrees. Note that this occurs with different motors every time. Does anyone have any ideas on how to compensate for this?

Message me if you want to see the code, I don't want it leaking out everywhere.
Note: this is an FTC robot.
  #2   Spotlight this post!  
Unread 04-12-2012, 10:54
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: Omni-wheel accuracy


Lift the bot off the ground and tell us what the wheels do when you command forward, reverse, rotate clockwise, rotate counterclockwise, strafe left, and strafe right.


  #3   Spotlight this post!  
Unread 04-12-2012, 10:58
Andrew Schreiber Andrew Schreiber is offline
Joining the 900 Meme Team
FRC #0079
 
Join Date: Jan 2005
Rookie Year: 2000
Location: Misplaced Michigander
Posts: 4,080
Andrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond repute
Re: Omni-wheel accuracy

I would suggest ensuring that you have feedback on each of the wheels. On our 3 wheel omni platform we drove it with and without velocity feedback (RobotC has this built in) and the difference was night and day. http://www.youtube.com/watch?v=qobHqf45SLc is before we put feedback on... but here is the one with feedback. http://www.youtube.com/watch?v=Qwg2cgNTAZE

In both cases, disregard the audio tracks they don't really add anything...
__________________




.

Last edited by Andrew Schreiber : 04-12-2012 at 13:36.
  #4   Spotlight this post!  
Unread 04-12-2012, 11:43
mrcheese123 mrcheese123 is offline
Registered User
FTC #4747
 
Join Date: Dec 2012
Location: Dallas
Posts: 4
mrcheese123 is an unknown quantity at this point
Re: Omni-wheel accuracy

Can you give me an example line of how to enable the feedback?(Too lazy to go dive around for it) I'm assuming encoders are not needed for this...

Thanks!
  #5   Spotlight this post!  
Unread 04-12-2012, 14:13
Nemo's Avatar
Nemo Nemo is offline
Team 967 Mentor
AKA: Dan Niemitalo
FRC #0967 (Iron Lions)
Team Role: Coach
 
Join Date: Nov 2009
Rookie Year: 2009
Location: Iowa
Posts: 805
Nemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond repute
Re: Omni-wheel accuracy

If you set the motors to brake instead of coast when your controller axes are within your dead band, that should solve your problem.

I agree that putting encoder feedback on the wheels is nice, but it's expensive ($56 per encoder), the encoders are touchy to get mounted properly, and it takes extra expertise to figure out how to program them once you have the instruments setup.
  #6   Spotlight this post!  
Unread 04-12-2012, 14:21
Andrew Schreiber Andrew Schreiber is offline
Joining the 900 Meme Team
FRC #0079
 
Join Date: Jan 2005
Rookie Year: 2000
Location: Misplaced Michigander
Posts: 4,080
Andrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond repute
Re: Omni-wheel accuracy

Quote:
Originally Posted by Nemo View Post
If you set the motors to brake instead of coast when your controller axes are within your dead band, that should solve your problem.

I agree that putting encoder feedback on the wheels is nice, but it's expensive ($56 per encoder), the encoders are touchy to get mounted properly, and it takes extra expertise to figure out how to program them once you have the instruments setup.
I disagree, there is only about 20 lines of code running on that robot in the video and it was all done by our student programmers with only minimal pushing from our mentors for what to search for in the documentation. We also had no problems mounting the encoders, we simply followed the instructions. I will say they are bloody expensive. Encoders were the single biggest expense in that robot.
__________________




.
  #7   Spotlight this post!  
Unread 04-12-2012, 14:24
Andrew Schreiber Andrew Schreiber is offline
Joining the 900 Meme Team
FRC #0079
 
Join Date: Jan 2005
Rookie Year: 2000
Location: Misplaced Michigander
Posts: 4,080
Andrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond repute
Re: Omni-wheel accuracy

Quote:
Originally Posted by mrcheese123 View Post
Can you give me an example line of how to enable the feedback?(Too lazy to go dive around for it) I'm assuming encoders are not needed for this...

Thanks!
Encoders ARE needed for this. As for how to enable it http://www.robotc.net/teachingmindst...nce/hp_PID.pdf If you're still struggling with it by Friday I'll pull our code and get it to you as an example. I know when I told our students that's what I wanted them to do it took them all of 20 minutes to get it working.
__________________




.
  #8   Spotlight this post!  
Unread 04-12-2012, 14:41
Nemo's Avatar
Nemo Nemo is offline
Team 967 Mentor
AKA: Dan Niemitalo
FRC #0967 (Iron Lions)
Team Role: Coach
 
Join Date: Nov 2009
Rookie Year: 2009
Location: Iowa
Posts: 805
Nemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond repute
Re: Omni-wheel accuracy

Our team has built 4 wheel omni drives like OP is describing on several occasions, and our experience is that they drive pretty nicely without encoder feedback. Maybe the 3 wheel version is touchier.

Encoders could solve the problem described by the OP. Setting the motors to brake instead of coast can solve it faster and cheaper. Adding encoders has additional benefits such as making the robot drive in a straight line and enabling more accurate autonomous driving.

I like instrument feedback. I just don't think it's worth $200 in this case.
  #9   Spotlight this post!  
Unread 04-12-2012, 14:47
Mark McLeod's Avatar
Mark McLeod Mark McLeod is offline
Just Itinerant
AKA: Hey dad...Father...MARK
FRC #0358 (Robotic Eagles)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2002
Location: Hauppauge, Long Island, NY
Posts: 8,906
Mark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond repute
Re: Omni-wheel accuracy

Quote:
Originally Posted by Nemo View Post
Setting the motors to brake instead of coast can solve it faster and cheaper.
How do you set a Tetrix motor to Brake?
__________________
"Rationality is our distinguishing characteristic - it's what sets us apart from the beasts." - Aristotle
  #10   Spotlight this post!  
Unread 04-12-2012, 14:50
Nemo's Avatar
Nemo Nemo is offline
Team 967 Mentor
AKA: Dan Niemitalo
FRC #0967 (Iron Lions)
Team Role: Coach
 
Join Date: Nov 2009
Rookie Year: 2009
Location: Iowa
Posts: 805
Nemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond repute
Re: Omni-wheel accuracy

Quote:
Originally Posted by Mark McLeod View Post
How do you set a Tetrix motor to Brake?
I only know how to do it in LabView. The control Tetrix motor VI has a brake option that's pretty easy to find if you drop it into a piece of code. When I wrote omni drive code, I made a case structure that set all four drive motors to brake when all three drive axes were within a dead band.

Edit: my memory is poor. There is a separate VI provided in the FTC Toolkit called "Stop Motors". It's not an option in the run motors VI.

Last edited by Nemo : 04-12-2012 at 16:07. Reason: Inaccurate information
  #11   Spotlight this post!  
Unread 04-12-2012, 15:11
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: Omni-wheel accuracy

Quote:
Originally Posted by mrcheese123 View Post
Too lazy to go dive around for it
Some friendly advice? This is not the way to ask for help.


  #12   Spotlight this post!  
Unread 04-12-2012, 15:45
Andrew Schreiber Andrew Schreiber is offline
Joining the 900 Meme Team
FRC #0079
 
Join Date: Jan 2005
Rookie Year: 2000
Location: Misplaced Michigander
Posts: 4,080
Andrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond repute
Re: Omni-wheel accuracy

Quote:
Originally Posted by Nemo View Post
Our team has built 4 wheel omni drives like OP is describing on several occasions, and our experience is that they drive pretty nicely without encoder feedback. Maybe the 3 wheel version is touchier.

Encoders could solve the problem described by the OP. Setting the motors to brake instead of coast can solve it faster and cheaper. Adding encoders has additional benefits such as making the robot drive in a straight line and enabling more accurate autonomous driving.

I like instrument feedback. I just don't think it's worth $200 in this case.
I'm not sure whether the 3WD platform is touchier. My gut feeling tells me that it would spin a little easier and would show this problem a little more but I do not have data to back this up. I'm open for suggestions on how to collect this data.

I would disagree that simply placing it in brake mode would fix the core problem of motors moving at different speeds. It may fix the majority of it but for our team it was worth the $150 it cost to actually address the issue and to give us accurate autonomous navigation. It was also worth it to teach the lesson of the importance of feedback systems to my students.

I guess, my suggestion to OP would be to try the cheap and fast solution and if it meets your needs cool if not move on to using feedback.
__________________




.
  #13   Spotlight this post!  
Unread 04-12-2012, 16:22
Nemo's Avatar
Nemo Nemo is offline
Team 967 Mentor
AKA: Dan Niemitalo
FRC #0967 (Iron Lions)
Team Role: Coach
 
Join Date: Nov 2009
Rookie Year: 2009
Location: Iowa
Posts: 805
Nemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond repute
Re: Omni-wheel accuracy

Quote:
Originally Posted by Andrew Schreiber View Post
I would disagree that simply placing it in brake mode would fix the core problem of motors moving at different speeds.
I completely agree that using encoders is better overall and that it's a great thing for the students to learn how to do that.

In this specific situation, I don't think the core problem is best described as "motors are moving at different speeds." According to the quote below, sometimes the motors are continuing to run after the driver stops telling the robot to drive, while other times the motors stop right away. That problem as described would go away if the motor was told to stop instead of letting it coast.

Quote:
Originally Posted by mrcheese123 View Post
When the bot goes diagonally, the motors slow to a stop at random (not every time) rather than just stopping. Also, occasionally, when the train is rotated, two motors stop and two motors roll to make it roll about an extra 45 degrees.
We've had this exact problem with the same style of omni drive, and it drove a whole lot better after we incorporated the "stop motor" command when we weren't commanding the robot to drive.

No philosophical disagreements here... like I said, I agree that using encoders is better.
  #14   Spotlight this post!  
Unread 04-12-2012, 17:15
z_beeblebrox's Avatar
z_beeblebrox z_beeblebrox is offline
Custom User Title
AKA: Cal
FRC #4183 (Bit Buckets)
Team Role: Alumni
 
Join Date: Jan 2012
Rookie Year: 2012
Location: Cambridge MA
Posts: 811
z_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond reputez_beeblebrox has a reputation beyond repute
Re: Omni-wheel accuracy

Try calibrating the joysticks or adding some joystick deadband. Sometimes, even when the joysticks appear to be centred, they may not be giving an output of 0, which causes the motors to slowly turn. We had this problem in Vex, after linearizing the motor speed controller output, and adding some deadband really helped.
__________________
2012 Utah Regional Rookie All-Star
2013 Phoenix Regional Judge's Award for "design process and prototyping"
2014 Hub City Regional Quality Award, Arizona Regional Excellence in Engineering Award
2015 Arizona East Regional Creativity Award, Winner
2016 Arizona North Regional Finalist, Arizona West Excellence in Engineering Award, Finalist
  #15   Spotlight this post!  
Unread 05-12-2012, 12:26
mrcheese123 mrcheese123 is offline
Registered User
FTC #4747
 
Join Date: Dec 2012
Location: Dallas
Posts: 4
mrcheese123 is an unknown quantity at this point
Re: Omni-wheel accuracy

Quote:
Originally Posted by z_beeblebrox View Post
Try calibrating the joysticks or adding some joystick deadband. Sometimes, even when the joysticks appear to be centred, they may not be giving an output of 0, which causes the motors to slowly turn. We had this problem in Vex, after linearizing the motor speed controller output, and adding some deadband really helped.
I added a deadband from -10 to 10 on both the X and Y axis and now it is perfect! Now I am trying to figure out configurable speeds with motors via buttons. Ex: Pressing button 1 sets a boolean value to true or false which dictates a variable to be set to 1 or 10 which is used to divide the motor power. However, switching the boolean values is not working. Suggestions?
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:31.

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