Let's Make Robots!

Mr. Tidy

Picks up emties after a party
Mr._Tidy_Schematic.jpg476.68 KB

This is Mr. Tidy, his job is to pick up bottles and glasses after a party and put them in a tidy pile.The third video shows him picking up his first can.

There are four of my IR obstacle detectors, one on each corner that will be angled downward to detect cliffs as well as walls. The IR sensors share a common analog input so switching the IR LEDs one at a time is required to read individual corners. These outputs also drive 4 normal LEDs for visible detection of opperation. When the outputs change to inputs, 4 micro switches used for monitoring the arm / gripper position can be read. These switches will only monitor the limits of travel for the arm / gripper.

The gripper is fitted with an RGB LED and an LDR to form a colour sensing "Amander LDR". By reading the LDR when different colours are lit the robot can determine the colour of the object being picked up. This sensor will be angled downward to read the colour of the floor as well.
A conductive foam pressure sensor is used to determine how hard the robot is gripping an object. 

Recharging will occur when the robot reaches a docking station. Electrical connections being made much like a dodgem car with charge wiskers at the top and a ground strap underneath. The docking station has an IR LED sending out an IR signal. This is detected by an IR reciever when the robot is facing the station. A voltage divider reduces the battery voltage to a safe level to be read by an analog input.

The motors are driven by a L298N. Since this chip can only drive two motors, 2x DPDT relays are used to select between the drive motors and the arm / gripper motors. PWM is used to control the speed / power of the motors. A speaker has been added so that the robot can call for assistance if it runs into trouble.

Click on the schematic for a larger image.




 I've had to gear the arm down further to lift my heaviest Guiness glass but now the gripper isn't strong enough. You can see in the "arm test" video that the gripper is quite fast so I think I'll need to gear it down as well. At this stage I am waiting on parts to arrive and then I can start building the circuitry.


 I geared the gripper motor down 3:1. Now it is strong enough to pick up my biggest glass :D


I've started building my circuit board and fitting Mr. Tidy's arm sensors. The second video shows his touch sensors in action. I've now mounted 3 micro switches, one for when the gripper is fully open and limits for the arm raising and lowering as well as two touch sensors wired in series to give a more noticeable change when the gripper grabs something. When I first tested the pressure sensors the small pinion gear mounted on the gripper gearbox broke off as it was only supaglued on. I had to drill a 1mm hole through the gear and gearbox shaft and glue in a lead from a diode to act as a shear pin. I will place a small resistor in series with the gripper motor to limit stall current when grabing an object.




I've nearly finished Mr. Tidy. All my sensors are mounted and cables connected to the board. I've just got to complete the circuitry and add some LEDs both for indication and decoration. The biggest challenge is making all the parts fit as the grippers gear and cams come almost to the board in some places. I have cables plugging in on both sides of the board. After reading about some test done by jklug80 using a RGB LED and LDR I decided to add calibration trimpots to my board. You can see them in the photo below, mounted upside down at the rear of the PCB.


I had to make mudguards so I would have somewhere to mount my IR obstacle detectors. I have one mounted over each wheel looking forward and down to detect cliffs as well as walls. Since this is the first time I have them sharing a single analog input I'm not sure how well this will work. The outputs used to drive the IR leds are also working as inputs for the micro switches so the code might get a bit tricky here.



 I have finally got Mr. Tidy finished and have begun testing. The third video shows him picking up his first beer can. In the video he was controlled by a TV remote. Next I will make him autonomous.





Set up an Xbee interface for wireless communications between the robot and PC. Can't get programs to download though :(
Read about it in my forum turned blog.





Making Mr. Tidy autonomous is more dificult than I thought. With no rangefinder sensors or servos he is basically a blind man with a white cane. I have manage to get my software to compensate for ambiant IR very nicely by doing a calibration test on powerup. For this reason the robot must be in a clear area with no strong shadows when powering up.

Mr. Tidy is quite heavy with all that steel meccano and 6xAA rechargeables so turning on carpet was always a struggle for him even with tape on the wheels. I have fitted omniwheels on the front which has improved steering considerably.


