RoboStack / RoboStack/ros-noetic
ros-noetic-joy doesn't install joy-node when built on non-linux systems
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 517
- Forks
- 78
- PR merge metrics
- No merged PRs in 30d
Description
So this is an interesting one..
the CmakeList.txt for ros-noetic-joy includes a check to see if it's running on a system that includes the linux kernel joystick headers, if not, it skips installing joy_node. It does raise a warning for this but it doesn't make it to the pixi/conda user.
Now, that isn't very robostack behaviour given that joy is listed as available for platforms other than linux. It leads to errors when using pre-made sim environments, like the husky gazebo package, which actively interacts with joy_node.
This seems to not be an issue in the ros2 joy package as they switched to the platform agnostic sdl2 library for joystick interfacing.
Opening this issue to track making a patch for ros-noetic-joy that falls back to sdl2 if it doesn't detect linux/joystick.h and still builds joy_node (also to see if anyone else has attempted this before and can tell me if it's a fools errand).
There's also https://github.com/mikepurvis/joystick_sdl which might give us some clues, but it's about 10 years old and was only ever released on ros-indigo.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with joy/CMakeLists.txt and its linux/joystick.h check, then compare the ROS 2 joy package and the referenced joystick_sdl project. The work is done when ros-noetic-joy builds on non-Linux systems with joy_node available and the husky_control teleop.launch use case no longer fails.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake
- Domain
- build-system, robotics
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100