Joysix, Six Degree Of Freedom Mouse Made From Retractable Key Rings

[Nicolas Berger] submits his six degree of freedom mouse project. He hopes to do things like control a robot arm or fly an alien mothership.

We thought the construction was really neat; suspending a wooden ball in the middle of three retractable key rings. By moving the ball around you can control the motion of a cube displayed on the computer. We first thought this was done by encoders or potentiometers measuring the amount of string coming out of the key fobs. However, what’s actually happening is a little bit cleverer.

[Nicolas] has joined each string with its own 2 axis joystick from Adafruit. He had some issues with these at first because the potentiometers in the joysticks weren’t linear, but he replaced them with a different module and got the expected output. He takes the angle values from each string, and a Python program numerically translates the output from the mouse into something the computer likes. The code is available on his GitHub. A video of the completed mouse is after the break.

23 thoughts on “Joysix, Six Degree Of Freedom Mouse Made From Retractable Key Rings

  1. Nicolas! (If you read this)
    THIS! IS SO GREAT!

    I made an Arduino-based 6-axis controller EERILY SIMILAR to this in my undergraduate project approx. 1 yr ago! I’ve been meaning to post/do something with it for ages!
    Now seems like a great time! How’s best to submit something on here in response?? It’d be great to get some loose collaborative or sharing project together if people are interested in 6-axes controllers…

    DRONES + CAMERA CONTROL! You’ve got the same ideas as me! :-D

  2. Interesting to use the pots for that. I am a fan of the Spaceorb 360 (consumer version of the spacetec family, now 3d connextion). They use an analogue force sensor for 6dof. Actually, a space navigator, the laptop one, shows up nicely on a RPi and raw reads get you all the good info, I saved a study I did on the USB packets if anyone is curious. With 2 of them, certainly one for the drone one for the gimbaled camera would be doable and small form factor to boot.

    1. I am curious about your study!

      By the way, in the last episode of the series “The Expense”, you can see the pilot of the Martian ship “The Rocinante” manipulating a 3D Connexion mouse.

      1. The Expanse is a good show…
        They have so many things like that to make it look futuristic and yet at the same time old and lived in.

        Forklifts in the docks with mecanum wheels… and broken cell phone screens.

        And a ship named Rocinante (Which is the name of Don Quixote’s horse), and an episode named “Windmills”.

  3. I wonder if this is more like 5 degrees of freedom (2.5 + 2.5).

    It seems like the system will not be able to tell the difference between moving toward the camera or away from it and also clockwise or anti-clockwise rotation

    1. It is full 6 DoF.

      Each joystick send a couple of angles (alpha, beta).
      If the ball goes forward, the angles alpha0, alpha1 and alpha2 have positive sign.
      If the ball goes back, they have all negative sign.

      Same for the rotation, by checking the sign of the angles beta0, beta1 and beta2, you can say if it is clockwise or counterclockwise.

      In the code, this has not to be checked explicitly, since the forward kinematic is obtained by inverting the inverse kinematic.

  4. Also interesting in this context of elastic retractable string interaction might be the wearable scenario with a conicial interaction space and the extension of smart traction knobs. I built a series of prototypes in a undergraduate project at the Interactive Media Lab Dresden in Germany last year.

    Hardware Design, Prototyp I: http://gaminggadgets.de/wp-content/uploads/2015/07/elastic-3.jpg
    Video: https://www.youtube.com/watch?v=ko3opA-SIrQ
    Article: http://dl.acm.org/citation.cfm?id=2785849&CFID=580104309&CFTOKEN=18205917

    Further information: imld.de/elasticcon (goes online again as soon as its possible)

  5. This needs to be turned into a kickstarter project, and advertised as a flight control unit intended for use as a user interface device for the wave of space ship flight simulator games showing up over the last few years, and on the horizon.

    1. In the sketches I’ve done for a scifi story/roleplaying story (storyboarding works even for written work), I’ve assumed that some sort of joystick like this would be necessary for ship control. The classic stick and rotating throttle of HOTAS just didn’t seem to accurately translate desire into action.

      I think a throttle would still be useful in addition to this. Sure, forward 1/4 and up 1/64 could be done at those exact positions, but I think it would work better as forward full, up 1/16. throttle 1/4.

  6. Hi Nicolas,

    Nice job!
    Applications are unlimited. As you mention, drones or robotic arm but also and more concrete for remote chirurgical assisted operations by example!

    Just a technical question, how is the accuracy of a combinated movement? I mean that due to elasticity of strings, if you move the ball forward and you apply a clockwise rotation as well as a rotation on the other axis, would the system be able to identify the position of the ball with the same accuracy as if the 3 single movements would have been done separately?

    Hope you will understand my explanations to illustrate this case.

    Stay foolish!

  7. It just struck me that, for high-speed, high accuracy measurement, you could mount a laser pointer in line with the string, on a ball mount, and have a high-speed and/or high resolution camera watching the wall(?) X meters away. (This would work well for, say, measuring exactly how a weapon recoils, when using this system at each end.)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.