A Dora framework node that provides universal gamepad control functionality. While tested primarily with the Logitech F710 wireless controller, it supports any standard gamepad/joystick.
pip install -e .
dora build demo.yml --uv
dora run demo.yml --uv
ls /dev/input/js* # Should show your controller
If port is not executable then run
sudo chmod +x /dev/input/js*
nodes:
- id: gamepad
build: pip install -e .
path: gamepad
outputs:
- cmd_vel # Velocity commands [vx, vy, vz, wx, wy, wz]
inputs:
tick: dora/timer/millis/10 # Update rate
The node outputs cmd_vel as a 6-element array:
[0]: Linear X velocity (forward/backward)[1]: Linear Y velocity (always 0)[2]: Linear Z velocity (always 0)[3]: Angular X velocity (always 0)[4]: Angular Y velocity (always 0)[5]: Angular Z velocity (turning)Format code using ruff:
ruff check . --fix
Run tests with pytest:
pytest .
No gamepad detected:
If port is not executable then run:
sudo chmod +x /dev/input/js*
Released under the MIT License. See LICENSE file for details.