ifm / o3d3xx-ros

IFM Efector O3D3xx ToF Camera ROS Package

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

catkin_make run_tests failure

sroth44489 opened this issue · comments

Hey Tom,
Thanks for you help. I'm having trouble with running the unit tests. It seems to be a connectivity issue, which another user had reported, #27 . However, my o3d is using the default IP address (the same as in camera.launch). I can also ping the camera. I have the same error with both the current github head and also version 0.2.5. I'm running Ubuntu trusty with ros Indigo. The error I see is :

[ROSTEST]-----------------------------------------------------------------------

[o3d3xx.rosunit-test_camera/test_camera][FAILURE]-------------------------------
False is not true
File "/usr/lib/python2.7/unittest/case.py", line 331, in run
testMethod()
File "/home/sroth/dev/o3d3xx-catkin/src/o3d3xx/test/test_camera.py", line 73, in test_camera
self.success = self.compute_cartesian()
File "/home/sroth/dev/o3d3xx-catkin/src/o3d3xx/test/test_camera.py", line 172, in compute_cartesian
self.assertTrue(x_mask.sum() == 0)
File "/usr/lib/python2.7/unittest/case.py", line 424, in assertTrue
raise self.failureException(msg)

[o3d3xx.rosunit-test_services/test_services][passed]

SUMMARY

  • RESULT: FAIL
  • TESTS: 2
  • ERRORS: 0
  • FAILURES: 1

Thanks again for the help.
Stephan

Hi Stephan,

A couple of quick questions... Is there any output I can look at? This would be helpful. Also, could you paste in the output of running:

$ o3d3xx-dump

Tom,
Here's the output from running the catkin_make run_tests

[ROSTEST]-----------------------------------------------------------------------

[o3d3xx.rosunit-test_camera/test_camera][FAILURE]-------------------------------
False is not true
File "/usr/lib/python2.7/unittest/case.py", line 331, in run
testMethod()
File "/home/sroth/dev/o3d3xx-catkin/src/o3d3xx/test/test_camera.py", line 73, in test_camera
self.success = self.compute_cartesian()
File "/home/sroth/dev/o3d3xx-catkin/src/o3d3xx/test/test_camera.py", line 172, in compute_cartesian
self.assertTrue(x_mask.sum() == 0)
File "/usr/lib/python2.7/unittest/case.py", line 424, in assertTrue
raise self.failureException(msg)

[o3d3xx.rosunit-test_services/test_services][passed]

SUMMARY

  • RESULT: FAIL
  • TESTS: 2
  • ERRORS: 0
  • FAILURES: 1

