RoboStack / RoboStack/ros-noetic

ros-noetic-joy doesn't install joy-node when built on non-linux systems

Open
#548 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

osx windows
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.