Closed pet1330 closed 9 years ago
The bayes_people_tracker that is. What contains NaN values? The poses? Or the Array of Poses? Do you have an example?
When the PeopleTracker::detectorCallback function is called, and the PoseArray contains a pose which is nan, then it errors.
The debug log contains this:
[DEBUG] [1426525772.305253109]: Service client [/rosservice] wants service [/bayes_people_tracker/set_logger_level] with md5sum [*]
[DEBUG] [1426525772.305651017]: Socket [13] received 0/4 bytes, closing
[DEBUG] [1426525772.305687300]: TCP socket [13] closed
[DEBUG] [1426525772.305703305]: Connection::drop(0)
[DEBUG] [1426525772.305717662]: Connection::drop(2)
[DEBUG] [1426525772.305737344]: Connection::drop(2)
[DEBUG] [1426525772.306323074]: Accepted connection on socket [6], new socket [13]
[DEBUG] [1426525772.306352129]: Adding tcp socket [13] to pollset
[DEBUG] [1426525772.306371806]: TCPROS received a connection from [127.0.0.1:35133]
[DEBUG] [1426525772.306410833]: Connection: Creating ServiceClientLink for service [/bayes_people_tracker/set_logger_level] connected to [callerid=[/rqt_gui_py_node_32371] address=[TCPROS connection to [127.0.0.1:35133 on socket 13]]]
[DEBUG] [1426525772.306431300]: Service client [/rqt_gui_py_node_32371] wants service [/bayes_people_tracker/set_logger_level] with md5sum [51da076440d78ca1684d36c868df61ea]
[DEBUG] [1426525773.238093669]: Connection::drop(2)
[DEBUG] [1426525773.238138756]: TCP socket [13] closed
[DEBUG] [1426525773.238156096]: Connection::drop(0)
[DEBUG] [1426525773.238174531]: Connection::drop(2)
[DEBUG] [1426525773.238189294]: Connection::drop(2)
It doesn't hang on the callback containing NaN, but after the following callback. I output some of the numbers to show this: (robotTF is the same pose after the tf lookup)
Array Input:
0:
position:
x: -0.240404
y: 0.00727299
z: 0.938131
orientation:
x: 0
y: 0
z: 0
w: 1
robotTF:
position:
x: -0.0857869
y: -0.0353511
z: 0.0416829
orientation:
x: 0.908611
y: 0.225921
z: -0.0703102
w: -0.344154
1:
position:
x: -0.0183288
y: -0.126336
z: 1.01322
orientation:
x: 0
y: 0
z: 0
w: 1
robotTF:
position:
x: 0.0417659
y: 0.199463
z: 0.0790897
orientation:
x: 0.908611
y: 0.225921
z: -0.0703102
w: -0.344154
Array Input:
0:
position:
x: -0.112209
y: -0.0640408
z: 0.917959
orientation:
x: 0
y: 0
z: 0
w: 1
robotTF:
position:
x: 0.0315212
y: 0.338484
z: 0.0724725
orientation:
x: 0.271619
y: 0.903436
z: -0.306856
w: -0.125961
1:
position:
x: -nan
y: -nan
z: -nan
orientation:
x: 0
y: 0
z: 0
w: 1
robotTF:
position:
x: -nan
y: -nan
z: -nan
orientation:
x: 0.271619
y: 0.903436
z: -0.306856
w: -0.125961
Array Input:
0:
position:
x: -0.241497
y: 0.00732924
z: 0.941793
orientation:
x: 0
y: 0
z: 0
w: 1
robotTF:
position:
x: -0.0877744
y: -0.033716
z: 0.0388573
orientation:
x: 0.908611
y: 0.225921
z: -0.0703102
w: -0.344154
1:
position:
x: -0.0184654
y: -0.125858
z: 1.00952
orientation:
x: 0
y: 0
z: 0
w: 1
robotTF:
position:
x: 0.042866
y: 0.196887
z: 0.0815587
orientation:
x: 0.908611
y: 0.225921
z: -0.0703102
w: -0.344154
We agreed that a detector should not publish nan values in the first place. Will be solved at a different place. Closing for now. Please re-open if you disagree.
The Node crashes or hangs when the input pose contains NaN values.