
Client
Private Client
Year
2021
Duration
2 months
Tags
Inverse Kinematics, Embedded
This project started with a client request on Upwork: a device that would allow intuitive camera control, as if you were physically holding and moving it in space. The requirement was to control all six degrees of freedom simultaneously — three for position and three for orientation — using a single handheld interface.
As a prototype, I developed a 6DoF space mouse based on a Stewart platform-like mechanism. The system uses six potentiometers to measure motion, and an inverse kinematics model to convert these inputs into 6-axis output. The goal was to create a direct mapping between physical movement and digital control, enabling fluid and natural interaction.
One of the main challenges was cross-talk between axes — moving the knob in one direction could unintentionally affect others. While this is also present in professional devices, they rely on precise calibration. In this prototype, I addressed the issue with a combination of filtering techniques: small movements were treated as zero to eliminate noise, and a moving average was applied to smooth the output. This ensured that only intentional movements produced meaningful results.
The result is a functional prototype that demonstrates how multi-axis sensing, kinematic modeling, and signal processing can be combined into a practical human–machine interface.

Controlling a camera in 3D space using conventional input devices is unintuitive and fragmented. Translation and rotation are typically handled separately, making it difficult to achieve smooth, natural motion — especially when multiple axes need to be adjusted simultaneously.
A single input device that allows simultaneous control of all six degrees of freedom, enabling the user to manipulate a camera as if physically holding it. The system should provide continuous, real-time feedback and remain stable and predictable despite multi-axis interaction.
A custom 6DoF space mouse prototype based on a Stewart platform-like mechanism. Six potentiometers capture physical motion, which is converted into position and orientation outputs using inverse kinematics. To address cross-talk and noise between axes, filtering techniques were applied: small unintended movements are suppressed using a threshold, and a moving average filter ensures smooth, stable output. The result is an intuitive and responsive control system for multi-axis interaction.