RuBo the drummer robot

UPDATE 16th Feb 2010: File attachments

First of all: Thanks to fritsl for the original YDM. That's (quite obviously) the source for my inspiration to start building my first own robot. For instructions how to build your own go here: How to make a Yellow Drum Machine

So this is my first robot and it's called RuBo (drummer robot is "RUmpaliroBOtti" in Finnish). It's mostly finished but the software still needs some fine tuning. Anyway, it's already drumming :-)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Here's some more pictures.

Front view:



Bottom:


Left:


Right:


Happy New Year!


Register plate attached and ready to rock 'n' roll!

 

 


 

Update Jan 13, 2010:

I think it's time to mark RuBo as complete. Otherwise it'll never be finished because I'll be playing with its software forever.

Since the first post I have made the left drumstick a little bit longer, tried some different navigation routines that usually made RuBo's navigation worse and also added a couple of new beats (remember: I'm not a musician).

So today I decided to shoot a new video just to show the "finished" version. Unfortunately RuBo got a little bit hurt. Ok, I'll confess. It was my fault. I accidentally almost pushed RuBo off the table and grabbed him. That's when I must have broken its drumstick. I didn't notice it until I was shooting the video. Here's a picture of the broken drumstick and the video is here: http://www.youtube.com/watch?v=u-01z8Q_pig (also embedded above).

I looks like the cheapest 2 component glue I found didn't hold. Same thing happened with the teaspoon tail earlier. Maybe I didn't clean those GM10 motors well enough before applying the glue or maybe it just won't hold. So now I tied some fishing line around sticks to hold them in place before applying the glue. Hope it helps.

And here's a picture of fixed RuBo.

After fixing RuBo I finally managed to shoot that "finished" video. It's here: http://www.youtube.com/watch?v=oiNepTlNZcc and also embedded above.

You may notice that RuBo has difficulties staying in rhythm every now and then. It's because I implemented the "player" part of the software so that drum beats are stored in EEPROM in an encoded format I made on the fly and I didn't think of any timing issues at that time. When I tested the player the first time it seemed to work just fine. But when I added other features than just playing with drum sticks (moving, turning head, loop, set tempo) I noticed that processing the beat data took so much time it was noticeable when RuBo was playing. So I had to optimize the player code couple of times to make it sound better. But you can still hear the timing issues in RoBo's drumming. At least I can :-)

To make writing new beats for RuBo easier I created an Excel macro that gives me code to be pasted in to the player's code. Here's a screenshot of my "Excel drum beat designer" :-) (click for larger image):

Excel drum beat designer

I'm already having some thoughts of rewriting the player part (once) again. Now I have used pause to implement tempo (pause x ms between beats). I think it may be better to use timer for tempo so that every N timer increments next beat is played.

That's all there is for now. Check out the new videos embedded above :-)

 

Drums on things

  • Actuators / output devices: 4 x GM10 + 2 x GM2 Solarbotics geared motors
  • CPU: Picaxe 28x1
  • Power source: 4 AA 2450 mAh NiMH Cells
  • Programming language: Picaxe basic
  • Sensors / input devices: SRF005

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/rubo-the-drummer-robot

Very Nice
Neat job looks better then the original. I would be careful with sparklers around electronics. You may end up with pits that don’t wash out.

WTF?

"looks better then the original"?!

WTF?

LOL!

 

PS: Splendid job, nuumio!

 

Very nice! Love the spoon!
Very nice! Love the spoon!

Nothing beats the original

Thanks guys.

Nothing beats the original.

|x

:slight_smile:

That’s what plastic spoons are made for

When I was looking for parts for my robot I happened to see those plastic teaspoons. At that moment I immediately knew what those plastic teaspoons are made for. They are certainly not for eating or strring your coffee or tea…

Awesome and very cute. I

Awesome and very cute. I noticed he occasionally used his own head as a drum stick. Was that a happy accident or by design? Either way, an inspired drum machine!

Happy head banging
RuBo banging his head is a happy accident. I really didn’t think about that when I was building it. I moved SRF005 a little bit deeper into the “forehead” allowing the head to turn a bit more when playing. Pictures don’t really show the new SRF005 placement. It’s in new place in the last picture but the picture’s angle is a bit difficult to see it.

Nice bot!!! I wonder how

Nice bot!!!

 

I wonder how many drum robots are on LMR now?

 

Can you guys imagine if some way, some how, we could get all of them together playing a tune in time.

That would either be SWEET, or they would work together and take over the earth and kill us all !!! -LOL

 

Very nice YDM clone!
You’ve got a great YDM type bot there - definitely see Frits has made an impression :slight_smile: The picture with a sparkler is PRICELESS!

Good work!

Welcome to the club of drumbots!

Like that fast drumming… i should try it on my own drumbot if he also can do it that fast. (My robot is bigger so his drumsticks are longer/heavier…)

Good work!

 

Nice beats

Great drummer bot and good looking pictures! And it’s always nice to see finnish robot builders.

I’ve been planning to build drummer bot for some time now, let’s see if i’ll find some time soon.

Hey, you got shuffle in the
Hey, you got shuffle in the code now! Respect! Only you and TheCowGod came that far! :slight_smile:

Shuffle is the easy part
Shuffle is the easy part. The hard part is creating new beats since I’m not a musician :slight_smile:

it should be fairly easy to

it should be fairly easy to find basic drum patterns on the net. Also midi files and "soundtrackers" / sequencers.

However, a fun thing is to

A) When driving around generate some "random variables based on sensors" / "Compose your track based on the suroundings"

B) Instead of hard coding the tracks, only hard code the basic rules (like ex bass drum on 1, and snare drum on 3) - and then let the random variables fill in, like "If variable this, than every 4 times skip bass drum, if variable that, then every second time let bass drum also be on 2 etc.) And then let another variable set over all speed, shuffle, andmix of tracks to play (like AAAB AAAB) etc etc… all sorts of fun makes robot "compose" by itself.

Really interesting is it if you are able to play one snare drum track in another beat, gives cool new stuff!

Robotic composer
Robotic composer could be funny. Didn’t think of that. I just concentrated on packing “precomposed” songs to eeprom. So far I managed to put 4 songs in 215 bytes. Maybe I give that random composer a try. It would give a plenty of variation to drumming. Too bad I’m now so excited about building robots that I just want to build too many different ones and can’t concentrate on just one :slight_smile:

I didn’t know there are more
I didn’t know there are more finns than me

Miss this spirit on here, nice robot!

Nice project!

This has to be the second most inspirational thing I’ve seen in my life.
The idea it captures is flawless. This gives me so many good ideas for the 20s.