F710 Controller

Motivation

The Logitech F710 Game controller makes a good remote control. From time to time it is necessary to manually control a robot: turning it on an off remotely, putting it into position for tests, activating certain hardware and/or software modules. It is quite expensive (around $AU65 on eBay), but has a good range, is high quality and seems quite reliable.

There are many robot videos where the robot is controlled by a the kind of remote control which is used for remote control aircraft or boats. In fact the Sabertooth motor controller has an interface which can plug directly into the PWM-style receiver for one of these, but if you run a robot with a PWM remote control, you have really just built a remote controlled car. If that is the aim, then no problem, but if the goal is autonomy, then it has to take commands via a software program.

The software program might be a simple as reading the (X, Y) coordinates from the joystick and issuing

setSabertoothSpeed(LEFT_MOTOR, Y + X);
setSabertoothSpeed(RIGHT_MOTOR, Y - X);
But what you have produced is a program which interprets an instruction (via the joystick), and makes a movement decision accordingly. You have the start of an autonomous program.

Software

dilbert

This is Java code to run on Linux/Ubuntu (Ubuntu has the drivers built in).
F710.java
Hid.java
HidListener.java.

Leave a comment

Something I'm doing wrong? Solved my problems? Got a better idea? Got a similar problem?
Think I might have solved your problem? Ninety-nine problems, but your robot ain't one? Say so ..