paper: Team 1114 2015 Code Release (Java)

Thread created automatically to discuss a document in CD-Media.

Team 1114 2015 Code Release (Java)
by: Kaleb Dodd

Team 1114’s code for our 2015 robot.

Here is the java code written for our 2015 robot Simbot SideSwipe. Feel free to ask any questions.

simbot2015.zip (8.2 MB)

You can also send us an email at [email protected].

I like the Singleton pattern.

//FIXME: this is kinda horrible do an actual implementation

I think the only thing wrong with the implementation is the name of the variable. It looks like a hack at first, but in reality it reads as the best way to trigger a sensor reset upon arrival at the point.

Really nifty stuff in this code. Looks like that indexer code took a bit more to get done than we conjectured.

What units are typically used for things like DriveToPoint? inches, cm, etc, ticks?

That is a LOT of autonomous modes o.O

We started using Inches for drive movements this year. We convert the encoder ticks into inches using the ticksPerInch variable in SensorInput.

I love reading code for great robots with a high level of automation. You can tell just how much time was spent optimizing everything.

One question. I noticed in your autonomous driving code, you do some compensation for voltage level:

Vect output = new Vect(xOut*12.5/voltage, yOut*12.5/voltage);

Did you find that this made a significant difference in your application as opposed to just outputting xOut and yOut directly? It looks like you had both modes available, so you must have done some sort of comparison.

The number of auto modes you prepared is impressive. The way your team codes is very similar to how we do things on 4901!

I’m actually interested in the same question Jared had as well.

The compensation for battery voltage is in an unused version of the driveToPoint method. We played around with limiting the output based on current speed and battery voltage to reduce wheel slip but we eventually settled on linearly ramping the output over time.

This puts my Kiwis PID loop to shame. I love going through your Code, it’s so clean and organized. If I had the chance to redo my code, I would make it similar to yours, but surprisingly mine actually works somewhat nicely. I may redo parts of it, and make it look more like this, but my biggest problem would be encoders on the wheels. I’m currently only using a gyro to fix problems. I find it fun to compare the two different ways of implementing kiwi drives. If I had the chance(and parts), parts of my code would look more like yours! Awesome Job!

Hi Team1114:
Thanks for making your code available. I would like to learn how your code works, but I’m totally confused.

I downloaded the file and unzipped its contents.
Next, I clicked on a bunch of folders.

Do I need a development environment to read the code?

Dave
Build Mentor

The code was written in the eclipse IDE and would be best viewed from that program, however you can go to src>org>simbotics>simbot2015 and you will find all of our .java files which can be opened in any text editor but I would recommend notepad++.

Thanks for sharing this! Amazing resource…

Thanks Simbotics for releasing this! Code Orange, 3476, is in the process of learning Java in order to use it for the 2016 season instead of our usual LabVIEW efforts. These really help us!

Why can I not download the .zip file?? :frowning:

From home it gets to the end and then says “Failed”.

From work it doesn’t even start.

Thanks in advance,
Dan

This is really cool! Is the CAD file for your 2016 robot gonna be released to the community as well or no?

Yes, we plan on releasing our 2015 CAD. Once we work through some issues with our website, we’ll get it online right away.

Awesome! I meant to say 2015 instead of 2016. Guess im just way too excited for the up coming year.

We released the CAD a couple days ago, it’s on our website (LINK)

What is your software development process like? Do you use a version control system?

I too would like their 2016 CAD. Aaron can you make this happen around week 3?

Thanks!