Programmable robot Brownie version 0.4




Open source project and a demonstration of the race around the track.

Let's talk about this topic as programmable robots. What does this mean? This robot is finished with a system of sensors that can be programmed in a simple manner with the computer by usb cable. As a basis we take the Arduino IDE development environment and language C ++. Thus the barrier to entry is low and robotics can do almost everyone who starts to learn programming or already have some sort of knowledge. If we apply the already existing library classes that implement the operation of sensors and motors, we obtain a system where in the code we like robot says that he faced an obstacle to such a party, and we're at it ask him to drive off backward, turn left and go further. Or ask the program to drive forward 1 meter, turn 30 degrees to the right, go straight 2 meter and perform some action. On this basis, we can program the robot on a more complex problem, obtain satisfaction in the form of learning robot programming, or simply as a hobby. At the same wow effect provided:)

Now on to the robot. Since previous article robot was built anew. The chassis of my development were taken into account the problems of the previous chassis, the new has good permeability and easier turns. Chassis plate cut by laser cutting of Plexiglas, the other details are printed on the 3d printer to its design. Geared Motors put a ratio of 1: 120, they give more torque at lower engine speeds, the robot was noticeably easier to unfold.



The main feature of the new version is the use of a circular bumper of his own design. It enables to determine the collision with either side with high accuracy. Made it through 8 microswitches design you can see in the photo. Now the robot can drive even without radar.



Electronics also been changed, moved on Arduino Mega ADK because not enough inputs / outputs on the arduino Uno.
The new version of the robot has passed the stress test house in continuous operation for several hours. The new sensor system showed that the robot can navigate safely in the room, even among a heap of scattered things wires on the floor.

What does this mean? You can program the robot to different tasks of the movement, such as the detour of the room, on the race track, the competition with other robots, search markers etc.

To demonstrate the problem has been selected to drive the robot to write an algorithm of motion along an arbitrarily constructed from materials at hand to finish the track indicated by white sheets of paper. Below you can see it on video.



To navigate around the track, the following sensors: ultrasonic range finder, infrared range finder, bumper, encoders on wheels. Based on these data, the algorithm builds a route.
The finish line is determined by the sensor, I was able to configure it so that most of the flat surfaces in the apartment such as carpets, linoleum he identifies as black. Accordingly, the white paper as white.
In the next video I talk just as programmed robot.



The project is open sorce all the sources you can download and take part in the development of the project.
Also accompanying drawings in corel for laser cutting and 3d files for printing. If you do not have access to such equipment, you can contact me you will prepare these details and send mail.

Ground (3-5 mm thickness) and bumper (thickness 5mm) for laser cutting.

Details for 3d printing

Sources for Arduino.



Ideally, I now see the future of this project as open sorce budget robot programming robots to explore how simple robots arduino and complex on the basis of ROS (Robot Operating System).

Regarding ROS. It gives a truly limitless possibilities for programming the robot. I see this is the future of robotics. At the moment there are two main problems is the lack of budget robots under it and all relevant documentation in English. The first problem is solved by this robot via bluetooth, wi-fi or via phone on Android it can be associated with the core ROS (already tried via bluetooth linked to a laptop with ROS). Second I do not know how to solve, slowly learning tutorials in English, but is very slow. If cause people ready to translate into Russian would be very grateful, willing to undertake such work.

Group vkontakte with the news of the project - https://vk.com/club23358759
Developer robot - https://vk.com/alekseyburkov

PS: Remember your opinion is written in comments below the article, it is important for me!

Source: habrahabr.ru/post/228549/