VeXBot360

For a first time team & school we think we did quite well. The driving mechanism actually required a some rather complicated code due to the rotation system, but in the end it ended up working out really well. We ended up being the only robot in all three (A, B1 and B2) divisions to implement the holonomic drive.

The robot had a very simple design, and worked very well with (and against) robots that had the suckers. We usually used it to steal\scatter pawns accross the field or awkwardly positioning them (i.e putting them in the corners made it very difficult for some sucker designs to extract the pawns from the playing field.) Or for collecting pawns for our alliance. The design also allowed very flexible movement. We were very easily able to navigate around blocking robots. Other robots with larger designs had high-torque driving wheels which posed a bit of a challenge for us.

We had a more complicated scissor lift design that we ended up dismounting because we thought it our robot would be more effective as a plow.

We placed first for the duration of the first couple of matches, though for the remaining three qualification matches we were allied with robots that were literally dysfunctional. Two were completely immobile. The problem with our robot design is that we must be allied with someone who can lift balls into the goals, it is really more of a support bot than anything. So being paired with dysfunctional robots was a very big problem for us. We plan to compensate for these problems by creating our own lifting mechanism next time.

We made captin, though this turned out to be a disadvantage. We had another team that wanted to elect our robot for their team (but we found out that this wasn’t possible as captins cannot elect captins.) This team went on to the finals :frowning: We were one of the last captins to choose, so we yet again got two dysfunctional robots, during the duration of the last three matches, our robot (in our team) was the only one capeable of scoring (and for two of the three matches, moving.)

Being apart of B2 though, this was entirely expected and we are very proud of our team-mates and our robot despite the difficulties. I find it odd though that nothing is done when you are allied with a team whos robot does not initially work. We got 4-5 alliance bots in a row with either very serious mechanical failures or were immobile prior to being placed on the field. If they had broken down on the field opposed to being placed into the field without initially working, I wouldn’t have minded.

This video shows some of the driving systems on our robot. The holonomic drive is written from scratch, you use a normalized unit vectors to describe a direction to the driving module. You can also specify a natural angle (so you can change what direction is forward on the robot very easily).

We had some really cool autonomous implementations, but never had time to test\setup the hardware for them; next year though you guys might be able to see some of the ideas we had. We’re working on our scissor or some other form of lift and it should be working for the next competition. We are also having some competitions local some schools in the BC, Canada area hosted by another school with a playing field, so we hope to demonstrate some of our autonomous programming there.

Tell us what you think (the bot gets a little stuck near the start):

http://www.youtube.com/watch?v=OmF2R0_s5Ds

Looks great,

The DiscoBots FRC team has had a lot of experience with omni-corner drive in FIRST. Here is a complete CAD model.
http://2012.discobots.org/node/26

We found that getting a gryo to work well was essential to driving. Without a gyro and field-centric control, the robot was not able to drive straight.

I would encourage you to try out a VEX gyro and focus on getting your robot to move in a straight line.

We plan on mounting 4 optical shaft encoders - one for each wheel. Then I’m going to write a synchronous driver that makes sure all the wheels have traveled their proper ratio of distance (or are very close to doing so.)

We had no troubles with driving straight, but it may’ve just been much less apparent in a smaller design.

Thanks for your input, I will look into the gyro sensors :slight_smile:

New, small, early competitions often have a bunch of proto-bots or dead robots.
If you have a working dozer, but no circular goal scoring, you are one step ahead.

I’m surprised that captains can’t choose captains, but upon reflection, it seems like an appropriate local rule for a competition where a dozer robot can be a captain.

Wheel encoders are better feedback than nothing, but they only provide closed loop feedback to the wheels.
Gryo’s (when then work and don’t have drift), provide closed loop feedback for rotation of the whole robot, in theory.
I have an idea for a “human gyro”: have a second driver whose only job is to hold a joystick in the direction the front of the robot is pointing, or to control another motor to point a flag always to the opposite side of the field.

dude easyc has holonomic blocks now
click update and it has them
programming will take 10 secondss

Sweet chassis!

True, but try using that to implement an autonomous mode. The driver modules offers some very good interfaces for the AI modules of our robot. Mapping the controller directly to the motors offers no interface or preprocessing - which is very critical.

@jgraber Thanks for the input on the gyros, I will definitely take a look at them.

I’ve seen some of Jeremy’s code and it’s way beyond needing to use the built in functions.

Alliance selection in all three divisions at the BCIT tournament was done strictly according to the alliance selection rules: alliance captains were allowed to choose other potential alliance captains. I was at this event, and the person running the alliance selection was Todd Ablett, who may have run as many alliance selections as anyone else during six years of regional volunteering and two years of announcing at World Championships.

Jeremy is on a rookie team attending their first event, and I’m guessing that he simply misunderstood the selection rules.

Jeremy: It’s unusual to see a simple pusher-bot with a holonomic drive train. I think you are off to a good start and you should be proud of yourselves.

Very likely it was due to a misunderstanding on our part - we didn’t even know what captins were xd until we were elected as one.

BTW The person your see in the video isn’t me, its our driver. I’m holding the camera xd.