Follow-up: Install the ORK feature pack and step on the pit road and solution

Follow-up: Install the ORK feature pack and step on the pit road and solution

Preface

According to <Install the ORK function package and the solution> It is indeed possible to compile the ORK function package, but when debugging the case recognized by Coke, there is a problem that cannot be detected, as follows.

1. The problem of identifying the Coke case

code show as below:

roslaunch robot_vision freenect_with_calibration.launch 
rosrun topic_tools relay /camera/depth_registerd/igb_raw /camera/depth_registered/image
rosrun object_recognition_core detection -c `rospack find object_recognition_linemod`/conf/detection.ros.ork
roslaunch robot_vision ork_rviz.launch

Error:
Insert picture description here

2. Analysis

The above problems on the Internet, the results are very rich, no effect, a few days of suffering, can only analyze this

1. The terminal enters the following command to generate a core file:

ulimit -a
ulimit -c unlimited
ulimit -a
rosrun object_recognition_core detection -c `rospack find object_recognition_linemod`/conf/detection.ros.ork

2.Gdb debugging, the results are as follows, after the core dump occurs, use gdb to view the content of the core file to locate the line in the file that caused the core dump.

gdb [exec file] [core file]

Insert picture description here
SIGSEGV: Instructs the process to make an invalid memory reference (usually indicating that the program is wrong, if an uninitialized pointer is accessed). The name SEGV stands for "segmentation violation".
The default action of SIGSEGV is to terminate +core

Three, to be resolved

Recalling that there were a lot of prompts during ORK compilation, which may be related to the above problems, it is better to start all over again and check your guess:
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here

to sum up

This problem still needs to continue to learn. Correcting mistakes is really a hard way. The unknown is terrible.
Reference link:
segfault (core dumped), common processing of core files
, GDB debugging methods under Linux environment

Guess you like

Origin blog.csdn.net/qq_50598558/article/details/114888772