📜 ⬆️ ⬇️

Automatic gazelle on Arduino (part 1)

Introduction


Good afternoon, my name is Alexander, I am a long-time reader of the portal habrahabr, and now it is time to also try to talk about my developments, this is my first post, do not scold me too much.

A little bit about the competition


So, today I would like to tell you about the 3rd All-Russian competition of Robokross-2012 robot cars held in the city of Volokolamsk, and how my team from Saratov MobRob managed to take 2nd place. Competitions are held with the support of the Foundation “Free Business” Oleg Deripaska, as well as Rossmolodezh. 2 years in a row the competitions were held on Lake Seliger, and this time the organizers decided to hold competitions in the Moscow region, on an equipped training ground.



The equipment of our gazelle


When choosing on what the gazelle will go, the choice fell on the arduino Uno board, although in principle there was one to choose from.
')
Chose from









On the NI board, the gazelle went 2 years in a row and in principle there were no complaints, the mk 905 was refused due to the fact that the FBUS bus, which allows you to connect sensors and actuators, works on 24V, and we almost wanted to lower all the equipment . This year we decided to make everything as easy as possible, because I still had to do everything from scratch, because all the equipment is quite expensive, and it is used not only on gazelles, after the next competition you will not find anything as always, neither wires, nor trailers, nor programs, but since you recently purchased Arduino Uno boards, the board She showed herself well, decided to use it.

Perhaps I will list all the equipment that stood on the gazelle


  1. Arduino uno
  2. 1 Encoder on the steering wheel of the firm Autronics
  3. Laser rangefinder company SICK LMS 511
  4. Phone
  5. A laptop
  6. 2 Sony Playstation Eye Cameras
  7. 3 window from the car VAZ
  8. 3 MoviServo engine drivers


The whole system (as a diagram) looks like this.





In total there were 2 modes of operation.


1. Manual control: the meaning is as follows, a control signal is sent from the laptop to the arduino board, which in turn sends a PWM signal to the appropriate leg (PIN), this leg is connected to the drivers of MoviServo engines, which in turn already control the motors . This is how clutch and brake are controlled. Steering is the same, except that the encoder is installed on the steering wheel, which allows you to determine exactly what is the position of the steering wheel.

2. Offline mode: according to satellite data. We used a cell phone that connected to a laptop. To navigate, they wanted to buy a GPS module for the Arduino, but refused it. it is not very accurate, we had an Arduino UNO board in which almost all the legs were already occupied, of course, you could use the Arduino Mega, but still we went a different way, the phone shows a fairly accurate location, due to cell towers and GPS Also on the gazelle was installed a SICK scanner with which the obstacle map was built. Of the obstacles on the field were concrete fences and iron barrels. The Playstation eye camera was also used, but we didn’t write any complicated algorithms, just outputting a picture and transferring it to a remote computer, unlike last year, when we had to write a program to recognize obstacles, we simply didn’t need it.

The task that was necessary to perform


It was necessary to drive in manual or automatic mode, who was working on a given trajectory, 3 posters with numbers lay on the ground, the operator, sitting in a tent with the judge, looked at the laptop monitor and looked at the numbers that were written on the posters, all The order of numbers was different. If the car was driving in automatic mode, he was awarded more points than if in manual mode, to see all the posters, you also had to drive between 2 barrels, the so-called gates, for which points were also given.

Conclusion


Thus, summing up, I would like to say that we didn’t believe to the last that the car would at least move, because our competitors had very complicated management systems, but we got everything very simple. We were in the lead in speed and trajectory, but, unfortunately, when traveling in automatic mode, we lost the connection, and while sitting in a tent, we simply did not see the second poster, for which we received 2nd place. It's a pity.

In the competition there were 2 nominations: this is the best technical solution in which we took 1st place, and general qualification took 2nd place. Everyone who asked what equipment you use was amazed at our answer - “Arduino”.



We made the following conclusions for ourselves; whenever you develop a system, you need to do it as simple as possible, the fewer units (nodes) in this system, the less likely it is to fail, this is purely our opinion. Of course, in systems where there is a reserve, it is much better, but to assemble such a system and debug it for a rather long time. As always, students have little time, so it took us less than 3 weeks to equip a gazelle and write the program.









More photos about the event on the link below.
www.robosport.ru/forum/index.php?/gallery/album/20-%d1%80%d0%be%d0%b1%d0%be%d0%ba%d1%80%d0%be%d1% 81% d1% 81-2012

Acknowledgments


I would like to say a huge thank you to all the teams that took part, the company GAZ and Lilia Kusakina.

PS Thank you for your attention.

PPS I don’t really know what to write in the second part, maybe about the implementation of the program for the SICK scanner, since there are also their own nuances, if you have any suggestions, I will be glad.

Source: https://habr.com/ru/post/150667/


All Articles