Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

P

paul.foley

@paul.foley
Unfollow Follow
About
Posts
5
Topics
4
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • camera_image_metadata_t framerate is zero from lepton0_color
    P paul.foley

    Hello,
    I have an image processing application that is getting camera frames from the lepton0_color pipe. However, in the camera_image_metadata_t the framerate is zero. Is this expected or do you have any suggestions on how to fix it? For reference, when my application receives frames from the hires_down_small_color pipe the metadata has the framerate populated correctly.

    Below is a snippet of the logs from my application showing the framerate of zero.

    _camera_helper_cbWARNING: Camera frame rate of 0 Hz is < required frame rate of 1 Hz. 
    Camera Image Metadata:
      Magic Number:     0x564f584c
      Timestamp (ns):  72864071544650
      Frame ID:         632968
      Dimensions:      160x120 pixels
      Size (bytes):    57600
      Stride:           480 bytes/row
      Exposure (ns):   0
      Gain (ISO):      0
      Format:           10
      Framerate (Hz):  0
      Reserved:        0
    

    I am on a Starling 2 Max. Below is my current configuration.

    voxl2:~$ voxl-version 
    --------------------------------------------------------------------------------
    system-image: 1.8.02-M0054-14.1a-perf
    kernel:       #1 SMP PREEMPT Mon Nov 11 22:59:41 UTC 2024 4.19.125
    --------------------------------------------------------------------------------
    hw platform:  M0054
    mach.var:     1.2.1
    --------------------------------------------------------------------------------
    voxl-suite:   1.4.1
    --------------------------------------------------------------------------------
    Packages:
    Repo:  http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.4/binary-arm64/
    Last Updated: 2023-03-02 12:58:40
    WARNING: repo file has changed since last update,
            packages may have originated from a different repo
    List:
    kernel-module-voxl-fsync-mod-4.19.125     1.0-r0
    kernel-module-voxl-gpio-mod-4.19.125      1.0-r0
    kernel-module-voxl-platform-mod-4.19.125  1.0-r0
    libfc-sensor                              1.0.7
    libmodal-cv                               0.5.16
    libmodal-exposure                         0.1.3
    libmodal-journal                          0.2.2
    libmodal-json                             0.4.3
    libmodal-pipe                             2.10.6
    libqrb5165-io                             0.4.9
    libvoxl-cci-direct                        0.2.5
    libvoxl-cutils                            0.1.1
    modalai-slpi                              1.1.19
    mv-voxl                                   0.1-r0
    qrb5165-bind                              0.1-r0
    qrb5165-dfs-server                        0.2.0
    qrb5165-imu-server                        1.1.2
    qrb5165-rangefinder-server                0.1.4
    qrb5165-slpi-test-sig                     01-r0
    qrb5165-system-tweaks                     0.3.4
    qrb5165-tflite                            2.8.0-2
    voxl-bind-spektrum                        0.1.1
    voxl-camera-calibration                   0.5.9
    voxl-camera-server                        2.1.1
    voxl-ceres-solver                         2:1.14.0-10
    voxl-configurator                         0.9.7
    voxl-cpu-monitor                          0.5.3
    voxl-docker-support                       1.3.1
    voxl-elrs                                 0.4.1
    voxl-esc                                  1.5.1
    voxl-feature-tracker                      0.5.2
    voxl-flow-server                          0.3.6
    voxl-fsync-mod                            1.0-r0
    voxl-gphoto2-server                       0.0.10
    voxl-gpio-mod                             1.0-r0
    voxl-io-server                            0.0.4
    voxl-jpeg-turbo                           2.1.3-5
    voxl-lepton-server                        1.3.3
    voxl-lepton-tracker                       0.0.4
    voxl-libgphoto2                           0.0.4
    voxl-libuvc                               1.0.7
    voxl-logger                               0.4.9
    voxl-mavcam-manager                       0.5.7
    voxl-mavlink                              0.1.1
    voxl-mavlink-server                       1.4.4
    voxl-modem                                1.1.5
    voxl-mongoose                             7.7.0-1
    voxl-mpa-to-ros                           0.3.9
    voxl-mpa-tools                            1.3.7
    voxl-open-vins                            0.4.16
    voxl-open-vins-server                     0.3.0
    voxl-opencv                               4.5.5-2
    voxl-osd                                  0.1.1
    voxl-platform-mod                         1.0-r0
    voxl-portal                               0.7.5
    voxl-px4                                  1.14.0-2.0.94
    voxl-px4-imu-server                       0.1.2
    voxl-px4-params                           0.6.3
    voxl-qvio-server                          1.1.1
    voxl-remote-id                            0.0.9
    voxl-reset-slpi                           0.0.1
    voxl-state-estimator                      0.0.4
    voxl-streamer                             0.7.5
    voxl-suite                                1.4.1
    voxl-tag-detector                         0.0.4
    voxl-tflite-server                        0.3.9
    voxl-utils                                1.4.4
    voxl-uvc-server                           0.1.7
    voxl-vision-hub                           1.8.17
    voxl-vtx                                  1.1.8
    voxl2-io                                  0.0.3
    voxl2-system-image                        1.8.02-r0
    voxl2-wlan                                1.0-r0
    --------------------------------------------------------------------------------
    
    Ask your questions right here!

  • voxl-camera-server failed to set pipe size: Cannot allocate memory
    P paul.foley

    Hello,
    I have a C++ application for doing image processing of frames from voxl-camera-server. When I run it, within a few minutes, my application stops receiving frames and I see the following from the camera server about failing to set pipe size. Once that occurs, restarting my application or the camera server does not help. Rebooting is the only thing I have found that consistently gets the camera server back in a good state.

    Oct 03 14:11:21 m0054 voxl-camera-server[10625]: thread is locked to cores: 4 5 6 7
    Oct 03 14:11:21 m0054 voxl-camera-server[10625]: Connected to cpu-monitor
    Oct 03 14:11:21 m0054 voxl-camera-server[10625]: Skipping Camera: tracking_front, configuration marked disabled
    Oct 03 14:11:21 m0054 voxl-camera-server[10625]: Skipping Camera: hires_front, configuration marked disabled
    Oct 03 14:11:21 m0054 voxl-camera-server[10625]: Starting Camera: hires_down (id #2)
    Oct 03 14:11:21 m0054 voxl-camera-server[10625]: gbm_create_device(156): Info: backend name is: msm_drm
    Oct 03 14:11:21 m0054 voxl-camera-server[10625]: Skipping Camera: tracking_down, configuration marked disabled
    Oct 03 14:11:21 m0054 voxl-camera-server[10625]: ------ voxl-camera-server: Started 1 of 4 cameras
    Oct 03 14:11:21 m0054 voxl-camera-server[10625]: ------ voxl-camera-server: Camera server is now running
    Oct 03 14:16:48 m0054 voxl-camera-server[10625]: WARNING failed to set pipe size: Cannot allocate memory
    

    I'm on a Starling 2 Max. Below is the version information.

    voxl2:~$ voxl-version 
    --------------------------------------------------------------------------------
    system-image: 1.8.02-M0054-14.1a-perf
    kernel:       #1 SMP PREEMPT Mon Nov 11 22:59:41 UTC 2024 4.19.125
    --------------------------------------------------------------------------------
    hw platform:  M0054
    mach.var:     1.2.1
    --------------------------------------------------------------------------------
    voxl-suite:   1.4.1
    --------------------------------------------------------------------------------
    Packages:
    Repo:  http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.4/binary-arm64/
    Last Updated: 2023-03-02 12:58:40
    WARNING: repo file has changed since last update,
            packages may have originated from a different repo
    List:
    kernel-module-voxl-fsync-mod-4.19.125     1.0-r0
    kernel-module-voxl-gpio-mod-4.19.125      1.0-r0
    kernel-module-voxl-platform-mod-4.19.125  1.0-r0
    libfc-sensor                              1.0.7
    libmodal-cv                               0.5.16
    libmodal-exposure                         0.1.3
    libmodal-journal                          0.2.2
    libmodal-json                             0.4.3
    libmodal-pipe                             2.10.6
    libqrb5165-io                             0.4.9
    libvoxl-cci-direct                        0.2.5
    libvoxl-cutils                            0.1.1
    modalai-slpi                              1.1.19
    mv-voxl                                   0.1-r0
    qrb5165-bind                              0.1-r0
    qrb5165-dfs-server                        0.2.0
    qrb5165-imu-server                        1.1.2
    qrb5165-rangefinder-server                0.1.4
    qrb5165-slpi-test-sig                     01-r0
    qrb5165-system-tweaks                     0.3.4
    qrb5165-tflite                            2.8.0-2
    voxl-bind-spektrum                        0.1.1
    voxl-camera-calibration                   0.5.9
    voxl-camera-server                        2.1.1
    voxl-ceres-solver                         2:1.14.0-10
    voxl-configurator                         0.9.7
    voxl-cpu-monitor                          0.5.3
    voxl-docker-support                       1.3.1
    voxl-elrs                                 0.4.1
    voxl-esc                                  1.5.1
    voxl-feature-tracker                      0.5.2
    voxl-flow-server                          0.3.6
    voxl-fsync-mod                            1.0-r0
    voxl-gphoto2-server                       0.0.10
    voxl-gpio-mod                             1.0-r0
    voxl-io-server                            0.0.4
    voxl-jpeg-turbo                           2.1.3-5
    voxl-lepton-server                        1.3.3
    voxl-lepton-tracker                       0.0.4
    voxl-libgphoto2                           0.0.4
    voxl-libuvc                               1.0.7
    voxl-logger                               0.4.9
    voxl-mavcam-manager                       0.5.7
    voxl-mavlink                              0.1.1
    voxl-mavlink-server                       1.4.4
    voxl-modem                                1.1.5
    voxl-mongoose                             7.7.0-1
    voxl-mpa-to-ros                           0.3.9
    voxl-mpa-tools                            1.3.7
    voxl-open-vins                            0.4.16
    voxl-open-vins-server                     0.3.0
    voxl-opencv                               4.5.5-2
    voxl-osd                                  0.1.1
    voxl-platform-mod                         1.0-r0
    voxl-portal                               0.7.5
    voxl-px4                                  1.14.0-2.0.94
    voxl-px4-imu-server                       0.1.2
    voxl-px4-params                           0.6.3
    voxl-qvio-server                          1.1.1
    voxl-remote-id                            0.0.9
    voxl-reset-slpi                           0.0.1
    voxl-state-estimator                      0.0.4
    voxl-streamer                             0.7.5
    voxl-suite                                1.4.1
    voxl-tag-detector                         0.0.4
    voxl-tflite-server                        0.3.9
    voxl-utils                                1.4.4
    voxl-uvc-server                           0.1.7
    voxl-vision-hub                           1.8.17
    voxl-vtx                                  1.1.8
    voxl2-io                                  0.0.3
    voxl2-system-image                        1.8.02-r0
    voxl2-wlan                                1.0-r0
    --------------------------------------------------------------------------------
    

    As a test I created a very simple application that just connects to the camera pipe and logs each time it receives a frame. I've included the code below. This exhibits the same behavior as my more complex image processing application. Is there any issue with the way I am connecting to the pipe and processing frames?

    #include <atomic>
    #include <csignal>
    #include <cstdint>
    #include <iostream>
    #include <modal_pipe.h>
    #include <thread>
    #include <unistd.h>
    #include <mutex>
    #include <chrono>
    
    using namespace std::chrono_literals;
    
    std::string g_cameraString="hires_down_small_color";
    uint32_t g_frameCounter=0;
    uint32_t g_numIterations=100;
    std::mutex g_iterationMutex;
    bool g_keepRunning=true;
    // Use atomic to ensure safety in signal handlers
    std::atomic<bool> got_signal{false};
    
    
    void _camera_connect_cb( int   ch,
                                    void* context){
        printf("Connected to camera server\n");
    }
    
    
    void _camera_disconnect_cb( int   ch,
                                       void* context) {
        fprintf(stderr, "Disonnected from camera server\n");
    }
    
    void _camera_helper_cb( int ch,
                                  camera_image_metadata_t meta, char* frame,
                                  void* context) {
      std::cout<<__func__<<"Got notified of new frame #"<<g_frameCounter++<<"..."<<std::endl;
    
      //if pipe_client_bytes_in_pipe returns a positive number it means we have fallen behind and should skip this frame 
      if (pipe_client_bytes_in_pipe(ch) > 0) {
                fprintf(
                    stderr,
                    "WARNING, skipping frame on channel %d due to frame backup\n",
                    ch);
            return;
        }
        {
          std::lock_guard<std::mutex> lg(g_iterationMutex);
          g_numIterations--;
        }
    
      return;
    } 
    
    void cleanup()
    {
      std::cout<<__func__<<std::endl;
      pipe_client_close_all();
    }
    
    void connectToCameraPipe()
    {
        // connect to camera pipe
        int ch = pipe_client_get_next_available_channel();
        pipe_client_set_connect_cb(ch, _camera_connect_cb, NULL);
        pipe_client_set_disconnect_cb(ch, _camera_disconnect_cb, NULL);
        pipe_client_set_camera_helper_cb(ch, _camera_helper_cb, NULL);
        //pipes all live under /run/mpa on VOXL
        std::string input_pipe_dir( "/run/mpa/");
        // add the name of the camera we want to get frames from
        std::string camera_pipe_path=input_pipe_dir;
        camera_pipe_path.append(g_cameraString);
        if (pipe_client_open(ch, camera_pipe_path.c_str(), "VoxlCameaFramePipeTest",
                             CLIENT_FLAG_EN_CAMERA_HELPER, 0)) {
            printf("%s | Failed to open pipe: %s \n", __func__, camera_pipe_path.c_str());
            return;
        }
        else {
            printf("%s | Successfully opened pipe: %s \n", __func__, camera_pipe_path.c_str());
        }
    }
    
    void usage() {
        std::cout << "Usage: VoxlCameraFramePipeTest <options> \n"
                  << "Options:\n"
                  << "  -c <camera_name>   Name of the camera (string). Default value is "<<g_cameraString<<"\n"
                  << "  -n <iterations>    Number of iterations (unsigned integer). Default value is "<<g_numIterations<<"\n"
                  << "  -h                 Print this help message"<<std::endl;
    }
    
    bool parseArgs(int argc, char** argv) {
      int opt;
      while ( (opt = getopt (argc, argv, "c:n:h") ) != -1)
      {
        switch (opt)
        {
          case 'c':
            g_cameraString=optarg;
            break; 
          case 'n':
            g_numIterations=std::stoul(optarg);
            break;
          case 'h':
            usage();
            g_keepRunning=false;
            break; 
          default:
            printf("%s | received unexpected argument.", __func__); 
            usage();
            return false;
        }
      }
      return true;
    }
    
    void signal_handler(int signal) {
        if (signal == SIGINT) {
            std::cout<<"Got signal"<<std::endl;
            got_signal = true;
        } 
    }
    
    int main(int argc, char** argv)
    {
      if(!parseArgs(argc, argv))
      {
        return -1;
      }
      if(g_keepRunning)
      {
        // Register the signal handler
        std::signal(SIGINT, signal_handler);
        std::cout << "Press Ctrl+C to trigger SIGINT...\n";
        connectToCameraPipe();
        while (g_keepRunning && !got_signal) {
          std::this_thread::sleep_for(10ms);
          {
            std::lock_guard<std::mutex> lg(g_iterationMutex);
            g_keepRunning=(g_numIterations>0);
          }
        }
          cleanup();
      }
    
      return 0;
    }
    
    
    

    Thank you,
    Paul

    Ask your questions right here!

  • unable to build voxl-tflite-server in voxl-cross
    P paul.foley

    @tom that worked, thank you!

    Support Request Format for Best Results

  • unable to build voxl-tflite-server in voxl-cross
    P paul.foley

    Hello,
    I'm trying to build voxl-tflite-server in voxl cross. Below is my setup:

    • voxl-cross:V4.0

    • voxl-tflite-server

      • cloned repo at this commit https://gitlab.com/voxl-public/voxl-sdk/services/voxl-tflite-server/-/commit/adbed8cd3fc7c08956a1a1e0759f344bc0285054

    Host system:

    • OS: Red Hat Enterprise Linux 9.6 (Plow)
    • Docker:

    docker version
    Client: Docker Engine - Community
    Version: 28.3.1
    API version: 1.51
    Go version: go1.24.4
    Git commit: 38b7060
    Built: Wed Jul 2 20:58:10 2025
    OS/Arch: linux/amd64
    Context: default

    Server: Docker Engine - Community
    Engine:
    Version: 28.3.1
    API version: 1.51 (minimum version 1.24)
    Go version: go1.24.4
    Git commit: 5beb93d
    Built: Wed Jul 2 20:56:24 2025
    OS/Arch: linux/amd64
    Experimental: false
    containerd:
    Version: 1.7.27
    GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
    runc:
    Version: 1.2.5
    GitCommit: v1.2.5-0-g59923ef
    docker-init:
    Version: 0.19.0
    GitCommit: de40ad0

    I followed the instructions in voxl-tflite-server/README.md. I'm able to launch voxl-cross with the voxl-tflite-server repo directory mounted in the container. I ran the following command and got the following results.

    /home/root# ./install_build_deps.sh qrb5165 dev
    using qrb5165 dev debian repo
    Ign:1 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ InRelease
    Ign:2 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ Release
    Get:3 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ Packages [25.4 kB]
    Fetched 25.4 kB in 1s (46.8 kB/s)    
    Reading package lists... Done
    installing: 
    libmodal-pipe
    libmodal-json
    voxl-opencv
    qrb5165-tflite
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following NEW packages will be installed:
      libmodal-json:arm64 libmodal-pipe:arm64 qrb5165-tflite:arm64 voxl-opencv:arm64
    0 upgraded, 4 newly installed, 0 to remove and 2 not upgraded.
    Need to get 24.8 MB of archives.
    After this operation, 0 B of additional disk space will be used.
    Get:1 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libmodal-json 0.4.7-202505011742 [46.9 kB]
    Get:2 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libmodal-pipe 2.13.4-202507031002 [118 kB]
    Get:3 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ qrb5165-tflite 2.8.0-2-202210071637 [11.0 MB]
    Get:4 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ voxl-opencv 4.5.5-3-202504301748 [13.6 MB]
    Fetched 24.8 MB in 4s (6792 kB/s)            
    debconf: unable to initialize frontend: Dialog
    debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 4.)
    debconf: falling back to frontend: Readline
    Selecting previously unselected package libmodal-json:arm64.
    (Reading database ... 31293 files and directories currently installed.)
    Preparing to unpack .../libmodal-json_0.4.7-202505011742_arm64.deb ...
    Unpacking libmodal-json:arm64 (0.4.7-202505011742) ...
    Selecting previously unselected package libmodal-pipe:arm64.
    Preparing to unpack .../libmodal-pipe_2.13.4-202507031002_arm64.deb ...
    Unpacking libmodal-pipe:arm64 (2.13.4-202507031002) ...
    Selecting previously unselected package qrb5165-tflite:arm64.
    Preparing to unpack .../qrb5165-tflite_2.8.0-2-202210071637_arm64.deb ...
    Unpacking qrb5165-tflite:arm64 (2.8.0-2-202210071637) ...
    Selecting previously unselected package voxl-opencv:arm64.
    Preparing to unpack .../voxl-opencv_4.5.5-3-202504301748_arm64.deb ...
    Unpacking voxl-opencv:arm64 (4.5.5-3-202504301748) ...
    Setting up libmodal-json:arm64 (0.4.7-202505011742) ...
    Setting up qrb5165-tflite:arm64 (2.8.0-2-202210071637) ...
    Setting up voxl-opencv:arm64 (4.5.5-3-202504301748) ...
    Setting up libmodal-pipe:arm64 (2.13.4-202507031002) ...
    Processing triggers for libc-bin (2.31-0ubuntu9.17) ...
    
    Done installing dependencies
    

    Installing dependencies seems to complete successfully. Trying to build results in the following.

    /home/root# ./build.sh qrb5165
    CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 3.10 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    WARN you're using a deprecated toolchain, please use the new toolchains:
    WARN qrb5165_ubun1_18.04_aarch64.toolchain.cmake
    WARN qrb5165_ubun2_20.04_aarch64.toolchain.cmake
    -- ---------------------------------------------------------
    -- Using voxl-cross 64-bit toolchain for QRB5165 ubun1 18.04
    -- C Compiler     : /usr/bin/aarch64-linux-gnu-gcc-10
    -- C++ Compiler   : /usr/bin/aarch64-linux-gnu-g++-10
    -- Sysroot        : /opt/sysroots/qrb5165_1
    -- C flags        : -idirafter /usr/include -march=armv8.2-a
    -- CXX flags      : -idirafter /usr/include -march=armv8.2-a
    -- EXE Link Flags : -L/opt/sysroots/qrb5165_1/usr/lib/aarch64-linux-gnu -L/opt/sysroots/qrb5165_1/lib -L/opt/sysroots/qrb5165_1/usr/lib -L/usr/lib64 -L/usr/lib
    -- SO Link Flags  : -L/opt/sysroots/qrb5165_1/usr/lib/aarch64-linux-gnu -L/opt/sysroots/qrb5165_1/lib -L/opt/sysroots/qrb5165_1/usr/lib -L/usr/lib64 -L/usr/lib
    WARN you're using a deprecated toolchain, please use the new toolchains:
    WARN qrb5165_ubun1_18.04_aarch64.toolchain.cmake
    WARN qrb5165_ubun2_20.04_aarch64.toolchain.cmake
    -- The C compiler identification is GNU 10.5.0
    -- The CXX compiler identification is GNU 10.5.0
    -- Detecting C compiler ABI info
    WARN you're using a deprecated toolchain, please use the new toolchains:
    WARN qrb5165_ubun1_18.04_aarch64.toolchain.cmake
    WARN qrb5165_ubun2_20.04_aarch64.toolchain.cmake
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc-10 - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    WARN you're using a deprecated toolchain, please use the new toolchains:
    WARN qrb5165_ubun1_18.04_aarch64.toolchain.cmake
    WARN qrb5165_ubun2_20.04_aarch64.toolchain.cmake
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++-10 - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    CMake Deprecation Warning at src/CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 3.10 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    -- Configuring done (1.2s)
    -- Generating done (0.1s)
    -- Build files have been written to: /home/root/build
    [  6%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/config_file.cpp.o
    In file included from /home/root/src/config_file.cpp:1:
    /home/root/src/../include/config_file.h:37:10: fatal error: modal_json.h: No such file or directory
       37 | #include <modal_json.h>
          |          ^~~~~~~~~~~~~~
    compilation terminated.
    make[2]: *** [src/CMakeFiles/voxl-tflite-server.dir/build.make:79: src/CMakeFiles/voxl-tflite-server.dir/config_file.cpp.o] Error 1
    make[1]: *** [CMakeFiles/Makefile2:106: src/CMakeFiles/voxl-tflite-server.dir/all] Error 2
    make: *** [Makefile:136: all] Error 2
    

    Based on the warning about the deprecated toolchain, I updated TOOLCHAIN_QRB5165 in build.sh

    TOOLCHAIN_QRB5165="/opt/cross_toolchain/qrb5165_ubun1_18.04_aarch64.toolchain.cmake"
    

    I also tried

    TOOLCHAIN_QRB5165="/opt/cross_toolchain/qrb5165_ubun2_20.04_aarch64.toolchain.cmake"
    

    That got rid of the warnings but I still got the error about

    /home/root/src/../include/config_file.h:37:10: fatal error: modal_json.h: No such file or directory
       37 | #include <modal_json.h>
          |          ^~~~~~~~~~~~~~
    

    I verified that modal_json.h is in /usr/include

    /home/root# ls -l  /usr/include/modal_json.h 
    -rw-r--r--. 1 root root 15619 May  2 00:42 /usr/include/modal_json.h
    

    I modified voxl-tflite-server/src/CMakeLists.txt to explicitly include /usr/include but that didn't help.

    include_directories(
        /usr/include/
        ../include/
        ..include/model_helper/
    

    I then created /tmp/include as a softlink to /usr/include

    root@artb-vm9-dev11:/tmp# ls -l
    total 0
    drwxr-xr-x. 2 root root  6 Jul  8 20:16 bionic-pkgs
    lrwxrwxrwx. 1 root root 13 Jul  9 00:17 include -> /usr/include/
    

    I modified voxl-tflite-server/src/CMakeLists.txt to explicitly include /tmp/include and that fixed the compilation error and everything compiled. .

    include_directories(
        /tmp/include/
        ../include/
        ..include/model_helper/
    

    However, then it failed when linking.

    [ 73%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/model_helper/yolov5_model_helper.cpp.o
    [ 80%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/model_helper/yolov8_model_helper.cpp.o
    [ 86%] Building C object src/CMakeFiles/voxl-tflite-server.dir/resize.c.o
    [ 93%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/utils.cpp.o
    [100%] Linking CXX executable voxl-tflite-server
    /usr/lib/gcc-cross/aarch64-linux-gnu/10/../../../../aarch64-linux-gnu/bin/ld: cannot find -lsync
    /usr/lib/gcc-cross/aarch64-linux-gnu/10/../../../../aarch64-linux-gnu/bin/ld: cannot find -lsync
    collect2: error: ld returned 1 exit status
    make[2]: *** [src/CMakeFiles/voxl-tflite-server.dir/build.make:308: src/voxl-tflite-server] Error 1
    make[1]: *** [CMakeFiles/Makefile2:106: src/CMakeFiles/voxl-tflite-server.dir/all] Error 2
    make: *** [Makefile:136: all] Error 2
    

    I could try installing the missing sync library but based on the prior issues I encountered it seems like maybe I need to use different versions of voxl-cross and voxl-tflite-server. Ultimately I'm targeting a Starling 2 Max. Here is the configuration for that:

    voxl2:/$ voxl-version 
    --------------------------------------------------------------------------------
    system-image: 1.8.02-M0054-14.1a-perf
    kernel:       #1 SMP PREEMPT Mon Nov 11 22:59:41 UTC 2024 4.19.125
    --------------------------------------------------------------------------------
    hw platform:  M0054
    mach.var:     1.2.1
    --------------------------------------------------------------------------------
    voxl-suite:   1.4.1
    --------------------------------------------------------------------------------
    Packages:
    Repo:  http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.4/binary-arm64/
    Last Updated: 2023-03-02 12:58:40
    WARNING: repo file has changed since last update,
            packages may have originated from a different repo
    List:
    kernel-module-voxl-fsync-mod-4.19.125     1.0-r0
    kernel-module-voxl-gpio-mod-4.19.125      1.0-r0
    kernel-module-voxl-platform-mod-4.19.125  1.0-r0
    libfc-sensor                              1.0.7
    libmodal-cv                               0.5.16
    libmodal-exposure                         0.1.3
    libmodal-journal                          0.2.2
    libmodal-json                             0.4.3
    libmodal-pipe                             2.10.6
    libqrb5165-io                             0.4.9
    libvoxl-cci-direct                        0.2.5
    libvoxl-cutils                            0.1.1
    modalai-slpi                              1.1.19
    mv-voxl                                   0.1-r0
    qrb5165-bind                              0.1-r0
    qrb5165-dfs-server                        0.2.0
    qrb5165-imu-server                        1.1.2
    qrb5165-rangefinder-server                0.1.4
    qrb5165-slpi-test-sig                     01-r0
    qrb5165-system-tweaks                     0.3.4
    qrb5165-tflite                            2.8.0-2
    voxl-bind-spektrum                        0.1.1
    voxl-camera-calibration                   0.5.9
    voxl-camera-server                        2.1.1
    voxl-ceres-solver                         2:1.14.0-10
    voxl-configurator                         0.9.7
    voxl-cpu-monitor                          0.5.3
    voxl-docker-support                       1.3.1
    voxl-elrs                                 0.4.1
    voxl-esc                                  1.5.1
    voxl-feature-tracker                      0.5.2
    voxl-flow-server                          0.3.6
    voxl-fsync-mod                            1.0-r0
    voxl-gphoto2-server                       0.0.10
    voxl-gpio-mod                             1.0-r0
    voxl-io-server                            0.0.4
    voxl-jpeg-turbo                           2.1.3-5
    voxl-lepton-server                        1.3.3
    voxl-lepton-tracker                       0.0.4
    voxl-libgphoto2                           0.0.4
    voxl-libuvc                               1.0.7
    voxl-logger                               0.4.9
    voxl-mavcam-manager                       0.5.7
    voxl-mavlink                              0.1.1
    voxl-mavlink-server                       1.4.4
    voxl-modem                                1.1.5
    voxl-mongoose                             7.7.0-1
    voxl-mpa-to-ros                           0.3.9
    voxl-mpa-tools                            1.3.7
    voxl-open-vins                            0.4.16
    voxl-open-vins-server                     0.3.0
    voxl-opencv                               4.5.5-2
    voxl-osd                                  0.1.1
    voxl-platform-mod                         1.0-r0
    voxl-portal                               0.7.5
    voxl-px4                                  1.14.0-2.0.94
    voxl-px4-imu-server                       0.1.2
    voxl-px4-params                           0.6.3
    voxl-qvio-server                          1.1.1
    voxl-remote-id                            0.0.9
    voxl-reset-slpi                           0.0.1
    voxl-state-estimator                      0.0.4
    voxl-streamer                             0.7.5
    voxl-suite                                1.4.1
    voxl-tag-detector                         0.0.4
    voxl-tflite-server                        0.3.9
    voxl-utils                                1.4.4
    voxl-uvc-server                           0.1.7
    voxl-vision-hub                           1.8.17
    voxl-vtx                                  1.1.8
    voxl2-io                                  0.0.3
    voxl2-system-image                        1.8.02-r0
    voxl2-wlan                                1.0-r0
    --------------------------------------------------------------------------------
    

    Any guidance would be greatly appreciated.

    Thank you,
    Paul

    Support Request Format for Best Results

  • Imagery collected on ModalAI drones
    P paul.foley

    Are there any repositories of imagery collected on ModalAI drones that can be used for training an object detection model? I'm looking to use the Starling 2 Max for vehicle detection. The performance of a model is directly correlated with how well it's training data matches its intended use case. So, if somebody is planning to use a ModalAI drone, having training data that was collected on the same drone would be great. If that doesn't exist I do think it would be cool if there was a place where members of the ModalAI user community could upload imagery to be shared and used for training purposes in the future.

    If there are any other datasets that you know of that would be helpful too. Thus far I've used the COWC dataset but that imagery was taken at a much higher altitude than what I would be flying with the Starling 2 Max.

    Ask your questions right here!
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups