Failed to load nodelet

asked 2020-07-13 06:35:33 -0500

savritzer gravatar image

Hi all,

I am running ROS 1.12.14 on a Ubuntu 16.04.12 (kernel version: 4.15.0-107-generic, gcc version: 5.4.0 20160609).

I was trying to modify the capture node but before I was even able to make the changes I wanted, I ran into a problem when compiling the ROS code. It seems to not be able to load one of my nodelets (capture_nodelet), even though I never altered any part of the code regarding this specific nodelet. I only deleted the build folder and recompiled the code without making any code changes. I think the is something wrong with the path to my capture_nodelet, but I cannot figure out where it is being specified. Please help!

This is the specific error I receive when I launch the code:

[FATAL] [1594406972.803405280]: Failed to load nodelet '/acquisition_node` of type `acquisition/capture_nodelet` to manager `vision_nodelet_manager'
[vision_nodelet_manager-2] process has died [pid 1359, exit code -11, cmd /opt/ros/kinetic/lib/nodelet/nodelet manager __name:=vision_nodelet_manager __log:=/home/maimonlab/.ros/log/16a69f8e-c2de-11ea-80cb-309c239b5853/vision_nodelet_manager-2.log].
log file: /home/maimonlab/.ros/log/16a69f8e-c2de-11ea-80cb-309c239b5853/vision_nodelet_manager-2*.log
[acquisition_node-3] process has died [pid 1360, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load acquisition/capture_nodelet vision_nodelet_manager __name:=acquisition_node __log:=/home/maimonlab/.ros/log/16a69f8e-c2de-11ea-80cb-309c239b5853/acquisition_node-3.log].
log file: /home/maimonlab/.ros/log/16a69f8e-c2de-11ea-80cb-309c239b5853/acquisition_node-3*.log

This is the specific part or the launch file that I think has the essential backbone files of my package:

  <!-- nodelet params-->
  <arg name="nodelet_manager_name" default="vision_nodelet_manager" doc="name of the nodelet manager, comes handy when launching multiple nodelets from different launch files" />
  <arg name="start_nodelet_manager" default="true" doc="If set to True(default), creates a nodelet manager with $(arg nodelet_manager_name).
  If False, the acquisition/capture_nodelet waits for the nodelet_manager name $(arg nodelet_manager_name)" />

   <!-- start the nodelet manager if $(arg start_nodelet_manager) is true-->
  <node pkg="nodelet" type="nodelet" name="$(arg nodelet_manager_name)" args="manager" output="screen" if="$(arg start_nodelet_manager)" />

  <!-- load the acquisition nodelet -->
  <node pkg="nodelet" type="nodelet" name="acquisition_node"
          args="load acquisition/capture_nodelet $(arg nodelet_manager_name)" >
    <!-- load the acquisition node parameters file.  Note any parameters provided in this file will 
override what is in the yaml file.  Thus use it to set parameters camer_array configuration params -->
    <rosparam command="load"        file="$(arg config_file)" />

CMakeLists.txt:

cmake_minimum_required(VERSION 2.8.3)
project(spinnaker_sdk_camera_driver)

add_compile_options(-std=c++11)

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

###
# camera Acquisition specific 
###
#SET("OpenCV_DIR" "~/apps/opencv-2.4.13/")
set(PROJECT_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/include" CACHE PATH "Project Include Directory")
set(SPINNAKER_INCLUDE_DIR "/usr/include/spinnaker" CACHE PATH "Spinnaker Include Directory")
set(SPINNAKER_LIB_DIR "/usr/lib" CACHE PATH "Spinnaker Libs Directory")
# set(yaml-cpp_DIR "~/apps/yaml-cpp" CACHE PATH "yaml-cpp Directory")
set(CUDA_USE_STATIC_CUDA_RUNTIME  OFF)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
  message_generation
  cv_bridge
  image_transport
  sensor_msgs
  dynamic_reconfigure
  nodelet
)

#find_package(PCL REQUIRED)

###
# Acquisition specific
###
# Find Packages
find_package(OpenCV REQUIRED)
# use LibUnwind only for x86_64 or x86_32 architecture
# do not use LibUnwind for arm architecture
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64 OR x86_32)
  message("uses LibUnwind for x86_64 or x86_32 ...
(more)
edit retag flag offensive close merge delete