A Question on Omnidirectional Control
I am reading the follwoing paper,
http://robocup.mi.fu-berlin.de/buch/omnidrive.pdf
On page ten it introduces a formula to generate movement for n omniwheels,
−sin θ1 cos θ1 1
(v1, v2, v3, v4)= −sin θ2 cos θ2 1 (vx, vy, Rω)
................
−sin θn cos θn 1
From what I understand, you take the vector of where开发者_如何学运维 you want to go say x direction no rotation that would be [1 0 0] and multiply that with sin cos matrix then you get how much each particular motor should be powered to generate motion in that direction.
In order to double check the results I calculated for velecoties for [1 0 0], that gives me [a b c d] 4 motor speeds and I have 4 θs, when I add each wheels sin and cos components I think I shoudl get back to [1 0 0] but I actualy get back something like [2.5 0 0]. What I was wondering is did I forget some property about matrix multipication? or Do I have flow in my logic?
No, there's nothing wrong. Consider the simplest possible case, where a robot has two wheels across from each other on a single axle. For the robot to move forward at speed x
, both wheels should be turning at speed x
, not x/2
.
精彩评论