205 |
the optomechanical mice. |
the optomechanical mice. |
206 |
|
|
207 |
.. figure:: required.jpg |
.. figure:: required.jpg |
208 |
:width: 7.5cm |
:width: 7.5cm |
209 |
:label: figrequired |
:label: figrequired |
210 |
|
|
211 |
The non-LEGO parts and tools required for a controller. |
The non-LEGO parts and tools required for a controller. |
212 |
A USB mouse would be preferred to the PS/2 mouse |
A USB mouse would be preferred to the PS/2 mouse |
214 |
to a computer simultaneously as separate input sources. |
to a computer simultaneously as separate input sources. |
215 |
|
|
216 |
.. figure:: mouseopen.jpg |
.. figure:: mouseopen.jpg |
217 |
:width: 7.5cm |
:width: 7.5cm |
218 |
:label: figmouseopen |
:label: figmouseopen |
219 |
|
|
220 |
The mouse, opened with the screwdriver. The screwdriver |
The mouse, opened with the screwdriver. The screwdriver |
221 |
will not be needed after this step. |
will not be needed after this step. |
222 |
|
|
223 |
.. figure:: mousemechanism.jpg |
.. figure:: mousemechanism.jpg |
224 |
:width: 7.5cm |
:width: 7.5cm |
225 |
:label: figmousemechanism |
:label: figmousemechanism |
226 |
|
|
227 |
The mechanism of the mouse: the mouse ball, which rotates |
The mechanism of the mouse: the mouse ball, which rotates |
228 |
from contact with the underlying surface, rotates |
from contact with the underlying surface, rotates |
230 |
|
|
231 |
|
|
232 |
.. figure:: optomechanism.jpg |
.. figure:: optomechanism.jpg |
233 |
:width: 7.5cm |
:width: 7.5cm |
234 |
:label: figoptomechanism |
:label: figoptomechanism |
235 |
|
|
236 |
In optomechanical mice, the motion of the axles is detected |
In optomechanical mice, the motion of the axles is detected |
237 |
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. |
251 |
affected: the gate missed a large fraction of the events. |
affected: the gate missed a large fraction of the events. |
252 |
|
|
253 |
.. figure:: wheelmechanism1.jpg |
.. figure:: wheelmechanism1.jpg |
254 |
:width: 7.5cm |
:width: 7.5cm |
255 |
:label: figwheelmechanism1 |
:label: figwheelmechanism1 |
256 |
|
|
257 |
The principle behind the current version of |
The principle behind the current version of |
258 |
our interface between the optomechanical mouse and |
our interface between the optomechanical mouse and |
272 |
[ref-figpressmechanism1]_. |
[ref-figpressmechanism1]_. |
273 |
|
|
274 |
.. figure:: pressmechparts.jpg |
.. figure:: pressmechparts.jpg |
275 |
:width: 7.5cm |
:width: 7.5cm |
276 |
:label: figpressmechparts |
:label: figpressmechparts |
277 |
|
|
278 |
The LEGO parts for the driving mechanism |
The LEGO parts for the driving mechanism |
279 |
|
|
280 |
.. figure:: pressmechanism1.jpg |
.. figure:: pressmechanism1.jpg |
281 |
:width: 7.5cm |
:width: 7.5cm |
282 |
:label: figpressmechanism1 |
:label: figpressmechanism1 |
283 |
|
|
284 |
The driving mechanism assembled. The mechanism is attached |
The driving mechanism assembled. The mechanism is attached |
285 |
to the LEGO framework by the long axle; the driving tyre |
to the LEGO framework by the long axle; the driving tyre |
299 |
|
|
300 |
|
|
301 |
.. figure:: framestart.jpg |
.. figure:: framestart.jpg |
302 |
:width: 7.5cm |
:width: 7.5cm |
303 |
:label: figframestart |
:label: figframestart |
304 |
|
|
305 |
The beginnings of the housing for the mouse case. |
The beginnings of the housing for the mouse case. |
306 |
|
|
307 |
|
|
308 |
.. figure:: framedrivers.jpg |
.. figure:: framedrivers.jpg |
309 |
:width: 7.5cm |
:width: 7.5cm |
310 |
:label: figframedrivers |
:label: figframedrivers |
311 |
|
|
312 |
The driving mechanisms (using a slightly different version |
The driving mechanisms (using a slightly different version |
313 |
than the one depicted in the previous figures) |
than the one depicted in the previous figures) |
339 |
focused node and the peripherally shown nodes. |
focused node and the peripherally shown nodes. |
340 |
|
|
341 |
.. figure:: loomcontrol.jpg |
.. figure:: loomcontrol.jpg |
342 |
:width: 7.5cm |
:width: 7.5cm |
343 |
:label: figloomcontrol |
:label: figloomcontrol |
344 |
|
|
345 |
A fully functional controller prototype, with two |
A fully functional controller prototype, with two |
346 |
absolute arm controls and a wheel control. All three |
absolute arm controls and a wheel control. All three |
368 |
by preserving its position |
by preserving its position |
369 |
|
|
370 |
.. figure:: joystick.jpg |
.. figure:: joystick.jpg |
371 |
:width: 7.5cm |
:width: 7.5cm |
372 |
:label: figjoystick |
:label: figjoystick |
373 |
|
|
374 |
A 2D joystick-like controller built from LEGO bricks as |
A 2D joystick-like controller built from LEGO bricks as |
375 |
a proof-of-principle. |
a proof-of-principle. |
420 |
|
|
421 |
.. raw:: latex |
.. raw:: latex |
422 |
|
|
423 |
$f(x)$ |
$f(x)$ |
424 |
|
|
425 |
at |
at |
426 |
|
|
427 |
.. raw:: latex |
.. raw:: latex |
428 |
|
|
429 |
$x$ |
$x$ |
430 |
|
|
431 |
as |
as |
432 |
|
|
433 |
.. raw:: latex |
.. raw:: latex |
434 |
|
|
435 |
$(f(x+\epsilon/2) - f(x-\epsilon/2)) / \epsilon$ |
$(f(x+\epsilon/2) - f(x-\epsilon/2)) / \epsilon$ |
436 |
|
|
437 |
instead of |
instead of |
438 |
|
|
439 |
.. raw:: latex |
.. raw:: latex |
440 |
|
|
441 |
$(f(x+\epsilon) - f(x)) / \epsilon$ |
$(f(x+\epsilon) - f(x)) / \epsilon$ |
442 |
|
|
443 |
|
|
444 |
|
|
455 |
handle is shown in Fig. [ref-figoctagonal]_. |
handle is shown in Fig. [ref-figoctagonal]_. |
456 |
|
|
457 |
.. figure:: octagonal.jpg |
.. figure:: octagonal.jpg |
458 |
:width: 7.5cm |
:width: 7.5cm |
459 |
:label: figoctagonal |
:label: figoctagonal |
460 |
|
|
461 |
A rugged and relatively comfortable octagonal |
A rugged and relatively comfortable octagonal |
462 |
handle built from slopes and inverted slopes. |
handle built from slopes and inverted slopes. |
468 |
modelling paste, as in [ref-figpaste1]_. |
modelling paste, as in [ref-figpaste1]_. |
469 |
|
|
470 |
.. figure:: paste1.jpg |
.. figure:: paste1.jpg |
471 |
:width: 7.5cm |
:width: 7.5cm |
472 |
:label: figpaste1 |
:label: figpaste1 |
473 |
|
|
474 |
An ergonomic handle implemented using |
An ergonomic handle implemented using |
475 |
air-hardening modelling paste. The handle was |
air-hardening modelling paste. The handle was |