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.