Open thermofluid06 opened 1 year ago
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 https://github.com/ifm/ifm3d-ros/issues/67.
I can ping the device but if I use ifm3d without the ROS wrapper, I have the following response from the camera:
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
.
I can ping the device but if I use ifm3d without the ROS wrapper, I have the following response from the camera:
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!
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" } } }
`
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 https://github.com/ifm/ifm3d-ros/issues/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)
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.
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?
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
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++)?
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