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

ModalAI Forum

  1. ModalAI Support Forum
  2. Ask your questions right here!
  3. Intermittent crashing of voxl-camera-server during VOA testing

Intermittent crashing of voxl-camera-server during VOA testing

Scheduled Pinned Locked Moved Ask your questions right here!
6 Posts 3 Posters 1.2k Views 1 Watching
  • 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.
  • J Offline
    J Offline
    jaredjohansen
    Regular
    wrote on last edited by
    #1

    We have calibrated our stereo cameras per these instructions: https://docs.modalai.com/calibrate-cameras/#calibrate-stereo-cameras.

    We are using the dev version of the voxl-vision-px4 (that fixed a previous bug) and which also tightened the range of accurate obstacle detections from 0.2 -> 20 meters to 0.5 -> 8 meters. In our experience, detections within this range are still quite noisy (sometimes swinging 2-3 meters in tolerance), but they do serve as coarse-grained estimates. In our VOXL, we have enabled the voxl-camera-server and voxl-dfs-server. We confirm this is working by looking at the OBSTACLE_DISTANCE field in the MAVLink Inspector in QGC.

    In QGC -> Vehicle Setup -> Safety -> Collision Avoidance, we have enabled Obstacle Prevention. We have also set the MPC_COL_PREV_D distance to 6.0 meters. We have taken the drone outside, gotten GPS sync, turned on Position mode, and manually attempted to fly it into a large tree with dense foliage. As advertised, the VOA will kick in and prevent us from flying into the tree. (This is great!)

    During this testing, when we fly the drone towards the tree, we see a spike in the CPU usage of the voxl-dfs-server. (We are not surprised by this, but share it as a data point along with our belief that this service is operating as expected and uses more CPU to compute points as it approaches obstacles.)

    Sometimes, when we fly the drone towards the tree, the voxl-camera-server will crash. One time, we saw the voxl-dfs-server crash as well. The crash message from the voxl-camera-server contains an ESTOP message on a single camera stream, although the exact camera stream varies (e.g., hires, tracking, or stereo). When one of these services crash, QGC oscillates between Position Mode and Hold Mode. On our controller, we lose the ability to pitch and roll. We can yaw, ascend and descend, but nothing more. Without being able to fly in any direction, we eventually land.

    We suspect that when the voxl-camera-server crashes, the voxl-dfs-server is unable to get data and does not function. We do not know if this fact is communicated to QGC and is the mechanism that triggers the Hold mode.

    We believe this intermittent crashing is likely due to some bug (perhaps due in some part to the interaction between the voxl-camera-server and voxl-dfs-server in the midst of a VOA event). Please advise if this is likely the case and how we might handle this.

    1 Reply Last reply
    0
    • ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #2

      Can you paste the log from journalctl -u voxl-camera-server here so that we can see exactly what it's saying. Camera server doesn't know or care about what its clients do with the data it provides, it only knows if someone is listening for each camera. These camera server crashes are almost always caused by hardware issues with regards to the camera cables, though it is unusual that the errors you're seeing are coming from different cameras each time. You can also run camera server manually with debug flags voxl-camera-server -d 0 to have it print additional outputs about every single thing that it does. If you can show me a log either from journalctl or a manually run camera server instance that'd be very helpful.

      1 Reply Last reply
      0
      • ? Offline
        ? Offline
        A Former User
        wrote on last edited by
        #3

        Hi Jared,

        Quick follow up to our call earlier, I've published the latest version of camera server(0.7.5) to stable, this has the increased pipe sizes for the hires camera and will print out the available resolutions for each camera when run with voxl-camera-server -d 1 (or -d 0, though this will be VERY verbose and will start printing each new exposure/gain).

        J Daniel RyuD 2 Replies Last reply
        0
        • ? A Former User

          Hi Jared,

          Quick follow up to our call earlier, I've published the latest version of camera server(0.7.5) to stable, this has the increased pipe sizes for the hires camera and will print out the available resolutions for each camera when run with voxl-camera-server -d 1 (or -d 0, though this will be VERY verbose and will start printing each new exposure/gain).

          J Offline
          J Offline
          jaredjohansen
          Regular
          wrote on last edited by
          #4

          Awesome, thank you, @Alex-Gardner. We will try this when we are back in the office and let you know what we find.

          1 Reply Last reply
          0
          • ? A Former User

            Hi Jared,

            Quick follow up to our call earlier, I've published the latest version of camera server(0.7.5) to stable, this has the increased pipe sizes for the hires camera and will print out the available resolutions for each camera when run with voxl-camera-server -d 1 (or -d 0, though this will be VERY verbose and will start printing each new exposure/gain).

            Daniel RyuD Offline
            Daniel RyuD Offline
            Daniel Ryu
            Regular
            wrote on last edited by
            #5

            @Alex-Gardner The available resolutions do print out accordingly, about the same as the previous list you send us. Thanks!

            1 Reply Last reply
            0
            • J Offline
              J Offline
              jaredjohansen
              Regular
              wrote on last edited by
              #6

              Thanks for printing out those resolutions. Very helpful!

              yocto:~$ voxl-camera-server -d 1
              exising instance of voxl-camera-server found, attempting to stop it
              ------ voxl-camera-server INFO: Port J2
              
              ------ voxl-camera-server: Done configuring hires camera
              	 Port       : port_J2
              	 Name       : hires
              	 Enabled    : 1
              	 Type       : hires
              	 Api        : hal3
              	 P-W        : 640
              	 P-H        : 480
              	 P-Fmt      : nv21
              	 FPS        : 30
              	 OverrideId : -1
              	 AEAlgo     : isp
              
              ------ voxl-camera-server INFO: Port J3
              
              ------ voxl-camera-server: Done configuring stereo camera
              	 Port       : port_J3
              	 Name       : stereo
              	 Enabled    : 1
              	 Type       : stereo
              	 Api        : hal3
              	 P-W        : 1280
              	 P-H        : 480
              	 P-Fmt      : nv21
              	 FPS        : 30
              	 OverrideId : -1
              	 AEAlgo     : modalai
              =================MODALAI Auto Exposure Settings==================
              gain_min:                        0
              gain_max:                        1000
              exposure_min_us:                 100
              exposure_max_us:                 33000
              desired_msv:                     58.000000
              k_p_ns:                          32000.000000
              k_i_ns:                          20.000000
              max_i:                           250.000000
              p_good_thresh:                   3
              exposure_period:                 1
              gain_period:                     2
              display_debug:                   no
              exposure_offset_for_gain_calc:   8000
              =================================================================
              
              ------ voxl-camera-server INFO: Port J4
              
              ------ voxl-camera-server: Done configuring tracking camera
              	 Port       : port_J4
              	 Name       : tracking
              	 Enabled    : 1
              	 Type       : tracking
              	 Api        : hal3
              	 P-W        : 640
              	 P-H        : 480
              	 P-Fmt      : raw8
              	 FPS        : 30
              	 OverrideId : -1
              	 AEAlgo     : modalai
              =================MODALAI Auto Exposure Settings==================
              gain_min:                        0
              gain_max:                        1000
              exposure_min_us:                 100
              exposure_max_us:                 33000
              desired_msv:                     58.000000
              k_p_ns:                          32000.000000
              k_i_ns:                          20.000000
              max_i:                           250.000000
              p_good_thresh:                   3
              exposure_period:                 1
              gain_period:                     2
              display_debug:                   no
              exposure_offset_for_gain_calc:   8000
              =================================================================
              
              Writing new configuration to /etc/modalai/voxl-camera-server.conf
              Created pipe: hires_preview channel: 0
              Created pipe: stereo channel: 1
              Created pipe: tracking channel: 2
              Starting Camera: tracking
              SUCCESS: Camera module opened
              ----------- Number of cameras: 3
              
              ------ voxl-camera-server INFO: Client: qvio-server0 connected to channel: 2
              ------ voxl-camera-server ERROR: Client connected to invalid channel: 0
              ------ voxl-camera-server ERROR: Client connected to invalid channel: 1
              ----------- HiRes  camera id: 0
              ----------- Stereo camera id: 2
              ----------- Mono   camera id: 1
              ------ voxl-camera-server INFO: Client: voxl-streamer0 connected to channel: 2
              Available resolutions for camera: tracking:
              640 x 480
              320 x 240
              Resolution: 640 x 480 Found!
              ------ voxl-camera-server: Preview buffer allocations
              Internal Exposure for: tracking 2
              /builds/voxl-public/modal-pipe-architecture/voxl-camera-server/src/expgain_interface/expgain_interface_factory.cpp 45 Creating exposure interface
              Creating ModalAI exposure interface
              	 Port       : port_J4
              	 Name       : tracking
              	 Enabled    : 1
              	 Type       : tracking
              	 Api        : hal3
              	 P-W        : 640
              	 P-H        : 480
              	 P-Fmt      : raw8
              	 FPS        : 30
              	 OverrideId : -1
              	 AEAlgo     : modalai
              =================MODALAI Auto Exposure Settings==================
              gain_min:                        0
              gain_max:                        1000
              exposure_min_us:                 100
              exposure_max_us:                 33000
              desired_msv:                     58.000000
              k_p_ns:                          32000.000000
              k_i_ns:                          20.000000
              max_i:                           250.000000
              p_good_thresh:                   3
              exposure_period:                 1
              gain_period:                     2
              display_debug:                   no
              exposure_offset_for_gain_calc:   8000
              =================================================================
              
              Starting Camera: hires
              Available resolutions for camera: hires:
              4160 x 3120
              4056 x 3040
              4000 x 3000
              3040 x 3040
              3016 x 3016
              3840 x 2160
              3648 x 2736
              3264 x 2448
              3200 x 2400
              2976 x 2976
              3044 x 1720
              2704 x 2028
              2704 x 1520
              2592 x 1944
              2688 x 1512
              2028 x 1144
              2160 x 2160
              1920 x 2160
              1920 x 1920
              1880 x 1880
              2048 x 1536
              1920 x 1440
              1920 x 1080
              1600 x 1600
              1600 x 1200
              1520 x 1520
              1440 x 1080
              1080 x 1080
              1280 x 960
              1340 x 760
              1280 x 768
              1280 x 720
              1200 x 1200
              1280 x 640
              1280 x 480
              1040 x 780
              1024 x 768
              960 x 960
              720 x 720
              800 x 600
              960 x 720
              848 x 480
              858 x 480
              864 x 480
              800 x 480
              720 x 480
              640 x 480
              640 x 240
              640 x 360
              480 x 640
              480 x 480
              480 x 360
              480 x 320
              432 x 240
              352 x 288
              320 x 240
              Resolution: 640 x 480 Found!
              ------ voxl-camera-server: Preview buffer allocations
              	 Port       : port_J2
              	 Name       : hires
              	 Enabled    : 1
              	 Type       : hires
              	 Api        : hal3
              	 P-W        : 640
              	 P-H        : 480
              	 P-Fmt      : nv21
              	 FPS        : 30
              	 OverrideId : -1
              	 AEAlgo     : isp
              
              Starting Camera: stereo
              Available resolutions for camera: stereo:
              1280 x 480
              848 x 480
              858 x 480
              864 x 480
              800 x 480
              720 x 480
              640 x 480
              640 x 240
              640 x 360
              480 x 480
              480 x 360
              480 x 320
              432 x 240
              352 x 288
              320 x 240
              Resolution: 1280 x 480 Found!
              ------ voxl-camera-server: Preview buffer allocations
              Internal Exposure for: stereo 1
              /builds/voxl-public/modal-pipe-architecture/voxl-camera-server/src/expgain_interface/expgain_interface_factory.cpp 45 Creating exposure interface
              Creating ModalAI exposure interface
              Received raw10 frame, checking to see if is actually raw8
              Frame was actually 8 bit, sending as is
              	 Port       : port_J3
              	 Name       : stereo
              	 Enabled    : 1
              	 Type       : stereo
              	 Api        : hal3
              	 P-W        : 1280
              	 P-H        : 480
              	 P-Fmt      : nv21
              	 FPS        : 30
              	 OverrideId : -1
              	 AEAlgo     : modalai
              =================MODALAI Auto Exposure Settings==================
              gain_min:                        0
              gain_max:                        1000
              exposure_min_us:                 100
              exposure_max_us:                 33000
              desired_msv:                     58.000000
              k_p_ns:                          32000.000000
              k_i_ns:                          20.000000
              max_i:                           250.000000
              p_good_thresh:                   3
              exposure_period:                 1
              gain_period:                     2
              display_debug:                   no
              exposure_offset_for_gain_calc:   8000
              =================================================================
              
              ------ voxl-camera-server: Camera server is now running
              
              1 Reply Last reply
              0

              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

              With your input, this post could be even better 💗

              Register Login
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              ModalAI
              Categories Recent Tags ModalAI.com Docs
              © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
              • Login

              • Don't have an account? Register

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