ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Sentinel VOA software not available

    Sentinel
    2
    6
    583
    Loading More Posts
    • 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.
    • M
      mkwan
      last edited by

      Hello,

      My Sentinel drone is not outputting valid VOA measurements.

      I have enabled voxl-dfs-server, and I can see correct point clouds from stereo_front_pc and stereo_rear_pc using voxl-portal. I can also see correct stereo_front_disparity and stereo_rear_disparity.

      I have set en_voa to true, and en_send_voa_to_qgc to true, and I can see OBSTACLE_DISTANCE messages in QGC but they are all 1001 when max_distance is 1000.

      This is the list of items in /run/mpa:

      cpu_monitor	qvio_extended		       stereo_front_pc		     tracking		   vvpx4_fixed_pose_input
      hires		qvio_overlay		       stereo_rear		     voa_pc_out		   vvpx4_gps_raw_int
      imu_apps	stereo_front		       stereo_rear_disparity	     vvpx4_body_wrt_fixed  vvpx4_mavlink_io
      mavlink_to_px4	stereo_front_disparity	       stereo_rear_disparity_scaled  vvpx4_body_wrt_local  vvpx4_sys_status
      qvio		stereo_front_disparity_scaled  stereo_rear_pc		     vvpx4_control_input   vvpx4_vehicle_gps
      

      The command voxl-inspect-points voa_pc_out returns no data:

      timestamp(ms)| # points | # bytes |     1st point     | Format
      

      According to the documentation at https://docs.modalai.com/sentinel-user-guide-using-voa/, I should be able to run

      • voxl-voa-server-configure
      • voxl-voa-to-px4
      • voxl-voa-client

      but none of these commands are available.

      -bash: voxl-voa-server-configure: command not found
      

      Here is my version:

      root@qrb5165-rb5:/run/mpa# voxl-version 
      --------------------------------------------------------------------------------
      system-image: 1.2.1-M0054-14.1a-perf
      kernel:       #1 SMP PREEMPT Mon Apr 18 20:36:27 UTC 2022 4.19.125
      --------------------------------------------------------------------------------
      hw version:   M0054
      --------------------------------------------------------------------------------
      voxl-suite:   0.7.0
      --------------------------------------------------------------------------------
      

      Here is my voxl-inspect-services

      root@qrb5165-rb5:/run/mpa# voxl-inspect-services 
       Service Name         |  Enabled  |   Running   |  CPU Usage
      ---------------------------------------------------------------
       docker-autorun       | Disabled  | Not Running |  
       docker-daemon        | Disabled  | Not Running |  
       modallink-relink     | Disabled  | Not Running |  
       voxl-camera-server   |  Enabled  |   Running   |    83.3
       voxl-cpu-monitor     |  Enabled  |   Running   |     0.0
       voxl-dfs-server      |  Enabled  |   Running   |   144.4
       voxl-imu-server      |  Enabled  |   Running   |     0.0
       voxl-mavlink-server  |  Enabled  |   Running   |     0.0
       voxl-modem           |  Enabled  | Not Running |  
       voxl-portal          |  Enabled  |   Running   |     0.0
       voxl-px4-imu-server  | Disabled  | Not Running |  
       voxl-px4             |  Enabled  |   Running   |     0.0
       voxl-qvio-server     |  Enabled  |   Running   |    44.4
       voxl-static-ip       | Disabled  | Not Running |  
       voxl-streamer        |  Enabled  |   Running   |    22.2
       voxl-tag-detector    | Disabled  | Not Running |  
       voxl-tflite-server   | Disabled  | Not Running |  
       voxl-time-sync       | Disabled  | Not Running |  
       voxl-vision-px4      |  Enabled  |   Running   |     0.0
       voxl-wait-for-fs     |  Enabled  |  Completed  |  
      

      Am I missing something to get Sentinel's VOA to run?

      Thanks!

      M 1 Reply Last reply Reply Quote 0
      • ?
        A Former User
        last edited by

        Hi,

        Sorry but that page seems to have been erroneously uploaded, it's completely wrong. For sentinel VOA you should follow the normal collision prevention with voxl-vision-px4 page.

        1 Reply Last reply Reply Quote 0
        • M
          mkwan @mkwan
          last edited by

          @mkwan said in Sentinel VOA software not available:

          I have enabled voxl-dfs-server, and I can see correct point clouds from stereo_front_pc and stereo_rear_pc using voxl-portal. I can also see correct stereo_front_disparity and stereo_rear_disparity.

          I have set en_voa to true, and en_send_voa_to_qgc to true, and I can see OBSTACLE_DISTANCE messages in QGC but they are all 1001 when max_distance is 1000.

          Hi @Alex-Gardner, thanks for looking into this. Does this setup look correct? This should cover the steps listed in voxl-vision-px4.

          Do you think it is because the Sentinel has two stereo cams, ie stereo_front and stereo_rear, instead of a body->stereo_ tf?

          Is the voxl-version the Sentinel shipped with equipped to handle voa with multiple input streams? voxl-suite: 0.7.0

          voxl-inspect-extrinsics:

          #5:
              parent:                body
              child:                 stereo_front_l
              T_child_wrt_parent:    0.079  -0.040  -0.024 
              RPY_parent_to_child:   0.0    90.0    90.0  
              R_child_to_parent:     0.000  -0.000   1.000 
                                     1.000   0.000  -0.000 
                                    -0.000   1.000   0.000 
          #6:
              parent:                body
              child:                 stereo_rear_l
              T_child_wrt_parent:   -0.030   0.040   0.042 
              RPY_parent_to_child:   0.0   -90.0   -90.0  
              R_child_to_parent:     0.000   0.000  -1.000 
                                    -1.000   0.000  -0.000 
                                     0.000   1.000   0.000 
          #7:
              parent:                body
              child:                 tof
              T_child_wrt_parent:    0.078   0.000  -0.025 
              RPY_parent_to_child:   0.0    90.0    90.0  
              R_child_to_parent:     0.000  -0.000   1.000 
                                     1.000   0.000  -0.000 
                                    -0.000   1.000   0.000 
          
          1 Reply Last reply Reply Quote 0
          • M
            mkwan
            last edited by mkwan

            tl;dr: No difference when renaming stereo_front to stereo

            As a test, I edited the config files to rename stereo_front to stereo:

            • voxl-camera-server.conf
            • extrinsics.conf
            • voxl-dfs-server.conf
            • /run/mpa/stereo_front

            Output of voxl-inspect-extrinsics:

            #5:
                parent:                body
                child:                 stereo
                T_child_wrt_parent:    0.079  -0.040  -0.024 
                RPY_parent_to_child:   0.0    90.0    90.0  
                R_child_to_parent:     0.000  -0.000   1.000 
                                       1.000   0.000  -0.000 
                                      -0.000   1.000   0.000 
            

            I could see stereo_pc via voxl-portal populating successfully, but no change to voa_pc_out.

            Same output from voxl-vision-px4 as before:

            # voxl-vision-px4 -s
            detected platform NOT APQ8096
            loading our own config file
            =================================================================
            Parameters as loaded from config file:
            config file version:        1
            qgc_ip:                     192.168.168.101
            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:         1
            en_send_voa_to_qgc:         1
            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:              off
            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
            starting geometry module
            starting px4 monitor
            starting px4 mavlink
            starting udp mavlink
            Adding manual QGC IP address to udp connection list: 192.168.168.101
            Added new UDP connection to 192.168.168.101
            starting fixed pose input
            starting vio manager
            starting tag manager
            starting voa manager
            starting control input pipe
            Init complete, entering main loop
            failed to send VOA data out uart to PX4 // note, this eventually does connect
            ...
            
            Connected to voxl-mavlink-server
            Detected PX4 Mavlink SYSID 1
            ...
            Connected to voxl-qvio-server
            updating to use imu: imu_apps
            done updating transforms to use imu: imu_apps
            ...
            index:  0  dist: none back
            index:  1  dist: none
            index:  2  dist: none
            index:  3  dist: none
            index:  4  dist: none
            index:  5  dist: none
            index:  6  dist: none
            index:  7  dist: none
            index:  8  dist: none
            index:  9  dist: none left
            index: 10  dist: none
            index: 11  dist: none
            index: 12  dist: none
            index: 13  dist: none
            index: 14  dist: none
            index: 15  dist: none
            index: 16  dist: none
            index: 17  dist: none
            index: 18  dist: none forward
            index: 19  dist: none
            index: 20  dist: none
            index: 21  dist: none
            index: 22  dist: none
            index: 23  dist: none
            index: 24  dist: none
            index: 25  dist: none
            index: 26  dist: none
            index: 27  dist: none right
            index: 28  dist: none
            index: 29  dist: none
            index: 30  dist: none
            index: 31  dist: none
            index: 32  dist: none
            index: 33  dist: none
            index: 34  dist: none
            index: 35  dist: none
            index: 36  dist: none
            
            index:  0  dist: none back
            index:  1  dist: none
            index:  2  dist: none
            index:  3  dist: none
            index:  4  dist: none
            index:  5  dist: none
            index:  6  dist: none
            index:  7  dist: none
            index:  8  dist: none
            index:  9  dist: none left
            index: 10  dist: none
            index: 11  dist: none
            index: 12  dist: none
            index: 13  dist: none
            index: 14  dist: none
            index: 15  dist: none
            index: 16  dist: none
            index: 17  dist: none
            index: 18  dist: none forward
            index: 19  dist: none
            index: 20  dist: none
            index: 21  dist: none
            index: 22  dist: none
            index: 23  dist: none
            index: 24  dist: none
            index: 25  dist: none
            index: 26  dist: none
            index: 27  dist: none right
            index: 28  dist: none
            index: 29  dist: none
            index: 30  dist: none
            index: 31  dist: none
            index: 32  dist: none
            index: 33  dist: none
            index: 34  dist: none
            index: 35  dist: none
            index: 36  dist: none
            
            1 Reply Last reply Reply Quote 0
            • ?
              A Former User
              last edited by

              Hi,

              I just tried this on a fresh flash of platform 1.3.1-0.8 and everything seems to be working as intended on my end. My process:

              1. Flash platform release (didn't wipe data directory so my camera calibration remained)
              2. ADB in and run voxl-configure-mpa -p -f sentinel enabling most of the necessary services and setting up the cam->board extrinsics
              3. Run voxl-configure-dfs factory_enable to enable dfs
              4. Run voxl-vision-px4 -s to see the voa debug. It takes ~1 second for the full dfs pipeline to wakeup but eventually I start seeing data like this:
              index:  0  dist: 0.84m back
              index:  1  dist: 0.89m
              index:  2  dist: 1.18m
              index:  3  dist: none
              index:  4  dist: none
              index:  5  dist: none
              index:  6  dist: none
              index:  7  dist: none
              index:  8  dist: none
              index:  9  dist: none left
              index: 10  dist: none
              index: 11  dist: none
              index: 12  dist: none
              index: 13  dist: none
              index: 14  dist: none
              index: 15  dist: 0.91m
              index: 16  dist: 0.75m
              index: 17  dist: 1.03m
              index: 18  dist: 1.17m forward
              index: 19  dist: 1.22m
              index: 20  dist: 1.22m
              index: 21  dist: 1.05m
              index: 22  dist: none
              index: 23  dist: none
              index: 24  dist: none
              index: 25  dist: none
              index: 26  dist: none
              index: 27  dist: none right
              index: 28  dist: none
              index: 29  dist: none
              index: 30  dist: none
              index: 31  dist: none
              index: 32  dist: none
              index: 33  dist: none
              index: 34  dist: 0.68m
              index: 35  dist: none
              index: 36  dist: 0.84m
              
              index:  0  dist: 0.84m back
              index:  1  dist: 0.89m
              index:  2  dist: 1.18m
              index:  3  dist: none
              index:  4  dist: none
              index:  5  dist: none
              index:  6  dist: none
              index:  7  dist: none
              index:  8  dist: none
              index:  9  dist: none left
              index: 10  dist: none
              index: 11  dist: none
              index: 12  dist: none
              index: 13  dist: none
              index: 14  dist: none
              index: 15  dist: 0.91m
              index: 16  dist: 0.75m
              index: 17  dist: 1.03m
              index: 18  dist: 1.17m forward
              index: 19  dist: 1.22m
              index: 20  dist: 1.22m
              index: 21  dist: 1.05m
              index: 22  dist: none
              index: 23  dist: none
              index: 24  dist: none
              index: 25  dist: none
              index: 26  dist: none
              index: 27  dist: none right
              index: 28  dist: none
              index: 29  dist: none
              index: 30  dist: none
              index: 31  dist: none
              index: 32  dist: none
              index: 33  dist: none
              index: 34  dist: 0.68m
              index: 35  dist: none
              index: 36  dist: 0.84m
              

              Can you give these steps a try and let me know if you're still seeing issues

              1 Reply Last reply Reply Quote 0
              • M
                mkwan
                last edited by

                @Alex-Gardner said in Sentinel VOA software not available:

                platform 1.3.1-0.8

                Yes, it worked! I am able to see correct data via voxl-vision-px4 -s and use PX4's Collision Prevention feature.

                The drone was shipped with system-image: 1.2.1-M0054-14.1a-perf and voxl-suite: 0.7.0, but after flashing to Voxl2 Platform 1.3.1-0.8, VOA worked out of the box as described. (Note: during the flashing, I noticed the Sentinel documentation does not list this newest release.)

                To others reading this, some tips:

                1. Use your /data folder to backup any files you don't want wiped, such as changes to /home/root.
                2. In QGroundControl, save your factory params so you don't have to recalibrate your sensors. (Parameters -> Tools -> Save to file...)
                3. Run and save apt list --installed in case there's some apt packages you don't want to forget.
                4. Don't forget to redo the parameters in QGroundControl as mentioned in the VOA documentation.

                Thanks, @Alex-Gardner!

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post
                Powered by NodeBB | Contributors