Here's the output of o3d3xx-dump
{
"o3d3xx":
{
"libo3d3xx": "408",
"Date": "Wed Jan 11 11:36:50 2017",
"HWInfo":
{
"Mainboard": "#!02_M381_003_02371898_008022954",
"Illumination": "#!02_I300_001_02390611_008001175",
"MiraSerial": "0230-5921-00a3-061c",
"MACAddress": "00:02:01:40:41:F0",
"Frontend": "#!02_F342_C32_16_00051_008022797",
"Diagnose": "#!02_D322_C31_02292052_008023267",
"Connector": "#!02_A300_001_02341516_008001175"
},
"SWVersion":
{
"IFM_Software": "1.6.2038",
"Linux": "Linux version 3.11.0-00002-gd1bbe0b (eswadmin@dettlx79) (gcc version 4.7.2 (GCC) ) #1 SMP Fri Jun 24 16:34:26 CEST 2016",
"Diagnostic_Controller": "0.3.177",
"ELDK": "GOLDENEYE_ELDK-2016-07-14_09-36-02-2e9219cce224332ecbe2f36934d2c3c7aa738c78",
"Calibration_Version": "0.9.0",
"Calibration_Device": "00:02:01:40:41:f0",
"Main_Application": "0.4.195",
"Algorithm_Version": "1.2.17"
},
"Device":
{
"Name": "New sensor",
"Description": "",
"ActiveApplication": "1",
"PcicTcpPort": "50010",
"PcicProtocolVersion": "3",
"IOLogicType": "1",
"IODebouncing": "true",
"IOExternApplicationSwitch": "0",
"SessionTimeout": "30",
"ServiceReportPassedBuffer": "15",
"ServiceReportFailedBuffer": "15",
"ExtrinsicCalibTransX": "0",
"ExtrinsicCalibTransY": "0",
"ExtrinsicCalibTransZ": "0",
"ExtrinsicCalibRotX": "0",
"ExtrinsicCalibRotY": "0",
"ExtrinsicCalibRotZ": "0",
"EvaluationFinishedMinHoldTime": "10",
"SaveRestoreStatsOnApplSwitch": "true",
"IPAddressConfig": "0",
"PasswordActivated": "false",
"OperatingMode": "1",
"DeviceType": "1:2",
"ArticleNumber": "O3D303",
"ArticleStatus": "AB",
"UpTime": "1.92472222222222",
"ImageTimestampReference": "0",
"TemperatureFront1": "3276.7",
"TemperatureFront2": "3276.7",
"TemperatureIMX6": "53.1500015258789",
"TemperatureIllu": "56.2",
"PNIODeviceName": "",
"EthernetFieldBus": "1"
},
"Net":
{
"MACAddress": "",
"NetworkSpeed": "0",
"StaticIPv4Address": "192.168.0.69",
"StaticIPv4SubNetMask": "255.255.255.0",
"StaticIPv4Gateway": "192.168.0.201",
"UseDHCP": "false"
},
"Apps":
[
{
"Name": "Sample Application",
"Description": "",
"TriggerMode": "1",
"PcicTcpResultSchema": "{ "layouter": "flexible", "format": { "dataencoding": "ascii" }, "elements": [ { "type": "string", "value": "star", "id": "start_string" }, { "type": "blob", "id": "normalized_amplitude_image" }, { "type": "blob", "id": "distance_image" }, { "type": "blob", "id": "x_image" }, { "type": "blob", "id": "y_image" }, { "type": "blob", "id": "z_image" }, { "type": "blob", "id": "confidence_image" }, { "type": "blob", "id": "diagnostic_data" }, { "type": "string", "value": "stop", "id": "end_string" } ] }",
"PcicEipResultSchema": "{ "layouter": "flexible", "format": { "dataencoding": "binary", "order": "big" }, "elements" : [ { "type": "string", "value": "star", "id": "start_string" }, { "type": "records", "id": "models", "elements": [ { "type": "int16", "id": "boxFound" }, { "type": "int16", "id": "width", "format": { "scale": 1000 } }, { "type": "int16", "id": "height", "format": { "scale": 1000 } }, { "type": "int16", "id": "length", "format": { "scale": 1000 } }, { "type": "int16", "id": "xMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "yMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "zMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "yawAngle" }, { "type": "int16", "id": "qualityLength" }, { "type": "int16", "id": "qualityWidth" }, { "type": "int16", "id": "qualityHeight" } ] }, { "type": "string", "value": "stop", "id": "end_string" } ] }",
"PcicPnioResultSchema": "{"layouter" : "flexible", "format": { "dataencoding": "binary", "order": "big" }, "elements" : [ { "type": "string", "value": "star", "id": "start_string" }, { "type": "records", "id": "models", "elements": [ { "type": "int16", "id": "boxFound" }, { "type": "int16", "id": "width", "format": { "scale": 1000 } }, { "type": "int16", "id": "height", "format": { "scale": 1000 } }, { "type": "int16", "id": "length", "format": { "scale": 1000 } }, { "type": "int16", "id": "xMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "yMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "zMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "yawAngle" }, { "type": "int16", "id": "qualityLength" }, { "type": "int16", "id": "qualityWidth" }, { "type": "int16", "id": "qualityHeight" } ] }, { "type": "string", "value": "stop", "id": "end_string" } ] }",
"LogicGraph": "{"IOMap": {"OUT1": "RFT","OUT2": "AQUFIN"},"blocks": {"B00001": {"pos": {"x": 200,"y": 200},"properties": {},"type": "PIN_EVENT_IMAGE_ACQUISITION_FINISHED"},"B00002": {"pos": {"x": 200,"y": 75},"properties": {},"type": "PIN_EVENT_READY_FOR_TRIGGER"},"B00003": {"pos": {"x": 600,"y": 75},"properties": {"pulse_duration": 0},"type": "DIGITAL_OUT1"},"B00005": {"pos": {"x": 600,"y": 200},"properties": {"pulse_duration": 0},"type": "DIGITAL_OUT2"}},"connectors": {"C00000": {"dst": "B00003","dstEP": 0,"src": "B00002","srcEP": 0},"C00001": {"dst": "B00005","dstEP": 0,"src": "B00001","srcEP": 0}}}",
"Type": "Camera",
"Index": "1",
"Id": "505671508",
"Imager":
{
"Channel": "0",
"ClippingBottom": "131",
"ClippingLeft": "0",
"ClippingRight": "175",
"ClippingTop": "0",
"ContinuousAutoExposure": "false",
"EnableAmplitudeCorrection": "true",
"EnableFastFrequency": "false",
"EnableFilterAmplitudeImage": "true",
"EnableFilterDistanceImage": "true",
"EnableRectificationAmplitudeImage": "false",
"EnableRectificationDistanceImage": "false",
"ExposureTime": "5000",
"ExposureTimeList": "125;5000",
"ExposureTimeRatio": "40",
"FrameRate": "5",
"MinimumAmplitude": "42",
"Resolution": "0",
"ClippingCuboid": "{"XMin": -3.402823e+38, "XMax": 3.402823e+38, "YMin": -3.402823e+38, "YMax": 3.402823e+38, "ZMin": -3.402823e+38, "ZMax": 3.402823e+38}",
"SpatialFilterType": "0",
"SymmetryThreshold": "0",
"TemporalFilterType": "0",
"ThreeFreqMax2FLineDistPercentage": "80",
"ThreeFreqMax3FLineDistPercentage": "80",
"TwoFreqMaxLineDistPercentage": "80",
"Type": "upto30m_moderate",
"MaxAllowedLEDFrameRate": "11.9",
"SpatialFilter":
{
"Type": "0",
"TypeStr_": "Off"
},
"TemporalFilter":
{
"Type": "0",
"TypeStr_": "Off"
}
}
}
]
}
}

