It’s a (centered) two wheel, independently steered and powered swerve drive. With EV3.
Also has gyroscope correction, and steering wraparound optimization for quick response time.
Reminds me of this (http://www.chiefdelphi.com/forums/showthread.php?t=21066) Lego swerve from 2003, only yours is cooler.
What programming language did you use? Just the Labview based one, or something else?
The LabView Based EV3 Language… Sadly. Somewhat frustrating. I can send the file if you’re interested.
NXC isn’t really released yet and I was struggling with LeJOS.
Could you send it to me? I would love to take a look.
It’ll be here for a while:
Let me know if there’s issues opening it… It is a very big program. (Lots of MyBlocks. Lots of them.)
This is really cool. Is there a reason why you used 3 motors, would it not be possible with 2?
Swerve is impossible with 2 motors- at least if you’re wanting to be able to turn as well. Use 3 motors, and you can do some limited movement, but then it gets messy, and you can’t move in X,Y, and W truly independently.
I’m using four motors (A EV3 Medium motor is a bit hidden behind the brick, and I had to use a NXT motor instead of a second EV3 medium motor to rotate the second module.)- each wheel is independently driven and steered.
You could theoretically gear the swerve modules to turn together since all of them have to face the same direction to go anywhere anyways. You’d just power that with one motor, then another geared setup but to drive the wheels you want to.
Such a setup can only traverse along the X and Y axes. Any rotational motion is coincidental or caused by drift.
http://www.chiefdelphi.com/media/papers/2785 May be of interest to you.
I’m sure Nate is hovering around here somewhere…
Ah I see what you mean. Right, I was assuming only those two axes of motion, and not any rotational movement while traversing in a certain direction. So you would need at least three motors for a full swerve. I was thinking along the lines of what Flimsor said.