ToF sensor
-
Hi, we purchased the ToF camera and are having a problem running the ToF launch file. We are getting this error -
Camera Width: 224, Height: 1557, Format: 33 not supported!
Here are the topics that we are getting
/rosout /rosout_agg /tf_static
I'm also attaching the screenshot here.
![alt text]( image url)And we have replaced the stereo camera with the ToF on J3.
On camera configuration, we have selected the Option 5 (ToF + Tracking.)Please let us know what we are doing wrong. Looking forward to your reply.
-
Will look into it, thanks.
-
That error happens when we dont set up TOF_CAM_ID environment variable or it is setup incorrectly. The environment variable is set by running the voxl-configure-cameras script. If you havent run the script, could you please try running it. To verify it quickly you can try to directly modify the TOF_CAM_ID environment variable.
On the voxl run:
export TOF_CAM_ID=0
and try running the app again.
-
@hitendra Hi. Thanks for your reply.
We did select the option 5 and we did an echo $TOF_CAM_ID, and we got result as 0.
We also tried option 6 and we got the result as 1. SO it confirms that the variable TOF_CAM_ID was setting properly to 0 and 1 wrt to the configuration parametrs 5 and 6.
We are still facing the same issue. -
Hello. A quick update. We resolved that issue by change the image width and height to 640 and 480 respectively in the hello_hal3_camera_main.cpp file on line 68 and line 69. We are now able to see the list of the topics, but these topics are not publishing anything. Assuming, it could be an error of a missing file mentioned below.
/data/misc/camera/irs10x0c_lens.cal
We looked into this directory but could not find this file. I'm attaching a screenshot of the same.
-
how can I get this file? irs10x0c_lens.cal
I purchased this tof addon :
https://www.modalai.com/pages/tof-add-on
Do I have to calibrate it?
None of the topics are publishing anying.
There is no image data. -
I'm not aware of any calibration required for ToF.... This procedure should work out the box so I'm confused: https://gitlab.com/voxl-public/ros/voxl-hal3-tof-cam-ros#visualization
I'm sure you have this correct, but where have you attached the camera? It should be connected to J3 here: https://docs.modalai.com/camera-connections/#camera-ports
-
@modaltb Yes I have attached it properly to J3 and we followed the same process but when I launch the file it says the file
/data/misc/camera/irs10x0c_lens.cal
is missing. I looked into the directory as well there is not such file exist.
I tried this and I do get frames out of it. So that means it is attached properly
https://gitlab.com/voxl-public/other/apps-proc-examples/-/tree/dev/hellotof -
Hi:
Could you please list the content of your /data/misc/camera directory? I am wondering if the process of generating that file was interrupted and now it doesn't attempt to generate it anymore.
If there is anything in the /data/misc/camera directory I would move it to another temp directory - say /data/misc/camera/temp and try running the app again.
Also as a quick experiment, I would put in just the TOF camera, remove other cameras and run the app again to see if it helps.
-
@hitendra Thanks for the suggestions.
Here is the list of file present indata/misc/camera
directory
each of these files are just have these of 0 bytes eachdefault installed voxl_hal3_tof package gives error as resolution not supported. And changing the resolution from the source as we did mentioned earlier does run the package but than stops at irs10x0c_lens.cal file being missing
after changing the resolution and compiling again
and hence topics are created but they don't publish any data -
That lens cal file is created the first time the driver is launched, it does take about 20 seconds to generate. Changing the resolution in the code probably is just covering up the fact the TOF camera isn't launching.
The CAM_ID changes based on which sensors are plugged in due to a quirk in the Qualcomm camera subsystem. It's most likely the wrong CAM_ID is being assigned to TOF in the config. Maybe a camera is/was unplugged?
-
this is my setup
yocto:/# voxl-configure-cameras Which camera configuration are you using? 1 Tracking + Stereo (default) 2 Tracking Only 3 Hires + Stereo + Tracking 4 Hires + Tracking 5 TOF + Tracking 6 Hires + TOF + Tracking 7 TOF + Stereo + Tracking (not currently supported) 8 None 5 attempting to use camera configuration 5 adding override_cam_id value=1 to /etc/snav/camera.downward.xml adding override_cam_id value=-1 to /etc/snav/camera.stereo.xml yocto:/# echo $TOF_CAM_ID yocto:/# roslaunch /opt/ros/indigo/share/voxl_hal3_tof_cam_ros/launch/tof.launch ... logging to /home/root/.ros/log/34d08072-55bb-11eb-aee3-ec5c68cd1745/roslaunch-apq8096-3324.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB. started roslaunch server http://192.168.100.96:36814/ SUMMARY ======== PARAMETERS * /rosdistro: indigo * /rosversion: 1.11.21 * /tof/voxl_hal3_tof_cam_ros_node/auto_exposure: 0 * /tof/voxl_hal3_tof_cam_ros_node/camera_id: 0 * /tof/voxl_hal3_tof_cam_ros_node/exposure_time: 800 * /tof/voxl_hal3_tof_cam_ros_node/flip_image: True * /tof/voxl_hal3_tof_cam_ros_node/frame_rate: 30 * /tof/voxl_hal3_tof_cam_ros_node/ir_image_mode: False * /tof/voxl_hal3_tof_cam_ros_node/laser_scan_line: 86 * /tof/voxl_hal3_tof_cam_ros_node/publish_depth_image: True * /tof/voxl_hal3_tof_cam_ros_node/publish_ir_image: True * /tof/voxl_hal3_tof_cam_ros_node/publish_laser_scan: True * /tof/voxl_hal3_tof_cam_ros_node/publish_point_cloud: True * /tof/voxl_hal3_tof_cam_ros_node/scan_width_degrees: 96 NODES /tof/ voxl_hal3_tof_cam_ros_node (voxl_hal3_tof_cam_ros/voxl_hal3_tof_cam_ros_node) / base_link_laser_scan (tf2_ros/static_transform_publisher) base_link_tof_cam (tf2_ros/static_transform_publisher) auto-starting new master process[master]: started with pid [3343] ROS_MASTER_URI=http://localhost:11311/ setting /run_id to 34d08072-55bb-11eb-aee3-ec5c68cd1745 process[rosout-1]: started with pid [3356] started core service [/rosout] process[base_link_tof_cam-2]: started with pid [3371] process[base_link_laser_scan-3]: started with pid [3378] process[tof/voxl_hal3_tof_cam_ros_node-4]: started with pid [3386] DEPTH_IMAGE IR: 1 ..... Cloud: 1 ..... Laser: 1 Camera id: 0 Image width: 224 Image height: 1557 Number of frames to dump: 0 Camera mode: preview SUCCESS: Camera module opened Camera Id: 0 Facing: 1 ERROR: Libcamera sending post-processed TOF data. App does NOT get RAW16 TOF camera data [tof/voxl_hal3_tof_cam_ros_node-4] process has finished cleanly log file: /home/root/.ros/log/34d08072-55bb-11eb-aee3-ec5c68cd1745/tof-voxl_hal3_tof_cam_ros_node-4*.log ^C[base_link_laser_scan-3] killing on exit [base_link_tof_cam-2] killing on exit [rosout-1] killing on exit [master] killing on exit shutting down processing monitor... yocto:/# echo $TOF_CAM_ID 0 yocto:/# ls /data/misc/camera/ cam_socket2 cam_socket3 cam_socket4 temp yocto:/#
I don't know what else I am missing
-
You're selecting TOF+Tracking, but there is no tracking sensor installed. So the TOF_CAM_ID is probably coming out incorrect.
Do you have a tracking camera? If so, please power off and install
If not, can you please try export TOF_CAM_ID=1 ?thanks!
-
@Chad-Sweet
we installed tracking camera and reconfigured voxl using voxl-configure-cameraand tracking camera is working
than we tried to run tof package again but still the problem persist. we even tried to change the TOF_CAM_ID but still no change.
yocto:/# roslaunch voxl_hal3_tof_cam_ros tof.launch ... logging to /home/root/.ros/log/3f833ac4-55c4-11eb-a699-ec5c68cd1745/roslaunch-apq8096-4079.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB. started roslaunch server http://192.168.100.96:55989/ SUMMARY ======== PARAMETERS * /rosdistro: indigo * /rosversion: 1.11.21 * /tof/voxl_hal3_tof_cam_ros_node/auto_exposure: 0 * /tof/voxl_hal3_tof_cam_ros_node/camera_id: 0 * /tof/voxl_hal3_tof_cam_ros_node/exposure_time: 800 * /tof/voxl_hal3_tof_cam_ros_node/flip_image: True * /tof/voxl_hal3_tof_cam_ros_node/frame_rate: 30 * /tof/voxl_hal3_tof_cam_ros_node/ir_image_mode: False * /tof/voxl_hal3_tof_cam_ros_node/laser_scan_line: 86 * /tof/voxl_hal3_tof_cam_ros_node/publish_depth_image: True * /tof/voxl_hal3_tof_cam_ros_node/publish_ir_image: True * /tof/voxl_hal3_tof_cam_ros_node/publish_laser_scan: True * /tof/voxl_hal3_tof_cam_ros_node/publish_point_cloud: True * /tof/voxl_hal3_tof_cam_ros_node/scan_width_degrees: 96 NODES /tof/ voxl_hal3_tof_cam_ros_node (voxl_hal3_tof_cam_ros/voxl_hal3_tof_cam_ros_node) / base_link_laser_scan (tf2_ros/static_transform_publisher) base_link_tof_cam (tf2_ros/static_transform_publisher) auto-starting new master process[master]: started with pid [4098] ROS_MASTER_URI=http://localhost:11311/ setting /run_id to 3f833ac4-55c4-11eb-a699-ec5c68cd1745 process[rosout-1]: started with pid [4111] started core service [/rosout] process[base_link_tof_cam-2]: started with pid [4124] process[base_link_laser_scan-3]: started with pid [4129] process[tof/voxl_hal3_tof_cam_ros_node-4]: started with pid [4141] DEPTH_IMAGE IR: 1 ..... Cloud: 1 ..... Laser: 1 Camera id: 0 Image width: 224 Image height: 1557 Number of frames to dump: 0 Camera mode: preview SUCCESS: Camera module opened Camera Id: 0 Facing: 1 Camera Id: 1 Facing: 1 ERROR: Libcamera sending post-processed TOF data. App does NOT get RAW16 TOF camera data [tof/voxl_hal3_tof_cam_ros_node-4] process has finished cleanly log file: /home/root/.ros/log/3f833ac4-55c4-11eb-a699-ec5c68cd1745/tof-voxl_hal3_tof_cam_ros_node-4*.log ^C[base_link_laser_scan-3] killing on exit [base_link_tof_cam-2] killing on exit [rosout-1] killing on exit [master] killing on exit shutting down processing monitor... ... shutting down processing monitor complete done yocto:/#
-
OK, good the tracking sensor is working. Sorry about this, the tof setup is still in beta. We clearly need to document the setup way better.
Can you please print which version of system image you are using (voxl-version)? The error implies an older system image which does not support that hal3_tof_cam_ros.
ERROR: Libcamera sending post-processed TOF data. App does NOT get RAW16 TOF camera data
The error above implies an older version of libcamera which would use tof_cam_ros instead
Just FYI, the TOF_CAM_ID needs to match what is in the launch file. This message shows what is in the launch file:
/tof/voxl_hal3_tof_cam_ros_node/camera_id: 0 -
-------------------------------------------------------------------------------- system-image: ModalAI 3.1.0 BUILDER: ekatzfey BUILD_TIME: 2020-12-23_19:41 kernel: #1 SMP PREEMPT Wed Dec 23 19:50:23 UTC 2020 3.18.71-perf factory-bundle: 1.0.1 (Yocto installation) -------------------------------------------------------------------------------- architecture: aarch64 processor: apq8096 os: GNU/Linux -------------------------------------------------------------------------------- voxl-suite: Package: voxl-suite Version: 0.2.0 Depends: docker, imu_app (= 0.0.6), libvoxl_io (= 0.5.2), voxl-cam-manager (= 0.2.2), voxl-docker-support (= 1.1.1), voxl-hal3-tof-cam-ros (= 0.0.2), voxl-modem (= 0.10.0), voxl-nodes (= 0.0.8), voxl-rtsp (= 1.0.2), voxl-utils (= 0.5.2), voxl-vision-px4 (= 0.6.8), voxl_imu (= 0.0.4), voxl-time-sync (= 0.0.1), voxl-vpn (= 0.0.2), librc_math (= 1.1.2), libmodal_pipe (= 1.2.2), modalai-vl (= 0.1.3) Status: install user installed Section: base Architecture: armv7a Maintainer: james@modalai.com MD5Sum: af706cd3c1ea59f274f2ed9b93141f1d Size: 870 Filename: voxl-suite_0.2.0.ipk Description: meta-package to install all of the voxl-suite Installed-Time: 3126 --------------------------------------------------------------------------------
according to git repository launch file is taking tof cam id from environment variable and we select option 5 from voxl-configure-camera which sets accordingly
-
that all looks good. Will investigate further
-
Okay. Looking forward to your solution asap!
-
Can you please type and report the output?
opkg list-installed | grep royal -
Assuming the ipk is installed, can you please then run this command and then try the ROS node again?
setprop persist.camera.modalai.tof 1