Author Topic: How is such a thing possible?  (Read 7489 times)

Offline russian roulette

  • *
  • Posts: 1770
  • Rep: 1
  • What year is it?!?!?
    • View Profile
    • Awards
How is such a thing possible?
« Reply #20 on: July 25, 2009, 08:14:29 PM »
Ah HA!I see some of those cheap batteries that are 100 lbs and are small and green and virtually never runs out! Or are those the atom batteries.

Offline R1885

  • *
  • Posts: 2127
  • Rep: 3
  • Forum shopping list generator.
    • View Profile
    • Awards
How is such a thing possible?
« Reply #21 on: July 25, 2009, 09:43:05 PM »
Yay! Melty Brain!
But can you do the same for a bot like this?

Offline Madiaba

How is such a thing possible?
« Reply #22 on: July 25, 2009, 10:14:01 PM »
Told you guys. Apanx, is a coding wiz..
I'm not holding my breath till you get it, for sure...
Thanks, Phil. I'll get back.
« Last Edit: July 25, 2009, 11:06:41 PM by Madiaba »
Input is appreciated. :)
-Arrogance is a quantity devoid of quality...
-As a client once told me "This is my story, and it's sticking to me!"
-Relationships these days are like the 'Arrival' section of the airport: a lot of baggage is being revealed in one place, and not a lot of it is being correlated to its real owners...

Offline kill343gs

How is such a thing possible?
« Reply #23 on: July 25, 2009, 10:27:06 PM »
I missed this so much. Its mind boggling, it really is.


For once the mods did something right
#MakeGTMGreatAgain

Offline russian roulette

  • *
  • Posts: 1770
  • Rep: 1
  • What year is it?!?!?
    • View Profile
    • Awards
How is such a thing possible?
« Reply #24 on: July 25, 2009, 10:41:57 PM »
Well I see 2 cold fusion reactors inside the robot.
The preview was probably the second pink battery picture in the screenshot.

Offline Pwnator

  • *
  • Posts: 6676
  • Rep: 15
  • Awards BOTM Winner
    • View Profile
    • http://pwnator.tumblr.com
    • Awards
  • See profile for gamer tags: Yes
How is such a thing possible?
« Reply #25 on: July 25, 2009, 10:51:23 PM »
Well, this thread isn't about the parts. It's about the wiring and the AI.

