Voxl-mapper -d error / map generation error
-
Hi there,
We connected VOXL2 to Flight Core v2 using the method specified in the document:
https://docs.modalai.com/flight-core-v2-telemetry/. We connected the stereo camera, calibrated it, and started the voxl-dfs-server. We activated the following services:
voxl-camera-server
voxl-dfs-server
voxl-vision-px4
voxl-qvio-serverOn voxl-portal, we can see the point cloud, the image from the stereo camera, and stereo disparity. In /run/mpa, we see the following poses:
horizon_cal_io
qvio
qvio_overlay
stereo_disparity
stereo_pc
vvpx4_attitude
vvpx4_body_wrt_local
vvpx4_gps_raw_int
vvpx4_sys_status
mavlink_to_px4
qvio_extended
stereo
stereo_disparity_scaled
voa_pc_out
vvpx4_body_wrt_fixed
vvpx4_fixed_pose_input
vvpx4_mavlink_ioWe edited the file /etc/modalai/voxl-mapper.conf and added the following lines:
"depth_pipe_1": "/run/mpa/stereo_pc",
"depth_pipe_1_enable": true,
"extrinsics1_name": "stereo_l"But when we run voxl-mapper -d, we encounter the following errors and the map is not generated:
Trying to init tsdf server
created tsdf server
waiting for server at /run/mpa/vvhub_body_wrt_fixed/
waiting for server at /run/mpa/stereo_pc
Initializing ESDF structs
Connected to depth pipe
Updating mesh
Updating ESDF Map
Generating CostMap
ERROR fetching tf from tf ringbuffer
there wasn't sufficient data in the buffer
ERROR fetching tf from tf ringbuffer
there wasn't sufficient data in the bufferWhat are we doing wrong? What is missing? Is there a detailed instruction for VOXL2 on how to run voxl-mapper?"
Second question:
We have our own navigation and obstacle avoidance system, and it requires maintaining a minimum of 45-60 FPS for required capability. However, it is stated that the maximum FPS of your module is 30 FPS. Is there any way to bypass this limitation?
We would be keen to get the source code so we can develop optimisation of various bottlenecks to get the FPS up.
Thank you.
Sam.
-
Hi Sam,
We are investigating your question. Can you please clarify what you are trying to achieve? Your high-level goal?
It appears you're trying to use voxl-mapper with a stereo image pair for high-rate obstacle avoidance? This is not a well tested configuration, or likely to be the right approach.
Can you point to the 30Hz limit in stereo processing? What are you achieving? You can set the voxl-camera-server configuration to 45Hz and check performance. There isn't a hard-coded limitation
-
Please ignore the
ERROR fetching tf from tf ringbuffer
message unless it prints continuously. It's simply a result of needing to wait for a buffer to fill up before being able to process depth data.3D mapping with a stereo pair is possible but not recommended. The PMD TOF sensor is much better suited for this.
I've not pushed it faster than 30hz but you are welcome to try increasing the stereo camera framerate to 60hz in /etc/modalai/voxl-camera-server.conf and set skip_n_frames to 0 in /etc/modalai/voxl-dfs-server.conf. Reducing max_disparity in /etc/modalai/voxl-dfs-server.conf may also help speed it up.
We are working on some optimizations for qrb5165-dfs-server for SDK1.0.1, if you can give us an overview of your design goals (resolution, framerate, min/max distance) I can take that into consideration during the optimization.
Best,
James -
@Moderator Changing fps in the /etc/modalai/voxl-camera-server.conf file only works down. If I specify more than 30, then 30 remains. Moreover, 30 fps is indicated on your website.
-
@James-Strawson ERROR fetching tf from tf ringbuffer - published constantly.