Search Unity

FUSION_PROVIDER not working (VISION_ONLY)

Discussion in 'Vuforia' started by dnnkeeper, Nov 27, 2018.

  1. dnnkeeper

    dnnkeeper

    Joined:
    Jul 7, 2013
    Posts:
    84
    Vuforia positional tracking works fine even on very old devices (galaxy note 2). But I encountered problem with newer devices such as Pocophone F1 and Nokia 7+. Vuforia does not activate positional tracking on it, and on many other very capable devices.

    Is there any reason for it not working? Is there a list of devices supporting positional tracking? How can I debug culprit of positional tracking initialization failure?

    TrackerManager.Instance.InitTracker<PositionalDeviceTracker>() just return null without additional info.
     
    Last edited: Nov 27, 2018
  2. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello,

    Not all devices support Positional Device Tracking. What's not supported by ARCore, Vuforia has made its best attempt to fill in the gaps with Vuforia VIO:

    https://library.vuforia.com/articles/Solution/vuforia-fusion-supported-devices.html

    Strange that Vuforia returns null, so I wonder if something else is going on. How does the Pocophone F1 run with out public samples? Can you send the adb logs from that device running our samples?

    Thanks,
    Vuforia Engine Support
     
  3. dnnkeeper

    dnnkeeper

    Joined:
    Jul 7, 2013
    Posts:
    84
    Thank you for response. I checked default Unity Core Samples and got the same result. Neither Pocophone f1 nor Nokia 7+ is able to start ground plane tracking, VuforiaRuntimeUtilities.GetActiveFusionProvider() return VISION_ONLY.

    I was mistaken that tracker is null because I checked it too early. TrackerManager.Instance.GetTracker<PositionalDeviceTracker>() returns PositionalDeviceTrackerImpl but it still not using fusion mode I assume.

    Here is logcat result for Pocophone f1:
    11-28 12:51:05.679 2404 2452 I Unity : SystemInfo CPU = ARMv7 VFPv3 NEON, Cores = 8, Memory = 5637mb
    11-28 12:51:05.679 2404 2452 I Unity : SystemInfo ARM big.LITTLE configuration: 4 big (mask: 0xf0), 4 little (mask: 0xf)
    11-28 12:51:05.679 2404 2452 I Unity : ApplicationInfo com.vuforia.unity.VuforiaSamples version 1.0 build b15e527a-7fea-47df-945b-b5fad6309c72
    11-28 12:51:05.679 2404 2452 I Unity : Built from '2018.2/release' branch, Version '2018.2.13f1 (83fbdcd35118)', Build type 'Release', Scripting Backend 'mono'
    11-28 12:51:05.744 2404 2452 D Unity : GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_texture_compression_astc GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_border_clamp GL_EXT_multisampled_render_to_texture GL_EXT_mul
    11-28 12:51:05.744 2404 2452 D Unity : tisampled_render_to_texture2 GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_array GL_EXT_draw_buffers_indexed GL_EXT_gpu_shader5 GL_EXT_robustness GL_EXT_texture_buffer GL_EXT_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_texture_storage_multisample_2d_array GL_OES_sample_shading GL_OES_get_program_binary GL_EXT_debug_label GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_QCOM_tiled_rendering GL_ANDROID_extension_pack_es31a GL_EXT_primitive_bounding_box GL_OES_standard_derivatives GL_OES_vertex_array_object GL_EXT_disjoint_timer_query GL_KHR_debug GL_EXT_YUV_target GL_EXT_sRGB_write_control GL_EXT_texture_norm16 GL_EXT_discard_framebuffer GL_OES_surfaceless_context GL_OVR_multiview GL_OVR_multiview2 GL_EXT_texture_sRGB_R8 GL_KHR_no_error GL_EXT_debug_marker GL_OES_EGL_image_external_essl3 GL_OVR_multiview_multisampled_render_to_texture GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_blit_framebuffer_params GL_EXT_clip_cull_distance
    11-28 12:51:05.744 2404 2452 D Unity : GL_EXT_protected_textures GL_EXT_shader_non_constant_global_initializers GL_QCOM_texture_foveated GL_QCOM_shader_framebuffer_fetch_noncoherent GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_EGL_image_array GL_NV_shader_noperspective_interpolation
    11-28 12:51:06.254 1434 2065 W ActivityManager: Sending non-protected broadcast com.miui.action.appcompatibility.update from system 2776:com.miui.securitycenter.remote/1000 pkg com.miui.securitycenter. Callers=
    11-28 12:51:06.254 1434 2065 W ActivityManager: Sending non-protected broadcast com.miui.action.appcompatibility.update from system 2776:com.miui.securitycenter.remote/1000 pkg com.miui.securitycenter. Callers=
    11-28 12:51:08.281 2404 2452 I Unity : Compiled for Android
    11-28 12:51:08.281 2404 2452 I Unity :
    11-28 12:51:08.281 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:08.281 2404 2452 I Unity :
    11-28 12:51:08.390 2404 2452 I Unity : Initializing Vuforia
    11-28 12:51:08.390 2404 2452 I Unity :
    11-28 12:51:08.390 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:08.390 2404 2452 I Unity :
    11-28 12:51:08.400 2404 2452 I Unity : Vuforia SDK Version: 7.5.26
    11-28 12:51:08.400 2404 2452 I Unity :
    11-28 12:51:08.400 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:08.400 2404 2452 I Unity :
    11-28 12:51:08.400 2404 2452 I Unity : Vuforia Unity Extension Version: 7.5.26
    11-28 12:51:08.400 2404 2452 I Unity :
    11-28 12:51:08.400 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:08.400 2404 2452 I Unity :
    11-28 12:51:08.400 2404 2452 I Unity : Unity Editor Version: 2018.2.13f1
    11-28 12:51:08.400 2404 2452 I Unity :
    11-28 12:51:08.400 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:08.400 2404 2452 I Unity :
    11-28 12:51:12.332 2404 2452 I Unity : Vuforia 7.5.26
    11-28 12:51:12.332 2404 2452 I Unity : Unity 2018.2.13f1
    11-28 12:51:12.332 2404 2452 I Unity :
    11-28 12:51:12.332 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:12.332 2404 2452 I Unity :
    11-28 12:51:29.161 2404 2452 I Unity : Scene Loading Progress: 0%
    11-28 12:51:29.161 2404 2452 I Unity :
    11-28 12:51:29.161 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:29.161 2404 2452 I Unity :
    11-28 12:51:29.171 2404 2452 I Unity : Scene Loading Progress: 6.283368%
    11-28 12:51:29.171 2404 2452 I Unity :
    11-28 12:51:29.171 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:29.171 2404 2452 I Unity :
    11-28 12:51:29.190 2404 2452 I Unity : Scene Loading Progress: 7.392197%
    11-28 12:51:29.190 2404 2452 I Unity :
    11-28 12:51:29.190 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:29.190 2404 2452 I Unity :
    11-28 12:51:29.224 2404 2452 I Unity : Scene Loading Progress: 11.4579%
    11-28 12:51:29.224 2404 2452 I Unity :
    11-28 12:51:29.224 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:29.224 2404 2452 I Unity :
    11-28 12:51:29.255 2404 2452 I Unity : Scene Loading Progress: 35.48571%
    11-28 12:51:29.255 2404 2452 I Unity :
    11-28 12:51:29.255 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:29.255 2404 2452 I Unity :
    11-28 12:51:29.780 2404 2452 I Unity : Vuforia initialization successful
    11-28 12:51:29.780 2404 2452 I Unity :
    11-28 12:51:29.780 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:29.780 2404 2452 I Unity :
    11-28 12:51:29.842 2404 2452 E Unity : SmartTerrain failed to initialize
    11-28 12:51:29.842 2404 2452 E Unity :
    11-28 12:51:29.842 2404 2452 E Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:29.842 2404 2452 E Unity :
    11-28 12:51:29.848 2404 2452 I Unity : StartVuforia
    11-28 12:51:29.848 2404 2452 I Unity :
    11-28 12:51:29.848 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:29.848 2404 2452 I Unity :
    11-28 12:51:30.051 2404 2452 I Unity : Starting Device Tracker
    11-28 12:51:30.051 2404 2452 I Unity :
    11-28 12:51:30.051 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:30.051 2404 2452 I Unity :
    11-28 12:51:30.052 2404 2452 I Unity : Starting Positional Device Tracker.
    11-28 12:51:30.052 2404 2452 I Unity :
    11-28 12:51:30.052 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:30.052 2404 2452 I Unity :
    11-28 12:51:30.055 2404 2452 I Unity : OnTrackerStarted() called.
    11-28 12:51:30.055 2404 2452 I Unity :
    11-28 12:51:30.055 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:30.055 2404 2452 I Unity :
    11-28 12:51:30.060 2404 2452 E Unity : Exception in callback: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
    11-28 12:51:30.060 2404 2452 E Unity : at PlaneManager.OnTrackerStarted () [0x00000] in <filename unknown>:0
    11-28 12:51:30.060 2404 2452 E Unity : at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
    11-28 12:51:30.060 2404 2452 E Unity : --- End of inner exception stack trace ---
    11-28 12:51:30.060 2404 2452 E Unity : at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
    11-28 12:51:30.060 2404 2452 E Unity : at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
    11-28 12:51:30.060 2404 2452 E Unity : at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0
    11-28 12:51:30.060 2404 2452 E Unity : at System.Multicast
    11-28 12:51:30.062 2404 2452 I Unity : Setting frame rate to 30fps
    11-28 12:51:30.062 2404 2452 I Unity :
    11-28 12:51:30.062 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:30.062 2404 2452 I Unity :
    11-28 12:51:30.063 2404 2452 I Unity : OnVuforiaStarted() called.
    11-28 12:51:30.063 2404 2452 I Unity :
    11-28 12:51:30.063 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:30.063 2404 2452 I Unity :
    11-28 12:51:30.063 2404 2452 I Unity : SmartTerrain returned null. GroundPlane not supported on this device.
    11-28 12:51:30.063 2404 2452 I Unity :
    11-28 12:51:30.063 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:30.063 2404 2452 I Unity :
    11-28 12:51:30.069 2404 2452 I Unity : Requested Focus mode FOCUS_MODE_CONTINUOUSAUTO successfully.
    11-28 12:51:30.069 2404 2452 I Unity :
    11-28 12:51:30.069 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:30.069 2404 2452 I Unity :
    11-28 12:51:30.069 2404 2452 I Unity : Successfully enabled continuous autofocus.
    11-28 12:51:30.069 2404 2452 I Unity :
    11-28 12:51:30.069 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:30.069 2404 2452 I Unity :
    11-28 12:51:30.235 1434 2796 W ActivityManager: Sending non-protected broadcast miui.intent.action.config_changed from system 2776:com.miui.securitycenter.remote/1000 pkg com.miui.securitycenter. Callers=
    11-28 12:51:30.235 1434 2796 W ActivityManager: Sending non-protected broadcast miui.intent.action.config_changed from system 2776:com.miui.securitycenter.remote/1000 pkg com.miui.securitycenter. Callers=
    11-28 12:51:30.292 1434 2142 W ActivityManager: Sending non-protected broadcast miui.intent.action.config_changed from system 2144:com.miui.securitycenter/1000 pkg com.miui.securitycenter. Callers=
    11-28 12:51:30.292 1434 2142 W ActivityManager: Sending non-protected broadcast miui.intent.action.config_changed from system 2144:com.miui.securitycenter/1000 pkg com.miui.securitycenter. Callers=
    11-28 12:51:30.335 2404 2452 I Unity : OnDevicePoseStatusChanged(DEGRADED, UNKNOWN)
    11-28 12:51:30.335 2404 2452 I Unity :
    11-28 12:51:30.335 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:30.335 2404 2452 I Unity :
    11-28 12:51:30.335 2404 2452 I Unity : OnDevicePoseStatusChanged(DEGRADED, UNKNOWN)
    11-28 12:51:30.335 2404 2452 I Unity :
    11-28 12:51:30.335 2404 2452 I Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    11-28 12:51:30.335 2404 2452 I Unity :
    11-28 12:51:36.851 2404 2452 I Unity : Requested Focus mode FOCUS_MODE_TRIGGERAUTO successfully.
     

    Attached Files:

  4. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello @dnnkeeper,

    Thanks for the data. I have no explanation for what's going on. Best I can do at this time is to procure the device and give it a test.

    I'll update this thread with updates when available. Feel free to ping me.

    Thanks,
    Vuforia Engine Support
     
    dnnkeeper likes this.
  5. dnnkeeper

    dnnkeeper

    Joined:
    Jul 7, 2013
    Posts:
    84
    I managed to run Pocophone f1 with Vuforia and newer ARCore library but it still doesn't work properly despite on Platform_Sensor_Fusion provider status: Ground Plane finder not able to find any plane in sample project. And in my project as soon as I move camera away from the image target, virtual scene rotates and disappears so I can assume positional/rotational tracking messed up too.
    I'll be glad to debug such issues so if you need any info, I can use my devices to run tests and report back. Device coverage is very important now so I need to decide either use arcore library with it strict list of supported devices or use Vuforia to extend its variety.
     
  6. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello @dnnkeeper,

    The device should arrive this week. I'll do some testing with it once it arrives.

    Thanks,
    Vuforia Engine Support
     
    dnnkeeper likes this.
  7. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello @dnnkeeper,

    Device arrived and I was able to replicate the ARCore issue when running Vuforia. We are tracking similar failures on other devices that use the Snapdragon chipsets (LG V30, V35, V40 and G7). With those devices, we were forced to set the ARCore camera capture resolution to 640x480.

    I'll need to do some additional investigation to see if a similar workaround is required.

    Thanks,
    Vuforia Engine Support
     
    henriqueranj and dnnkeeper like this.
  8. henriqueranj

    henriqueranj

    Joined:
    Feb 18, 2016
    Posts:
    177
    I'm also interested in this bug report and its fix. Hope you find something soon!
     
  9. FREEZX

    FREEZX

    Joined:
    Apr 2, 2013
    Posts:
    64
    I'm also having the same issue on my project. I went out to get the Pocophone F1 as one of the cheapest devices that can run ARCore, but was disappointed when my app using vuforia didn't work with it.
     
  10. ThatMunk

    ThatMunk

    Joined:
    May 17, 2017
    Posts:
    12
    Same issue with Pocophone F1 and Samsung S7 - can anyone outline the workaround steps needed to set the camera resolution?
     
  11. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello @ThatMunk,

    Still working on the Pocophone F1.

    What is the problem with the S7? What is the model number? To find an Android device's model number: Settings->About phone/device->Model number

    Thanks,
    Vuforia Engine Support
     
  12. ThatMunk

    ThatMunk

    Joined:
    May 17, 2017
    Posts:
    12
    Hi @meedabit

    Samsung S7 SM-G930F - it appears to have the same tracking issues as the Pocophone F1.
    I havn't logcat'ed neither the S7 or the F1, but I can reflect the description by dnnKeeper.
     
  13. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello @ThatMunk,

    I see where Vuforia Fusion's ARCore support has been disabled due to performance issues. However, the device is Vuforia calibrated so I would expect Advanced Features, such as Ground Plane, to work.

    Still not clear what issue I'm responding to for the S7. Is it that the feature does not work on that device? Or that you want to change the camera resolution?

    Thanks,
    Vuforia Engine Support
     
  14. Bharad

    Bharad

    Joined:
    May 2, 2017
    Posts:
    1
    Hi @meedabit

    Is Vuforia Fusion's ARCore enabled for pocophone F1? Please guide us on using ground plane feature, we would love to use the same for our projects.

    Any workaround would be appreciated.

    Thanks,
    Bharad
     
  15. andersemil

    andersemil

    Joined:
    Feb 2, 2015
    Posts:
    112
    I too have an issue with Samsung S7 where the TrackableBehaviour Status will constantly change between LIMITED, TRACKED and NO_POSE. I would expect status to at least remain at LIMITED (rotational tracking).

    Vuforia Fusion Provider=VUFORIA_SENSOR_FUSION
     
  16. ThatMunk

    ThatMunk

    Joined:
    May 17, 2017
    Posts:
    12
    @meedabit Here's a video which shows some very weird feedback for extended positional tracking on an image target, if it helps:

    This is on Pocophone F1 - works absolutely fine on Samsung S8


    EDIT:
    Also seen using depth masks - this bug may be irrellevant to the tracking issues?
     
    Last edited: Apr 8, 2019
  17. Nassiem

    Nassiem

    Joined:
    Oct 8, 2018
    Posts:
    1
    I'm having the same issue on a Galaxy tab 4, PLATFORM_SENOR_FUSION is being used but when I move the camera the content of the markers follows and doesn't stay anchored.
     
  18. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello @Nassiem,

    If PLATFORM_SENSOR_FUSION is being used for Galaxy Tab S4, then that means ARCore is providing the tracking, not Vuforia. Thus, the performance issue you're observing is related to ARCore performance on that device.

    Suggest you search for additional information about ARCore performance on that device.

    Thanks,
    Vuforia Engine Support