OK. Thanks. I'm looking into it. I'm currently running 16.04 + Kinetic, so, I need to bring up my 14.04 + Indigo environment (lots of apt updates since I last used that version). From what I can tell, it does not look like a connectivity issue.

Based on reading your error messages, the test that appears to be failing is the one that compares the off-board computation of the Cartesian data to the on-board computation of the Cartesian data. A similar test exists in libo3d3xx so we know that this works (in general). The one difference between the two tests is that in libo3d3xx we test pixel-by-pixel equivalence to w/in 1 cm of accuracy. In the ROS test it is tightened to 1 mm of accuracy. Perhaps we need to "loosen the screws" a bit.

Again, just sharing my current thinking . Once my Indigo machine is finished updating itself, I will validate your setup and get back with a more concrete analysis of what is going on.

Tom,
Thanks for the quick reply. The accuracy numbers gave me an idea. When I ran the tests before, I had the camera pointing at me. Maybe it failed because I was moving around? I turned the camera to look at a wall, and now the test succeeds. Now I can run everything and even get rviz to show the images.

Stephan

Great. Thanks Stephan.

had same issue but in different way.
~/libo3d3xx-0.4.8/o3d3xx-catkin$ catkin_make run_tests
Base path: /home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin
Source space: /home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/src
Build space: /home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/build
Devel space: /home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/devel
Install space: /home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/install

Running command: "cmake /home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/src -DCATKIN_DEVEL_PREFIX=/home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/devel -DCMAKE_INSTALL_PREFIX=/home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/install -G Unix Makefiles" in "/home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/build"

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/kinetic
-- This workspace overlays: /opt/ros/kinetic
-- Found PythonInterp: /usr/bin/python (found version "2.7.12")
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/build/test_results
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /home/hayden/.local/bin/nosetests-2.7
-- catkin 0.7.4
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 1 packages in topological order:
-- ~~ - o3d3xx
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'o3d3xx'
-- ==> add_subdirectory(o3d3xx-ros)
-- Found O3D3XX_CAMERA: /usr/lib/libo3d3xx_camera.so (found version "0.4.8")
-- Found O3D3XX_FRAMEGRABBER: /usr/lib/libo3d3xx_framegrabber.so (found version "0.4.8")
CMake Error at o3d3xx-ros/cmake/Findo3d3xx_image.cmake:22 (include):
include could not find load file:

/o3d3xx_image/o3d3xx_image-config-version.cmake

