Why does voxl-inspect-pose -f fail when voxl-vision-px4 -b command is executed ?



  • The following is my voxl version:

    voxl:~$ voxl-version 
    --------------------------------------------------------------------------------
    system-image: 3.8.0
    kernel:       #1 SMP PREEMPT Tue Apr 26 18:08:39 UTC 2022 3.18.71-perf
    --------------------------------------------------------------------------------
    hw version:   VOXL
    --------------------------------------------------------------------------------
    voxl-suite:   0.8.1
    0.7.0
    --------------------------------------------------------------------------------
    

    voxl related packages in opkg are:

    voxl:~$ opkg list-installed | grep voxl
    libvoxl-cutils - 0.1.1
    voxl-camera-calibration - 0.1.5
    voxl-ceres-solver - 1.14.0-7
    voxl-cpu-monitor - 0.2.6
    voxl-docker-support - 1.2.4
    voxl-gphoto2-server - 0.0.10
    voxl-jpeg-turbo - 2.1.3-4
    voxl-libgphoto2 - 0.0.4
    voxl-libuvc - 1.0.6
    voxl-logger - 0.1.2
    voxl-mapper - 0.0.7
    voxl-mavlink - 0.0.7
    voxl-mavlink-server - 0.1.1
    voxl-modem - 0.15.1
    voxl-mongoose - 7.6.0
    voxl-mpa-to-ros - 0.3.2
    voxl-mpa-tools - 0.6.3
    voxl-nlopt - 2.5.0-4
    voxl-opencv - 4.5.5-1
    voxl-portal - 0.2.8
    voxl-qvio-server - 0.4.6
    voxl-streamer - 0.3.1
    voxl-suite - 0.7.0
    voxl-tag-detector - 0.0.4
    voxl-tflite-server - 0.2.3
    voxl-utils - 1.1.1
    voxl-uvc-server - 0.1.1
    voxl-vision-px4 - 1.0.5
    voxl-voxblox - 1.0.4
    voxl-vpn - 0.0.6
    
    

    Initially I can view voxl-inspect-pose -f without any issue:

    voxl:~$ voxl-inspect-pose -f
    timestamp(ms)|     Position (m)     | Roll Pitch Yaw (deg) |    Velocity (m/s)    | angular rate (deg/s) |
          228543 |  -0.04  -0.03  -0.01 |   -2.2   15.6   -0.5 |  -0.00   0.00  -0.00 |  -0.13  -0.22  -0.04 |^C
    received SIGINT Ctrl-C
    

    But after I execute voxl-vision-px4 -b, I get the following output:

    voxl:~$ voxl-vision-px4 -b                                          
    detected platform APQ8096                                           
    loading our own config file                       
    =================================================================   
    Parameters as loaded from config file:            
    config file version:        1                                       
    qgc_ip:                     192.168.8.60          
    en_secondary_qgc:           0                                       
    secondary_qgc_ip:           192.168.1.214         
    qgc_udp_port_number:        14550                                     
    udp_mtu:                    512                   
    en_localhost_mavlink_udp    1                                       
    localhost_udp_port_number:  14551                 
    en_vio:                     1                                         
    en_voa:                     1                        
    en_send_vio_to_qgc:         0                                                                                                                
    en_send_voa_to_qgc:         0                                                                                                                
    voa_upper_bound_m:          -0.150000                               
    voa_lower_bound_m:          0.150000                                  
    en_set_clock_from_gps:      1                                                                                                                
    en_force_onboard_mav1_mode: 1                     
    en_reset_px4_on_error:      1                                                                                                                
    qvio_auto_reset_quality:    0.000500                   
    horizon_cal_tolerance:      0.300000                                  
    offboard_mode:              trajectory            
    follow_tag_id:              0                                                                                                                                                                                                                                                             
    figure_eight_move_home:     1
    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 px4 mavlink
    starting udp mavlink
    Adding manual QGC IP address to udp connection list: 192.168.8.60
    Added new UDP connection to 192.168.8.60
    starting px4 shell
    starting fixed pose input
    starting vio manager
    starting tag manager
    starting voa manager
    starting offboard trajectory
    starting control input pipe
    Init complete, entering main loop
    Connected to voxl-mavlink-server
    Detected PX4 Mavlink SYSID 1
    uart send msgid: 111 sysid:  1 compid:197
    uart send msgid: 111 sysid:  1 compid:197
    Connected to voxl-qvio-server
    updating to use imu: imu1
    done updating transforms to use imu: imu1
    ERROR validating VIO data received through pipe: read partial packet
    read 156 bytes, but it should be a multiple of 324
    uart send msgid: 330 sysid:  1 compid:197
    uart send msgid:  84 sysid:  1 compid:197
    Connected to TOF
    ERROR validating VIO data received through pipe: read partial packet
    read 156 bytes, but it should be a multiple of 324
    uart send msgid: 330 sysid:  1 compid:197
    uart send msgid:  84 sysid:  1 compid:197
    ERROR validating VIO data received through pipe: read partial packet
    read 156 bytes, but it should be a multiple of 324
    uart send msgid: 330 sysid:  1 compid:197
    ......
    ERROR validating VIO data received through pipe: read partial packet
    read 156 bytes, but it should be a multiple of 324
    uart send msgid:  84 sysid:  1 compid:197                           
    uart send msgid: 330 sysid:  1 compid:197         
    ^C                                                                  
    received SIGINT Ctrl-C                            
    Starting shutdown sequence                                          
    stopping control input                            
    stopping offboard trajectory                                        
    uart send msgid: 111 sysid:  1 compid:197         
    uart send msgid: 111 sysid:  1 compid:197                           
    ERROR validating VIO data received through pipe: read partial packet
    read 156 bytes, but it should be a multiple of 324                  
    exiting offboard trajectory thread                
    uart send msgid: 330 sysid:  1 compid:197                           
    stopping horizon_cal                              
    stopping voa manager                                                
    ERROR validating VIO data received through pipe: read partial packet
    read 156 bytes, but it should be a multiple of 324                  
    uart send msgid: 330 sysid:  1 compid:197         
    exiting VOA thread                                                  
    stopping tag manager                              
    stopping vio manager                                                
    stopping fixed pose in module                     
    stopping px4 shell module                                           
    Stopping udp mavlink module                       
    uart send msgid: 111 sysid:  1 compid:197                           
    uart send msgid: 111 sysid:  1 compid:197         
    uart send msgid: 111 sysid:  1 compid:197                           
    uart send msgid: 111 sysid:  1 compid:197         
    uart send msgid: 111 sysid:  1 compid:197                           
    uart send msgid: 111 sysid:  1 compid:197         
    exiting QGC udp listener thread                                     
    exiting localhost udp listener thread             
    udp_mavlink stopped                                                 
    Stopping uart mavlink module                                        
    waiting for px4 mavlink timer thread to join                        
    Stopping px4 monitor                              
    closing remaining client pipes                                      
    closing remaining server pipes                    
    Removing PID file                                                   
    exiting   
    

    The error being:

    ERROR validating VIO data received through pipe: read partial packet
    read 156 bytes, but it should be a multiple of 324
    

    and voxl-inspect-pose -f shows nothing:

    waiting for server at /run/mpa/vvpx4_body_wrt_fixed/
    

    Why is it happening?



  • The partial packet read error usually occurs when there is a version mismatch between packages (i.e. the size of the packet has been updated and one package has the new size but another doesn't). If you update all of your packages together this issue should go away.


Log in to reply