ros-drivers / pointgrey_camera_driver

ROS driver for Pt. Grey cameras, based on the official FlyCapture2 SDK.
128 stars 180 forks source link

Node crashes after about 30 seconds #117

Closed k-kleber closed 7 years ago

k-kleber commented 7 years ago

Hello, My camera node keeps crashing after about 30 seconds. Here is the output:

SUMMARY
========

PARAMETERS
 * /camera/camera_nodelet/frame_id: camera
 * /camera/camera_nodelet/serial: 0
 * /rosdistro: kinetic
 * /rosversion: 1.12.7

NODES
  /camera/
    camera_nodelet (nodelet/nodelet)
    camera_nodelet_manager (nodelet/nodelet)
    image_proc_debayer (nodelet/nodelet)

auto-starting new master
process[master]: started with pid [5030]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 780e3fc0-3407-11e7-bd21-94de806f2142
process[rosout-1]: started with pid [5043]
started core service [/rosout]
process[camera/camera_nodelet_manager-2]: started with pid [5050]
process[camera/camera_nodelet-3]: started with pid [5061]
process[camera/image_proc_debayer-4]: started with pid [5062]
[ERROR] [1494259292.179409307]: PointGreyCamera::getCameraTemperature Could not get property. | FlyCapture2::ErrorType 28 Feature register read failed.
[ERROR] [1494259292.281687957]: Failed to disconnect with error: PointGreyCamera::disconnect Failed to disconnect camera | FlyCapture2::ErrorType 35 Error stopping stream.

After this I can close it using ctrl-c and restart it. Then the same happens again after about 30 seconds.

I am using Ubuntu 16.04 and have the same issue when using the apt repository and the github's master branch.

Please tell me what additional information you might need. Thank you for the help.

Edit: After using a higher quality usb cable the problem takes longer to occur, but still does. Additionally, the above mentioned errors don't always stop the camera from working and could be unrelated. When the camera crashes and the node is closed, using ctrl-c, the following output is produced:

Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://panda-PC:42823/

SUMMARY
========

PARAMETERS
 * /camera/camera_nodelet/camera_info_url: file:///home/pand...
 * /camera/camera_nodelet/frame_id: camera
 * /camera/camera_nodelet/frame_rate: 5
 * /camera/camera_nodelet/serial: 0
 * /rosdistro: kinetic
 * /rosversion: 1.12.7

NODES                                                                                                                                                                                                             
  /camera/                                                                                                                                                                                                        
    camera_nodelet (nodelet/nodelet)                                                                                                                                                                              
    camera_nodelet_manager (nodelet/nodelet)                                                                                                                                                                      
    image_proc_debayer (nodelet/nodelet)                                                                                                                                                                          

auto-starting new master                                                                                                                                                                                          
process[master]: started with pid [4692]                                                                                                                                                                          
ROS_MASTER_URI=http://localhost:11311                                                                                                                                                                             

setting /run_id to 0eed8680-3bb0-11e7-8923-94de806f2142                                                                                                                                                           
process[rosout-1]: started with pid [4705]                                                                                                                                                                        
started core service [/rosout]                                                                                                                                                                                    
process[camera/camera_nodelet_manager-2]: started with pid [4708]                                                                                                                                                 
process[camera/camera_nodelet-3]: started with pid [4709]                                                                                                                                                         
process[camera/image_proc_debayer-4]: started with pid [4710]                                                                                                                                                     
^C[camera/image_proc_debayer-4] killing on exit                                                                                                                                                                   
[camera/camera_nodelet-3] killing on exit                                                                                                                                                                         
[camera/camera_nodelet_manager-2] killing on exit                                                                                                                                                                 
[camera/camera_nodelet_manager-2] escalating to SIGTERM                                                                                                                                                           
[rosout-1] killing on exit                                                                                                                                                                                        
[master] killing on exit                                                                                                                                                                                          
shutting down processing monitor...                                                                                                                                                                               
... shutting down processing monitor complete                                                                                                                                                                     
done    

Judging from this, I believe that there might be a problem with the camera_nodelet_manager, as it is escalating to SIGTERM when closed, but closes normally, if the node is closed if the camera node did not stop working.

apekshaK commented 7 years ago

I am getting the same issue... were you able to find a solution?

k-kleber commented 7 years ago

It is a camera issue I think. When using flycapture it also crashes without any errors. According to Pointgrey it is a connection issue, but we could not completely solve it. Using different USB cables and making sure, that these are firmly attached can help.