Let's Make Robots!

Mr.Tidy (Mega Version) - visits the Swiss Alps !!!

Tidys up your Office

Question :- what on earth is  New Mega improved Mr.Tidy doing in Switzerland ?............

..... To cut a long story short .....OddBot  has done it again.....

.... I had a request from OddBot, who is presently snowed under with work at DAGU Hi-Tech Electronic Co., Ltd.

He asked me if i could programme Mr.Tidy with  :-

  1. Autonomous mode
  2. The ability to tidy up coloured cups into coloured piles.

All i knew was that the "Original Mr.Tidy"  was able to pick up heavy glasses/cans and was picaxe based............


..... So i took up the challenge and here is what happened....


BTW :- ........( Highest credits go to OddBot , i only gave Mr.Tidy some "Fuzzy Logic")


























Please do not adjust your Monitor - this is just a time lapse of him in action......

Basically Mr.Tidy is an Arduino Mega Based Robot with some really outstanding capabilities

  1. Arduino Mega based
  2. 360° IR detect circuitry (collision avoidence)
  3. Infra Red compound Eye (consisting of 4 Infra Red Leds)
  4. 2 motors with gearing and current detect monitors
  5. OmniWheels (front) with Wheel position Encoders
  6. Lifter Arm with position Encoders and current monitor
  7. Gripper Hand with position Encoders and current monitor
  8. and the cherry on the cake -------- an RGB colour detector
  9. and not to mention the sexy powder blue Leds
  10. He also detects  his own battery voltage, (futur docking possibilities)

You could imagine with all this power and flexibility i was in Heaven.

Here you see his Omni-Wheels - this enables him to skid turn in very tight turning circle.

Plus point is with this combo he turns very easily on carpet too.

"Red Baron" at 10 oclock ......angels at 12

I made a custom "pit-Stop" base to raise him of the floor and there was a lot of tune_ing of the cup detect motor speed routines,

My first task was to work out a way that Mr.Tidy could pick up a cup - locate a second cup of the correct colour and place it inside the first cup, however the RGB sensor was connected to his arm and gripper mechanism, which meant that once he had picked up the first cup his RGB sensor was blocked by the actual cup..........what to do !!!.......

As Mr.Tidy was really very tidy when he arrived (tight neat wiring, cable ties etcetc) it took me 5 snips of the wire cutters an a couple blobs of Hot glue to attach th RGB sensor to the lower platform .........meaning that when he had picked up the first cup his RGB sensor was free to check the colour of the next cup.

Then a bit of modification to the Metal Grippers as the back end was interfering with the cup pickup,

it also gave me the opportunity to "Buff Up" the metal work with dremel and brasso "Shine_ing"

Here you can also see a grey cable connected to a micro switch , this acts as a limit switch to synchronise the gripper to the open position.

I "Veggie-Burgered" the Motor Supression caps as i was picking up noise on the encoders, basically a capacitor across the coil - then one cap from plus terminal to casing of motor - then one cap from minus terminal to casing of motor - a "Neato-Combo" .

With all these mods i was then able to start the profitable and rewarding process of programming it.

Picking up a cup you may think is easy - well in theory yes but in practice there is a lot behind the scenes.

Problems for picking up cup :-

  1. Finding the Cup
  2. Dont fall into the trap of picking up thin chair legs etcetc (ask OddBot re chair legs)
  3. Is the Cup the correct colour
  4. Is the Cup close enough to grip
  5. Is what you are looking at a wall and not a Cup
  6. How much pressure (Grip) do you need for firm hold
  7. At what height shall it pick the cup up and also how deep to lower it again.

Many,many variables to deal with so installed 4 Virtual potentiometers, allowing me to adjust values "on the fly" which saved me a lot of time - downloading to the arduino does not take much time but it becomes an issue when you are pressed for time "there are customers out in there them hills".

So when the value is calibrated with the pot. then a fixed value can be declared in the setup, freeing up the pot. for next variable.

One pot was permanently wired to the speed control, that one was the best - man can this thing fly, i did not even try it at its max speed coz it would have been impossible to catch.

Many candle light hours passed by with tweaking and resetting and cup stacking........ and of course frustration and hair-pulling, i knew OddBot had a lot on his plate ......so i only feed him the occasional "Help in sinking too" PM.

