5th Gear AI

I was reading some stuff about a 5th gear AI last year; does anyone know if that ever came out and where I could find it?

I wrote a Java Client that takes the place of the normal C#/XNA/PhysX/DirectX client.

In that client I can write any algorithm/heuristics I want and have them control the robot that is competing in the virtual match a 5th Gear Server is managing. To make life sort-of simple (and cheat a little bit) the Java client knows everything about the states of the other robots. It doesn’t have to use simulated sensors to try learn things like a bot’s position, velocity, etc.

I wrote the original for the Overdrive season. Then we improved some important parts of how the simulated robots drive. The Java client didn’t keep up, and it languished for awhile. Over the last year I was able to get the client working again and I was in the middle of creating an interface that would let you write your own control algorithms and integrate them with the infrastructure I had created. I have a modest ToDo list left.

But… We added some new messages to the Server-Client interface, and we are in the middle of writing the Logomtiion simulation, so…

When I get back to it and can release it, you should be able to create a Java class that will integrate with the compiled code I supply, and then use your code to control one or more of our simulated robots (using one or more client computers).

Part of that ToDo list involves creating features that will let you/me/us run a series of AI vs AI matches in virtual tournaments. If that, or using the framework to help with a deeper analysis of strategies (or as the foundation of class project?), sounds good to you, then stay in touch, and maybe offer to be a beta-tester.

A couple of FYIs:

  • My Java does not create a fancy 3D rendering of the match; but you can see that on the server’s GUI (or maybe write one for us???).
  • My “AI Client” isn’t very useful for creating your real robot’s autonomous-period software. The real sensor outputs and the real robot’s driving characteristics are miles apart from what what software “sees” in the simulator.
  • If you are interested in creating a robot that could play an entire match autonomously, then you can use the Java client to see how easy or hard that will be. Step one would be flitering out all the match info that a real robot would NOT have/know. Then you would come up with the instructions that would play the game using only the info a real robot would have at its disposal. Again - that sounds like a decent class project to me.

Blake

I’d love to help with 5th gear in any way I can. I’d be more then happy to beta test and/or write/debug whatever code I can. I don’t know much code at the moment though, just LabVIEW and TI Basic until the season ends and I have time to learn C/C++, Java, and more. All of that AI stuff sounds really cool and like something I’d like to do over the summer. I think I might have a few friends who would like to help out as well.

I’d be more then happy to get involved but getting out the Logomotion simulator is paramount of course.

I have to say, that sounds awesome! If you want us, 2611 would love to be a part of this!

When I/we are able to return to it, I’ll dig up this thread and contact you guys/gals.

Blake

If there is a student based 5th gear dev initiative I think we should call ourselves the 5th gear box; just sayin’.

So far 1676 can promise the help of at least three decent programmers and maybe an awesome mentor too.

Sweet!

Implicit in what I am doing with the AI, is the notion of building interfaces that let students write their own code to extend/improve/expand 5th Gear, without having to fool with all the plumbing (unless they really, really like “plumbing”).

If the AI experiment is a success, It should lead to opening several more interfaces for outside/independent Java Classes (GUI graphics, driver control changes, two drivers, real humans controlling human players, new physics models, new graphics models, referees/penalties, full clients or servers, internet play, alternatives to PhysX, etc.), and for C# equivalents.

Over time, continued success could lead to multiple partial and full 5th Gear implementations, that would all adhere to a single set of interface specs and could be mixed and matched to create more than one kind of simulation.

That sort of thing sounds easy on the surface, but it is darned hard to accomplish in reality. That’s OK though, so long as we don’t frustrate ourselves by biting off more than we can chew at any one time, because learning what is hard and what is easy is part of STEM robotics.

So, “Yes”, let’s have lots of Gear Boxes and other contributions. We can keep the grand vision in mind, but let’s also remember to eat the elephant one bite at a time.

Blake

Hey blake, I know you guys are working really hard on this. Just wondering if you had an eta of the release date? Also thanks for all the time and effort you and the rest of the 5th gear team put into this.

This weekend?

We are inches away from having our core feature list implemented and we are trying to sand enough rough edges off of that for it to be releaseable. Don’t hold us to it; but we would like to upload something you can download during this weekend (Remember that 11:59 Sunday night (in Hawaii (are there any teams between HI and the Intl Date Line?)) is still part of this weekend :)).

There certainly will still be some rough edges, nice-to-have features that aren’t in, and robot controls that will deserve further tuning (to get them to feel “right”); but the initial release should be playable and should be mature enough to help folks start getting useful insights into gameplay pacing, strategy, scouting, etc.

