Log in

View Full Version : 5th Gear AI


MaxMax161
04-02-2011, 19:49
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?

gblake
06-02-2011, 22:32
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

MaxMax161
07-02-2011, 15:04
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.

2611.Shooter
07-02-2011, 15:10
I have to say, that sounds awesome! If you want us, 2611 would love to be a part of this!

gblake
07-02-2011, 17:29
I have to say, that sounds awesome! If you want us, 2611 would love to be a part of this!

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.

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

Blake

MaxMax161
08-02-2011, 08:21
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.

gblake
08-02-2011, 14:28
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

Bjenks548
08-02-2011, 16:24
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.

gblake
08-02-2011, 19:03
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

MaxMax161
09-02-2011, 09:17
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.

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.

NullEntity
11-02-2011, 20:58
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 ;)

gblake
14-02-2011, 10:39
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 releasable. 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 game play pacing, strategy, scouting, etc.

Blake

:(

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.

Bjenks548
17-02-2011, 16:37
Hey Blake I know you guys are still stressing do we have a new estimated date that it will come out?

gblake
17-02-2011, 20:18
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. ;)

Chris is me
17-02-2011, 22:52
If you need an advance beta tester, hit me up!

gblake
18-02-2011, 05:24
... if I'm not completely worn out, I'll post a picture here. ... 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

gblake
23-02-2011, 08:05
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

gblake
23-02-2011, 23:37
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 account, 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

gblake
23-02-2011, 23:43
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 account, 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

pmax
24-02-2011, 00:21
Looking forward to the updates. Please count me in as a beta tester.
-Pete

gblake
01-08-2011, 22:37
Much has changed since I last updated this thread. The biggest change is that Lockheed Martin and I parted a couple of months ago.

Topic #1:
I wrote much of the 5th Gear "AI" code I was developing on my own time; but I also wrote some of it while on the clock for LM. Consequently I left it all with LM, and without special action on LM's part, I can't continue that project.

LM might choose to release an 5th Gear Client/Server interface spec; and if they do I/we could rewrite the boring AI-Client interface code, and then expose an easy-to-use/customize interface for just the AI part of an AI client.

Or... the LM folks might release an easy to use client that exposes the interface AI developers need.

Let's see how many folks request that interface spec/code, and see how the folks at LM are able to respond.

Topic #2:
The game at the links below look like fun ways for anyone who has an itch to create a fully autonomous FRC/VRC/FTC bot to cut their teeth in a simplified environment.

Walking before running is generally a good idea...
http://www.alphaworks.ibm.com/tech/codeinvaders
http://www.alphaworks.ibm.com/tech/coderally
http://www.alphaworks.ibm.com/tech/coderuler

I thinking about giving them a try. I have downloaded a Java Developers version of the Eclipse Platform, and I have downloaded the IBM Games software.

If I make any headway getting them to run, and if they truly are fun to use; maybe we can run a few tournaments to see who is the CD user with the strongest AI Kung Fu.

Running a tournament or two at the VRC Worlds and the FIRST Worlds might even catch on as annual event (given that we can continue scrounging up new games to use (MIT has created a few...)).

Blake

gblake
02-08-2011, 00:07
I got the CodeInvaders game to work and it looks like it is worth taking the next step.

Is there anyone out there who would like to volunteer to set up a stable tournament server (or find a trustworthy existing public instance)?

Blake

whackedwatchdog
02-08-2011, 23:26
I downloaded it, and took a look. It actually looks quite promising; I was able to get something flying within a matter of minutes, and something capable of "excelling" within an hour or so. The sky really is the limit, though. Thanks for posting that, it'll give me something to do for a few days!

gblake
03-08-2011, 06:20
Great! - don't forget to help me/us find a server so that we can start competing against each other and the world....

Brandon Zalinsky
29-08-2011, 12:00
Unfortunately, all the links are dead now. :mad:

gblake
30-08-2011, 10:50
Unfortunately, all the links are dead now. :mad:Which links?

These
http://www.alphaworks.ibm.com/tech/codeinvaders
http://www.alphaworks.ibm.com/tech/coderally
http://www.alphaworks.ibm.com/tech/coderuler
just worked fine from my home computer.

Following each I reached an IBM Alphaworks page.

Maybe the problem is a firewall or other security measure between the computer you used and the rest of the world? or maybe you are talking about other links?

Blake

1986titans
30-08-2011, 17:28
I'm pretty sure those are the links he was referring to - I tried clicking on them after he made that post and got a "server not found" page. They seem to work now.

gblake
30-08-2011, 17:47
I'm pretty sure those are the links he was referring to - I tried clicking on them after he made that post and got a "server not found" page. They seem to work now.OK & Great!

I think the sort of Game/contest IBM created is exactly the sort of thing that let's us wrap our heads around the both the simplicity and the complexity of autonomously operating a non-trivial machine in an unpredicatable environment.

Along those lines... running a little league/tournament would be an excellent way to prep for the autonomous software part of an FRC/VRC/VRCC/FTC season.

I can't volunteer to create a competition league (no free time); but a handful of students could easily get one up and running in short order; and could then recruit entrants from several STEM robotics programs.

Blake