209 |
the optomechanical mice. |
the optomechanical mice. |
210 |
|
|
211 |
.. figure:: required.jpg |
.. figure:: required.jpg |
212 |
:width: 7.5cm |
:width: 7.5cm |
213 |
:label: figrequired |
:label: figrequired |
214 |
|
|
215 |
The non-LEGO parts and tools required for a controller. |
The non-LEGO parts and tools required for a controller. |
216 |
A USB mouse would be preferred to the PS/2 mouse |
A USB mouse would be preferred to the PS/2 mouse |
218 |
to a computer simultaneously as separate input sources. |
to a computer simultaneously as separate input sources. |
219 |
|
|
220 |
.. figure:: mouseopen.jpg |
.. figure:: mouseopen.jpg |
221 |
:width: 7.5cm |
:width: 7.5cm |
222 |
:label: figmouseopen |
:label: figmouseopen |
223 |
|
|
224 |
The mouse, opened with the screwdriver. The screwdriver |
The mouse, opened with the screwdriver. The screwdriver |
225 |
will not be needed after this step. |
will not be needed after this step. |
226 |
|
|
227 |
.. figure:: mousemechanism.jpg |
.. figure:: mousemechanism.jpg |
228 |
:width: 7.5cm |
:width: 7.5cm |
229 |
:label: figmousemechanism |
:label: figmousemechanism |
230 |
|
|
231 |
The mechanism of the mouse: the mouse ball, which rotates |
The mechanism of the mouse: the mouse ball, which rotates |
232 |
from contact with the underlying surface, rotates |
from contact with the underlying surface, rotates |
234 |
|
|
235 |
|
|
236 |
.. figure:: optomechanism.jpg |
.. figure:: optomechanism.jpg |
237 |
:width: 7.5cm |
:width: 7.5cm |
238 |
:label: figoptomechanism |
:label: figoptomechanism |
239 |
|
|
240 |
In optomechanical mice, the motion of the axles is detected |
In optomechanical mice, the motion of the axles is detected |
241 |
by the IR light gate whose beam is cut by the slitted disk. |
by the IR light gate whose beam is cut by the slitted disk. |
255 |
affected: the gate missed a large fraction of the events. |
affected: the gate missed a large fraction of the events. |
256 |
|
|
257 |
.. figure:: wheelmechanism1.jpg |
.. figure:: wheelmechanism1.jpg |
258 |
:width: 7.5cm |
:width: 7.5cm |
259 |
:label: figwheelmechanism1 |
:label: figwheelmechanism1 |
260 |
|
|
261 |
The principle behind the current version of |
The principle behind the current version of |
262 |
our interface between the optomechanical mouse and |
our interface between the optomechanical mouse and |
276 |
[ref-figpressmechanism1]_. |
[ref-figpressmechanism1]_. |
277 |
|
|
278 |
.. figure:: pressmechparts.jpg |
.. figure:: pressmechparts.jpg |
279 |
:width: 7.5cm |
:width: 7.5cm |
280 |
:label: figpressmechparts |
:label: figpressmechparts |
281 |
|
|
282 |
The LEGO parts for the driving mechanism |
The LEGO parts for the driving mechanism |
283 |
|
|
284 |
.. figure:: pressmechanism1.jpg |
.. figure:: pressmechanism1.jpg |
285 |
:width: 7.5cm |
:width: 7.5cm |
286 |
:label: figpressmechanism1 |
:label: figpressmechanism1 |
287 |
|
|
288 |
The driving mechanism assembled. The mechanism is attached |
The driving mechanism assembled. The mechanism is attached |
289 |
to the LEGO framework by the long axle; the driving tyre |
to the LEGO framework by the long axle; the driving tyre |
303 |
|
|
304 |
|
|
305 |
.. figure:: framestart.jpg |
.. figure:: framestart.jpg |
306 |
:width: 7.5cm |
:width: 7.5cm |
307 |
:label: figframestart |
:label: figframestart |
308 |
|
|
309 |
The beginnings of the housing for the mouse case. |
The beginnings of the housing for the mouse case. |
310 |
|
|
311 |
|
|
312 |
.. figure:: framedrivers.jpg |
.. figure:: framedrivers.jpg |
313 |
:width: 7.5cm |
:width: 7.5cm |
314 |
:label: figframedrivers |
:label: figframedrivers |
315 |
|
|
316 |
The driving mechanisms (using a slightly different version |
The driving mechanisms (using a slightly different version |
317 |
than the one depicted in the previous figures) |
than the one depicted in the previous figures) |
343 |
focused node and the peripherally shown nodes. |
focused node and the peripherally shown nodes. |
344 |
|
|
345 |
.. figure:: loomcontrol.jpg |
.. figure:: loomcontrol.jpg |
346 |
:width: 7.5cm |
:width: 7.5cm |
347 |
:label: figloomcontrol |
:label: figloomcontrol |
348 |
|
|
349 |
A fully functional controller prototype, with two |
A fully functional controller prototype, with two |
350 |
absolute arm controls and a wheel control. All three |
absolute arm controls and a wheel control. All three |
372 |
by preserving its position |
by preserving its position |
373 |
|
|
374 |
.. figure:: joystick.jpg |
.. figure:: joystick.jpg |
375 |
:width: 7.5cm |
:width: 7.5cm |
376 |
:label: figjoystick |
:label: figjoystick |
377 |
|
|
378 |
A 2D joystick-like controller built from LEGO bricks as |
A 2D joystick-like controller built from LEGO bricks as |
379 |
a proof-of-principle. |
a proof-of-principle. |
424 |
|
|
425 |
.. raw:: latex |
.. raw:: latex |
426 |
|
|
427 |
$f(x)$ |
$f(x)$ |
428 |
|
|
429 |
at |
at |
430 |
|
|
431 |
.. raw:: latex |
.. raw:: latex |
432 |
|
|
433 |
$x$ |
$x$ |
434 |
|
|
435 |
as |
as |
436 |
|
|
437 |
.. raw:: latex |
.. raw:: latex |
438 |
|
|
439 |
$(f(x+\epsilon/2) - f(x-\epsilon/2)) / \epsilon$ |
$(f(x+\epsilon/2) - f(x-\epsilon/2)) / \epsilon$ |
440 |
|
|
441 |
instead of |
instead of |
442 |
|
|
443 |
.. raw:: latex |
.. raw:: latex |
444 |
|
|
445 |
$(f(x+\epsilon) - f(x)) / \epsilon$ |
$(f(x+\epsilon) - f(x)) / \epsilon$ |
446 |
|
|
447 |
|
|
448 |
|
|
459 |
handle is shown in Fig. [ref-figoctagonal]_. |
handle is shown in Fig. [ref-figoctagonal]_. |
460 |
|
|
461 |
.. figure:: octagonal.jpg |
.. figure:: octagonal.jpg |
462 |
:width: 7.5cm |
:width: 7.5cm |
463 |
:label: figoctagonal |
:label: figoctagonal |
464 |
|
|
465 |
A rugged and relatively comfortable octagonal |
A rugged and relatively comfortable octagonal |
466 |
handle built from slopes and inverted slopes. |
handle built from slopes and inverted slopes. |
472 |
modelling paste, as in [ref-figpaste1]_. |
modelling paste, as in [ref-figpaste1]_. |
473 |
|
|
474 |
.. figure:: paste1.jpg |
.. figure:: paste1.jpg |
475 |
:width: 7.5cm |
:width: 7.5cm |
476 |
:label: figpaste1 |
:label: figpaste1 |
477 |
|
|
478 |
An ergonomic handle implemented using |
An ergonomic handle implemented using |
479 |
air-hardening modelling paste. The handle was |
air-hardening modelling paste. The handle was |