Blake

I think you’re totally right about biting off more then we can chew. That said I think that between now and 2012 Kickoff close to an army of student devs could be amassed, and this army could get quite a bit of programing done. It wouldn’t be easy, but it would be fun.

This could just be my delusions of grandeur but I do think high goals are well within the realm of possibilities.

I would gladly help. As like any other student with too much Mtn Dew, I get a lot more done if you have a bug tracker or a list of todos :wink:

:frowning:

I apologize for the dripping faucet torture - Software deadlines are slippery beasts. One bit can spell the difference between glory and … (not glory). We are delayed.

The graphics-model importer part of our XNA game engine, decided it didn’t like the sexy Field model this year’s graphics artist created for us; and it wasn’t very helpful about explaining what it didn’t like. While that is being investigated, I am creating a simpler model (I hope) using Google SketchUp.

FYI - SketchUp could be great. But it isn’t yet. It’s not my favorite CAD/Drawing tool, but it does produce collada and KMZ files.

FYI - The entire path from drawing tool outputs to model formats XNA and DirectX will render properly is a royal annoyance. If any of you ever go down this same sort of path, assume that the 3D modeling and game-engine industries are highly fractured markets and plan accordingly. Conversion utilities are great - when they work…

Stay tuned while we get past this pot hole.

Blake (sleep deprived) Ross

PS: Thank You volunteers - In the not too distant future, I’ll definitely PM everyone who offered to help.

Hey Blake I know you guys are still stressing do we have a new estimated date that it will come out?

We are still working with our sexy-field artist to successfully import his nice looking field.

Although I had never used SketchUp before, I created a field using SketchUP (I would have preferred SolidWorks, but need a quick, low-risk alternative that could create files we could eventually get into FBX format). The field looks OK in SketchUp, but the colors go haywire by the time we get to an FBX format.

So I’m going to stay up tonight rebuilding the field model - hopefully with fewer noob mistakes - we will convert it into an FBX tomorrow and see what we have. If it’s good we will give FIRST and LM HQ a chance to look for anything they want changed and then publish to the world.

The rules are all in pretty good shape, the robot motions need some focused tuning, and I keep reading things here on Chief Delphi that make me want to change some of the Human Player code I wrote, but… It’s time wrestle with SketchUp for a while again.

If I have a warm fuzzy feelng when I finish tonight, and if I’m not completely worn out, I’ll post a picture here.

Thanks for your patience.

Blake
PS: If I didn’t think thousands of students and mentors weren’t working as hard or harder all over the FIRST landscape, I would look for some sympathy. I guess I’ll just have to suck it and get to work. :wink:

If you need an advance beta tester, hit me up!

Attached - This is a JPEG from the model I handed over to a colleague at LM’s Marietta, GA site. He will convert the model into an FBX and then we will see what happens next - Blake





The graphics saga continues - I am looking for help from someone who has a copy of SketchUp Pro (See here http://www.chiefdelphi.com/forums/showthread.php?threadid=92776 ) Anyone know someone who has a SketchUp Pro license, an email accout, and a 30 minutes of free time?

Blake

With some help from Chris Picone (Chris Is Me) and my colleague David Dobbs, and some Google searching, I think I know what is causing the graphics model problems and how to (tediously) fix them.

The symptoms are consistent with me (a SketchUp noob) getting some (many) of my model’s faces flipped around backward.

That SketchUp or it’s introductory help materials aren’t a little less silent on this subject is something I’ll grumble about for a while, but the good news is that I’m optimistic that I/we can fix the problems and push out a good model in fairly short order.

So, let’s not count our chickens before they hatch, but I am optimistic.

If anyone wants to learn more about the problem/solution, post a request.

Blake

With some help from Chris Picone (Chris Is Me) and my colleague David Dobbs, and some Google searching, I think I know what is causing the graphics model problems and how to (tediously) fix them.

The symptoms are consistent with me (a SketchUp noob) getting some (many) of my model’s faces flipped around backward.

That SketchUp or it’s introductory help materials aren’t a little less silent on this subject is something I’ll grumble about for a while, but the good news is that I’m optimistic that I/we can fix the problems and push out a good model in fairly short order.

So, let’s not count our chickens before they hatch, but I am optimistic.

If anyone wants to learn more about the problem/solution, post a request.

Blake

Looking forward to the updates. Please count me in as a beta tester.
-Pete