Problem with voxl-camera-server
-
Hi Team,
I am facing following problems with the camera-server:
voxl-camera-server
is stopping after enabling and startingvoxl-dfs-server
.
output of
voxl-camera-server -d 0
after starting voxl-dfs-server.voxl:~$ voxl-camera-server -d 0 ------ voxl-camera-server INFO: Port J2 ------ voxl-camera-server: Done configuring tof camera Port : port_J2 Name : tof Enabled : 1 Type : tof Api : hal3 P-W : 224 P-H : 1557 P-Fmt : blob FPS : 15 Tof Mode : 9 OverrideId : -1 AEAlgo : isp ------ voxl-camera-server INFO: Port J3 ------ voxl-camera-server: Done configuring stereo camera Port : port_J3 Name : stereo Enabled : 1 Type : stereo Api : hal3 P-W : 1280 P-H : 480 P-Fmt : nv21 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 20 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= ------ voxl-camera-server INFO: Port J4 ------ voxl-camera-server: Done configuring tracking camera Port : port_J4 Name : tracking Enabled : 1 Type : tracking Api : hal3 P-W : 640 P-H : 480 P-Fmt : raw8 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 20 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= Writing new configuration to /etc/modalai/voxl-camera-server.conf Created pipe: tof channel: 5 Created pipe: stereo channel: 6 Created pipe: tracking channel: 7 Starting Camera: tracking SUCCESS: Camera module opened ----------- Number of cameras: 3 ------ voxl-camera-server ERROR: Client connected to invalid channel: 6 ----------- ToF camera id: 0 ----------- Stereo camera id: 2 ----------- Mono camera id: 1 Available resolutions for camera: tracking: 640 x 480 320 x 240 Resolution: 640 x 480 Found! ------ voxl-camera-server INFO: Client: voxl-tag-detector0 connected to channel: 7 ------ voxl-camera-server ERROR: Client connected to invalid channel: 5 ------ voxl-camera-server: Preview buffer allocations Internal Exposure for: tracking 7 /builds/voxl-public/modal-pipe-architecture/voxl-camera-server/src/expgain_interface/expgain_interface_factory.cpp 45 Creating exposure interface Creating ModalAI exposure interface Initialize Initialize Port : port_J4 Name : tracking Enabled : 1 Type : tracking Api : hal3 P-W : 640 P-H : 480 P-Fmt : raw8 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 20 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= Starting Camera: tof ------ voxl-camera-server INFO: Client: qvio-server0 connected to channel: 7 ------ voxl-camera-server: Preview buffer allocations SUCCESS: TOF interface created! Received raw10 frame, checking to see if is actually raw8 Frame was actually 8 bit, sending as is Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 =========== modalai Royale3.31, Spectre4.7 CameraDevice::activateUseCase() : return SUCCESS!! Setting use case: mode=9, fps = 15 =========== modalai Royale3.31, Spectre4.7 CameraDevice::activateUseCase() : return SUCCESS!!SUCCESS: TOF interface initialized! Libcamera sending RAW16 TOF data. App calling the PMD libs to postprocess the RAW16 data Loading lens parameters from /data/misc/camera/irs10x0c_lens.cal.Internal AE new val:exposure 0 gain 0 Port : port_J2 Name : tof Enabled : 1 Type : tof Api : hal3 P-W : 224 P-H : 1557 P-Fmt : blob FPS : 15 Tof Mode : 9 OverrideId : -1 AEAlgo : isp Starting Camera: stereo Available resolutions for camera: stereo: 1280 x 480 848 x 480 858 x 480 864 x 480 800 x 480 720 x 480 640 x 480 640 x 240 640 x 360 480 x 480 480 x 360 480 x 320 432 x 240 352 x 288 320 x 240 Resolution: 1280 x 480 Found! Internal AE new val:exposure 0 gain 0 ------ voxl-camera-server: Preview buffer allocations Internal Exposure for: stereo 6 /builds/voxl-public/modal-pipe-architecture/voxl-camera-server/src/expgain_interface/expgain_interface_factory.cpp 45 Creating exposure interface Creating ModalAI exposure interface Initialize Initialize Port : port_J3 Name : stereo Enabled : 1 Type : stereo Api : hal3 P-W : 1280 P-H : 480 P-Fmt : nv21 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 20 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= ------ voxl-camera-server: Camera server is now running Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 voxl-camera-server ERROR: Framenumber: 63 ErrorCode: 4 voxl-camera-server ERROR: Framenumber: 64 ErrorCode: 4 Internal AE new val:exposure 0 gain 0 voxl-camera-server ERROR: Framenumber: 65 ErrorCode: 4 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 voxl-camera-server ERROR: Framenumber: 86 ErrorCode: 4 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 voxl-camera-server ERROR: Framenumber: 95 ErrorCode: 4 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 voxl-camera-server ERROR: Error sending request 62, ErrorCode: -19 voxl-camera-server FATAL: Recieved Fatal error from camera: tof Camera server will be stopped ------ voxl-camera-server WARNING: Thread: tof request thread recieved ESTOP ------ voxl-camera-server WARNING: Thread: stereo result thread recieved ESTOP ------ voxl-camera-server WARNING: Thread: tracking result thread recieved ESTOP ------ voxl-camera-server WARNING: Thread: tof result thread recieved ESTOP ------ voxl-camera-server WARNING: Thread: tracking request thread recieved ESTOP ------ voxl-camera-server INFO: Camera server is now stopping There is a chance that it may segfault here, this is a mmqcamera bug, ignore it ------ voxl-camera-server INFO: Stopping tracking camera ------ voxl-camera-server INFO: tracking camera stopped successfully ------ voxl-camera-server INFO: Stopping tof camera ------ voxl-camera-server INFO: tof camera stopped successfully ------ voxl-camera-server INFO: Stopping stereo camera Camera Server failed to close cleanly, applying estop Waiting 10 more seconds before kill Critial Error: Camera Server ESTOP failed, forcing exit
after disabling and stopping dfs-server.
voxl:~$ systemctl disable voxl-dfs-server Removed symlink /etc/systemd/system/multi-user.target.wants/voxl-dfs-server.service. ^[[Avoxl:~$ systemctl stop voxl-dfs-server voxl:~$ voxl-camera-server -d 0 ------ voxl-camera-server INFO: Port J2 ------ voxl-camera-server: Done configuring tof camera Port : port_J2 Name : tof Enabled : 1 Type : tof Api : hal3 P-W : 224 P-H : 1557 P-Fmt : blob FPS : 15 Tof Mode : 9 OverrideId : -1 AEAlgo : isp ------ voxl-camera-server INFO: Port J3 ------ voxl-camera-server: Done configuring stereo camera Port : port_J3 Name : stereo Enabled : 1 Type : stereo Api : hal3 P-W : 1280 P-H : 480 P-Fmt : nv21 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 20 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= ------ voxl-camera-server INFO: Port J4 ------ voxl-camera-server: Done configuring tracking camera Port : port_J4 Name : tracking Enabled : 1 Type : tracking Api : hal3 P-W : 640 P-H : 480 P-Fmt : raw8 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 20 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= Writing new configuration to /etc/modalai/voxl-camera-server.conf Created pipe: tof channel: 5 Created pipe: stereo channel: 6 Created pipe: tracking channel: 7 Starting Camera: tracking SUCCESS: Camera module opened ----------- Number of cameras: 3 ------ voxl-camera-server ERROR: Client connected to invalid channel: 5 ------ voxl-camera-server INFO: Client: voxl-tag-detector0 connected to channel: 7 ------ voxl-camera-server INFO: Client: qvio-server0 connected to channel: 7 ----------- ToF camera id: 0 ----------- Stereo camera id: 2 ----------- Mono camera id: 1 Available resolutions for camera: tracking: 640 x 480 320 x 240 Resolution: 640 x 480 Found! ------ voxl-camera-server: Preview buffer allocations Internal Exposure for: tracking 7 /builds/voxl-public/modal-pipe-architecture/voxl-camera-server/src/expgain_interface/expgain_interface_factory.cpp 45 Creating exposure interface Creating ModalAI exposure interface Initialize Initialize Port : port_J4 Name : tracking Enabled : 1 Type : tracking Api : hal3 P-W : 640 P-H : 480 P-Fmt : raw8 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 20 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= Starting Camera: tof ------ voxl-camera-server: Preview buffer allocations SUCCESS: TOF interface created! Received raw10 frame, checking to see if is actually raw8 Frame was actually 8 bit, sending as is Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 =========== modalai Royale3.31, Spectre4.7 CameraDevice::activateUseCase() : return SUCCESS!! Setting use case: mode=9, fps = 15Internal AE new val:exposure 0 gain 0 =========== modalai Royale3.31, Spectre4.7 CameraDevice::activateUseCase() : return SUCCESS!!SUCCESS: TOF interface initialized! Libcamera sending RAW16 TOF data. App calling the PMD libs to postprocess the RAW16 data Loading lens parameters from /data/misc/camera/irs10x0c_lens.cal. Port : port_J2 Name : tof Enabled : 1 Type : tof Api : hal3 P-W : 224 P-H : 1557 P-Fmt : blob FPS : 15 Tof Mode : 9 OverrideId : -1 AEAlgo : isp Starting Camera: stereo Available resolutions for camera: stereo: 1280 x 480 848 x 480 858 x 480 864 x 480 800 x 480 720 x 480 640 x 480 640 x 240 640 x 360 480 x 480 480 x 360 480 x 320 432 x 240 352 x 288 320 x 240 Resolution: 1280 x 480 Found! Internal AE new val:exposure 0 gain 0 ------ voxl-camera-server: Preview buffer allocations Internal Exposure for: stereo 6 /builds/voxl-public/modal-pipe-architecture/voxl-camera-server/src/expgain_interface/expgain_interface_factory.cpp 45 Creating exposure interface Creating ModalAI exposure interface Initialize Initialize Internal AE new val:exposure 0 gain 0 Port : port_J3 Name : stereo Enabled : 1 Type : stereo Api : hal3 P-W : 1280 P-H : 480 P-Fmt : nv21 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 20 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= ------ voxl-camera-server: Camera server is now running Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0 Internal AE new val:exposure 0 gain 0
- stereo cameras are not getting rotated after giving the command
voxl-configure-cameras 7 rotate_stereo
.
How can I rectify this?
Thanks!
Anubhav -
Hi,
The first issue appears to be coming from the TOF camera, the camera server is receiving errorcode 19 (no device) from the tof camera, this usually occurs when the cable connecting the camera to the board has a kink or tear in it and can't keep up once the load starts.
For the second issue, you need to restart the board after applying the rotate stereo flag, and if the cameras are still upside down after that, it means the cameras were already rotated and you need to run the command without the rotate flag to set them back to normal.
-
Hi Alex,
I have noticed following things:
- When I am using camera-configuration of stereo+tracking, camera server is not stopping after enabling and starting dfs server.
- When I am using camera-configuration of tof+stereo+tracking, camera server is stopping after enabling and starting dfs server. Tof sensor is working fine when not using dfs server.
-
So, the problem of camera server getting stop with the configuration of tof+stereo+tracking and after enabling and starting dfs server a hardware issue?
-
Does collision prevention works without the depth from stereo server instead just with the depth from tof sensor?
Thanks!
Anubhav