As the project was still "Hush-Hush" it was all very exciting at the same time.......... (did anyone notice i was quiet over the last few months)

On each corner of Mr.Tidy is an ir detector for side and rear obstacle detection, When these are activeted via software it also lights sexy powder blue Leds the like of i have never seen before, and give a good indication when something is detected.

Here is a time-lapse of him avoiding a cup (this time)

The cup detect routine took quite a few versions to get the general swing of deciding whether or not something was a cup or wall or irrelavent chair-leg scenario.

The 4 front sensors (compound eye) have a good range, when two adjacent detectors detect something then its assumed that its a cup possibility, then the fine tune and home in routines ensure a near to perfect line up, at the same time he check the colour of the object .

When close enough aand the colour is correct Mr.Tidy drops his arm with gripper open ready to grab cup.

At first the grip routine was grabbing the cup using only the encoders in the gripper its self, however the gripper motor kept stalling due to miss grip  - so the solution was to combine the encoder with the "current measurement circuit" on the gripper motor, ie whilst gripping a cup the current in the motor raises (ie stall) so you can use the current as a trip value (so your wine glasses dont get crushed)

60 versions later the Goal was acheived - Autonomous mode and the ability to pick up and stack cups into tidy piles..........

..........Sad time for me as i knew that my time with Mr.Tidy was over, he has now gone back to China to intergrate some of my proposed changes.....

Impression :- He is one "Humdinger" and a fantastic platform to work with.

Thanks OddBot for allowing him a work-holiday in Switzerland - its was real fun to have him around.


UPDATE 30.12.2010 :- Look who is in Switzerland ..... not the original.... but the clone

Yes at long last  Mr.Tidy has landed on my door in its production form.

Well Packed

In three bits plus cd with software guide and pack of connecting cables.

My First Impression "Shine-ing"..............

Now its time to dig out the cups.....or better still buy some extra different colour cups.........


Comment viewing options

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

Very impressive robot,I like it.  Are the codes included in the pack or do you have to program it? If thez are included,I imagine that you can make personal changes and give a try.  In the video it seems like he was a bit confused in front of the boxes,is it because of the colors? How much cost Mr Tidy ?

@ Russell,  hello my friend, I was asking my self if the "compound eye" I bought from Dagu would do the same front detections.

Thanks for this great tutorial on Mr Tidy, Gareth you did a great job.



Sample code is included. You will need to callibrate the sensors and adjust the code to suit your needs.  The manual explains the code briefly to help you get started. I cannot post the manual on LMR because the PDF is too big. I will try to make it available online soon.

Yes the compound eye is the same sensor but in a different configuration.


Nevermind for the price of Mr Tidy ... got it from my local robot store :

http://www.robotshop.ca   and the PDF manual is there also.


Yeah great excitement ...... finally OddBot has released and sent me one of the first Production Mr.Tidys .

Now its time to tweak some more and actually "Play" with a mega Awesome robot.........

....... All Hail OddBot...........

nice work..

Where is the arduino mega? Or is that a Dagu arduino mega board?

The robot is too small to use a standard Arduino PCB so we built the ATmega and USB interface directly onto the PCB. The end result is a small robot that is Arduino Mega compatible (uses the same bootloader).

This PCB is the prototype. The new PCB will have the colour sensor built in as recommended by Gareth.

This is our most complex robot kit yet. Spare I/O pins run to an expansion socket at the back. A second PCB will be designed later allowing extra features such as Xbee or Bluetooth capability and possibly an LCD display.

Wow, that is an impressive piece of hardware. Arduino Mega compatible, 4x motor controller (FET based, I guess). I2C, USB, UART, 4x  front collision sensors, 2x back collision sensors. A lot of free IOs.

I definitely want one, when will it be available?


We are designing new PCBs based on Gareths recomendations and I have improved the encoders. Be patient.

Yes it has 4x FET "H" bridges with current sensing. Theoretically it could use the current sensing of the arm motor to weigh the object. If you recycle then this could be used to seperate bottles from cans.

The current sensor on the gripper motor will let you determine how firmly the object is being gripped and in conjunction with the gripper encoder could also sort objects by size.

Out of 70 I/O pins there are about 20 free including 2x Uarts (for Xbee or Bluetooth and perhaps a serial LCD display), 3x PWM and 2 analog. If you do not use the line following feature then you get 4 additional analog inputs and a digital I/O.