Posts with «6dof» label

Mouse Enjoys Its Freedom

Although it took a little while to standardize on the two-button-with-scroll-wheel setup, most computers have used a mouse or mouse-like device to point at objects on the screen since the 80s. But beyond the standard “point and click” features of the mouse, there have been very few ground-breaking innovations beyond creature comforts. At least, until the “Space Mushroom” mouse from [Shinsaku Hiura] hit our tips line.

This mouse throws away most of the features a typical mouse might have in favor of a joystick-like interface that gives it six degrees of freedom instead of the usual two — while still being about mouse-sized and held in the hand. It doesn’t even have a way of mapping motion directly to movements on the screen. Instead, it maps each degree of freedom to a similar movement of the mouse itself using these three joystick sensors physically linked together, with some underlying programming to translate each movement into the expected movement on the screen.

While this might not replace a standard mouse for every use case anytime soon, it does seem to have tremendous benefit in 3D modeling software, CAD, or anything where orienting a virtual object is the primary goal. Plus, since there’s no limit to the number of mice that can be attached to a computer (beyond USB limitations) this mouse could easily be used in conjunction with a normal mouse much like macro keyboards being used alongside traditional ones.

Thanks to [Rez] for the tip!

Stewart Platform Ball Bearing Balancer

For their Mechanical Engineering senior design project at San Jose State University, [Tyler Kroymann] and [Robert Dee] designed and built a racing motion simulator. Which is slightly out of the budget of most hackers, so before they went full-scale, a more affordable Arduino powered Stewart platform proof of concept was built. Stewart platforms typically use six electric or hydraulic linear actuators to provide motion in six degrees of freedom (6 DOF), surge (X), sway (Y), heave (Z), pitch, roll, and yaw. With a simple software translation matrix, to account for the angular displacement of the servo arm, you can transform the needed linear motions into PWM signals for standard hobby servos.

The 6 DOF platform, with the addition of a resistive touch screen, also doubled as a side project for their mechatronic control systems class. However, in this configuration the platform was constrained to just pitch and roll. The Arduino reads the resistive touch screen and registers the ball bearing’s location. Then a PID compares this to the target location generating an error vector. The error vector is used to find an inverse kinematic solution which causes the actuators to move the ball towards the target location. This whole process is repeated 50 times a second. The target location can be a pre-programmed or controlled using the analog stick on a Wii nunchuck.

Watch the ball bearing seek the target location after the break.

Thanks to [Toby] for sending in this tip.

We at Hackaday look forward to the real life implementation of Marble Madness!

Need help Demystifying PID Control? Or perhaps you would like to build your own Stewart Platform?


Filed under: Arduino Hacks, robots hacks