Go to Post Last I looked, FIRST wasn't an acronym for inspiration and recognition of robots. It was and is an acronym for inspiration and recognition of science and technology. - JaneYoung [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 Rating: Thread Rating: 4 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 07-05-2015, 18:57
GeeTwo's Avatar
GeeTwo GeeTwo is offline
Technical Director
AKA: Gus Michel II
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Slidell, LA
Posts: 3,671
GeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond repute
Re: Kiwi Drive Concept

I skipped the research when I realized that all of the square roots and trig functions canceled out, and the mapping was pretty straightforward. To map rotation about a point xr, yr at angular speed wr (measured in radians/second, with rotation from the positive x axis towards the positive y axis being a positive angular speed) to translation speed vx,vy and rotation w0:
w0 = wr
vx = w yr
vy = -w xr
you can use this same preliminary mapping to make a mecanum drive rotate around a desired point.

For conversion purposes, 1 radian per second is 30/pi ~ 9.55 rpm.



Using the WPIlib convention for your coordinate system (+x to the right, +y forward, rotations clockwise as viewed from above), your angular speeds will be reversed from this, and you will need to use:
w0 = wr
vx = -w yr
vy = w xr
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.

Last edited by GeeTwo : 08-05-2015 at 12:29. Reason: Added navigation convention paragraph and transformation
Reply With Quote
  #2   Spotlight this post!  
Unread 08-05-2015, 11:41
Ginger Power's Avatar
Ginger Power Ginger Power is offline
The GreenHorns Team Lead
AKA: Ryan Swanson
FRC #4607 (C.I.S.)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2012
Location: Becker, Minnesota
Posts: 891
Ginger Power has a reputation beyond reputeGinger Power has a reputation beyond reputeGinger Power has a reputation beyond reputeGinger Power has a reputation beyond reputeGinger Power has a reputation beyond reputeGinger Power has a reputation beyond reputeGinger Power has a reputation beyond reputeGinger Power has a reputation beyond reputeGinger Power has a reputation beyond reputeGinger Power has a reputation beyond reputeGinger Power has a reputation beyond repute
Re: Kiwi Drive Concept

Quote:
Originally Posted by GeeTwo View Post
I skipped the research when I realized that all of the square roots and trig functions canceled out, and the mapping was pretty straightforward. To map rotation about a point xr, yr at angular speed wr (measured in radians/second, with rotation from the positive x axis towards the positive y axis being a positive angular speed) to translation speed vx,vy and rotation w0:
w0 = wr
vx = w yr
vy = -w xr
you can use this same preliminary mapping to make a mecanum drive rotate around a desired point.

For conversion purposes, 1 radian per second is 30/pi ~ 9.55 rpm.



If you use mathematical conventions for your coordinate system (+x to the right, +y forward), and measure your rotations with the navigation convention of clockwise as viewed from above, your angular speeds will be reversed from this, and you will need to use:
w0 = wr
vx = -w yr
vy = w xr
Thanks a ton for all the information about kiwi drives! It has definitely influenced my plans moving forward!
Reply With Quote
  #3   Spotlight this post!  
Unread 08-05-2015, 22:30
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,101
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: Kiwi Drive Concept

Quote:
Originally Posted by GeeTwo View Post
Using the WPIlib convention for your coordinate system (+x to the right, +y forward, rotations clockwise as viewed from above), your angular speeds will be reversed from this, and you will need to use:
w0 = wr
vx = -w yr
vy = w xr
Once you've got Vx (strafe right speed), Vy (forward speed), and ω,
the inverse kinematics for your 3 wheel tangential speeds are:

S1 = r*ω + Vx

S2 = r*ω - 0.5*Vx - 0.866*Vy

S3 = r*ω - 0.5*Vx + 0.866*Vy

(see attached sketch)
Attached Thumbnails
Click image for larger version

Name:	Kiwi inverse kinematics.png
Views:	80
Size:	12.1 KB
ID:	18979  
Reply With Quote
  #4   Spotlight this post!  
Unread 10-05-2015, 10:43
GeeTwo's Avatar
GeeTwo GeeTwo is offline
Technical Director
AKA: Gus Michel II
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Slidell, LA
Posts: 3,671
GeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond repute
Re: Kiwi Drive Concept

Combining the two transformations, to rotate an equilateral kiwi drive around a pivot point (xp, yp) with angular speed ω, the inverse kinematics using Ether's diagram above are:
S1 = ω * (r - yp)

S2 = ω * (r + 0.5*yp - 0.866*xp)

S3 = ω * (r + 0.5*yp + 0.866*xp)
Checking rotation points to verify that we didn't swap sign conventions along the way:

(0,0): all are ωr, check
(0,r): S1 = 0, S2 = S3 = 1.5ωr, reasonable
(0,2r): S1 = -ωr, S2 = S3 = 2ωr, reasonable
(0,-2r): S1 = 3ωr, S2 = S3 = 0, check
(1.155r, 0): S1 = ωr, S2 = 0, S3 = 2ωr, ok
(-1.155r, 0): S1 = ωr, S2 = 2ωr, S3 = 0, ok


If you want "forward" to be directly between wheels rather than through one (for example if you'll be picking up pieces or doing an internal stack), rotate the robot 180 degrees, leaving the axes and forward arrow in place. Then, the inverse kinematics for rotation about (xp, yp) become:
S1 = ω * (r + yp)

S2 = ω * (r - 0.5*yp + 0.866*xp)

S3 = ω * (r - 0.5*yp - 0.866*xp)
Attached Thumbnails
Click image for larger version

Name:	kiwi-inverse.png
Views:	39
Size:	16.4 KB
ID:	18986  
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.

Last edited by GeeTwo : 10-05-2015 at 11:01.
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 05: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