Can't get QGroundControl to connect



  • I have VOXL with tracking camera only. No flight core, as I'm not developing for a drone application.

    I see in wireshark UDP packets from PC going to VOXL and VOXL is seeing them also.

    / # cat /etc/modalai/voxl-vision-px4.conf
    /**
     * VOXL Vision PX4 Configuration File
     *
     */
    {
            "qgc_ip":       "NULL",
            "en_localhost_mavlink_udp":     true,
            "en_secondary_qgc":     false,
            "secondary_qgc_ip":     "192.168.1.214",
            "qgc_udp_port_number":  14550,
            "localhost_udp_port_number":    14551,
            "udp_mtu":      512,
            "en_vio":       true,
            "en_voa":       false,
            "en_send_vio_to_qgc":   false,
            "en_send_voa_to_qgc":   false,
            "en_set_clock_from_gps":        true,
            "en_force_onboard_mav1_mode":   true,
            "en_reset_px4_on_error":        true,
            "qvio_auto_reset_quality":      0.00050000002374872565,
            "en_adsb":      false,
            "adsb_uart_bus":        7,
            "adsb_uart_baudrate":   57600,
            "px4_uart_bus": 5,
            "px4_uart_baudrate":    921600,
            "offboard_mode":        "off",
            "follow_tag_id":        0,
            "en_tag_fixed_frame":   false,
            "fixed_frame_filter_len":       5,
            "en_transform_mavlink_pos_setpoints_from_fixed_frame":  false
    }
    
    voxl-vision-px4 --debug_udp_recv
    Enabling UDP recv debugging
    loading our own config file
    =================================================================
    Parameters as loaded from config file:
    qgc_ip:                     NULL
    en_localhost_mavlink_udp    1
    en_secondary_qgc:           0
    secondary_qgc_ip:           192.168.1.214
    qgc_udp_port_number:        14550
    localhost_udp_port_number:  14551
    udp_mtu:                    512
    en_vio:                     1
    en_voa:                     0
    en_send_vio_to_qgc:         0
    en_send_voa_to_qgc:         0
    en_set_clock_from_gps:      1
    en_force_onboard_mav1_mode: 1
    en_reset_px4_on_error:      1
    qvio_auto_reset_quality:    0.000500
    en_adsb:                    0
    adsb_uart_bus:              7
    adsb_uart_baudrate:         57600
    px4_uart_bus:               5
    px4_uart_baudrate:          921600
    offboard_mode:              off
    follow_tag_id:              0
    en_tag_fixed_frame:         0
    fixed_frame_filter_len:     5
    en_transform_mavlink_pos_setpoints_from_fixed_frame:0
    =================================================================
    loading extrinsics config file
    exising instance of voxl-vision-px4 found, attempting to stop it
    starting geometry module
    starting px4 monitor
    starting uart mavlink
    Successfully opened mavparser
    starting udp mavlink
    Adding manual QGC IP address to udp connection list: NULL
    WARNING: invalid qgc_ip, this is fine if you don't want to use it
    starting px4 shell
    starting fixed pose input
    starting vio manager
    starting tag manager
    Init complete, entering main loop
    UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 192.168.8.112
    Added new UDP connection to 192.168.8.112
    UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 192.168.8.112
    WARNING PX4 DISCONNECTED FROM UART
    UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 192.168.8.112
    UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 192.168.8.112
    UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 192.168.8.112
    UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 192.168.8.112
    UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 192.168.8.112
    UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 192.168.8.112
    UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 192.168.8.112
    

    So packets are arriving, but nothing is being sent from VOXL?

    My goal is to extract all telemetry thru UART, but want to use QGroundControl to view telemetry.



  • Also, I'm not getting any readout using voxl-inspect-qvio

    yocto:/etc/modalai$ voxl-inspect-qvio
    waiting for server
    
    

  • Dev Team

    Is QVIO server running? can you paste the output of voxl-inspect-services



  • Not running, how does it get started?

     Service Name        |  Enabled  |   Running   |  CPU Usage
    --------------------------------------------------------------
     docker-autorun      | Disabled  | Not Running | Not Running
     docker-daemon       | Disabled  | Not Running | Not Running
     modallink-relink    | Disabled  | Not Running | Not Running
     voxl-camera-server  |  Enabled  | Not Running | Not Running
     voxl-cpu-monitor    |  Enabled  |   Running   |   0.0%
     voxl-dfs-server     | Disabled  | Not Running | Not Running
     voxl-imu-server     |  Enabled  | Not Running | Not Running
     voxl-modem          | Disabled  | Not Running | Not Running
     voxl-qvio-server    | Disabled  | Not Running | Not Running
     voxl-streamer       | Disabled  | Not Running | Not Running
     voxl-tag-detector   | Disabled  | Not Running | Not Running
     voxl-tflite-server  | Disabled  | Not Running | Not Running
     voxl-time-sync      | Disabled  | Not Running | Not Running
     voxl-vision-px4     |  Enabled  | Not Running | Not Running
    
    yocto:/etc/modalai$ enable voxl-qvio-server
    -bash: enable: voxl-qvio-server: not a shell builtin
    


  • Looks like I need to calibrate the tracking camera. Can I do this without ROS?

    yocto:/etc/modalai$ voxl-qvio-server
    loading qvio config file
    Creating new config file: /etc/modalai/voxl-qvio-server.conf
    =================================================================
    imu_name:                         imu1
    cam_name:                         tracking
    odr_hz:                           30.000
    use_camera_height_bootstrap:      1
    camera_height_off_ground_m:        0.100
    enable_init_while_moving:         1
    cam_imu_timeshift_s:               0.002
    cam_imu_timeshift_s_uncertainty:   0.001
    T_cam_wrt_imu_uncertainty:         0.005  0.005  0.005
    R_cam_to_imu_uncertainty:          0.040  0.040  0.040
    accl_fsr_ms2:                     156.000
    gyro_fsr_rad:                     34.000
    accl_noise_std_dev:                0.316
    gyro_noise_std_dev:                0.010
    cam_noise_std_dev:                100.000
    min_std_pixel_noise:               0.500
    fail_high_pixel_noise_points:      1.665
    limited_imu_bw_trigger:           35.000
    gps_imu_time_alignment_s:          0.000
    T_gps_wrt_imu:                    -0.115  0.450  0.100
    enable_mapping:                   1
    enable_gps_vel:                   0
    =================================================================
    setting scheduler
    WARNING Failed to set priority, errno = 1
    This seems to be a problem with ADB, the scheduler
    should work properly when this is a background process
    ERROR failed to set scheduler
    loading extrinsics config file
    #0:
        parent:                imu1
        child:                 tracking
        T_child_wrt_parent:    0.017   0.015   0.013
        RPY_parent_to_child:   0.0    45.0    90.0
        R_child_to_parent:     0.000  -0.707   0.707
                               1.000   0.000  -0.000
                              -0.000   0.707   0.707
    tbc:   0.017  0.015  0.013
    ombc:  0.614  0.614  1.482 (axis angle)
    ombc:  0.000 45.000 90.000 (RPY deg)
    
    WARNING: Failed to open tracking camera intrinsic file:
    /data/modalai/opencv_tracking_intrinsics.yml
    using default tracking camera intrinsics for now
    follow instructions here to calibrate the tracking cam:
    https://docs.modalai.com/calibrate-cameras/
    
    using camera intrinsics:
    focal lengths: 275.078000 274.931000
    principle points: 319.625000 243.144000
    distortion: 0.003908 -0.009574 0.010173 -0.003329
    MachineVision is licensed as community user
    LNX_8074 supported? 1
    LNX_8096 supported? 1
    LNX_IA64 supported? 1
    WINDOWS supported? 0
    AR ERROR: arFileOpen(): Failed to open file: /etc/modalai/vislam/Configuration.SF.xml
    FASTCV: fcvAvailableHardware Linux
    mempool cur block size 307200, new block size 307200
    Please ignore the error about Configuration.SF.xml above. ^^^
    It's an optional file, and should be a warning not an error
    waiting for imu
    waiting for cam
    


  • @Alex-Gardner I turned on some of the services

     Service Name        |  Enabled  |   Running   |  CPU Usage
    --------------------------------------------------------------
     docker-autorun      | Disabled  | Not Running | Not Running
     docker-daemon       | Disabled  | Not Running | Not Running
     modallink-relink    | Disabled  | Not Running | Not Running
     voxl-camera-server  |  Enabled  |   Running   |   4.1%
     voxl-cpu-monitor    |  Enabled  |   Running   |   0.0%
     voxl-dfs-server     | Disabled  | Not Running | Not Running
     voxl-imu-server     |  Enabled  | Not Running | Not Running
     voxl-modem          | Disabled  | Not Running | Not Running
     voxl-qvio-server    |  Enabled  |   Running   |  10.6%
     voxl-streamer       | Disabled  | Not Running | Not Running
     voxl-tag-detector   | Disabled  | Not Running | Not Running
     voxl-tflite-server  | Disabled  | Not Running | Not Running
     voxl-time-sync      | Disabled  | Not Running | Not Running
     voxl-vision-px4     |  Enabled  |   Running   |   1.8%
    

    getting vio data, but lots of BAD_CAM_CAL

    yocto:~$ voxl-inspect-qvio
    waiting for server
    
        T_imu_wrt_vio (m)   |Roll Pitch Yaw (deg)| state| error_code
     -377.23 1276.78  231.84|  20.6   47.4  -97.2| OKAY | BAD_CAM_CAL
     -379.63 1270.80  230.19|  28.4   40.2  -73.3| OKAY | BAD_CAM_CAL
     -380.97 1266.02  229.11|  31.1   33.5  -57.5| OKAY | BAD_CAM_CAL
     -346.15 1295.79  243.18|  22.2    6.9    1.4| OKAY |
     -346.10 1295.99  243.34|  21.1    5.9    4.5| OKAY |
     -346.02 1296.26  243.58|  19.5    4.8    8.5| OKAY | BAD_CAM_CAL
     -345.99 1296.50  243.75|  18.2    3.9   11.6| OKAY |
     -345.98 1296.77  243.93|  16.9    3.1   14.7| OKAY | BAD_CAM_CAL
     -346.00 1297.45  244.38|  13.7    1.6   22.2| OKAY |
     -346.03 1297.77  244.58|  12.3    1.1   25.4| OKAY | BAD_CAM_CAL
    

  • Dev Team

    Calibrating the cameras currently requires ROS (though we're making progress on an on-board embedded tool that should be here in a few weeks).



  • @Alex-Gardner thank you. I'll head down that path with ROS.

    Any readmes/docs/guidance on how I can extract the telemetry/pose data via UART(J10)? I have the hardware connected, but a bit lost on where to start. Would it be easier if I added the Flight Core to the VOXL to get the telemetry ports J4/J5?

    Is Flight Core required to allow qGroundControl to connect to VOXL?

    Thanks.


Log in to reply