Introducing SwagDrive. The drive code of the future.

So I attended the World Championships this year. It was great seeing all these high level robots. However, I had a problem with them, they drove too straight. They drove with too much precision. There was no sense of “YOLO”, the robots did not drive with enough swag.

So I decided to remedy this issue at the programming level, by creating SwagDrive. SwagDrive increases the robot’s level of swag by at least ten-fold. By using new and innovative algorithms (or rather “swagorithms”), SwagDrive decreases the robot’s consistency and accuracy so that when it drives on the playing field it looks a lot cooler.

It is similar to ArcadeDrive with some important modifications. If the change on an axis is not larger than the “swag barrier”, it will multiplied by the “swag multiplier” in order to “swag up” the driver’s inputs. If the input is larger then the “swag barrier” for that particular cycle, then the robot’s “swag level” increases by one. If the “swag level” becomes over 9000 the robot enters a moment of ultimate swag and rotates for one “swag period” (truly a YOLO move). Many of these values still need to be tuned and modified to achieve optimal swag.

You can find an example implementation written in Java by clicking here. While I have yet to test SwagDrive on a real robot, I can assure you that it will swag up your robot.

I look forward to your comments and hope that we can improve SwagDrive for future competitions.

(If you haven’t figured it out yet, this is a joke. You can find 1836’s robot code here by our main coder. I would strongly recommend not using the SwagDrive code on your robot, as you will likely lose control and possibly hurt the robot and the people around it.)


This is truly innovative. Can’t wait to run it at IRI.

Pics/vids or shenanigans.

Sounds like the perfect drive for Tem 254: Teh Chesy Pofs.

I don’t know if we would tell the difference; our driver drives like that anyway.

What happens when everything becomes fully swagged out? Also, does my robot need to have collar-popping functionality to use every feature? Otherwise, looks like it’s pretty easy to turn my swag on even as a rookie.

I should totally try this out. I don’t know much about code, but oh well , you only live once.

I guess it won’t be much of a change compared to us veering right when sending an only forward signal…

This would have been perfect for Team Harlem Shake videos.

We will be testing this tomorrow.

Can someone please actually do this?

Just multiply the inputs by -1 and it’s drive CORRECTING code.

We already have a program that does this, because we have mecanum wheels and a gyro, we spin in circles down the field. We haven’t actually used this in a match (except for a mishap with our autonomous in a practice match ( ep.1 about 10:00)), but at public events it is great.

I’ve been working on a holla-nomic drive train where the wheels are angled to give alliance partners rep, props and street cred, but I’ve run into some electrical feedback problems with the wheels giving the props only to the chassis that they are mounted to…I’ve been calling this phenomenon “hollaback” lol

One of the CSA’s told a story at dinner about a team with a robot that would inexplicably stutter. They search the code looking for parallel updates to motors, bad math, etc.

They ultimately stumbled across a parallel VI stuck in the corner named “Harlem Shake”. Not sure who the joke was on, but its one they will remember for awhile.

Greg McKaskle

highest # of posts to rep ratio I’ve ever seen. well done sir.

This is almost as cool as a triple-Killough nona-drive.

Sorry, I don’t think anyone will ever come close to this. :wink:

The robnots are already using this I promise.



Add in pneumatic cylinders to the wheels and bumpers, and when the “swag barrier” is broken, have the robot slow down, drop down the back bumper, and lift up the front wheels. Instant thug life rollin’.

any chance we could get a hold of some c++ up in here?