Subscribe to Dogstopper's Code Mania        RSS Feed
***** 1 Votes

6 weeks of greatness

Icon 5 Comments
Hello everyone,

In case you haven't noticed, I have not been very active for the last 6-7 weeks. It's not because I don't like you all - it's because I am a member of my high school's FIRST Robotics Team (4265). I was asked to take the role of senior programmer and hopefully program this robot.

For those of you who do not know what FIRST (For Inspiration and Recognition of Science and Technology) is, it is a fantastic program to get kids involved in Engineering, Science, and Technology at a young age through the creation of a robot. And you only have 6 weeks. This year's challenge was to design, build, and program a robot to play basketball and balance on bridges in only 6 weeks.

Here are some videos of the progress that we made from the beginning of the season to the regional that we just competed in (Smoky Mountain Regional):

The programming side is very interesting, as we are one of the few teams to use Java and a robotics library called WPILIBJ. It's poorly documented, and only now have I realized why several modules that I designed did not work. This is due to multi-object state machines. Basically, you can break the program down into three parts.

- Core
- Subsystems
- Commands

The subsystems define the components that physically exist, such as Jaguar speed controllers, pistons, solenoids, relays, etc. It also creates methods that operate on those components. Commands exist to operate on these subsystems in specific ways and to do things like handle joystick input and relate it to those subsystems. Finally, the Core is basically a large state machine that iterates at 50Hz and runs every command.

To add complexity, only one command can operate on any subsystem at any given point in time, and subsystems can have default commands (when other commands are not operating on it). The system seems easy, but unfortunately, I had about 2 hours of actual testing time with the code (Mechanical engineers take forever), so I was unable to implement this system to my liking.

However, at our first regional, my team became the Rookie All-Stars, and we have an automatic pass to Worlds in Saint Louis in April 25th-28th. Hopefully, in this time, I will be able to implement these changes and create better code for this robot.

So, that's where I have been and where I will be in the next few weeks. This is one of the greatest experiences of my life, and I will hopefully keep you all better updated on my progress.

- Dogstopper

5 Comments On This Entry

Page 1 of 1

ishkabible Icon

07 March 2012 - 02:52 PM
I wish my school was bigger; I never got these opportunities. Hopefully going to a large college will change that.

I went to a programing competition where I alone represented my school; I('we' technically sense I represented my school) got 8th out of 88 schools there; I was a bit flustered I didn't do better sense I racked up most of my points in the last 2 challenges. Even though the last 2 problems were much harder I had much more time to do them and that was my saving grace. The other problems were much much simpler but we got very little time to do them.

the one problem I did the best on was an optimization problem; it asked use to find the minimal number of coins to meet a desired price given an arbitrary number of denominations. The program had to give an answer in a minute or else you lost the points for that question; the person(s) with the best results got a bonus(me). I think it was the speed of C++ that actually won that one for me sense I just did an exhaustive search with a 55 second timed cut off :P

even still I wasn't able to get the problem that asked us to reduce fractions sense we only got :/

Jstall Icon

08 March 2012 - 06:12 AM
That sounds like a really interesting project. If I may make a small suggestion - lasers. If you equip your robot with lasers you can simply vaporize the competition. Plus after you take the World's competition next month you can take over the actual world - with your unstoppable killing machine Java programmed robot.

Congrats on the Rookie All Star win :)

Dogstopper Icon

09 March 2012 - 03:57 AM
Yeah....Lasers were originally on or design, but as it turns out, destroying other people's robots is against the rules...

Amrykid Icon

09 March 2012 - 05:54 AM
I wish you good luck as senior programmer. I'm also the programmer for my team, team 4247.

cornetto456 Icon

10 March 2012 - 01:27 AM
Good luck with your project.
Page 1 of 1

February 2016

78910 11 1213

Recent Entries

Search My Blog

Recent Comments

0 user(s) viewing

0 Guests
0 member(s)
0 anonymous member(s)