|
upkie 10.0.0
Open-source wheeled biped robots
|
Sensor for a joystick controller. More...
#include <Joystick.h>
Public Member Functions | |
| Joystick (const std::string &device_path="/dev/input/js0") | |
| Open the device file. More... | |
| ~Joystick () override | |
| Close device file. | |
| bool | present () const noexcept |
| Check if the device file was opened successfully. | |
| std::string | prefix () const noexcept final |
| Prefix of output in the observation dictionary. More... | |
| void | write (Dictionary &output) final |
| Write output to a dictionary. More... | |
Sensor for a joystick controller.
Axes are the same for PS4 and Xbox controllers, but buttons differ slightly.
This sensor has the following outputs:
| Key | Type | Description |
|---|---|---|
cross_button | float | bottom button (cross on PS4, A on Xbox) |
square_button | float | left button (square on PS4, Y on Xbox) |
triangle_button | float | top button (triangle on PS4, X on Xbox) |
left_button | float | L1 on PS4, L on Xbox |
right_button | float | R1 on PS4, R on Xbox |
Note that the red button (circle on PS4, B on Xbox) serves as emergency stop 🚨: when it is pressed, the spine will terminate.
| Key | Type | Description |
|---|---|---|
left_axis | [float, float] | left analog joystick |
right_axis | [float, float] | right analog joystick |
left_trigger | float | left trigger if there is one (L2 on PS4) |
right_trigger | float | right trigger if there is one (R2 on PS4) |
| Key | Type | Description |
|---|---|---|
pad_axis | [float, float] | directional pad |