ros-drivers / velodyne

ROS support for Velodyne 3D LIDARs
http://ros.org/wiki/velodyne
Other
646 stars 643 forks source link

Broken launch files for Galactic (on Ubuntu Focal) #470

Closed jrbaxter0 closed 1 year ago

jrbaxter0 commented 2 years ago

Please complete the following information:

Describe the bug The current binaries for galactic (on Ubuntu Focal) have broken launch files. It seems #435 resolves this, but it doesn't seem to have been applied to the current binaries. Perhaps it needs to be patched to a different branch or a new release with the changes pushed?

To Reproduce Steps to reproduce the behavior:

  1. Install binaries: sudo apt install ros-galactic-velodyne
  2. Use included launch files: ros2 launch velodyne velodyne-all-nodes-VLP32C-launch.py
  3. The launch process crashes, see error:
    
    Task exception was never retrieved
    future: <Task finished name='Task-2' coro=<LaunchService._process_one_event() done, defined at /opt/ros/galactic/lib/python3.8/site-packages/launch/launch_service.py:226> exception=InvalidLaunchFileError('py')>
    Traceback (most recent call last):
    File "/opt/ros/galactic/lib/python3.8/site-packages/launch/launch_description_sources/any_launch_file_utilities.py", line 53, in get_launch_description_from_any_launch_file
    return loader(launch_file_path)
    File "/opt/ros/galactic/lib/python3.8/site-packages/launch/launch_description_sources/python_launch_file_utilities.py", line 68, in get_launch_description_from_python_launch_file
    return getattr(launch_file_module, 'generate_launch_description')()
    File "/opt/ros/galactic/share/velodyne/launch/velodyne-all-nodes-VLP32C-launch.py", line 45, in generate_launch_description
    velodyne_driver_node = launch_ros.actions.Node(package='velodyne_driver',
    TypeError: __init__() missing 1 required keyword-only argument: 'executable'

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/opt/ros/galactic/lib/python3.8/site-packages/launch/launch_service.py", line 228, in _process_one_event await self.process_event(next_event) File "/opt/ros/galactic/lib/python3.8/site-packages/launch/launch_service.py", line 248, in process_event visit_all_entities_and_collect_futures(entity, self.context)) File "/opt/ros/galactic/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context) File "/opt/ros/galactic/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context) File "/opt/ros/galactic/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 38, in visit_all_entities_and_collect_futures sub_entities = entity.visit(context) File "/opt/ros/galactic/lib/python3.8/site-packages/launch/action.py", line 108, in visit return self.execute(context) File "/opt/ros/galactic/lib/python3.8/site-packages/launch/actions/include_launch_description.py", line 130, in execute launch_description = self.launch_description_source.get_launch_description(context) File "/opt/ros/galactic/lib/python3.8/site-packages/launch/launch_description_source.py", line 84, in get_launch_description self._get_launch_description(self.expanded_location) File "/opt/ros/galactic/lib/python3.8/site-packages/launch/launch_description_sources/any_launch_description_source.py", line 53, in _get_launch_description return get_launch_description_from_any_launch_file(location) File "/opt/ros/galactic/lib/python3.8/site-packages/launch/launch_description_sources/any_launch_file_utilities.py", line 56, in get_launch_description_from_any_launch_file raise InvalidLaunchFileError(extension, likely_errors=exceptions) launch.invalid_launch_file_error.InvalidLaunchFileError: Caught exception when trying to load file of format [py]: init__() missing 1 required keyword-only argument: 'executable'



**Expected behavior**
The launch file would start up some nodes, and I would see it complain about not being connected to a Velodyne sensor.
JWhitleyWork commented 1 year ago

The change can be applied to the galactic-devel branch but galactic is, unfortunately, EOL so my PR to release a new version would be rejected. Sorry about this. Please create a PR if you would like it applied to the source branch.