I am thinking with a minor modification to the gripper Mr. Tidy could become Mr. Artist and hold a paint brush instead. He could identify different pots of paint from a distance using multiple IR beacons, each sending a different code to identify the colour. Up close the colour sensing Amanda LDR could be used as well. Just tape a large sheet of paper on the ground and use CTC's folding fences for robots to keep the little bugger from painting the hallway :D




Well Mr. Tidy has gone lame after stripping a gear. I think the weight of the arm in combination with turning on carpet was just too much for him. For now I am putting this project on hold. I will resume in China. I did overcome the problem of him running into everything by increasing the range of my IR sensors. This was easily done just by connecting another IR phototransistor in parallel with the first and increased the detection range to 15cm-20cm (6-8 inches) depending on the colour of the object and the angle.


Here is a sneak preview of the new "Mr. Tidy". All surface mount components with 4x FET "H" bridges and multiplexed IO.




Comment viewing options

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

This is fantastic, OddBot.

I'd been looking through other people's projects, out of curiosity, more than anything, when I came across your, frankly, brilliant machine.

I was thinking of equiping my robot chassis with a grabber, in order to collect empty beer cans. Although I'm sadly not yet at your competence level, with respect to the programming.

Then things started to smell a little fishy however. After watching the fourth video, not only would it seem, we have the same idea. It appears we also have the same pair of work boots.

Boot brothers OddBot, you and I, boot brothers.

very nice sir.

Nice!  I love the mechanics of  opening and closing those claws.



Hello OddBot. Interested in success with the connection Xbee and Mr. Tidy. Will it succeed?

G'day Lexx,

This project was 5 years ago. Yes I did succeed linking a Picaxe to the computer using Xbee modules but it only worked for data transfer.

You could not upload new code for the picaxe because a special serial code used by picaxe is not supported by Xbee. When the Xbee manual claims they are totally transparent they really mean they got it 99% right.

As it was 5 years ago you really need to look at the picaxe website. They have an XBee interface and it's possible they either have updated the firmware for the Xbee or have some other trick to get around the issue.

Note: the circuit I used inverted the data as required by picaxe. It will not work with other processors such as Arduino wich require non-inverted data.


Hello there, im new to both this forum and well robot construction but I have a quick question regarding suitable batteries for Mr. Tidy,  I know I need (preferrably) 6XAA rechargable batteries and I managed to pick up (what I believe are decent) duracell ones as found here: http://www.amazon.co.uk/gp/product/B0031OE6LG/ref=oh_details_o01_s00_i00

Now when I first popped them in the robot it ran the tune and moved the arm, a couple of times but shortly after that it played the tune, the arm struggled lifting up until eventually it would just play the tune repeatedly.  Because of this I assumed that perhaps the arm motor was damaged but having the robot again today using the diagnostic software the tune slowly died out over time so I had presumed the batteries were run dead.

Now I had also assumed that the robot charges when plugged in via USB but now im thinking I was wrong and I will probably require a recharge station for the batteries, that is, assuming these batteries are suitable enough to power Mr. Tidy?


Thanks in advance.

Those batteries should be fine as long as they are the rechargeable NiMh and not the rechargeable Alkaline batteries.

The robot does not recharge from the USB socket. it recharges from the barrel jack on the side. You need a 12V DC power supply rated for at least 1A.

Normally the program monitors the battery charging process but you should check on it from time to time or alternatively buy a propper charger.

Ah excellent thank you, I found the jack.

Im trying not to rely on pure "what do I do now?" but since having charged it i've ran into a slight (or not so slight) problem with the arm.  Having turned the robot on with the sample software, it plays the tune and the gripper opens wide but then the arm just moves down towards the board and keeps attempting to move down (with of course, no where to go) so I quickly turned it off but now im not sure whats wrong with it.

Ok. Read the manual and run the diagnostic / calibration software. Check that the arm limit switch and encoder are working. Sometimes the arm encoder is just a little too far away from the encoder disc and you need to bend the metal frame slightly (about 1mm) to get it in range.

If you go to my website here: https://sites.google.com/site/daguproducts/ you will find a newer version of the sample software (V3). It requires a Sony TV remote to access some additional features. You may need to adjust the code to work with your particular TV remote. Make sure you download the IRremote5 library from the library section and only use Arduino 0022. The code may not work with later versions.

Ah perfect thank you for your time!