ros-drivers / openni2_camera

ROS wrapper for openni 2.0
http://wiki.ros.org/openni2_camera
BSD 3-Clause "New" or "Revised" License
56 stars 95 forks source link

remove ROS 1 launch package #134

Closed christianrauch closed 7 months ago

christianrauch commented 7 months ago

These launch files are for ROS 1. The ROS 2 launch files are now in the openni2_camera package.

mikeferguson commented 7 months ago

Related issues:

christianrauch commented 7 months ago
  1. How is "lazy subscribers" related to the launch files? As far as I can tell, this is only related to the middle-ware (RMW) and has nothing to do with launch files.
  2. The RGB-D processing (rectification, registration, projection, ...) could also be added to the launch files that already exist in the openni2_camera package. Why is there a dedicated package required just for the launch files?
mikeferguson commented 7 months ago
  • How is "lazy subscribers" related to the launch files? As far as I can tell, this is only related to the middle-ware (RMW) and has nothing to do with launch files.

openni2_launch/rgbd_launch setup a whole set of pipelines - you can't actually have all the pipelines running at once (since you can only stream 2 of 3 hardware channels at the same time - so you can't have IR + Depth + RGB). In order for that to work, the nodes that come from image_pipeline need to have lazy behavior (so that it trickles all the way back to the sensor, which then decides which streams to activate in hardware).

  • The RGB-D processing (rectification, registration, projection, ...) could also be added to the launch files that already exist in the openni2_camera package. Why is there a dedicated package required just for the launch files?

While this is technically possible to do, the original goal was to make it so that you have a 1-1 correspondence between launch file names in ROS 1 vs ROS 2. At the time, we certainly didn't expect it would take ~3 years to get the upstream support implemented.

There is also probably a minor dependency management aspect here which was the original reason 10 years ago to have it be a separate package - openni2_launch does drag in extra dependencies that aren't needed for the camera itself.