Skip to content

Remote Control

Remote control is being developed so we can move Rigby deliberately while checking sensors or collecting data, without needing the autonomous stack to choose a path. It is a separate debugging mission, not a substitute for the normal safety checks.

Remote remains disabled in the recorded installation. Input parsing and pairing have been exercised, but reliable wireless operation and powered vehicle acceptance are unfinished.

Supported Controllers

The maintained reader supports Google Stadia controllers and standard Sony DualSense controllers over their supported USB/Bluetooth input paths. Use one supported pad at a time; ambiguous multiple-controller input is rejected.

A Stadia controller needs its Bluetooth-mode firmware before wireless use. Do not assume an old Wi-Fi-mode pad is ready just because the software recognises the product family. Controller conversion and pairing are separate from updating Rigby's motor firmware.

Action Stadia DualSense
Steering Left stick Left stick
Forward speed Right stick up Right stick up
Arm with neutral sticks and hold-to-run released A Cross
Hold to run R1 R1
Stop B Circle

Releasing R1 stops the request. After stopping or reconnecting, the controller must be armed again. Selecting ASSI mission 8 (J) chooses the route; it does not by itself authorise motion.

The extra remote cap is 0.05 m/s, or the main cap if lower. The example uses a 12% deadzone and a 250 ms fresh-input deadline. Holding a stick still must not turn a cached report into a new observation.

Input-Only Check

Keep actuator power isolated. On the host, the following reads the pad without opening the motor-controller serial ports:

sudo -u rigby /opt/ft-rigby/venv/bin/python -m rigby_bridge.remote_hid --seconds 20

Exercise each stick, arm, stop and R1, then hold a steady input. Check both the report count and maximum gap. A successful Bluetooth connection icon is not evidence of fresh input.

The repository remote-control guide contains pairing and input-check details. Pair only the identified controller, not every nearby device.

Host-Specific Work

The ROCK's Bluetooth loader needed a board-name/firmware correction, and its older kernel required BlueZ's userspace HID route. The relevant configuration is retained in FT-Rigby, including the service override and UserspaceHID=true setting.

Those changes were made for the identified ROCK4C+ board revision. They are not a generic recipe to overwrite Bluetooth configuration on another host. Changing pads does not require reflashing the actuator controllers.

What Still Fails

DualSense checks included healthy report windows, but also a 1.518-second gap, followed later by an input/output error and a period with no reports despite BlueZ reporting a connection (22 September 2026). A later healthy window did not cancel the failed one, and no reliable range has been established.

Before enabling remote, resolve the freshness problem and the shared control faults, then verify disconnect/reconnect, stop, re-arm, physical direction mapping and independent power removal in a supervised test. Do not lengthen the input watchdog to make intermittent Bluetooth look healthy.

The gamepad stop button and hold-to-run control are software inputs. They are not a certified remote emergency stop or a replacement for a physical cut-off.