Quote:
Originally posted by Sachiel7
A note to wildstang - I wasn't trying to be mean or anything I just wanted to note that even though the system didn't live up to your expectations, it got you the national trophy, with some help. Plus, I was a bit confused as to why you were using trig on a processor like this (???) From the matches I saw your bot had a skid/crab drive with the 2 "flaps" and a pretty good solid auto. What components did you have that required that level of calculation?
|
It's quite alright, your original post probably came across the wrong way. The problem isn't that the controller didn't live up to our expectations - we've been dealing with it for a few years so we knew what to expect - the problem is that FIRST is asking us to do more with it than ever before. The controller came out when the most complex programs teams were writing were simple feedback loops for controlling arms & crab wheels, now teams are asked to write programs that drive the entire robot without operator control. Fortunately FIRST & IFI realized that in order for the competition to progress beyond simple autonomous programs, they need to give us a better controller.
We used trig functions (actually an arctan lookup table) to find the angle that our robot needed to travel in order to reach its destination. We knew the robot's coordinates (got that from the off board processor) & the target coordinates so we simply took ((delta y) / (delta x)) and used our arctan subroutine to get the angle of travel relative to the field. Then we had to take into account our robot's angle relative to the field and get the angle to point the crabs, but that was just a subtraction. After that we had to adjust one side of our crab wheels in order to correct for any skew in the robot's orientation (what we called theta correction). Then that data was passed to our normal crab control subroutines to actually turn the wheels to the proper angle. I almost forgot that we also passed data to the wing control subroutines so we could control the wings in autonomous mode. All of that was done each loop in autonomous mode.
Thanks for the info about the status of the new controller. You may want to edit out your email address from the post if you don't want it public.
And on a side note, I sure hope IFI builds a lot of extra controllers since it's common for teams to build a second robot for use after the build deadline. Either that or FIRST lets us keep our controller instead of shipping it with the robot.
Mike