331 |
miho |
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
286 |
miho |
2 |
<html> |
|
|
3 |
<head> |
|
|
4 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
|
|
5 |
<title> 3Orbis </title> |
|
|
6 |
<meta name="keywords" content="robot 3orbis čára"> |
|
|
7 |
<meta name="description" content="Projekt MLAB, Robot na čáru 3Orbis"> |
|
|
8 |
<!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE --> |
|
|
9 |
<link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl"> |
381 |
miho |
10 |
<link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print"> |
286 |
miho |
11 |
<link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico"> |
|
|
12 |
<script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script> |
|
|
13 |
<!-- AUTOINCLUDE END --> |
|
|
14 |
<style type="text/css"> |
305 |
miho |
15 |
img.Pic1 {position:absolute;margin-left:230px;margin-top:10px; } |
|
|
16 |
img.Pic2 {position:absolute;margin-left:322px;margin-top:160px; } |
|
|
17 |
img.Pic3 {position:absolute;margin-left:6px;margin-top:160px; } |
|
|
18 |
img.Pic4 {position:absolute;margin-left:200px;margin-top:200px; } |
|
|
19 |
img.Pic7 {position:absolute;margin-left:415px;margin-top:185px; } |
|
|
20 |
img.Pic8 {position:absolute;margin-left:70px;margin-top:160px; } |
|
|
21 |
img.Pic11 {position:absolute;margin-left:10px;margin-top:125px; } |
|
|
22 |
img.Pic12 {position:absolute;margin-left:128px;margin-top:5px; } |
286 |
miho |
23 |
</style> |
|
|
24 |
</head> |
|
|
25 |
|
|
|
26 |
<body lang="cs"> |
|
|
27 |
|
|
|
28 |
<!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> |
|
|
29 |
<!-- ============== HLAVICKA ============== --> |
|
|
30 |
<div class="Header"> |
|
|
31 |
<script type="text/javascript"> |
|
|
32 |
<!-- |
|
|
33 |
SetRelativePath("../../../../../"); |
|
|
34 |
DrawHeader(); |
|
|
35 |
// --> |
|
|
36 |
</script> |
|
|
37 |
<noscript> |
|
|
38 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
|
|
39 |
</noscript> |
|
|
40 |
</div> |
|
|
41 |
<!-- AUTOINCLUDE END --> |
|
|
42 |
|
|
|
43 |
<!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> |
|
|
44 |
<!-- ============== MENU ============== --> |
|
|
45 |
<div class="Menu"> |
|
|
46 |
<script type="text/javascript"> |
|
|
47 |
<!-- |
|
|
48 |
SetRelativePath("../../../../../"); |
|
|
49 |
DrawMenu(); |
|
|
50 |
// --> |
|
|
51 |
</script> |
|
|
52 |
<noscript> |
|
|
53 |
<p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p> |
|
|
54 |
</noscript> |
|
|
55 |
</div> |
|
|
56 |
<!-- AUTOINCLUDE END --> |
|
|
57 |
|
|
|
58 |
<!-- ============== TEXT ============== --> |
|
|
59 |
<div class="Text"> |
|
|
60 |
<p class="Title"> |
|
|
61 |
Robot 3Orbis |
|
|
62 |
</p> |
|
|
63 |
<p class=Autor> |
|
|
64 |
Jakub Kákona |
|
|
65 |
</p> |
|
|
66 |
<p class="Subtitle"> |
|
|
67 |
Čárový robot 3Orbis v vznikl po zkušenostech s předchozími roboty, |
|
|
68 |
u kterých byl problém s dynamickými vlastnostmi podvozku. Předchozí |
|
|
69 |
roboty (<i>Callis</i>, <i>Merkur</i>) měli ve dva stejnosměrné motory |
|
|
70 |
na kterých se reguloval výkon a tím robot zatáčel. Nová konstrukce |
|
|
71 |
se liší tím, že má aktivní zatáčecí kolo. |
|
|
72 |
</p> |
|
|
73 |
<p class="Subtitle"> |
|
|
74 |
<img class="Pic0" width="605" height="454" src="Pictures/image005.jpg" |
|
|
75 |
alt="Obrázek robota"> |
|
|
76 |
</p> |
|
|
77 |
<p> |
|
|
78 |
<a href="../3Orbis.cs.pdf"><img class="NoBorder" |
|
|
79 |
src="../../../../../Web/PIC/FileIco_PDF.ico" |
|
|
80 |
alt="Acrobat"> PDF verze</a> |
|
|
81 |
</p> |
|
|
82 |
|
|
|
83 |
<h1> Robot 3Orbis </h1> |
|
|
84 |
|
|
|
85 |
<p> |
|
|
86 |
3Orbis v vznikl po zkušenostech s předchozími roboty, u kterých byl |
|
|
87 |
problém s dynamickými vlastnostmi podvozku. To bylo způsobeno tím, že |
|
|
88 |
minulé verze našich robotů měli ve směs dva stejnosměrné motory |
|
|
89 |
(Callis, Merkur) na kterých se reguloval výkon a tím robot zatáčel. |
|
|
90 |
Hlavní nevýhody tohoto systému byly: |
|
|
91 |
</p> |
|
|
92 |
|
|
|
93 |
<ul> |
|
|
94 |
<li> |
|
|
95 |
<i>Setrvačnost pohonů</i><br> |
|
|
96 |
V prudké zatáčce bylo potřeba jedno z kol výrazně zpomalit, případně |
|
|
97 |
zastavit. To není zcela bez potíží, protože použité pohony neměly |
|
|
98 |
žádnou zpětnou vazbu, ze které by se dal získat nějaký údaj o |
|
|
99 |
rychlosti. Takže jediným způsobem jak kolo dostatečně rychle zpomalit |
|
|
100 |
bylo reverzovat motor na nějakou určitou dobu. Problém je v tom, že |
|
|
101 |
tato doba se mění podle rychlosti robota. |
|
|
102 |
</li> |
|
|
103 |
<li> |
|
|
104 |
<i>Nestabilita podvozku</i><br> |
|
|
105 |
Robot musel v důsledku toho, že měl pouze dvě kola připojená na |
|
|
106 |
motory mít ještě nějaké třecí elementy, které zaručovaly definovanou |
|
|
107 |
vzdálenost senzorů od tratě. Robot měl určitou vůli v náklonu proti |
|
|
108 |
podložce, takže nebylo možné na snímání čáry použít čidla s přesnou |
|
|
109 |
optikou. |
|
|
110 |
</li> |
|
|
111 |
<li> |
|
|
112 |
<i>Špatné využití výkonu pohonů</i><br> |
|
|
113 |
Robot na rovné čáře nejel tak rovně jak by bylo třeba, ale čáru |
|
|
114 |
křižoval. Dělo se to tím, že pohony měly nenulovou setrvačnost, takže |
|
|
115 |
na změnu polohy čáry se nedalo dostatečně rychle reagovat. Navíc toto |
|
|
116 |
křižování čáry mělo za následek to, že motory zdaleka nebyly využity |
|
|
117 |
na maximum, protože jeden z nich byl vždy zpomalen. |
|
|
118 |
</li> |
|
|
119 |
</ul> |
|
|
120 |
|
|
|
121 |
<p> |
|
|
122 |
Proto jsme se na letošní ročník soutěže ISTROBOT 2006 [3] rozhodli |
|
|
123 |
postavit revolučního robota s úplně odlišnou konstrukcí. To se ale |
|
|
124 |
později ukázalo, jako ne zrovna šťastný nápad, protože odladit nový |
|
|
125 |
řídící systém zabralo mnohem víc času, než jsme čekali. |
|
|
126 |
</p> |
|
|
127 |
|
|
|
128 |
<p> |
|
|
129 |
Rozhodli jsme se pro konstrukci tříkolého podvozku kde přední kolečko |
|
|
130 |
je zatáčecí (zkoušeli jsme i opačnou variantu se zatáčecím zadním |
|
|
131 |
kolečkem, ale ta měla horší výsledky, v zatáčkách měla příliš pomalou |
|
|
132 |
odezvu). |
|
|
133 |
</p> |
|
|
134 |
|
|
|
135 |
<p> |
|
|
136 |
Obrázek robota s popiskami<br> |
|
|
137 |
<!-- Vektorová grafika --> |
|
|
138 |
<img class="Pic1" width="331" height="123" src="Pictures/image001.gif" |
|
|
139 |
alt="Čárový popisek 2: Procesor a IR modul"> |
|
|
140 |
<img class="Pic2" width="243" height="101" src="Pictures/image002.gif" |
|
|
141 |
alt="Čárový popisek 2: Posuvný Registr +8LED"> |
|
|
142 |
<img class="Pic3" width="131" height="121" src="Pictures/image003.gif" |
|
|
143 |
alt="Čárový popisek 2: H-Můstek"> |
|
|
144 |
<img class="Pic4" width="323" height="234" src="Pictures/image004.gif" |
|
|
145 |
alt="Čárový popisek 2: Procesor a IR přijímač"> |
|
|
146 |
<!-- Podkladový obrázek --> |
308 |
miho |
147 |
<img width="605" height="454" src="Pictures/image005.jpg" |
286 |
miho |
148 |
alt="Obrázek robota"> |
|
|
149 |
</p> |
|
|
150 |
|
|
|
151 |
<h1> Konstrukce </h1> |
|
|
152 |
|
|
|
153 |
<p> |
|
|
154 |
Robot 3Orbis má tedy tři kola, kde přední zatáčecí kolečko je ovládáno |
|
|
155 |
modelářským servem HS-81 které je zrychleno externím převodem 2,5:1 |
|
|
156 |
zadní kola jsou poháněna dvěma stejnosměrnými motory GRAUPNER Speed 300 |
|
|
157 |
které jsou připojeny na kola o d=35mm přes převodovku 1:5. Všechny tyto |
|
|
158 |
komponenty jsou přišroubovány na duralový plech T=2,5mm. Čidla na čáru |
|
|
159 |
jsou navlečena na závitové tyči M3, která je na podvozek připevněna |
|
|
160 |
konstrukcí z Al profilů. Na základní duralové desce jsou ještě tři |
|
|
161 |
závitové tyčky, které slouží jako nosné sloupky pro kryt z hadr disku |
|
|
162 |
Seagate ST125 :) na kterém je připevněna v podstatě veškerá |
|
|
163 |
elektronika. |
|
|
164 |
</p> |
|
|
165 |
|
|
|
166 |
<p> |
|
|
167 |
Tato mechanická konstrukce sice vyřešila většinu výše uvedených |
|
|
168 |
problémů, ale na druhou stranu je mnohem obtížnější její řízení, je nutné |
|
|
169 |
přesně vyladit softwarový diferenciál na zadních kolech (Při použití |
|
|
170 |
vhodnějších motorů by se tento problém pravděpodobně dal vyřešit |
|
|
171 |
zapojením do série.) Také není snadné správně nastavit úhly předního |
|
|
172 |
kolečka, na tyto pokusy padlo několik těsnění 1/4“ 2x2mm. |
|
|
173 |
</p> |
|
|
174 |
|
|
|
175 |
<p> |
|
|
176 |
Obrázek hlavní převodovky<br> |
|
|
177 |
<img width="605" height="454" src="Pictures/image006.jpg" |
|
|
178 |
alt="Hlavní převodovky"> |
|
|
179 |
</p> |
|
|
180 |
|
|
|
181 |
<p> |
|
|
182 |
Převody serva<br> |
|
|
183 |
<!-- Vektorová grafika --> |
|
|
184 |
<img class="Pic7" width="142" height="58" src="Pictures/image007.gif" |
|
|
185 |
alt="Čárový popisek 2: IR LED"> |
|
|
186 |
<img class="Pic8" width="234" height="75" src="Pictures/image008.gif" |
|
|
187 |
alt="Čárový popisek 2: Servo HS-81 "> |
|
|
188 |
<!-- Podkladový obrázek --> |
|
|
189 |
<img width="605" height="454" src="Pictures/image009.jpg" |
|
|
190 |
alt=""> |
|
|
191 |
</p> |
|
|
192 |
|
|
|
193 |
<p> |
|
|
194 |
Elektronická řídící jednotka je téměř celá poskládána z modulů |
|
|
195 |
stavebnice MLAB[2]: |
|
|
196 |
</p> |
|
|
197 |
|
|
|
198 |
<p> |
|
|
199 |
Modul <i>PIC16F84DIL1801A</i> osazený procesorem <i>PIC16F88</i> (Slave) |
|
|
200 |
je použit na zpracování dat z 470nm analogových čidel na snímání čáry + |
|
|
201 |
IR čidla SFH-5110 na detekci překážky. Druhý modul <i>PIC16F84DIL1801A</i> |
|
|
202 |
též osazený procesorem <i>PIC16F88</i> (Master) přebírá data z prvního |
|
|
203 |
procesoru a na jejich základě řídí pohyb robota. |
|
|
204 |
</p> |
|
|
205 |
|
|
|
206 |
<p> |
|
|
207 |
Motory jsou řízeny modulem <i>HBRIDGE01A</i> který je ovládán |
|
|
208 |
softwarovou PWM z master procesoru. Master procesor je také přímo |
|
|
209 |
připojen k servu HS-81. |
|
|
210 |
</p> |
|
|
211 |
|
|
|
212 |
<p> |
|
|
213 |
Na sériové lince mezi oběma procesory je paralelně připojen modul |
|
|
214 |
posuvného registru <i>LEDBAR01A</i> který slouží k zobrazení stavů čidel |
|
|
215 |
a k ověření správné funkce sériové linky. |
|
|
216 |
</p> |
|
|
217 |
|
|
|
218 |
<p> |
|
|
219 |
Napájení elektroniky je zajištěno modulem LEDROBOT01A. Modul |
|
|
220 |
LEDROBOT01A také vizualizuje stav čidel na překážku. |
|
|
221 |
</p> |
|
|
222 |
|
|
|
223 |
<p> |
|
|
224 |
Modulátor IR signálu pro přijímač SFH-5110 je postaven z obvodu HC4047. |
|
|
225 |
IR vysílač a přijímač je třeba umístit tak, aby se jejich optické osy |
|
|
226 |
protínaly ve vzdálenosti, na kterou má být detekována překážka.[1] |
|
|
227 |
</p> |
|
|
228 |
|
|
|
229 |
<h2> Zapojení IR modulátoru </h2> |
|
|
230 |
|
|
|
231 |
<p> |
|
|
232 |
<img width="506" height="292" src="Pictures/image010.gif" |
|
|
233 |
alt="Zapojení IR modulátoru"> |
|
|
234 |
</p> |
|
|
235 |
|
|
|
236 |
<p> |
|
|
237 |
Zapojení elektroniky<br> |
|
|
238 |
<!-- Vektorové popisky --> |
|
|
239 |
<img class="Pic11 " width="110" height="284" src="Pictures/image011.gif" |
|
|
240 |
alt="Čárový popisek 4: Trimry na nastavení regulátoru"> |
|
|
241 |
<img class="Pic12" width="127" height="142" src="Pictures/image012.gif" |
|
|
242 |
alt="Čárový popisek 4: Stabilizátor napětí"> |
|
|
243 |
<!-- Podkladový obrázek --> |
|
|
244 |
<img width="605" height="454" src="Pictures/image013.jpg" |
|
|
245 |
alt="Zapojení elektroniky"> |
|
|
246 |
</p> |
|
|
247 |
|
|
|
248 |
<h2> Propojení modulů stavebnice </h2> |
|
|
249 |
|
|
|
250 |
<p> |
|
|
251 |
<img width="769" height="604" src="Pictures/image014.gif" |
|
|
252 |
alt=""> |
|
|
253 |
</p> |
|
|
254 |
|
|
|
255 |
<h2> Princip řízení </h2> |
|
|
256 |
|
|
|
257 |
<p> |
|
|
258 |
Na řízení robota je použit softwarový proporcionální regulátor se sedmi |
|
|
259 |
diskrétními stavy (tj. odchylce čáry od středního čidla odpovídá |
|
|
260 |
výchylka předního kolečka). Zesílení regulátoru je pevně nastaveno |
|
|
261 |
konstantami pro každý diskrétní stav. Stejně je vyřešen i softwarový |
|
|
262 |
diferenciál na zadních kolech. |
|
|
263 |
</p> |
|
|
264 |
|
|
|
265 |
<p> |
|
|
266 |
Experimentovali jsme i s použitím PD regulátoru, ale nepodařilo se |
|
|
267 |
dosáhnou lepších výsledků než se samostatným P-regulátorem. |
|
|
268 |
</p> |
|
|
269 |
|
|
|
270 |
<h2> Problémy konstrukce </h2> |
|
|
271 |
|
|
|
272 |
<p> |
|
|
273 |
Stabilitu podvozku se podařilo zlepšit pouze částečně. Robot se teď při |
|
|
274 |
velké rychlosti v zatáčkách překlápí, protože je v předu podpírán pouze |
|
|
275 |
v jednom bodě. |
|
|
276 |
</p> |
|
|
277 |
|
|
|
278 |
<p> |
|
|
279 |
Použitá čidla z inkoustových tiskáren měla nedostatečný osvětlovací |
|
|
280 |
výkon a také příliš malou hloubku ostrosti. Řešením by mohla být výměna |
|
|
281 |
470nm LED diod za diody s vyšší svítivostí a odbroušení fresnelovy |
|
|
282 |
čočky před fototranzistorem. |
|
|
283 |
</p> |
|
|
284 |
|
|
|
285 |
<h2> Zdroje </h2> |
|
|
286 |
|
|
|
287 |
<ul> |
|
|
288 |
<li> [1] Novák, Petr : <i>Mobilní Roboty - pohony, senzory, řízení.</i> BEN r.v. 2005 </li> |
|
|
289 |
<li> [2] <a href="http://www.mlab.cz/">www.mlab.cz</a> </li> |
|
|
290 |
<li> [3] <a href="http://www.robotika.sk">www.robotika.sk</a> </li> |
|
|
291 |
</ul> |
|
|
292 |
|
|
|
293 |
<h2> Poděkování </h2> |
|
|
294 |
|
|
|
295 |
<p> |
|
|
296 |
Na závěr bych chtěl poděkovat panu Mgr. Milanu Novotnému ze SPŠ Strojní |
|
|
297 |
a Elektrotechnické v Českých Budějovicích za to že, vyrobil podvozek |
|
|
298 |
robota a vyfrézoval bezvadné převodovky. Dále Ing. Stanislavu Nedvědovi |
|
|
299 |
za konzultaci a nastínění možného způsobu řízení. Pak Mgr. Šinknerové |
|
|
300 |
za to, že mne uvolnila z několika desítek minut výuky angličtiny. |
|
|
301 |
</p> |
|
|
302 |
|
|
|
303 |
</div> |
|
|
304 |
|
|
|
305 |
<!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> |
|
|
306 |
<!-- ============== PATIČKA ============== --> |
|
|
307 |
<div class="Footer"> |
|
|
308 |
<script type="text/javascript"> |
|
|
309 |
<!-- |
|
|
310 |
SetRelativePath("../../../../../"); |
|
|
311 |
DrawFooter(); |
|
|
312 |
// --> |
|
|
313 |
</script> |
|
|
314 |
<noscript> |
|
|
315 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
|
|
316 |
</noscript> |
|
|
317 |
</div> |
|
|
318 |
<!-- AUTOINCLUDE END --> |
|
|
319 |
|
|
|
320 |
</body> |
|
|
321 |
</html> |