Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lib: Pixel format error #68

Open
thermofluid06 opened this issue Mar 1, 2023 · 10 comments
Open

Lib: Pixel format error #68

thermofluid06 opened this issue Mar 1, 2023 · 10 comments

Comments

@thermofluid06
Copy link

Hi everyone,

I am using ifm3d version 0.93.0, ifm3d-ros version v1.0.1, camera is 03R222

I have the following warning message when I try to launch the camera in ROS and I can't see any topic being published in ROS. Rviz is also empty. Can you help me solving the issue?:

[ WARN] [1677676864.055349177]: Timeout waiting for camera! [ WARN] [1677676864.105023235]: -100010: Lib: Pixel format error - didn't expect a particular pixel type [ WARN] [1677676864.105140821]: Timeout waiting for camera! [ WARN] [1677676864.155067663]: -100010: Lib: Pixel format error - didn't expect a particular pixel type

Screenshot from 2023-03-01 14-24-41

@lola-masson
Copy link
Member

Which firmware version are you using?

Also, please check that the camera connected to Port0 (the one you are requesting data from in the screenshot) is in "RUN" mode. If the camera in Port0 is the RGB camera, and you are using FW 16.23, then this is a known bug, see #67.

@thermofluid06
Copy link
Author

I can ping the device but if I use ifm3d without the ROS wrapper, I have the following response from the camera:

Screenshot from 2023-03-01 15-35-49

@thermofluid06
Copy link
Author

Which firmware version are you using?

Also, please check that the camera connected to Port0 (the one you are requesting data from in the screenshot) is in "RUN" mode. If the camera in Port0 is the RGB camera, and you are using FW 16.23, then this is a known bug, see #67.

I can confirm that we are using FW 16.23 after running ifm3d dump.

@lola-masson
Copy link
Member

I can ping the device but if I use ifm3d without the ROS wrapper, I have the following response from the camera:

Screenshot from 2023-03-01 15-35-49

Since ifm3d supports multiple devices, it happens that some available commands are not applicable to the O3R, which is what you are seeing here.

I can confirm that we are using FW 16.23 after running ifm3d dump.

Could you please provide the output of the ifm3d dump here, thanks!

@thermofluid06
Copy link
Author

Here is the output from the ifm3d dump. Sorry for the formatting.

