ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Cannot run voxl-mapper: ERROR fetching tf from tf ringbuffer there wasn't sufficient data in the buffer

    Ask your questions right here!
    5
    5
    478
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ahmed-mustahid
      last edited by ahmed-mustahid

      I have been getting the following error when starting voxl-mapper in the terminal, even though as per the instructions, all the services (voxl-vision-px4, voxl-qvio-server, voxl-camera-server) are running.
      I wonder what might have been the problem in this case.

      root@apq8096:~# voxl-mapper 
      Loading our own config file
      Loading extrinsics config file
      Trying to init tsdf server
      created tsdf server
      waiting for server at /run/mpa/vvpx4_body_wrt_fixed/
      waiting for server at /run/mpa/tof
      Initializing ESDF structs
      Connected to VIO server
      Connected to depth pipe
      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 buffer
      ERROR fetching tf from tf ringbuffer
      there wasn't sufficient data in the buffer
      
      
      root@apq8096:~# voxl-inspect-services 
       Service Name         |  Enabled  |   Running   |  CPU Usage
      ---------------------------------------------------------------
       docker-autorun       | Disabled  | Not Running |  
       docker-daemon        | Disabled  | Not Running |  
       modallink-relink     | Disabled  | Not Running |  
       voxl-camera-server   |  Enabled  |   Running   |    33.2
       voxl-cpu-monitor     |  Enabled  |   Running   |     0.0
       voxl-dfs-server      |  Enabled  |   Running   |     2.5
       voxl-imu-server      |  Enabled  |   Running   |     0.0
       voxl-mavlink-server  |  Enabled  |   Running   |     0.0
       voxl-modem           | Disabled  | Not Running |  
       voxl-portal          |  Enabled  |   Running   |     2.5
       voxl-qvio-server     |  Enabled  |   Running   |    10.2
       voxl-streamer        | Disabled  | Not Running |  
       voxl-tag-detector    | Disabled  | Not Running |  
       voxl-tflite-server   | Disabled  | Not Running |  
       voxl-time-sync       | Disabled  | Not Running |  
       voxl-vision-px4      |  Enabled  |   Running   |     2.5
       voxl-wait-for-fs     |  Enabled  |  Completed  |  
      

      /etc/modalai/voxl-mapper.conf

      {
      	"tof_pipe":	"/run/mpa/tof",
      	"tof_enable":	true,
      	"tof_rate":	10,
      	"depth_pipe_0":	"/run/mpa/dfs_point_cloud",
      	"depth_pipe_0_enable":	false,
      	"extrinsics0_name":	"stereo_l",
      	"depth0_rate":	10,
      	"depth_pipe_1":	"/run/mpa/stereo_front_pc",
      	"depth_pipe_1_enable":	false,
      	"extrinsics1_name":	"stereo_front_l",
      	"depth1_rate":	10,
      	"depth_pipe_2":	"/run/mpa/stereo_rear_pc",
      	"depth_pipe_2_enable":	false,
      	"extrinsics2_name":	"stereo_rear_l",
      	"depth2_rate":	10,
      	"depth_pipe_3":	"/run/mpa/dfs_point_cloud",
      	"depth_pipe_3_enable":	false,
      	"extrinsics3_name":	"stereo_l",
      	"depth3_rate":	10,
      	"robot_radius":	0.3,
      	"voxel_size":	0.20000000298023224,
      	"voxels_per_side":	16,
      	"esdf_save_path":	"/data/voxl_mapper/esdf_map",
      	"tsdf_save_path":	"/data/voxl_mapper/tsdf_map",
      	"mesh_save_path":	"/data/voxl_mapper/mesh.ply",
      	"esdf_max_distance":	4,
      	"esdf_min_distance":	0.10000000149011612,
      	"esdf_default_distance":	2,
      	"esdf_inner_sphere_radius":	0.20000000298023224,
      	"esdf_outer_sphere_radius":	0.600000023841858,
      	"rrt_min_distance":	0.2,
      	"rrt_max_runtime_nanoseconds":	1000000000,
      	"rrt_use_first_solution":	false,
      	"rrt_treat_unknown_as_occupied":	true,
      	"rrt_send_tree":	false,
      	"loco_num_segments":	10,
      	"loco_derivative_to_optimize":	3,
      	"loco_poly_degree":	10,
      	"loco_smoothness_cost_weight":	2.5,
      	"loco_collision_cost_weight":	14,
      	"loco_waypoint_cost_weight":	0,
      	"loco_min_collision_sampling_dist":	0.05,
      	"loco_add_waypoints":	true,
      	"loco_scale_time":	true,
      	"loco_split_at_collisions":	true,
      	"loco_resample_trajectory":	true,
      	"loco_verbose":	false
      }
      
      1 Reply Last reply Reply Quote 0
      • Arjun JainA
        Arjun Jain
        last edited by

        Hi @ahmed-mustahid : I am no expert, but I too get that warning sometimes but the voxl-mapper still works and generates a valid scene. I thought it is just when the camera is blocked or it doesn't have enough features or something like that it displays that warning. I am also curious to learn from the voxl team what this warning means.

        1 Reply Last reply Reply Quote 0
        • ?
          A Former User
          last edited by A Former User

          Hi,
          Typically that error presents itself when we do not have a pose from the qvio server. If you block the tracking camera or qvio server loses tracking that error will occur.

          J 1 Reply Last reply Reply Quote 0
          • J
            jamiek @Guest
            last edited by jamiek

            @Matthew-Booker Hi Matthew, can you clarify on this? I'm also having this problem, even with the tracking camera not blocked (and all of ahmeds aforementioned pre-reqs).

            Will the error result in no map at all being generated? (Thats where I'm at 😢 ) or will it generate regardless?

            How can I monitor whether the qvio server loses tracking or does not have a pose?

            Voxl-Mapper Question.png

            Is all I'm getting from the mapper.

            Best,
            Jamie

            1 Reply Last reply Reply Quote 0
            • ?
              A Former User
              last edited by A Former User

              Hey @jamiek,

              If this error occurs, it will result in no map generation at the time of error. This is because we need to grab a pose from our ringbuffer (at the timestamp of our pointcloud) in order to insert each pointcloud correctly into the map.

              This is caused by either voxl-qvio-server or voxl-vision-px4 not properly publishing a pose estimate.

              You can monitor the output of voxl-qvio-server using voxl-inspect-qvio on voxl or viewing the qvio overlay in voxl-portal. If everything looks good there and qvio is properly publishing pose info, the next place to check is voxl-vision-px4.

              This error means that we are not receiving a fixed pose data out of voxl-vision-px4, so once you have verified qvio is not reporting any error codes, monitor the output of voxl-inspect-pose -f on voxl and make sure that you are receiving pose data.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Powered by NodeBB | Contributors