|
Re: Drivetrain Control Systems
When we run 'halo', we do the following:
-If the robot can strafe (some of our VRC robots can), we map the left stick as Translation and the right stick X as rotation. Idealy we would have a translation vector and rotation power, and map everything nicely and correctly, but in the real world we just use a our 'normal' 2-stick non-strafe halo drive and map the left X to the strafe wheel (in a 5-wheel H drive). One Vex robot in particular was really fun to drive, since the gains worked out nicely so the axis of rotation while strafing and rotating fully (e.g. left stuck straight left, right stick straight right) would rotate around the tip of the collector.
-If the robot cannot strafe, we remove the left X (in software, not physically) and use the left Y as 'Throttle' and right X as 'Wheel'. We then use a variant of the Cheesy Poofs algorithm which switches to 'quick-turn' when Throttle is very small. This is what we usually call a 'Halo drive'. Our drivers all liked this algorithm, and I liked it also.
We are actually running something different this year, but I can't talk about it. Ask our pit crew or me about it at a competition.
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor
"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
|