I Connected Space Mouse to Robot Arm

The creator experiments with using a Space Mouse, typically used for 3D navigation, to control a robotic arm by adapting software and overcoming challenges like mismatched degrees of freedom and programming hurdles. While the setup works and can train a machine learning model for pick-and-place tasks, the creator finds it less intuitive than traditional methods and suggests a full robotic arm kit is better for most users.

The video explores the idea of using a Space Mouse—a device originally designed for controlling robotic arms on space shuttles and now commonly used for 3D navigation in CAD software—to control a robotic arm here on Earth. The creator reflects on the Space Mouse’s origins and wonders if its intuitive control could replace the traditional “leader” arm in a leader-follower robotic setup. Previously, the creator had used two SO Arm 101 robotic arms (one as a controller, one as the follower) but wanted to see if the Space Mouse could serve as a more practical and potentially cost-effective alternative.

To implement this, the creator used an Nvidia Jetson Orin Nano as the computing platform and leveraged the Lar Robot library from Hugging Face for robotics control. Since the Space Mouse wasn’t natively supported, the creator forked the library and added the necessary code, using AI tools to assist with programming. The process wasn’t entirely straightforward, requiring manual fixes and debugging, especially when implementing inverse kinematics to translate Space Mouse movements into robotic arm actions. The creator also discusses the importance of understanding programming fundamentals, even when using AI tools, and briefly promotes a programming education platform.

A significant challenge arose because the Space Mouse offers six degrees of freedom, while the SO Arm 101 only has five. This mismatch made it difficult to map all the Space Mouse’s movements to the robotic arm, especially when using inverse kinematics. After struggling with bugs and control issues, the creator decided to abandon inverse kinematics and instead directly map the Space Mouse’s axes to the robot’s available axes. This approach proved more manageable, though it still required some practice to use effectively.

The creator demonstrates the setup, showing how each movement of the Space Mouse corresponds to a movement of the robotic arm, including opening and closing the gripper with buttons. While the Space Mouse control is less intuitive and requires more practice than the leader-follower arm configuration, it is still functional. The creator collects a dataset by performing pick-and-place tasks with Lego bricks, noting that the quality of the data is crucial for training effective machine learning models. Some technical issues, such as lag due to processing camera feeds and robot commands simultaneously, were resolved with code adjustments.

Ultimately, the trained model was able to control the robotic arm to complete the task, albeit less smoothly than with the traditional setup. The creator concludes that using a Space Mouse is a viable option if you already own one, but if you’re starting from scratch, it’s more practical to invest in a full robotic arm kit. The video wraps up with thanks to supporters and links to relevant resources for viewers interested in replicating or learning more about the project.