Let's Make Robots!

Make your sumo celebrate

When making a Sumo-style robot, make it celebrate it's victory easily

Sumo robots are very, very fun to make (and always make 2).

Tip on programming your Sumo robot so it is more fun to watch:

Unfortunatly I had my sumo-period just before LMR was born, so I dont have them in posts. But I just saw some of the great Sumos, and Nano-sumes that you guys make, around the site, and I got to think of this tip:

Make them celebrate victory, it is much more fun than just driving around for ever :)


Most Sumo's can look ahead, and down - if there is something in front and if line is crosed.

Most videos that you see of Sumos are Sumos that push stuff out of the ring, and then spin around and frantic look for new stuff to push out of the ring. Point is; They never rest, never celebrate. And that is a shame IMHO.

It is very easy to let your Sumo know that it has won: IF there is something close in front, AND there is a ring below, THEN you have WON!

And then why not slow down, zig-zag-back up, find the center of the ring, and "bow" by driving a half circle backwards or something? :) If it has sound, even spit out a jingle of victory, tata da daaaa!.

Perhaps then enter a state of "sleep" only intereupted if there is something close in front of it, like a hand, or a new opponent :)


I got some comments on this, and therefore: For those wondering if this will make the losing robot celebrate; A) Who gives? B) Make the routine first stop doing anything, and then, if there is no change, it has won. If it stops doing anything, and there are changes, it has lost. But never mind the losing routine, the above will work wonders alone, trust me :)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

And that is a shame 

it sure is!

Ive been making some sumos once, but my ones are BEAM-robots. Its going to be hard to zig-zag-back up, find the center of the ring and maybe even spit out a jingle of victory! :C


if i made a sumo again i will definitely think of this :D

i only made one..  *whimper*

but i used a book or somethig as opponent :)


(why didnt i make 2!?)

You are right, this should perhaps have been posted as a challenge!

I just thought it was a tip.. But hey - Cool, I am looking forward to seeing Samm be aware that he has actually done the job :)

Will do

Was hoping you would ;)

I found a problem with your code. Let's say you have 2 sumo robots, with identical code and build and everything with just one difference, and that is that one has better grip on the ground, and when they colide frontaly that one will win. Moments before he win he will push the other to the edge and that one will see the line beneath him and something very close infront and he will think he won and will start dancing!

It wouldn't be fun to just give a problem, so I had to think of a solution. You could add 3colour optical rotary encoder so he knows the direction it's going, and if he meets the "win" requirements with encoders going forward he starts dancing and if he does it while going backwards he starts crying :)

Btw, it would be nice to make it a challenge, it would give me additional motivation to finaly build it myself :D

Well, good thinking, but no :)

I was trying to keep this uncomplicated, so I did not get into this part. The principle works fine for making the winning bot celebrate, for 2 reasons:

Reason A:

Let us call this routine CR (Celebrating Routine).

Now tell me, what happens WITHOUT CR?
One wins, and it drives frantic around, perhaps even try to push the one outside the ring because it can see it. The loser - what does that do? Depending on the track, it drives off the edge, or something ele stupid.

Then what happens WITH CR?
The loser will (may) a victory dance - but if this includes stopping, then it is better than driving frantic around outside the ring, no? Would you not prefer it to stop? Well, if pushed backwards out, it would do this. In reality this will be rare, but you will just have to take my word for it, it will take too long to describe why - but look below for a little reasoning.
The winner will do he's dance inside the ring.

So, all in all, it is better with CR than without, no?


Reaon B:

There are a number of reasons for a "death match" usually do not end in 2 front facing sumos, one pushing the outer out. Here is one major reason to why:

  • It is exremely bad sumo-programming to just keep on pushing. No matter the grip, you will never win that way over a better programmed sumo that will sneak around, and push you from behind / from the side, and use your own energy against you.

Well it is better, it makes them cooler and gives them more personality and that is what makes small nonindustrial bots the awesomest thing ever, but I don't like makeing stuff with small "flaws" in the design phase, then when you get to the building you get small flaws too and in programing even more and when it all adds up it looks like it has big flaws (my code for going straight with encoders looked like it has epilepsy while moving) 

That's for reason A.

Reason B is ok, I understand that good programing greatly reduces chance of mistakes happening, but it's still better to remove them in design. I don't want you to think I don't like your idea, on the contrary, it sounds great, I will probably implement something like that when I make it, but I was just trying to start a discussion on how to solve that other "problem" in simplest way possible.

Well, you sure do the talk. Let's see the walk my friend ;)