Flyerbot is a robot that I worked on during my internship in the Creative Space company that organizes Lego Mindstorms classes for children. Flyerbot's task is simple: hand out flyers to people in the most fancy way that I could think of. The construction and the program were meant to be not only functional but also attractive.

I didn't work on this robot alone, so the construction is modular. I built the grasper and the rotary arm to hand out leaflets. I based my design upon the Robogator project from the Lego Mindstorms set instructions. I came across a problem that one motor is not powerful enough to lift the arm, so I added two gearwheels to triple the motor's torque.

The container for flyers was designed and built by someone else. It's a rectangular box having a width of a flyer. It has a special lock that prevents leaflets from sliding too far during inserting. When leaflets are being inserted the feeding mechanism must be raised and the lock automatically falls. The feeding mechanism is made of a motor and two wheels. The wheels feed one or more flyers into the grasper.

During first tests the robot didn't work. The feeding mechanism was feeding up to 10 flyers at once. We solved this problem by rebuilding the feeder. We added some rubber elements from the Lego set to stop all flyers but one. The feeding system worked now.

We used three sensors. The ultrasonic sensor is mounted under the grasper. It should detect when a flyer is taken. The color sensor is located between the feeder and the arm. It detects the position of the flyer by measuring ambient light intensity. When a leaflet is above the sensor then light intensity is slightly lower. The third sensor is the touch sensor. When pressed it stops the program and resets all mechanisms. It is extremely useful because it's hard to turn the arm by hand (because of gearwheels).

At the end we strenghtened the whole construction and began to write the program. I will not post the code here but I can briefly describe how it works. The feeded starts to work and the wheels start turning. When a leaflet is above the color sensor the program checks if the grasper is ready. If yes then a flyer is fed right into it. Otherwise the feeder waits until the grasper is ready. Then the grasper grasps a flyer and the arm rotates 120 degrees slowing down at the end. The grasper stops holding a flyer firmly so that it is possible to take it. After the flyer is taken the arm moves back to start and a new awaiting flyer is fed.

The program uses a few threads, each one for one functional part of the robot. One controlls the arm, other the feeder and another the button. Threads exchange data using semaphores.

We made a video as a part of the task. You can view it here. Sadly, I don't have any photos so galleries are rather empty. If I ever have a chance to make some photos, I will post them ASAP.

I must admit that I am satisfied with this robot. It works and looks as it was designed to. I'm very happy that the feeder takes always only one flyer at a time. Writing a program was a challenging task, mostly because we had to take into account various timings (ex. wait for a flyer to turn) and a lot of other not constant things. This robot was not disassembled and will be used during promotions next month.



3D Gallery

To watch pictures in this gallery you need special red-cyan anaglyph glasses. They are to buy in many Internet stores for less than 1$.

No images.

Program code

No program code.

Show/hide all the code


Nic dodać, nic ująć. Świetnie ująłeś pracę nad naszym dziełem :-)

Posted by: Adrian Motyka | 2012-11-15

Post your comment