I got the first FBS, but I couldn't get the 2WD one. Big-OHH
Clash Cubes 1 - Grey Matter (Runner-Up)
King of Karnage - Sideshow Freak (Runner-Up, Best Engineered)
Rust In Pieces - Paper Cut 3 (Grand Champion, Most Dangerous Bot)
Wheely Tag Tournament - Ion Thruster (Grand Champion, along with Ounces' DiSemboweLment)
UK vs USA - Dark Striker (Grand Champion)
Rust In Pieces 2 - Claymore (Runner-Up, Favourite Bot)
BBEANS 6 - Infection 4 (Runner-Up)
RA2 Team Championships - Serious Business, Skeksis (Runner-Up, along with Scrappy, S_M, and Badnik)
RA2 Team Championships 2 - The Other Stig (Runner-Up, along with Scrappy, S_M, Badnik, 090901, and R1885)
Replica Wars 3 - Abaddon (Runner-Up, Luckiest Bot)
BroBots - wheebot & yaybot (Runner-Up)
Robo Zone 2 - Dipper (4th place, Survival Champion, & Best Axle Bot)
ARBBC - The Covenant (3rd place, BW Rumble Winner, Most Feared BW)

Offline MikeNCR

  • *
  • Posts: 1216
  • Rep: 11
    • View Profile
    • Awards
How is such a thing possible?
« Reply #26 on: July 26, 2009, 12:14:22 AM »
I can only assume it functions similarly to the real world thwack bots with navigation while spinning assuming there's no trickery involved.

The basic idea in that system, which is now generally referred to as the melty brain system, uses a reference point and a control telling the robot which direction to move in relation to that point. The motor controller pulses the motor(s) in such a way that it navigates the arena while maintaining its rotational speed.

RA2 may actually make it somewhat more simple as the AI can simply have the FBS navigate toward the opponent.

Of course there may be some other form of coding wizardry I'm not thinking of, but this is how it's done on most real thwack bots that are capable of navigating while spinning.

Offline philetbabe

  • *
  • Posts: 497
  • Rep: 2
  • Drop D
    • View Profile
    • Awards
How is such a thing possible?
« Reply #27 on: July 26, 2009, 04:44:47 AM »
Quote from: apanx;54748

Another video for you all to watch. This time it is an AIed Full Body Spinner. Using ordinary SpinMotors for direction control. No servoes, no extra hassle.


Very nice AI!

i notice in my 'to do' backlog that i've tried to make such a thing : challenging !

Online apanx

How is such a thing possible?
« Reply #28 on: July 26, 2009, 07:06:14 AM »
One-Wheeled FBS works too.


 
How is such a thing possible?
 
Yes it is a melty brain control system implemented in AI, but there is another tweak too.

Offline Pwnator

  • *
  • Posts: 6676
  • Rep: 15
  • Awards BOTM Winner
    • View Profile
    • http://pwnator.tumblr.com
    • Awards
  • See profile for gamer tags: Yes
How is such a thing possible?
« Reply #29 on: July 26, 2009, 07:15:17 AM »
Big-OHH

Ok, now you lost me. :O
Clash Cubes 1 - Grey Matter (Runner-Up)
King of Karnage - Sideshow Freak (Runner-Up, Best Engineered)
Rust In Pieces - Paper Cut 3 (Grand Champion, Most Dangerous Bot)
Wheely Tag Tournament - Ion Thruster (Grand Champion, along with Ounces' DiSemboweLment)
UK vs USA - Dark Striker (Grand Champion)
Rust In Pieces 2 - Claymore (Runner-Up, Favourite Bot)
BBEANS 6 - Infection 4 (Runner-Up)
RA2 Team Championships - Serious Business, Skeksis (Runner-Up, along with Scrappy, S_M, and Badnik)
RA2 Team Championships 2 - The Other Stig (Runner-Up, along with Scrappy, S_M, Badnik, 090901, and R1885)
Replica Wars 3 - Abaddon (Runner-Up, Luckiest Bot)
BroBots - wheebot & yaybot (Runner-Up)
Robo Zone 2 - Dipper (4th place, Survival Champion, & Best Axle Bot)
ARBBC - The Covenant (3rd place, BW Rumble Winner, Most Feared BW)

Offline System32

  • *
  • Posts: 4663
  • Rep: 4
  • Reality
    • View Profile
    • Awards
How is such a thing possible?
« Reply #30 on: July 26, 2009, 07:29:55 AM »
It still follows red's design. But I guess you have an AI for it, no?
Put this onto your signature if you were part of this crappy fad in '03.

Offline life robot arena2

  • Super Heavyweight
  • Posts: 946
  • Rep: 1
    • View Profile
    • Awards
How is such a thing possible?
« Reply #31 on: July 26, 2009, 09:21:54 AM »
How can you jack ass'in make it turn!?
im up for life forever!:mrgreen:
ACHEIVMENTS
entered a rookie-bot for clash cubes 2

Offline MikeNCR

  • *
  • Posts: 1216
  • Rep: 11
    • View Profile
    • Awards
How is such a thing possible?
« Reply #32 on: July 26, 2009, 01:35:51 PM »
Quote from: Pwnator;54904
Big-OHH

Ok, now you lost me. :O


Read over my description, it's like that with another piece added into the AI.

Offline Clickbeetle

  • *
  • Posts: 3375
  • Rep: 21
  • In Soviet Russia, bugs stomp YOU!
  • Awards BOTM Winner
    • View Profile
    • Beetle Bros site
    • Awards
How is such a thing possible?
« Reply #33 on: July 26, 2009, 05:06:07 PM »
NICE work apanx!

I've been planning on trying this very concept since I found out about plus.Arena.__setattr__tickInterval__(), but it looks like you beat me to it.  How low do you have the tick interval set?  How fast can an AI spin before it starts to outpace the ticks?  Could you AI something like, say, *shudder* Somebody's Super SnS with a melty brain?

Another cool thing you can do by decreasing the tick interval: measure the RPM of spinners, and make an AI that doesn't attack the opponent until its weapons reach a certain speed.

The Insanity Arena is a nice piece of work too.  I knew about the CreateArenaByName function, but I never thought about throwing the bots in the air just before switching in order to keep them from falling through the floor.  Genius.

Perhaps you need just a tad less force, though, since that one bot still got thrown out.

To lack feeling is to be dead, but to act on every feeling is to be a child.
-Brandon Sanderson, The Way of Kings

Offline Flying_Chao

  • *
  • Posts: 730
  • Rep: 4
  • Unified Utopian State Member
    • View Profile
    • Awards
How is such a thing possible?
« Reply #34 on: July 26, 2009, 05:08:46 PM »
Maybe you could throw them towards the center of the arena?

Offline Trovaner

  • *
  • Posts: 1222
  • Rep: 32
    • View Profile
    • Awards
How is such a thing possible?
« Reply #35 on: July 26, 2009, 05:48:01 PM »
Great idea, editting the tick interval. I never really found a use for the coding to change it until now... In fact, until I read Click's post, I was going to ask you how you got your debug window to update itself so much... I've been meaning to make a similar SnS AI but I'm amazed at how well you got it to work.

The Insanity Arena is cool but I have a couple arenas that change during the fight (none of which I thought of using the force command for even though I had the Matrix Arena).

Online apanx

How is such a thing possible?
« Reply #36 on: July 26, 2009, 05:54:29 PM »
Quote from: Clickbeetle;55022
NICE work apanx!

I've been planning on trying this very concept since I found out about plus.Arena.__setattr__tickInterval__(), but it looks like you beat me to it.  How low do you have the tick interval set?  How fast can an AI spin before it starts to outpace the ticks?  Could you AI something like, say, *shudder* Somebody's Super SnS with a melty brain?

Another cool thing you can do by decreasing the tick interval: measure the RPM of spinners, and make an AI that doesn't attack the opponent until its weapons reach a certain speed.

The Insanity Arena is a nice piece of work too.  I knew about the CreateArenaByName function, but I never thought about throwing the bots in the air just before switching in order to keep them from falling through the floor.  Genius.

Perhaps you need just a tad less force, though, since that one bot still got thrown out.


The tickInterval is set individually for each AI spawned. Standard for AI is 0.125s. The tickInterval for the Arena only applies for the Arena mechanics, (hazards and stuff), standard 0.250s. tickInterval for the bot in the video is set at 0.001s. I have tried 0.0001, but that overtaxes the CPU and makes the game run slow.

Assuming that you need an accuracy of 0.1 radians (0.314degrees), which is what is specified for the AimToHeading command, you can have a rotation speed of 100 radians/sec which is little bit short of 1000rpm. Now that does not sound much, but this is RA2 and not real-life. The bot in the first video, (5uCKi n00b) with all its Zteks only reaches a speed of 20radians/sec. Slack off with the accuracy and the RPM limit increases.

The code is flexible enough to handle all plain FBS configs. However, there is no real pathfinding incorporated, it just goes straight towards the enemy without regard for own safety. Have to adapt the DriveToWaypoint code for it so it knows how to avoid things like traps.

Offline Clickbeetle

  • *
  • Posts: 3375
  • Rep: 21
  • In Soviet Russia, bugs stomp YOU!
  • Awards BOTM Winner
    • View Profile
    • Beetle Bros site
    • Awards
How is such a thing possible?
« Reply #37 on: July 26, 2009, 06:17:19 PM »
1000 RPM is pretty good.  Definitely enough for any stock bot.  DSL?  Somebody would probably have to try it.

So you have custom navigation on this AI?  Would it be possible to just have the AI stop spinning for one tick whenever its heading faces toward the opponent, during which time it would do normal navigation?  So if there was an obstacle in the way of the AI, it would try to steer, and therefore not move before it started spinning again.  And if the path was clear, it would incrementally inch forward while spinning.

That was my original idea, but I haven't tested it.  The theory seems sound.  It wouldn't drive around hazards, of course, but staying in one place is better than committing suicide on a flipper.

Here's another thought for all of you:  Bumble Bee with a melty brain.

To lack feeling is to be dead, but to act on every feeling is to be a child.
-Brandon Sanderson, The Way of Kings

Online apanx

How is such a thing possible?
« Reply #38 on: July 26, 2009, 06:36:54 PM »
Code: [Select]
           # spin up depending on enemy's range
            enemy, range = self.GetNearestEnemy()
            self.Turn(100)
            self.Throttle(0)
            if enemy is not None:
               
                self.DebugString(6, str(self.GetHeading(False)))
                target = plus.getLocation(enemy)
                h = self.GetHeadingTo(target, False)
                if self.GetTurning() > 6:
                 if (abs(h) < 0.3 ):
                self.Turn(0)
                self.Throttle(100)
                self.DebugString(8, &quot;Boost&quot;)
                 if (abs(h) > 2.8 ):
                self.Turn(0)
                self.Throttle(-100)
                self.DebugString(8, &quot;Anti-Boost&quot;)
                self.DebugString(7, str(h))
                self.DebugString(8, &quot;No Boost&quot;)


Well that is what you see right now. Moves a little bit tacky, but it will get better when I have polished it. One thing with FBS is that you dont have to orient them, so you can change direction instantly and have strafing bots.

Offline Clickbeetle

  • *
  • Posts: 3375
  • Rep: 21
  • In Soviet Russia, bugs stomp YOU!
  • Awards BOTM Winner
    • View Profile
    • Beetle Bros site
    • Awards
How is such a thing possible?
« Reply #39 on: July 26, 2009, 07:00:14 PM »
Ah, so you have the AI pulse forward when it's facing the opponent, and pulse backward when it's facing away.  That coding is surprisingly simple.  So my method would move forward at half speed, but could work.  Might be worth sacrificing speed for hazard avoidance...

Strafing bots would still be hard to do, I think, and probably not very useful because melty brain FBS's tend to move slowly.  But it would be a cool novelty AI.

To lack feeling is to be dead, but to act on every feeling is to be a child.
-Brandon Sanderson, The Way of Kings