Skip to content

Joy config system + Xbox & Airbus support#106

Closed
ryangeo17 wants to merge 5 commits intoumdloop:mainfrom
ryangeo17:joy-config
Closed

Joy config system + Xbox & Airbus support#106
ryangeo17 wants to merge 5 commits intoumdloop:mainfrom
ryangeo17:joy-config

Conversation

@ryangeo17
Copy link
Copy Markdown

  • Replaced hardcoded PS4/Thrustmaster logic in joystick_publisher.py w/ axes normalization driven by a central joy.yaml config file. The publisher now reads controller axis definitions and subsystem slot mappings from YAML, publishes to controller_input/{joystick_type}, and selects a device by name via a JOYSTICK_NAMES dict.
  • Added the TCA Sidestick Airbus as the controller for the arm, and Xbox controller for science.
  • Each controller_input topic has a different topic for each controller (e.g. "controller_input/xbox", "controller_input/airbus").
  • Changed joystick type params for all subsytems to be strings and not integers (0/1 -> "xbox", "airbus").
  • Each subsystem's launch file reads joystick_type from their joystick.yaml at launch time
  • Added documentation in the joy.yaml file so its clear what each axes/button does what.

-Added joy.yaml config file for joystick_publisher
-Updated joystick_publisher to read from joy.yaml instead of hardcoding values
-Updated joystick.yaml files for arm, drive, and science to match the new config file structure
-Added multiple controllers by adding different topics for each controller
- Add joy.yaml to setup.py install rules so it deploys to share/
- Fix yaml parsing to include /** top-level key
- Add JOYSTICK_NAMES dict to map config keys to pygame device names
- Fix hardcoded 13-button assumption causing KeyError on Xbox controller
- Fix joystick_type string in drive config (space broke ROS2 remap parsing)
-Added Airbus TCA Sidestick profile and migrated arm to airbus controller
-Added range_inverted param for throttle axes on airbus and thrustmaster
-Wrote controller documentation in the joy.yaml file
- Moved joy remap to teleop_twist_joy node (correct direction)
- Fixed science lift button index: buttons[12] → buttons[1] (Xbox has no button 12)
- Updated joy.yaml comments to clarify actual axis/button assignments
@ryangeo17 ryangeo17 closed this Apr 28, 2026
@ryangeo17
Copy link
Copy Markdown
Author

havent tested yet

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant