Extensions and tracking camera



  • Trying out extensions on all cameras given the design of my prototype and finding that I cannot get the tracking camera to initialize when an extension is connected. Tracking camera is installed on J4. It boots and shows up fine in the portal/camera server when there is no extension.

    I've reviewed https://forum.modalai.com/topic/290/tracking-camera-bricks-boot?_=1650699418574

    and https://forum.modalai.com/topic/333/max-mipi-cable-extension-length?_=1650699561031

    Which led me to validate the orientation of the connectors and also try the shorter 6cm extension. What's odd is the stereo cameras and ToF work fine on extensions, but I cannot get the tracking camera to initialize. voxl-camera-server segfaults everytime after a successful boot with any extension installed.

    Thanks for any help troubleshooting.



  • For more data -- here's the debug output of the camera server.
    Have been trying to load up a segfault/dump without success as of yet.

    ------ voxl-camera-server INFO: Port J2
    
    ------ voxl-camera-server: Done configuring tof camera
    	 Port       : port_J2
    	 Name       : tof
    	 Enabled    : 1
    	 Type       : tof
    	 Api        : hal3
    	 P-W        : 224
    	 P-H        : 1557
    	 P-Fmt      : blob
    	 FPS        : 15
    	 Tof Mode   : 9
    	 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:                 20
    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:                 20
    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: tof channel: 5
    Created pipe: stereo channel: 6
    Created pipe: tracking channel: 7
    Starting Camera: tracking
    SUCCESS: Camera module opened
    ----------- Number of cameras: 2
    
    ----------- Stereo camera id: 1
    ----------- Mono   camera id: 0
    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 7
    /builds/voxl-public/voxl-sdk/services/apq8096-camera-server/src/expgain_interface/expgain_interface_factory.cpp 45 Creating exposure interface
    Creating ModalAI exposure interface
    Initialize
    Initialize
    ------ voxl-camera-server WARNING: Thread: tracking result thread recieved ESTOP
    	 Port       : port_J4
    ------ voxl-camera-server WARNING: Thread: tracking request thread recieved ESTOP
    	 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:                 20
    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: tof
    
    ------ voxl-camera-server INFO: Camera server is now stopping
    		There is a chance that it may segfault here, this is a mmqcamera bug, ignore it
    
    ------ voxl-camera-server INFO: Stopping tracking camera
    ------ voxl-camera-server INFO: tracking camera stopped successfully
    
    ------ voxl-camera-server INFO: Stopping tof camera
    
    Segmentation fault:
    Fault thread: voxl-camera-ser(tid: 3431)
    Fault address: 0x68
    Address not mapped.
    Segmentation fault

  • Dev Team

    Hi Steve,

    It looks like the tof camera is causing the issue here, camera server only found 2 cameras (tracking and stereo), but is configured for 3. I think the segfault may be a result of not properly handling a misconfiguration, but the camera server is stopping because the TOF camera is failing to start (we see "starting camera: tof" and then none of the rest of the initialization info)


Log in to reply