Year: 2002-2006 (not done yet)
†This is my biggest project, and is also my diplome-project.
† The robot has to be able to: sensing small obstackles, sensing the sideof the table (end of the ground) and the barriers, sensing the turning angle, and the path, and also sensing activities in the room. It has to can moving itself, and the small obstackles, like dices.
-Laser radar: to sense the obstacles, and barriers.
-Infrared reflective object sensors: to sense the ground, avoiding the falling down from the table, which means the ground for the robot.
-MEMS Accelerometers: to sense the acceleration in two directions, to compute travel from the starting point.
-Knocking sensor: it is a microphone, with some circuits, to sense, when somebody drops a dice.
† The robot has two caterpillars, because this way it can turn in place. These caterpillars was made from shoe-sole material, at home. These have 6 wheels, what not I made, but a turner made on a cnc-lathe machine. The chassis was made from 1mm thick aluminum plate, at home, with papercutting scissors!
† The cathing arms were made from aluminum plate, some Lego parts, and cogs from audio casette recorders, and CD-ROMs. The arm has 4 switches as way-end-sensors.
The laser radar:
† I wouldnít like to put anything about hat, because it is possible that I will try some patenting procedures for that thing. But, I know, this is the most interesting, and most difficoult thing in this project. Just some things: Ican measure distances, in many directions -i hope with 3mm resolution- to build a radar image.
The ground sensors:
It senses the reflected and modulated signal from the IR-LED, through the reflection on the surface of the ground. It senses in two directions, for the better safety. I use TV remote controller receiver ic-s in the processing circuit. The sensors: SFH481 IR LEDs, and BPW41 photodiodes. It eats 100mA. But it can be turn off, because it is not needed when the robot doesnít move.
† Knocking sensors:
† Simple dynamic microphone, to hear when somebody drops a dice. Because it will be a possible application for the robot, to find the dice, and bring back to the origin.
† If we can measure the acceleration, we can compute the speed, with a simple numeric inthegral, with the DSP. If we know the speed every time, we† can compute the travel way in the same method. Then more simple to compute the position in a table. So this is navigation. We measure acceleration at the x axis, to compute linear moving, and measure acceleration in the y axis, to compute it to angle-acceleration, and then to angular turning.
††Motor driver circuits:
† I used four pieces of LDM18200Ts from National. Using these is very easy. This motor driver is in a separate board, and works in PWM mode. The arm needs just 6-10% duty cycle, but the driver motors need 20-90%, depending on what do those: turning, or linear moving.
† Power supply system:
† The robotís circuits need a lot of vltages, in numbers of power and noise levels. So there is a separate power supply board, to produce that. It also does the accumulator-charging.
† Main control, and the whole electronic system:
† The soul of the robot is the TMS320F2811 DSP from the Texas Instruments. It runs on 100MHz. The original concept was that the robot must do everything, without any human intervention, recognize situations, an find solutions alone. There is an RS232 interface, for testing. Testing the sensors, the sensor signal processing, an testing the control of the mechanincs. It have to solve a complex task alone, like to finding the dices, and bring those back to the origin, where it powered up at the first time.
† The systemís block diagram:† (The black thing is the top secret thing J.)
the mainboard: (the old at left, and the new at right)
The tests of the electronics system, and the repair of the hardware are full done, and works fine. The laser radar is also works well. The semester is ending these days, so the writing of the software is the following semesterís task. Some little c programs are written, to control the mechanics, and some sensors. I want to put these, as drivers, to a software system, with the real time-operating system, the DSP/BIOS, what I will write. After that, I hope I will finish the project with the auto-navigation and dice-handling until the end of the next semester, to put in as a diploma.
The DSPís ADC does not work well, and the electronics should to redesign to get better, more recognizable radar images.
2. May, 2006:
I have redesigned the board, with active filters as front-ends for the DSPís ADC. The ADC now works fine and correctly already.
Accelaeration sensing and speed/path calculating for the robot positioning: The robot is remote-controlled by commands from the host computer. There are commands about robot moving, positioning, where the robotís DSP will calcilate the path during moving. It is good for linear moving, and for turning around the robotís center poing.
Test acceleration samples, with manual moving test††††††††††††††††††††††††††††† Test acceleration samples, with automatic moving test†††††††††††
In the second image, it is visible a vibration during the linear moving period. But, the expected value of that is zero acceleration (calculated by a substraction of the offset, the acceleration of the repose state).
The Bluetooth interface card has been done.
I work on the configuring of the Bluetooth module, to enable the robot remote control, via a radio link.
It took one and a half days to design and build the card. I have used a WT12 standalone Bluetooth module from the Bluegiga technologies (and Sero kft).
The home-made Bluetooth card.
The robot works now as a remote controllable version, via Bluetooth, from the PC.
The automatic control verion (I hope so) will work in the end of the year, or only next year. I have to finish the radar hardware development, because this is the key of the automatic control/navigation. It does not work correctly yet.
(Where is the dice? This is the big question, what the robot will try to find out)