Call Stack (most recent call first):
o3d3xx-ros/CMakeLists.txt:10 (find_package)

-- Could NOT find O3D3XX_IMAGE (missing: O3D3XX_IMAGE_LIBRARIES O3D3XX_IMAGE_INCLUDE_DIRS)
CMake Error at o3d3xx-ros/cmake/Findo3d3xx_image.cmake:60 (message):
o3d3xx_image: is incompatible with 0.4.5
Call Stack (most recent call first):
o3d3xx-ros/CMakeLists.txt:10 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/build/CMakeFiles/CMakeOutput.log".
See also "/home/hayden/libo3d3xx-0.4.8/o3d3xx-catkin/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

here is my o3d3xx-dump
{
"o3d3xx": {
"libo3d3xx": "408",
"Date": "Tue Jan 31 21:19:06 2017",
"HWInfo": {
"Connector": "#!02_A300_001_02341516_008001175",
"Diagnose": "#!02_D322_C31_02292052_008023267",
"MiraSerial": "8430-591a-00a2-0638",
"MACAddress": "00:02:01:40:41:8D",
"Frontend": "#!02_F342_C32_16_00047_008022797",
"Mainboard": "#!02_M381_003_02371898_008022954",
"Illumination": "#!02_I300_001_02390611_008001175"
},
"SWVersion": {
"IFM_Software": "1.6.2038",
"Main_Application": "0.4.195",
"Algorithm_Version": "1.2.17",
"Calibration_Device": "00:02:01:40:41:8d",
"ELDK": "GOLDENEYE_ELDK-2016-07-14_09-36-02-2e9219cce224332ecbe2f36934d2c3c7aa738c78",
"Calibration_Version": "0.9.0",
"Linux": "Linux version 3.11.0-00002-gd1bbe0b (eswadmin@dettlx79) (gcc version 4.7.2 (GCC) ) #1 SMP Fri Jun 24 16:34:26 CEST 2016",
"Diagnostic_Controller": "0.3.177"
},
"Device": {
"Name": "New sensor",
"Description": "",
"ActiveApplication": "2",
"PcicTcpPort": "50010",
"PcicProtocolVersion": "3",
"IOLogicType": "1",
"IODebouncing": "true",
"IOExternApplicationSwitch": "0",
"SessionTimeout": "30",
"ServiceReportPassedBuffer": "15",
"ServiceReportFailedBuffer": "15",
"ExtrinsicCalibTransX": "0",
"ExtrinsicCalibTransY": "0",
"ExtrinsicCalibTransZ": "0",
"ExtrinsicCalibRotX": "0",
"ExtrinsicCalibRotY": "0",
"ExtrinsicCalibRotZ": "0",
"EvaluationFinishedMinHoldTime": "10",
"SaveRestoreStatsOnApplSwitch": "true",
"IPAddressConfig": "0",
"PasswordActivated": "false",
"OperatingMode": "1",
"DeviceType": "1:2",
"ArticleNumber": "O3D303",
"ArticleStatus": "AB",
"UpTime": "6.4238888888888903",
"ImageTimestampReference": "0",
"TemperatureFront1": "3276.6999999999998",
"TemperatureFront2": "3276.6999999999998",
"TemperatureIMX6": "35.748001098632798",
"TemperatureIllu": "37.100000000000001",
"PNIODeviceName": "",
"EthernetFieldBus": "1"
},
"Net": {
"MACAddress": "",
"NetworkSpeed": "0",
"StaticIPv4Address": "192.168.0.69",
"StaticIPv4SubNetMask": "255.255.255.0",
"StaticIPv4Gateway": "192.168.0.201",
"UseDHCP": "false"
},
"Apps": [
{
"Name": "Application",
"Description": "No Description",
"TriggerMode": "1",
"PcicTcpResultSchema": "{ "layouter": "flexible", "format": { "dataencoding": "ascii" }, "elements": [ { "type": "string", "value": "star", "id": "start_string" }, { "type": "blob", "id": "normalized_amplitude_image" }, { "type": "blob", "id": "distance_image" }, { "type": "blob", "id": "x_image" }, { "type": "blob", "id": "y_image" }, { "type": "blob", "id": "z_image" }, { "type": "blob", "id": "confidence_image" }, { "type": "blob", "id": "diagnostic_data" }, { "type": "string", "value": "stop", "id": "end_string" } ] }",
"PcicEipResultSchema": "{"layouter" : "flexible", "format": { "dataencoding": "binary", "order": "big" }, "elements" : [ { "type": "string", "value": "star", "id": "start_string" }, { "type": "records", "id": "models", "elements": [ { "type": "int16", "id": "boxFound" }, { "type": "int16", "id": "width", "format": { "scale": 1000 } }, { "type": "int16", "id": "height", "format": { "scale": 1000 } }, { "type": "int16", "id": "length", "format": { "scale": 1000 } }, { "type": "int16", "id": "xMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "yMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "zMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "yawAngle" }, { "type": "int16", "id": "qualityLength" }, { "type": "int16", "id": "qualityWidth" }, { "type": "int16", "id": "qualityHeight" } ] }, { "type": "string", "value": "stop", "id": "end_string" } ] }",
"PcicPnioResultSchema": "{"layouter" : "flexible", "format": { "dataencoding": "binary", "order": "big" }, "elements" : [ { "type": "string", "value": "star", "id": "start_string" }, { "type": "records", "id": "models", "elements": [ { "type": "int16", "id": "boxFound" }, { "type": "int16", "id": "width", "format": { "scale": 1000 } }, { "type": "int16", "id": "height", "format": { "scale": 1000 } }, { "type": "int16", "id": "length", "format": { "scale": 1000 } }, { "type": "int16", "id": "xMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "yMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "zMidTop", "format": { "scale": 1000 } }, { "type": "int16", "id": "yawAngle" }, { "type": "int16", "id": "qualityLength" }, { "type": "int16", "id": "qualityWidth" }, { "type": "int16", "id": "qualityHeight" } ] }, { "type": "string", "value": "stop", "id": "end_string" } ] }",
"LogicGraph": "{"IOMap": {"OUT1": "RFT","OUT2": "AQUFIN"},"blocks": {"B00001": {"pos": {"x": 200,"y": 200},"properties": {},"type": "PIN_EVENT_IMAGE_ACQUISITION_FINISHED"},"B00002": {"pos": {"x": 200,"y": 75},"properties": {},"type": "PIN_EVENT_READY_FOR_TRIGGER"},"B00003": {"pos": {"x": 600,"y": 75},"properties": {"pulse_duration": 0},"type": "DIGITAL_OUT1"},"B00005": {"pos": {"x": 600,"y": 200},"properties": {"pulse_duration": 0},"type": "DIGITAL_OUT2"}},"connectors": {"C00000": {"dst": "B00003","dstEP": 0,"src": "B00002","srcEP": 0},"C00001": {"dst": "B00005","dstEP": 0,"src": "B00001","srcEP": 0}}}",
"Type": "Camera",
"Index": "2",
"Id": "202411923",
"Imager": {
"Channel": "0",
"ClippingBottom": "131",
"ClippingLeft": "0",
"ClippingRight": "175",
"ClippingTop": "0",
"ContinuousAutoExposure": "false",
"EnableAmplitudeCorrection": "true",
"EnableFastFrequency": "false",
"EnableFilterAmplitudeImage": "true",
"EnableFilterDistanceImage": "true",
"EnableRectificationAmplitudeImage": "false",
"EnableRectificationDistanceImage": "false",
"ExposureTime": "200",
"ExposureTimeList": "200",
"FrameRate": "5",
"MinimumAmplitude": "42",
"Resolution": "0",
"ClippingCuboid": "{"XMin": -3.402823e+38, "XMax": 3.402823e+38, "YMin": -3.402823e+38, "YMax": 3.402823e+38, "ZMin": -3.402823e+38, "ZMax": 3.402823e+38}",
"SpatialFilterType": "0",
"SymmetryThreshold": "0",
"TemporalFilterType": "0",
"ThreeFreqMax2FLineDistPercentage": "80",
"ThreeFreqMax3FLineDistPercentage": "80",
"TwoFreqMaxLineDistPercentage": "80",
"Type": "under5m_low",
"MaxAllowedLEDFrameRate": "277.69999999999999",
"SpatialFilter": {
"Type": "0",
"TypeStr_": "Off"
},
"TemporalFilter": {
"Type": "0",
"TypeStr_": "Off"
}
}
}
]
}
}

thank you for looking into this