]> pere.pagekite.me Git - homepage.git/blob - blog/tags/robot/index.html
62b16b4527efedc681c22ae2a67d83ef4acc798c
[homepage.git] / blog / tags / robot / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html>
4 <head>
5 <title>Petter Reinholdtsen: Entries Tagged robot</title>
6 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css">
7 <link rel="alternate" title="RSS Feed" href="robot.rss" type="application/rss+xml">
8 </head>
9 <body>
10
11 <div class="title">
12 <h1>
13 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
14
15 </h1>
16
17 </div>
18
19 <p>Entries tagged "robot".</p>
20
21
22
23
24 <div class="entry">
25 <div class="title">
26 <a href="http://people.skolelinux.org/pere/blog/2_Spykee_roboter_i_hus__n___skal_det_lekes.html">2 Spykee-roboter i hus, nå skal det lekes</a>
27 </div>
28 <div class="date">
29 2010-08-18 13:30
30 </div>
31
32 <div class="body">
33
34 <p>Jeg kjøpte nettopp to
35 <a href="http://www.spykee-robot.com/">Spykee</a>-roboter, for test og
36 leking. Kjøpte to da det var så billige, og gir meg mulighet til å
37 eksperimentere uten å være veldig redd for å ødelegge alt ved å bytte
38 ut firmware og slikt. Oppdaget at lekebutikken på Bryn senter hadde
39 en liten stabel på lager som de ikke hadde klart å selge ut etter
40 fjorårets juleinnkjøp, og var villig til å selge for en femtedel av
41 vanlig pris. Jeg, Ronny og Jarle har skaffet oss restbeholdningen, og
42 det blir morsomt å se hva vi får ut av dette.</p>
43
44 <p>Roboten har belter styrt av to motorer, kamera, høytaler, mikrofon
45 og wifi-tilkobling. Det hele styrt av en GPL-lisensiert databoks som
46 jeg mistenker kjører linux. Firmware-kildekoden ble visst publisert i
47 mai. Eneste utfordringen er at kontroller-programvaren kun finnes til
48 Windows, men det må en kunne jobbe seg rundt når vi har kildekoden til
49 firmwaren. :)</p>
50
51 <ul>
52 <li><a href="http://en.wikipedia.org/wiki/Spykee">Wikipedia-oppføring</a></li>
53 <li><a href="http://www.spykeeworld.com/spykee/US/freeSoftware.html">Nedlasting av firmware-kilden</a></li>
54 <li><a href="http://wiki.nuug.no/grupper/robot">prosjektwiki hos NUUG</a></li>
55 </ul>
56
57 </div>
58 <div class="tags">
59
60
61
62 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
63
64 </div>
65 </div>
66 <div class="padding"></div>
67
68 <div class="entry">
69 <div class="title">
70 <a href="http://people.skolelinux.org/pere/blog/Robot__reis_deg___.html">Robot, reis deg...</a>
71 </div>
72 <div class="date">
73 2010-08-21 22:10
74 </div>
75
76 <div class="body">
77
78 <p>I dag fikk jeg endelig tittet litt på mine nyinnkjøpte roboter, og
79 har brukt noen timer til å google etter interessante referanser og
80 aktuell kildekode for bruk på Linux. Det mest lovende så langt er
81 <a href="http://ispykee.toyz.org/">ispykee</a>, som har en
82 BSD-lisensiert linux-daemon som står som mellomledd mellom roboter på
83 lokalnettet og en sentral tjeneste der en iPhone kan koble seg opp for
84 å fjernstyre roboten. Linux-daemonen implementerer deler av
85 protokollen som roboten forstår. Etter å ha knotet litt med å oppnå
86 kontakt med roboten (den oppretter et eget ad-hoc wifi-nett, så jeg
87 måtte gå av mitt vanlige nett for å få kontakt), og kommet frem til at
88 den lytter på IP-port 9000 og 9001, gikk jeg i gang med å finne ut
89 hvordan jeg kunne snakke med roboten vha. disse portene. Robotbiten
90 av protokollen er publisert av produsenten med GPL-lisens, slik at det
91 er mulig å se hvordan protokollen fungerer. Det finnes en java-klient
92 for Android som så ganske snasen ut, men fant ingen kildekode for
93 denne. Derimot hadde iphone-løsningen kildekode, så jeg tok
94 utgangspunkt i den.</p>
95
96 <p>Daemonen ville i utgangspunktet forsøke å kontakte den sentrale
97 tjenesten som iphone-programmet kobler seg til. Jeg skrev dette om
98 til i stedet å sette opp en nettverkstjeneste på min lokale maskin,
99 som jeg kan koble meg opp til med telnet og gi kommandoer til roboten
100 (act, forward, right, left, etc). Det involverte i praksis å bytte ut
101 socket()/connect() med socket()/bind()/listen()/accept() for å gjøre
102 klienten om til en tjener.</p>
103
104 <p>Mens jeg har forsøkt å få roboten til å bevege seg har min samboer
105 skrudd sammen resten av roboten for å få montert kamera og plastpynten
106 (armer, plastfiber for lys). Nå er det hele montert, og roboten er
107 klar til bruk. Må få flyttet den over til mitt vanlige trådløsnett
108 før det blir praktisk, men de bitene av protokollen er ikke
109 implementert i ispykee-daemonen, så der må jeg enten få tak i en mac
110 eller en windows-maskin, eller implementere det selv.</p>
111
112 <p>Vi var tre som kjøpte slike roboter, og vi har blitt enige om å
113 samle notater og referanser på <a
114 href="http://wiki.nuug.no/grupper/robot/">NUUGs wiki</a>. Ta en titt
115 der hvis du er nysgjerrig.</p>
116
117 </div>
118 <div class="tags">
119
120
121
122 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
123
124 </div>
125 </div>
126 <div class="padding"></div>
127
128 <div class="entry">
129 <div class="title">
130 <a href="http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html">My first perl GUI application - controlling a Spykee robot</a>
131 </div>
132 <div class="date">
133 2010-09-01 21:00
134 </div>
135
136 <div class="body">
137
138 <p>This evening I made my first Perl GUI application. The last few
139 days I have worked on a Perl module for controlling my recently
140 aquired Spykee robots, and the module is now getting complete enought
141 that it is possible to use it to control the robot driving at least.
142 It was now time to figure out how to use it to create some GUI to
143 allow me to drive the robot around. I picked PerlQt as I have had
144 positive experiences with the Qt API before, and spent a few minutes
145 browsing the web for examples. Using Qt Designer seemed like a short
146 cut, so I ended up writing the perl GUI using Qt Designer and
147 compiling it into a perl program using the puic program from
148 libqt-perl. Nothing fancy yet, but it got buttons to connect and
149 drive around.</p>
150
151 <p>The perl module I have written provide a object oriented API for
152 controlling the robot. Here is an small example on how to use it:</p>
153
154 <p><pre>
155 use Spykee;
156 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
157 my $host = (keys %robot)[0];
158 my $spykee = Spykee->new();
159 $spykee->contact($host, "admin", "admin");
160 $spykee->left();
161 sleep 2;
162 $spykee->right();
163 sleep 2;
164 $spykee->forward();
165 sleep 2;
166 $spykee->back();
167 sleep 2;
168 $spykee->stop();
169 </pre></p>
170
171 <p>Thanks to the release of the source of the robot firmware, I could
172 peek into the implementation at the other end to figure out how to
173 implement the protocol used by the robot. I've implemented several of
174 the commands the robot understand, but is still missing the camera
175 support to make it possible to control the robot from remote. First I
176 want to implement support for uploading new firmware and configuring
177 the wireless network, to make it possible to bootstrap a Spykee robot
178 without the producers Windows and MacOSX software (I only have Linux,
179 so I had to ask a friend to come over to get the robot testing
180 going. :).</p>
181
182 <p>Will release the source to the public soon, but need to figure out
183 where to make it available first. I will add a link to
184 <a href="http://wiki.nuug.no/grupper/robot/">the NUUG wiki</a> for
185 those that want to check back later to find it.</p>
186
187 </div>
188 <div class="tags">
189
190
191
192 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
193
194 </div>
195 </div>
196 <div class="padding"></div>
197
198 <div class="entry">
199 <div class="title">
200 <a href="http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html">First version of a Perl library to control the Spykee robot</a>
201 </div>
202 <div class="date">
203 2010-10-09 14:00
204 </div>
205
206 <div class="body">
207
208 <p>This summer I got the chance to buy cheap Spykee robots, and since
209 then I have worked on getting Linux software in place to control them.
210 The firmware for the robot is available from the producer, and using
211 that source it was trivial to figure out the protocol specification.
212 I've started on a perl library to control it, and made some demo
213 programs using this perl library to allow one to control the
214 robots.</p>
215
216 <p>The library is quite functional already, and capable of controlling
217 the driving, fetching video, uploading MP3s and play them. There are
218 a few less important features too.</p>
219
220 <p>Since a few weeks ago, I ran out of time to spend on this project,
221 but I never got around to releasing the current source. I decided
222 today that it was time to do something about it, and uploaded the
223 source to my Debian package store at people.skolelinux.org.</p>
224
225 <p>Because it was simpler for me, I made a Debian package and
226 published the source and deb. If you got a spykee robot, grab the
227 source or binary package:</p>
228
229 <p><ul>
230 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.tar.gz">libspykee-perl_0.0.20101009-1.tar.gz</a></li>
231 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.dsc">libspykee-perl_0.0.20101009-1.dsc</a></li>
232 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1_all.deb">libspykee-perl_0.0.20101009-1_all.deb</a></li>
233 </ul></p>
234
235 <p>If you are interested in helping out with developing this library,
236 please let me know.</p>
237
238 </div>
239 <div class="tags">
240
241
242
243 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
244
245 </div>
246 </div>
247 <div class="padding"></div>
248
249 <p style="text-align: right;"><a href="robot.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14"></a></p>
250
251
252
253
254 <div id="sidebar">
255
256 <h2>Archive</h2>
257 <ul>
258
259 <li>2010
260 <ul>
261
262 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
263
264 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
265
266 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
267
268 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
269
270 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
271
272 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
273
274 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
275
276 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
277
278 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
279
280 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (6)</a></li>
281
282 </ul></li>
283
284 <li>2009
285 <ul>
286
287 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
288
289 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
290
291 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
292
293 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
294
295 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
296
297 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
298
299 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
300
301 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
302
303 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
304
305 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
306
307 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
308
309 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
310
311 </ul></li>
312
313 <li>2008
314 <ul>
315
316 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
317
318 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
319
320 </ul></li>
321
322 </ul>
323
324
325
326 <h2>Tags</h2>
327 <ul>
328
329 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (11)</a></li>
330
331 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
332
333 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
334
335 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (10)</a></li>
336
337 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (36)</a></li>
338
339 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (44)</a></li>
340
341 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (63)</a></li>
342
343 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (1)</a></li>
344
345 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (10)</a></li>
346
347 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (4)</a></li>
348
349 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
350
351 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (4)</a></li>
352
353 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
354
355 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (7)</a></li>
356
357 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (85)</a></li>
358
359 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (109)</a></li>
360
361 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (16)</a></li>
362
363 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (22)</a></li>
364
365 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (10)</a></li>
366
367 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (4)</a></li>
368
369 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
370
371 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (17)</a></li>
372
373 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (3)</a></li>
374
375 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (15)</a></li>
376
377 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (1)</a></li>
378
379 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (13)</a></li>
380
381 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (1)</a></li>
382
383 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (10)</a></li>
384
385 </ul>
386
387 </div>
388 </body>
389 </html>