voxl-tflite-server crashes after 5-10 minutes



  • After running:

    roslaunch voxl_mpa_to_ros voxl_mpa_to_ros.launch 
    
    

    on the VOXL with the latest stable version of voxl-tflite-server running (v0.1.6), I noticed that the tflite pipe would disconnect and reconnect after about 5-10 minutes.

    Here is an output of that occuring:

    Found new interface: tflite
    Found new interface: tracking
    Found new interface: cpu_monitor
    Found new interface: imu0
    Found new interface: imu1
    Found new interface: vvpx4_gps_raw_int
    Found new interface: vvpx4_mavlink_io
    Found new interface: vvpx4_sys_status
    Found new interface: vvpx4_vehicle_gps
    Found new interface: vvpx4_body_wrt_fixed
    Found new interface: vvpx4_body_wrt_local
    Found new interface: qvio_extended
    Found new interface: vvpx4_shell
    Found new interface: qvio
    Interface: tflite's data pipe disconnected, closing until it returns
    Found pipe for interface: tflite, now advertising
    Interface: tflite's data pipe disconnected, closing until it returns
    Found pipe for interface: tflite, now advertising
    Interface: tflite's data pipe disconnected, closing until it returns
    Found pipe for interface: tflite, now advertising
    
    

    When this happens all of the cameras on voxl-portal are no longer viewable. I can select them but no image shows up. Even if I restart voxl-portal or the voxl-tflite server the cameras don't show up in voxl-portal. The only fix to this is to restart the voxl entirely.

    I then tested to see if this happened without voxl-mpa-to-ros running. Unfortunately, the same error still occurs. After about 5-10 minutes the cameras are no longer viewable in voxl-portal with the only fix being to reboot the voxl.


  • Dev Team

    @colerose please see the latest version v0.1.8 on dev or stable. This version also includes a new output pipe (tflite_data) by default that will publish metadata about detections, in the form of:

    typedef struct object_detection_msg {
        int64_t timestamp_ns;
        uint32_t class_id;
        char class_name[64];
        float class_confidence;
        float detection_confidence;
        float x_min;
        float y_min;
        float x_max;
        float y_max;
    } __attribute__((packed)) object_detection_msg;
    
    typedef struct detections_array {
        int32_t num_detections;
        object_detection_msg detections[64];
    } __attribute__((packed)) detections_array;
    


  • @Matt-Turi thanks for letting me know! Does this new version crash less often? Also, will the output pipe work with voxl_mpa_to_ros?


  • Dev Team

    @colerose Yes, the new version fixes this issue and should no longer be a problem.

    The new output pipe is not compatible with voxl_mpa_to_ros yet, but it will be added in very soon!


Log in to reply