`{
"applications": {
"classes": {
"ods": {
"instanceSchema": {},
"license": "UNLICENSED",
"minimumFirmwareVersion": {
"major": 0,
"minor": 16,
"patch": 3
},
"version": {
"major": 0,
"minor": 0,
"patch": 0
}
}
}
},
"device": {
"clock": {
"currentTime": 1675546327159571032,
"sntp": {
"active": true,
"activeServerAddress": "",
"activeServerName": "time1.google.com",
"availableServers": [],
"systemClockSynchronized": false
}
},
"diagnostic": {
"confInitStages": [
"device",
"ports",
"applications"
],
"temperatures": [
{
"entity": "PLL-therm",
"value": 42.5
},
{
"entity": "MCPU-therm",
"value": 42.5
},
{
"entity": "PMIC-Die",
"value": 100.0
},
{
"entity": "Tboard_tegra",
"value": 38.0
},
{
"entity": "GPU-therm",
"value": 40.5
},
{
"entity": "BCPU-therm",
"value": 42.5
},
{
"entity": "thermal-fan-est",
"value": 41.70000076293945
},
{
"entity": "Tdiode_tegra",
"value": 39.75
},
{
"entity": "port2",
"overtemperature": false,
"temperatureLimit": 77,
"valid": true,
"value": 40
}
],
"upTime": 7324000000000
},
"info": {
"description": "",
"device": "0302",
"deviceTreeBinaryBlob": "tegra186-quill-p3310-1000-c03-00-base.dtb",
"features": {},
"guiSettings": "",
"name": "",
"partNumber": "OVP800",
"productionState": "AA",
"serialNumber": "000021068958",
"vendor": "0001"
},
"log": {
"components": {},
"level": "warn",
"storage": "volatile"
},
"network": {
"authorized_keys": "",
"interfaces": {
"eth0": {
"ipAddressConfig": 0,
"ipv4": {
"address": "192.168.0.69",
"dns": "0.0.0.0",
"gateway": "192.168.0.201",
"mask": 24
},
"mac": "48:B0:2D:68:68:F9",
"networkSpeed": 0,
"useDHCP": false
},
"eth1": {
"ipAddressConfig": 0,
"mac": "00:02:01:43:93:13",
"networkSpeed": 0,
"useDHCP": true
}
}
},
"status": "OPERATE",
"swVersion": {
"euphrates": "1.18.3",
"firmware": "0.16.23-823",
"kernel": "4.9.140-l4t-r32.4+g8c7b68130d9a",
"l4t": "r32.4.3",
"schema": "v1.4.1",
"tcu": "1.0.4"
}
},
"ports": {
"port0": {
"acquisition": {
"delay": 0,
"framerate": 5.0,
"version": {
"major": 0,
"minor": 0,
"patch": 0
}
},
"data": {
"algoDebugConfig": {
"version": {
"major": 0,
"minor": 13,
"patch": 12
}
},
"availablePCICOutput": [
"RGB_INFO"
],
"pcicTCPPort": 50010
},
"info": {
"calibration": {
"version": {
"major": 0,
"minor": 1,
"patch": 1
}
},
"device": "2301",
"deviceTreeBinaryBlobOverlay": "001-ov9782.dtbo",
"features": {
"fov": {
"horizontal": 127,
"vertical": 80
},
"resolution": {
"height": 800,
"width": 1280
},
"type": "2D"
},
"icc": {
"version": {
"major": 0,
"minor": 0,
"patch": 0
}
},
"name": "",
"partNumber": "O3R222",
"productionState": "AB",
"sensor": "OV9782",
"sensorID": "OV9782_127x80_noIllu_Csample",
"serialNumber": "000020922669",
"vendor": "0001",
"version": {
"major": 11,
"minor": 1,
"patch": 0
}
},
"mode": "standard_autoexposure2D",
"processing": {
"extrinsicHeadToUser": {
"rotX": 0.0,
"rotY": 0.0,
"rotZ": 0.0,
"transX": 0.0,
"transY": 0.0,
"transZ": 0.0
},
"version": {
"major": 0,
"minor": 13,
"patch": 12
}
},
"state": "RUN"
},
"port2": {
"acquisition": {
"channelSelection": "manual",
"channelValue": 0,
"delay": 0,
"exposureLong": 500,
"exposureShort": 200,
"framerate": 10.0,
"offset": 0.0,
"swTriggerGroup": 0,
"version": {
"major": 0,
"minor": 0,
"patch": 0
}
},
"data": {
"algoDebugConfig": {
"version": {
"major": 0,
"minor": 13,
"patch": 12
}
},
"availablePCICOutput": [
"TOF_INFO",
"RADIAL_DISTANCE_NOISE",
"RADIAL_DISTANCE_COMPRESSED",
"REFLECTIVITY",
"AMPLITUDE_COMPRESSED",
"CONFIDENCE"
],
"pcicTCPPort": 50012
},
"info": {
"calibration": {
"version": {
"major": 0,
"minor": 6,
"patch": 1
}
},
"device": "3101",
"deviceTreeBinaryBlobOverlay": "001-irs2381c.dtbo",
"features": {
"fov": {
"horizontal": 60,
"vertical": 45
},
"resolution": {
"height": 172,
"width": 224
},
"type": "3D"
},
"icc": {
"version": {
"major": 1,
"minor": 0,
"patch": 6
}
},
"name": "",
"partNumber": "O3R222",
"productionState": "AB",
"sensor": "IRS2381C",
"sensorID": "IRS2381C_60x45_4x2W_60x45_C2",
"serialNumber": "000020922669",
"vendor": "0001",
"version": {
"major": 11,
"minor": 1,
"patch": 0
}
},
"mode": "standard_range2m",
"processing": {
"diParam": {
"anfFilterSizeDiv2": 2,
"dynamicSymmetryThreshold": 20.0,
"enableTemporalFilter": true,
"maxDistNoise": 0.05,
"medianSizeDiv2": 0,
"minAmplitude": 20.0,
"minReflectivity": 2.0,
"mixedPixelFilterMode": 1,
"mixedPixelThresholdRad": 0.05
},
"extrinsicHeadToUser": {
"rotX": 0.0,
"rotY": 0.0,
"rotZ": 0.0,
"transX": 0.0,
"transY": 0.0,
"transZ": 0.0
},
"version": {
"major": 0,
"minor": 13,
"patch": 12
}
},
"state": "RUN"
}
}
}

`

@lola-masson
Copy link
Member

lola-masson commented Mar 2, 2023

When launching the ROS node with the camera.launch, you are pointing to port0 by default. Which in your case is a 2D camera, hence the timeout (known bug #67). To run the camera.launch pointing to port 2, you can use:
roslaunch ifm3d_ros_driver camera.launch pcic_port:=50012

Note that you can see in the parameters listed in the terminal in your first screenshot that the port used is 50010 (=Port0)

@thermofluid06
Copy link
Author

thermofluid06 commented Mar 7, 2023

I have run the launch file with the port argument (pcic_port:=50012) as you have suggested. This time I got the following warning message. In Rviz or in Terminal rostopic echo /ifm3d_ros_driver/camera/cloud doesn't return any measurement data. I have tested with two different computers.
Screenshot from 2023-03-07 08-02-19

@lola-masson
Copy link
Member

This times it looks like you are pointing to the right port indeed. Have you been able to get data without using ROS, for instance using ifm3dpy, or the ifm Vision Assistant?

@thermofluid06
Copy link
Author

I tried again roslaunch ifm3d_ros_driver camera.launch pcic_port:=50012 and I got the following response below. However I can ping the camera. Later I tried to change the json file so that the port0 switches to RUN state using rosservice call /ifm3d_ros_driver/camera/Config "json: 'test.json'" . When I call the service, the process which is launching the camera dies.

I used the instructions from this link to install C++API : https://api.ifm3d.com/html/content/installation_instructions/install_from_source_linux.html

Screenshot from 2023-03-20 10-08-51
Screenshot from 2023-03-20 10-09-08

@lola-masson
Copy link
Member

In the latest screenshot, it looks like you cannot ping the camera. Did you happen to change the IP address of the device? And again, are you able to get data in any other way than ROS (python, Vision Assistant or c++)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants