This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:projects:wheeled_robot [2010/03/08 08:23] – kristiseppa | en:projects:wheeled_robot [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Mobile robot is one of the most popular robot for construction. Very common are sumo robots, sports robots (football, volleyball etc.), robots simulating rescue operations (firefighting, | Mobile robot is one of the most popular robot for construction. Very common are sumo robots, sports robots (football, volleyball etc.), robots simulating rescue operations (firefighting, | ||
| - | Here we look at documentation of a typical mobile robot platform project and its different phases. | + | Here we look at the documentation of a typical mobile robot platform project and its different phases. |
| - | ===== Preliminary | + | ===== Initial |
| Plan and construct a multifunctional mobile robot platform with basic navigation functionality using HomeLab components. Robot platform must have an easy-to-change operational functionality, | Plan and construct a multifunctional mobile robot platform with basic navigation functionality using HomeLab components. Robot platform must have an easy-to-change operational functionality, | ||
| Line 25: | Line 25: | ||
| * Cannot exceed the cost limit 10 000 EEK | * Cannot exceed the cost limit 10 000 EEK | ||
| - | ~~PB~~ | ||
| ===== The overall model of the system | ===== The overall model of the system | ||
| Line 31: | Line 30: | ||
| The overall model of the system is presented as a block diagram. It describes the structure, behaviour and other important aspects of the system. As an example, an hierarchical model of the overall system is depicted below. | The overall model of the system is presented as a block diagram. It describes the structure, behaviour and other important aspects of the system. As an example, an hierarchical model of the overall system is depicted below. | ||
| - | [{{ : | + | [{{ : |
| ===== Design solutions ===== | ===== Design solutions ===== | ||
| Line 37: | Line 36: | ||
| For this task the team used a brainstorming method and generated 3 conceptually different solutions. Evaluation matrix was compiled and the most optimum construction was found. The main differences of the solutions lay in the movement schemes. | For this task the team used a brainstorming method and generated 3 conceptually different solutions. Evaluation matrix was compiled and the most optimum construction was found. The main differences of the solutions lay in the movement schemes. | ||
| - | [{{ : | + | [{{ : |
| - | + | ||
| - | ~~PB~~ | + | |
| Simplified evaluation matrix was as following: | Simplified evaluation matrix was as following: | ||
| Line 47: | Line 44: | ||
| |Complexity of building | 2 | 4 | 7 | 0,7 | | |Complexity of building | 2 | 4 | 7 | 0,7 | | ||
| |Maneuverability | 4 | 8 | 8 | 0,5 | | |Maneuverability | 4 | 8 | 8 | 0,5 | | ||
| - | |Permeability/ | + | |Permeability |
| |Applicability of HomeLab | 5 | 4 | 5 | 0,9 | | |Applicability of HomeLab | 5 | 4 | 5 | 0,9 | | ||
| |Weight | 5 | 6 | 7 | 0,8 | | |Weight | 5 | 6 | 7 | 0,8 | | ||
| Line 56: | Line 53: | ||
| Based on the assessment the optimum solution for given task was proved to be a platform moving on two wheels with two separate motors. Further work continued developing the chosen solution into a real system. | Based on the assessment the optimum solution for given task was proved to be a platform moving on two wheels with two separate motors. Further work continued developing the chosen solution into a real system. | ||
| - | ~~PB~~ | ||
| ===== Mechanics ===== | ===== Mechanics ===== | ||
| - | Mechanics was tried to make as simple as possible, while following the principle of modularity. The front and the rear bumper are identical modules. Electronics have three modules, which are placed on top of each other, allowing simple | + | Mechanics was tried to make as simple as possible, while following the principle of modularity. The front and the rear bumper are identical modules. Electronics have three modules, which are placed on top of each other, allowing simple |
| - | [{{ : | + | [{{ : |
| - | Eraldi on projekteeritud roboti põrkeraud, mis on integreeritud puute- ja joonejälgimise anduritega. Põrkerauad on valmistatud trükiplaatidest, | + | The bumper of the robot is projected separately and it is integrated with touch sensors and line following sensors. The bumper is made from PCBs and therefore has electricity in addition to construction. Line following sensors are soldered directly to the bumper of the bottom plate. Touch sensors |
| - | [{{ : | + | [{{ : |
| ===== Electronics ===== | ===== Electronics ===== | ||
| - | Süsteemi elektroonika on kirjeldatud põhimõttelahendusena ja klassikalise elektriskeemina koos trükiplaadi montaažiskeemina. | + | The electronics of the system is described as a principle scheme and electronic scheme with PCB assembly scheme. |
| - | [{{ : | + | [{{ : |
| - | ~~PB~~ | + | < |
| - | Näitena on toodud roboti põrkeraua joonejälgimise andurite elektriskeem ja vastava trükiplaadi (PCB) montaažiskeemiga. | + | As an example, Line following sensors electric scheme and respective |
| - | [{{ : | + | [{{ : |
| - | [{{ : | + | [{{ : |
| - | ~~PB~~ | + | < |
| ===== Control system ===== | ===== Control system ===== | ||
| - | Roboti juhtimine tuleneb süsteemi käitumismudelist ja on määratud lähteülesande funktsionaalsusega ning nõuete ja piirangutega. Süsteemi käitumismudelist luuakse täpsustatud juhtprogrammi algoritm, millest omakorda lähtutakse tarkvara programmikoodi koostamisel. Kõik kolm taset (käitumismudel-algoritm-lähtekood) peavad olema omavahel kooskõlas. | + | The control system of the robot derives from behavioral model and is set by the functionality, |
| ==== Algorithm ==== | ==== Algorithm ==== | ||
| - | Algoritm kirjeldab süsteemi juhtloogikat ja on esitatud plokkdiagrammina. Lihtsama algoritmi koostamiseks piisab paarist elemendist ja nendevaheliste seoste kirjeldamisest. Kui roboti algoritm on koostatud korrektselt, siis on sellest roboti juhtprogrammi juba suhteliselt lihtne koostada. | + | Algorithm describes the control logic of the system and is depicted as a block diagram. A few elements and description of their relations is enough to create a simple algorithm. If the algorithm of the robot is composed correctly, then it is relatively easy to compose a control program for this robot. |
| - | Algoritmis on kasutatud põhiliselt kahte erinevat objekti: ümardatud nurkadega ristkülik, mis tähistab mingit tegevust ja väike romb mingi tingimuse kontrollimiseks, millele järgneb vastavalt kontrolli tulemusena edasiste tegevuste käivitamine. | + | Mainly two different objects are used in the algorithm: a rectangle with rounded corners, which marks an activity and a small diamond for controlling a condition, followed by a startup of further activities in accordance with the results of the inspection. |
| - | Algoritmis kasutatud tähiste tähendused: | + | Meanings of the symbols used in the algorithm: |
| - | ^Tähis^Tähendus^0^1^-1^ | + | ^Symbol^Meaning^0^1^-1^ |
| - | |M1|vasak mootor|seisab|pöörleb päripäeva|pöörleb vastupäeva| | + | |M1|left motor|stop|rotates clockwise|rotates counter-clockwise| |
| - | |M2|parem mootor|seisab|pöörleb päripäeva|pöörleb vastupäeva| | + | |M2|right motor|stop|rotates clockwise|rotates counter-clockwise| |
| - | |F|esimene keskmine puuteandur|signaal puudub|signaal olemas| | | + | |F|first middle touch sensor|no signal|signal| | |
| - | |FR|esimene parem puuteandur|signaal puudub|signaal olemas | + | |FR|first right touch sensor|no signal|signal |
| - | |FL|esimene vasak puuteandur|signaal puudub|signaal olemas | + | |FL|first left touch sensor|no signal|signal |
| - | |d|viide| | | | | + | |d|reference| | | | |
| - | [{{ : | + | [{{ : |
| ==== Source code ==== | ==== Source code ==== | ||
| Line 113: | Line 109: | ||
| #include < | #include < | ||
| - | // Põrkeandurite viikude defineerimine | + | // Defining bumper pins |
| pin front = PIN(C, 0); | pin front = PIN(C, 0); | ||
| pin frontleft | pin frontleft | ||
| Line 119: | Line 115: | ||
| // | // | ||
| - | // Mainprogram | + | // Main program |
| // | // | ||
| int main(void) | int main(void) | ||
| { | { | ||
| - | // Mootorite | + | // Initiating motors |
| dcmotor_init(0); | dcmotor_init(0); | ||
| dcmotor_init(1); | dcmotor_init(1); | ||
| - | // Andurite viigud sisendiks | + | // Sensor pins as inputs |
| pin_setup_input_with_pullup(front); | pin_setup_input_with_pullup(front); | ||
| pin_setup_input_with_pullup(frontleft); | pin_setup_input_with_pullup(frontleft); | ||
| pin_setup_input_with_pullup(frontright); | pin_setup_input_with_pullup(frontright); | ||
| - | // Lõputu tsükkel | + | // Endless cycle |
| while (true) | while (true) | ||
| { | { | ||
| - | // Mootorite päripäeva käivitamine | + | // Clockwise motor startup |
| dcmotor_drive(0, | dcmotor_drive(0, | ||
| dcmotor_drive(1, | dcmotor_drive(1, | ||
| | | ||
| - | // Keskmise anduri signaali kontroll | + | // Controlling the middle sensor signal |
| if (pin_get_value(front)) | if (pin_get_value(front)) | ||
| { | { | ||
| - | // Mootorite reverseerimine | + | // Reversal of the motors |
| dcmotor_drive(0, | dcmotor_drive(0, | ||
| dcmotor_drive(1, | dcmotor_drive(1, | ||
| - | // Paus 1 sekund | + | // Paus 1 second |
| sw_delay_ms(1000); | sw_delay_ms(1000); | ||
| - | // Vasaku mootori päripäeva käivitamine | + | // Left motor clockwise startup |
| dcmotor_drive(0, | dcmotor_drive(0, | ||
| Line 156: | Line 152: | ||
| } | } | ||
| - | // Vasaku anduri signaali kontroll | + | // Controlling the left sensor signal |
| else if (pin_get_value(frontleft)) | else if (pin_get_value(frontleft)) | ||
| { | { | ||
| - | // Parema mootori reverseerimine | + | // Reversal of right motor |
| dcmotor_drive(1, | dcmotor_drive(1, | ||
| Line 166: | Line 162: | ||
| } | } | ||
| - | // Parema anduri signaali kontroll | + | // Controlling the right sensor signal |
| else if (pin_get_value(frontright)) | else if (pin_get_value(frontright)) | ||
| { | { | ||
| - | // Vasaku mootori reverseerimine | + | // Reversal of left motor |
| dcmotor_drive(0, | dcmotor_drive(0, | ||
| - | // Paus 2 sekundit | + | // Paus 2 seconds |
| sw_delay_ms(2000); | sw_delay_ms(2000); | ||
| } | } | ||
| Line 179: | Line 175: | ||
| </ | </ | ||
| - | ~~PB~~ | + | |
| ===== Ready-to-use solution ===== | ===== Ready-to-use solution ===== | ||
| - | Projekti raames valminud robotplatvorm on valmistatud üldjoontes plastikust, välja arvatud mootori kinnitused, mis on valmistatud alumiiniumprofiilist. Elektroonikamoodulid | + | Robot platform completed under this project is largely made from plastic, except from motor mountings, which are made from aluminum. Electronic modules are placed |
| - | [{{ : | + | [{{ : |
| - | [{{ : | + | [{{ : |
| - | ~~PB~~ | ||
| ===== Economic calculation ===== | ===== Economic calculation ===== | ||
| - | Majanduslik kalkulatsioon hõlmab endas komponentide maksumust ja roboti detailide valmistamise ning koostamise kulusid. | + | Economic calculation includes the cost of components and robot production costs. The currency used in following tables is Estonian Kroon (EEK). |
| - | Komponentide maksumuse tabel | + | Table of components cost |
| - | ^Komponent^Mark^Kogus^Hind^Maksumus^ | + | ^Component^Mark^Quantity^Price^Cost^ |
| - | |Mootor|M LE149.6.43|2|500.-|1000.-| | + | |Motor|M LE149.6.43|2|500.-|1000.-| |
| - | |Mikrokontroller|uC ATmega128|1|900.-|900.-| | + | |Microcontroller|uC ATmega128|1|900.-|900.-| |
| - | |Mootorite juhtplaat|Actuator Board v1.2|1|700.-|700.-| | + | |Motors actuator board|Actuator Board v1.2|1|700.-|700.-| |
| - | |Toiteplaat|TP|1|500.-|500.-| | + | |Power plate|TP|1|500.-|500.-| |
| - | |Joonejälgimise andurid|LFS QRD1114|8|30.-|240.-| | + | |Line following sensors|LFS QRD1114|8|30.-|240.-| |
| - | |Puuteandurid|TS Microswitch|8|25.-|200.-| | + | |Touch sensors|TS Microswitch|8|25.-|200.-| |
| - | |Kere plaat|ABS |4|50.-|200.-| | + | |Hull plate|ABS |4|50.-|200.-| |
| - | |Trükiplaadi toorik| |2|50.-|100.-| | + | |PCB blank| |2|50.-|100.-| |
| - | |Mootorikinnituse profiil|Al-L |2|10.-|20.-| | + | |Motor mountings profile|Al-L |2|10.-|20.-| |
| - | |Ratas|60/10 mm |2|30.-|60.-| | + | |Wheel|60/10 mm |2|30.-|60.-| |
| - | |Aku|NI-MH 9,6 V|1|350.-|350.-| | + | |Battery|NI-MH 9,6 V|1|350.-|350.-| |
| - | |Erinevad kaablid| |10|20.-|200.-| | + | |Different cables| |10|20.-|200.-| |
| - | |Mutrid-poldid| |1|50.-|50.-| | + | |Nuts-bolts| |1|50.-|50.-| |
| - | |Muud tarvikud| |1|100.-|100.-| | + | |Other acsessories| |1|100.-|100.-| |
| ^ Total ^ ^ ^ ^ 4620.- ^ | ^ Total ^ ^ ^ ^ 4620.- ^ | ||
| - | Hinnanguline tööjõu- ja tootmiskulu üksikeksemplari korral. | + | Estimated labor and production cost for a single copy. |
| - | ^Töö^Aeg (h)^Hind^Maksumus^ | + | ^Work^Time (h)^Price^Cost ^ |
| - | |Konstruktsioonidetailide freesimine|1|300.-|300.-| | + | |Milling construction details|1|300.-|300.-| |
| - | |Trükiplaatide | + | |Milling PCBs (bumpers)|0, |
| - | |Roboti konstruktsiooni koostamine|0, | + | |Construction of the robot|0, |
| - | |Põrkeraudade koostamine | + | |Building bumpers |
| - | |Programmeerimine|5|300.-|1500.-| | + | |Programming|5|300.-|1500.-| |
| - | |Dokumentatsiooni koostamine|3|250.-|750.-| | + | |Compiling documentation|3|250.-|750.-| |
| - | ^Kokku^ 11 ^ ^ 3225.- ^ | + | ^Total^ 11 ^ ^ 3225.- ^ |
| - | Roboti hinnanguline maksumus kokku **7845.-** | + | Estimated cost of the robot **7845.-** |
| - | Arvutatud roboti maksumus on siiski hinnanguline, kuna tegemist on õppeotstarbelise projektiga, kus enamik tööd ja koostamist on tehtud oluliselt suuremas mahus, kuid otsese rahalise tasuta. Seetõttu on töö- ja ajakulu ligikaudne ja ei kajasta tegelikku olukorda. | + | The cost calculation of the robot is estimated, since it is an educational project, where most of the work and construction is done in significantly larger volumes, but without direct charge. Therefore, the work and the approximate time spent does not reflect the real situation. |
| ===== Project management ===== | ===== Project management ===== | ||
| - | Mehhatroonikasüsteem | + | Mechatronic system |
| - | [{{ : | + | [{{ : |
| ===== Summary and conclusions ===== | ===== Summary and conclusions ===== | ||
| - | Majanduslik kalkulatsioon näitas meile, et roboti tootmishind on üsna kõrge, eriti kui tegemist on ainueksemplariga, | + | Economic calculation showed that the production cost of the robot is quite high, especially when dealing with a single original, but remains within a predetermined initial task. Production costs could certainly be substantially reduced through the optimization of materials and components, and producing a larger quantity of robots at the same time. During this project we learned how to project a mechatronic system, how to construct and test it, which gave us the first time experience of this kind. |
| - | Töö lõpus selgus tõsiasi, et roboti korralikuks töötamiseks on vaja oluliselt rohkem aega planeerida testimisele, | + | At the end of the work a fact revealed: in order for the robot to function properly significantly more time should be planned for testing, especially for the software testing. Different modules may not always work properly together, although as a separate experiment it works. This shows that the integration of the modules of the system is a serious challenge, and therefore more time and resources should be planned for this. |
| - | Kokkuvõteks arvame, et projekt oli väga huvitav ja hariv ning andis aimu integreeritud süsteemide projekteerimisest ja valmistamisest. | + | In conclusion, we believe that the project was very interesting and instructive, |
| ===== References and materials used ===== | ===== References and materials used ===== | ||
| - | - Home Lab generic manual http:// | + | - HomeLab |
| - | - ATmega128 | + | - ATmega2561 |
| - Dudziak, R., Köhn, C., Sell, R., Integrated Systems & Design, TUT Press, 2008 | - Dudziak, R., Köhn, C., Sell, R., Integrated Systems & Design, TUT Press, 2008 | ||
| - Friendenthal, | - Friendenthal, | ||
| - Perens, A. Project Management, Külim, 1999 | - Perens, A. Project Management, Külim, 1999 | ||
| - Bräunl, T. Embedded Robotics, Springer-Verlag, | - Bräunl, T. Embedded Robotics, Springer-Verlag, | ||