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

ModalAI Forum

  1. ModalAI Support Forum
  2. VOXL Dev Drones
  3. Sentinel
  4. adb is not working after tflite deployment.

adb is not working after tflite deployment.

Scheduled Pinned Locked Moved Sentinel
32 Posts 3 Posters 7.1k 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.
  • tomT tom

    @bgaudel Are you able to ping the drone from the ground station and vice-versa?

    B Offline
    B Offline
    bgaudel
    Contributor
    wrote on last edited by
    #13

    @tom Yes I am able to ping the drone from GS and vice versa shown in the image below.

    This one is ping my PC from drone:
    dbda4815-2716-4246-9a98-c1b9e159c358-image.png

    This is ping drone from my PC (my qgc):

    mypc@mypc:~/mypc$ ping 172.16.0.143
    PING 172.16.0.143 (172.16.0.143) 56(84) bytes of data.
    64 bytes from 172.16.0.143: icmp_seq=1 ttl=64 time=27.0 ms
    64 bytes from 172.16.0.143: icmp_seq=2 ttl=64 time=50.9 ms
    64 bytes from 172.16.0.143: icmp_seq=3 ttl=64 time=71.3 ms
    64 bytes from 172.16.0.143: icmp_seq=4 ttl=64 time=94.7 ms
    64 bytes from 172.16.0.143: icmp_seq=5 ttl=64 time=118 ms
    ^C
    --- 172.16.0.143 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4005ms
    rtt min/avg/max/mdev = 27.039/72.410/118.097/31.966 ms
    
    
    tomT 1 Reply Last reply
    0
    • B bgaudel

      @tom Yes I am able to ping the drone from GS and vice versa shown in the image below.

      This one is ping my PC from drone:
      dbda4815-2716-4246-9a98-c1b9e159c358-image.png

      This is ping drone from my PC (my qgc):

      mypc@mypc:~/mypc$ ping 172.16.0.143
      PING 172.16.0.143 (172.16.0.143) 56(84) bytes of data.
      64 bytes from 172.16.0.143: icmp_seq=1 ttl=64 time=27.0 ms
      64 bytes from 172.16.0.143: icmp_seq=2 ttl=64 time=50.9 ms
      64 bytes from 172.16.0.143: icmp_seq=3 ttl=64 time=71.3 ms
      64 bytes from 172.16.0.143: icmp_seq=4 ttl=64 time=94.7 ms
      64 bytes from 172.16.0.143: icmp_seq=5 ttl=64 time=118 ms
      ^C
      --- 172.16.0.143 ping statistics ---
      5 packets transmitted, 5 received, 0% packet loss, time 4005ms
      rtt min/avg/max/mdev = 27.039/72.410/118.097/31.966 ms
      
      
      tomT Online
      tomT Online
      tom
      admin
      wrote on last edited by
      #14

      @bgaudel Have you been able to connect to QGC on this PC in the past? I'm wondering if there is some firewall preventing the traffic

      B 1 Reply Last reply
      0
      • tomT tom

        @bgaudel Have you been able to connect to QGC on this PC in the past? I'm wondering if there is some firewall preventing the traffic

        B Offline
        B Offline
        bgaudel
        Contributor
        wrote on last edited by
        #15

        @tom Indeed, I have previously utilized the same computer without any issues, and the connection was established successfully. It is perplexing since I have not implemented any firewall restrictions on the PC. I am uncertain about the underlying cause of this connectivity problem.

        tomT 1 Reply Last reply
        0
        • B bgaudel

          @tom Indeed, I have previously utilized the same computer without any issues, and the connection was established successfully. It is perplexing since I have not implemented any firewall restrictions on the PC. I am uncertain about the underlying cause of this connectivity problem.

          tomT Online
          tomT Online
          tom
          admin
          wrote on last edited by
          #16

          @bgaudel Does QGC have auto-connect over UDP enabled?

          B 1 Reply Last reply
          0
          • tomT tom

            @bgaudel Does QGC have auto-connect over UDP enabled?

            B Offline
            B Offline
            bgaudel
            Contributor
            wrote on last edited by
            #17

            @tom Yes, the QGC has auto-connect over UDP enabled.

            we see the status of voxl-px4 as well,

            rb5:~$ systemctl status voxl-px4
            ● voxl-px4.service - px4
               Loaded: loaded (/etc/systemd/system/voxl-px4.service; enabled; vendor preset: enabled)
               Active: active (running) since Tue 2022-09-06 03:18:14 UTC; 11min ago
             Main PID: 2892 (voxl-px4)
                Tasks: 26 (limit: 4915)
               CGroup: /system.slice/voxl-px4.service
                       ├─2892 /bin/bash /usr/bin/voxl-px4 -d
                       └─2904 px4 -d -s /etc/modalai/voxl-px4.config
            
            Sep 06 03:26:44 m0052 bash[2892]: INFO  [PreFlightCheck] Failed EKF sensor bias preflight check
            Sep 06 03:26:44 m0052 bash[2892]: ERROR [muorb] SLPI: MAG #0 failed:  TIMEOUT!
            Sep 06 03:26:44 m0052 bash[2892]: INFO  [PreFlightCheck] Failed EKF sensor bias preflight check
            Sep 06 03:26:44 m0052 bash[2892]: ERROR [muorb] SLPI: MAG #0 failed:  TIMEOUT!
            Sep 06 03:26:44 m0052 bash[2892]: INFO  [PreFlightCheck] Failed EKF sensor bias preflight check
            Sep 06 03:26:44 m0052 bash[2892]: INFO  [PreFlightCheck] Failed EKF sensor bias preflight check
            Sep 06 03:26:44 m0052 bash[2892]: ERROR [muorb] SLPI: MAG #0 failed:  TIMEOUT!
            Sep 06 03:26:44 m0052 bash[2892]: INFO  [PreFlightCheck] Failed EKF sensor bias preflight check
            Sep 06 03:26:44 m0052 bash[2892]: ERROR [muorb] SLPI: MAG #0 failed:  TIMEOUT!
            Sep 06 03:26:44 m0052 bash[2892]: ERROR [muorb] SLPI: MAG #0 failed:  TIMEOUT!
            

            ==================
            the output of debugging the communication link as per https://docs.modalai.com/voxl-vision-px4-telemetry/

            rb5:/$ voxl-vision-px4 --debug_udp_recv
            Enabling UDP recv debugging
            loading our own config file
            =================================================================
            Parameters as loaded from config file:
            config_file_version:        1
            MAVLINK IO
            qgc_ip:                     NULL
            en_secondary_qgc:           0
            secondary_qgc_ip:           NULL
            qgc_udp_port_number:        14550
            udp_mtu:                    512
            en_localhost_mavlink_udp    1
            localhost_udp_port_number:  14551
            VIO
            en_vio:                     1
            vio_pipe:                   qvio
            en_send_vio_to_qgc:         0
            en_reset_vio_if_initialized_inverted: 1
            vio_warmup_s:               3.000000
            send_odom_while_failed:     0
            MISC FEATURES
            horizon_cal_tolerance:      0.500000
            OFFBOARD MODE
            offboard_mode:              off
            follow_tag_id:              0
            figure_eight_move_home:     1
            robot_radius:               0.300000
            collision_sampling_dt:      0.100000
            max_lookahead_distance:     1.000000
            FIXED FRAME RELOCALIZATION
            en_tag_fixed_frame:         0
            fixed_frame_filter_len:     5
            en_transform_mavlink_pos_setpoints_from_fixed_frame:0
            COLLISION PREVENTION (VOA)
            en_voa:                     1
            en_send_voa_to_qgc:         0
            voa_upper_bound_m:          -0.150000
            voa_lower_bound_m:          0.150000
            voa_memory_s:               1.000000
            voa_input #0
                enabled:            1
                type:               point_cloud
                input_pipe:         dfs_point_cloud
                frame:              stereo_l
            voa_input #1
                enabled:            1
                type:               point_cloud
                input_pipe:         stereo_front_pc
                frame:              stereo_front_l
            voa_input #2
                enabled:            1
                type:               point_cloud
                input_pipe:         stereo_rear_pc
                frame:              stereo_rear_l
            voa_input #3
                enabled:            1
                type:               tof
                input_pipe:         tof
                frame:              tof
            voa_input #4
                enabled:            1
                type:               rangefinder
                input_pipe:         rangefinders
                frame:              body
            =================================================================
            loading extrinsics config file
            loading horizon cal file
            existing instance of voxl-vision-px4 found, attempting to stop it
            starting geometry module
            starting px4 monitor
            starting px4 mavlink
            Waiting to connect to voxl-mavlink-server
            Connected to voxl-mavlink-server
            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 fixed pose input
            starting vio manager
            Connected to VIO pipe: qvio
            updating to use imu: imu_px4
            done updating transforms to use imu: imu_px4
            starting tag manager
            starting voa manager
            Connected to voxl-tag-detector
            Connected to pipe: stereo_front_pc
            Connected to pipe: stereo_rear_pc
            starting horizon cal module
            Init complete
            WARNING: connected to voxl-mavlink-server but no messages from PX4
            UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
            Added new UDP connection to 172.16.0.203
            UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
            UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
            UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
            UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
            UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
            UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
            UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
            UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
            UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
            

            Is there any specific configuration or installation that we need to do for px4 or QGC after installing the VOXL SDK image on a rb5 drone?

            tomT 1 Reply Last reply
            0
            • B bgaudel

              @tom Yes, the QGC has auto-connect over UDP enabled.

              we see the status of voxl-px4 as well,

              rb5:~$ systemctl status voxl-px4
              ● voxl-px4.service - px4
                 Loaded: loaded (/etc/systemd/system/voxl-px4.service; enabled; vendor preset: enabled)
                 Active: active (running) since Tue 2022-09-06 03:18:14 UTC; 11min ago
               Main PID: 2892 (voxl-px4)
                  Tasks: 26 (limit: 4915)
                 CGroup: /system.slice/voxl-px4.service
                         ├─2892 /bin/bash /usr/bin/voxl-px4 -d
                         └─2904 px4 -d -s /etc/modalai/voxl-px4.config
              
              Sep 06 03:26:44 m0052 bash[2892]: INFO  [PreFlightCheck] Failed EKF sensor bias preflight check
              Sep 06 03:26:44 m0052 bash[2892]: ERROR [muorb] SLPI: MAG #0 failed:  TIMEOUT!
              Sep 06 03:26:44 m0052 bash[2892]: INFO  [PreFlightCheck] Failed EKF sensor bias preflight check
              Sep 06 03:26:44 m0052 bash[2892]: ERROR [muorb] SLPI: MAG #0 failed:  TIMEOUT!
              Sep 06 03:26:44 m0052 bash[2892]: INFO  [PreFlightCheck] Failed EKF sensor bias preflight check
              Sep 06 03:26:44 m0052 bash[2892]: INFO  [PreFlightCheck] Failed EKF sensor bias preflight check
              Sep 06 03:26:44 m0052 bash[2892]: ERROR [muorb] SLPI: MAG #0 failed:  TIMEOUT!
              Sep 06 03:26:44 m0052 bash[2892]: INFO  [PreFlightCheck] Failed EKF sensor bias preflight check
              Sep 06 03:26:44 m0052 bash[2892]: ERROR [muorb] SLPI: MAG #0 failed:  TIMEOUT!
              Sep 06 03:26:44 m0052 bash[2892]: ERROR [muorb] SLPI: MAG #0 failed:  TIMEOUT!
              

              ==================
              the output of debugging the communication link as per https://docs.modalai.com/voxl-vision-px4-telemetry/

              rb5:/$ voxl-vision-px4 --debug_udp_recv
              Enabling UDP recv debugging
              loading our own config file
              =================================================================
              Parameters as loaded from config file:
              config_file_version:        1
              MAVLINK IO
              qgc_ip:                     NULL
              en_secondary_qgc:           0
              secondary_qgc_ip:           NULL
              qgc_udp_port_number:        14550
              udp_mtu:                    512
              en_localhost_mavlink_udp    1
              localhost_udp_port_number:  14551
              VIO
              en_vio:                     1
              vio_pipe:                   qvio
              en_send_vio_to_qgc:         0
              en_reset_vio_if_initialized_inverted: 1
              vio_warmup_s:               3.000000
              send_odom_while_failed:     0
              MISC FEATURES
              horizon_cal_tolerance:      0.500000
              OFFBOARD MODE
              offboard_mode:              off
              follow_tag_id:              0
              figure_eight_move_home:     1
              robot_radius:               0.300000
              collision_sampling_dt:      0.100000
              max_lookahead_distance:     1.000000
              FIXED FRAME RELOCALIZATION
              en_tag_fixed_frame:         0
              fixed_frame_filter_len:     5
              en_transform_mavlink_pos_setpoints_from_fixed_frame:0
              COLLISION PREVENTION (VOA)
              en_voa:                     1
              en_send_voa_to_qgc:         0
              voa_upper_bound_m:          -0.150000
              voa_lower_bound_m:          0.150000
              voa_memory_s:               1.000000
              voa_input #0
                  enabled:            1
                  type:               point_cloud
                  input_pipe:         dfs_point_cloud
                  frame:              stereo_l
              voa_input #1
                  enabled:            1
                  type:               point_cloud
                  input_pipe:         stereo_front_pc
                  frame:              stereo_front_l
              voa_input #2
                  enabled:            1
                  type:               point_cloud
                  input_pipe:         stereo_rear_pc
                  frame:              stereo_rear_l
              voa_input #3
                  enabled:            1
                  type:               tof
                  input_pipe:         tof
                  frame:              tof
              voa_input #4
                  enabled:            1
                  type:               rangefinder
                  input_pipe:         rangefinders
                  frame:              body
              =================================================================
              loading extrinsics config file
              loading horizon cal file
              existing instance of voxl-vision-px4 found, attempting to stop it
              starting geometry module
              starting px4 monitor
              starting px4 mavlink
              Waiting to connect to voxl-mavlink-server
              Connected to voxl-mavlink-server
              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 fixed pose input
              starting vio manager
              Connected to VIO pipe: qvio
              updating to use imu: imu_px4
              done updating transforms to use imu: imu_px4
              starting tag manager
              starting voa manager
              Connected to voxl-tag-detector
              Connected to pipe: stereo_front_pc
              Connected to pipe: stereo_rear_pc
              starting horizon cal module
              Init complete
              WARNING: connected to voxl-mavlink-server but no messages from PX4
              UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
              Added new UDP connection to 172.16.0.203
              UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
              UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
              UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
              UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
              UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
              UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
              UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
              UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
              UDP recv msg ID:   0 sysid:255 from port: 14550 IP: 172.16.0.203 
              

              Is there any specific configuration or installation that we need to do for px4 or QGC after installing the VOXL SDK image on a rb5 drone?

              tomT Online
              tomT Online
              tom
              admin
              wrote on last edited by tom
              #18

              @bgaudel What does your voxl-vision-px4 config file look like? cat /etc/modalai/voxl-vision-px4.conf?

              I'm seeing qgc_ip: NULL, which may be the issue

              B 1 Reply Last reply
              0
              • tomT tom

                @bgaudel What does your voxl-vision-px4 config file look like? cat /etc/modalai/voxl-vision-px4.conf?

                I'm seeing qgc_ip: NULL, which may be the issue

                B Offline
                B Offline
                bgaudel
                Contributor
                wrote on last edited by
                #19

                @tom we tried different settings. The following is the IP setup that we have on the LAN network using a router. "qgc_ip": "172.16.0.203", is my computer IP, and the drone IP is 172.16.0.75". Also, the ping test works back and forth.

                rb5:/$ cat /etc/modalai/voxl-vision-px4.conf        
                /**
                 * VOXL Vision PX4 Configuration File
                 *
                 * version: don't touch this, used to keep track of changing config file formats
                 *
                 * ##############################################################################
                 * ## Networking
                 * ##############################################################################
                 *
                 * qgc_ip:
                 *         Manually inform voxl-vision-px4 of the IP address of your QGC Ground
                 *         Controller by providing the IP address of your ground station computer
                 *         in the “qgc_ip” field of the config file. This field is also configured
                 *         as one of the first questions in the configuration wizard.
                 *         If you wish to rely on QGC to initiate the connection to VOXL you can
                 *         leave this field as-is, blank, or “NULL”. Mavlink data is sent to this
                 *         IP on port 14550 by default, but this can be changed with the
                 *         qgc_udp_port_number config value.
                 *
                 * en_secondary_qgc:
                 *         Enable manually setting a second QGC ground station IP address.
                 *
                 * secondary_qgc_ip:
                 *         IP address for optional second QGC connection. Note that many more mavlink
                 *         connections can be made as long as they are initialized by the other device.
                 *
                 * qgc_udp_port_number:
                 *         Port to use for manual and automatic QGC connections, default 14550
                 *
                 * udp_mtu:
                 *         Max size of UDP packet to send to QGC. Multiple mavlink messages will be
                 *         combined into one UDP packet to reduce network traffic. Set this to 0 to
                 *         send one UDP packet for every mavlink message. Default is 512 which
                 *         allows several mavlink messages per UDP packet.
                 *
                 * en_localhost_mavlink_udp:
                 *         If you are running MAVROS/MAVSDK onboard VOXL and wish to open access to
                 *         PX4 through a localhost UDP port simply ensure the follow feature is
                 *         enabled. This is set to true by default. This will allow one local process
                 *         to communicate with PX4 via port 14551 by default, NOT 14550 which is
                 *         reserved for connections outside the board. These separation prevents
                 *         conflicts between the two sockets. Both MAVROS and MAVSDK can be
                 *         configured to use this port.
                 *
                 * localhost_udp_port_number:
                 *         Port number for localhost UDP socket, default 14551
                 *
                 * ##############################################################################
                 * ## VIO
                 * ##############################################################################
                 *
                 * en_vio:
                 *         Enable processing of VIO data from MPA to be sent to PX4 as mavlink
                 *         odometry messages. Enabled by default.
                 *
                 * vio_pipe:
                 *         Which pipe to subscribe to VIO data. Must be a standard libmodal-pipe
                 *         vio_data_t type. Default is qvio
                 *
                 * en_send_vio_to_qgc:
                 *         Enable sending of VIO odometry messages to QGC for debug.
                 *         Note PX4 also sends odometry messages to QGC, so look for
                 *         the messages in mavlink-inspector marked as from component 197
                 *
                 * en_reset_vio_if_initialized_inverted:
                 *         For VIO algorithms like qVIO that can initialize in any orientation
                 *         and output their estimate of the gravity vector, we suggest leaving
                 *         this enabled to allow vvpx4 to automatically send the reset signal
                 *         back to the VIO pipe if VIO was initialized upside-down or sufficiently
                 *         off-level. Helpful if the user powers on a drone while carrying it to
                 *         the flight area and VIO starts too early.
                 *
                 * vio_warmup_s:
                 *         Wait this for this amount of time of having good VIO data before
                 *         actually starting to send to PX4. This helps stop EKF2 getting
                 *         confused if VIO flickers in and out while struggling to init.
                 *         Set to 0 to disable the feature.
                 *
                 * send_odom_while_failed:
                 *         Off by default. Reserved for the future when PX4 supports quality field
                 *
                 * ##############################################################################
                 * ## APQ8096-only Features
                 * ##############################################################################
                 *
                 * en_set_clock_from_gps:
                 *         Enable setting the VOXL system time to GPS time if no NTP server can be
                 *         reached via network to set the time.
                 *
                 * en_force_onboard_mav1_mode:
                 *         Force PX4 to use onboard mode for mavlink 1 channel which is the channel
                 *         apq8096 (VOXL1) uses to communicate UART Mavlink with PX4. Not applicable
                 *         to qrb5165-based platforms. Sets the MAV1_MODE PX4 param.
                 *
                 * en_reset_px4_on_error:
                 *         Trigger a reboot of PX4 one some of PX4's unrecoverable errors,
                 *         Not applicable to qrb5165
                 *         Yaw estimate error & High Accelerometer Bias and both detected
                 *
                 * ##############################################################################
                 * ## Misc Features
                 * ##############################################################################
                 *
                 * horizon_cal_tolerance:
                 *         Allowable standard deviation in roll/pitch values to consider the drone
                 *         stable enough in flight to do a PX4 horizon calibration. Default is 0.45,
                 *         you can increase this slightly if flying in a small indoor area or with
                 *         a drone that does not hold still very well.
                 *         See https://docs.modalai.com/calibrate-px4-horizon/
                 *
                 * ##############################################################################
                 * ## offboard mode config
                 * ##############################################################################
                 *
                 * offboard_mode: The following are valid strings
                 *     off: VVPX4 will not send any offboard commands to PX4
                 *     figure_eight: Default value, VVPX4 commands PX4 to fly a figure 8 path
                 *     follow_tag: Drone will follow an apriltag around. Very dangerous, not
                 *                 recommended for customer use, for ModalAI R&D only.
                 *     trajectory: VVPX4 receives polynomial trajectories by pipe and commands
                 *                 PX4 to follow the trajectory path. Still in development.
                 *
                 * follow_tag_id:
                 *         Apriltag ID to follow in follow_tag mode
                 *
                 * figure_eight_move_home:
                 *         Enable by default, resets the center of the figure 8 path to wherever
                 *         the drone is when flipped into offboard mode. When disabled, the drone
                 *         will quickly fly back to the XYZ point 0,0,-1.5 in VIO frame before
                 *         starting the figure 8. Disabling this feature can be dangerous if VIO
                 *         has drifted significantly.
                 *
                 * robot_radius:
                 *         Robot radius to use when checking collisions within the trajectory monitor.
                 * 		   The trajectory monitor is only active when in trajectory mode
                 *
                 * collision_sampling_dt:
                 *         The time step to sample along the polynomials by when checking for collisions
                 * 		   in the collision monitor.
                 *
                 * max_lookahead_distance:
                 *         Maximum distance to look along the trajectory. Sensor data further out can be
                 * 		   unrealiable so keeping this value small reduces false positives
                 *
                 * ##############################################################################
                 * ## Fixed Frame Tag Relocalization
                 * ##############################################################################
                 *
                 * en_tag_fixed_frame:
                 *         Enable fixed frame relocalization via voa_inputs.
                 *         See: https://docs.modalai.com/voxl-vision-px4-apriltag-relocalization/
                 *
                 * fixed_frame_filter_len:
                 *         Length of the moving average filter to use for smooth relocalization
                 *         when a tag is detected. Default is 5, a longer filter will result in
                 *         smoother behavior when a new tag comes into view. Set to 1 to do no
                 *         filtering at all and assume every tag detection is accurate.
                 *
                 * en_transform_mavlink_pos_setpoints_from_fixed_frame:
                 *         When enabled, mavlink position_target_local_ned_t commands received on
                 *         via UDP will be assumed to be in fixed frame and are then transformed
                 *         to local frame before being sent to PX4. This allows offboard mode
                 *         position commands from MAVROS/MAVSDK to be in fixed frame relative to
                 *         voa_inputs even though PX4/EKF2 operates in local frame relative to where
                 *         VIO initialized.
                 *
                 * ##############################################################################
                 * ## Collision Prevention (VOA)
                 * ## Settings for configuring data sent to PX4 for Collision Prevention
                 * ##############################################################################
                 *
                 * en_voa:
                 *         Enable processing of DFS and TOF data to be sent to PX4 as mavlink
                 *         obstacle_distance messages for collision prevention in position mode.
                 *
                 * en_send_voa_to_qgc:
                 *         Enable sending of VOA obstacle_distance messages to QGC for debug.
                 *
                 * voa_lower_bound_m & voa_upper_bound_m:
                 *         VOA ignores obstacles above and below the upper and lower bounds.
                 *         Remember, Z points downwards in body and NED frames, so the lower bound
                 *         is a positive number, and the upper bound is a negative number.
                 *         Defaults are lower: 0.15  upper: -0.15 Units are in meters.
                 *
                 * voa_memory_s:
                 *         number of seconds to keep track of sensor readings for VOA
                 *         default: 1.0
                 *
                 * voa_inputs:
                 *         Array of pipes to subscribe to for use with VOA, up to 10 supported
                 *         Each entry has 4 fields:
                 *
                 *         enabled: true or false, it's safe to leave this enabled when the pipe is missing
                 *         type: can be point_cloud, tof, or rangefinder
                 *         input_pipe: pipe name, e.g. stereo_front_pc, rangefinders, tof, etc
                 *         frame: frame of reference, should be listed in /etc/modalai/extrinsics/conf
                 *
                 */
                {
                	"config_file_version":	1,
                	"qgc_ip":	"172.16.0.203",
                	"en_secondary_qgc":	false,
                	"secondary_qgc_ip":	"192.168.1.214",
                	"qgc_udp_port_number":	14550,
                	"udp_mtu":	512,
                	"en_localhost_mavlink_udp":	true,
                	"localhost_udp_port_number":	14551,
                	"vio_pipe":	"qvio",
                	"en_vio":	true,
                	"en_send_vio_to_qgc":	false,
                	"en_reset_vio_if_initialized_inverted":	true,
                	"vio_warmup_s":	3,
                	"send_odom_while_failed":	false,
                	"horizon_cal_tolerance":	0.5,
                	"offboard_mode":	"off",
                	"follow_tag_id":	0,
                	"figure_eight_move_home":	true,
                	"robot_radius":	0.300000011920929,
                	"collision_sampling_dt":	0.1,
                	"max_lookahead_distance":	1,
                	"en_tag_fixed_frame":	false,
                	"fixed_frame_filter_len":	5,
                	"en_transform_mavlink_pos_setpoints_from_fixed_frame":	false,
                	"en_voa":	true,
                	"en_send_voa_to_qgc":	false,
                	"voa_upper_bound_m":	-0.15000000596046448,
                	"voa_lower_bound_m":	0.15000000596046448,
                	"voa_memory_s":	1,
                	"voa_inputs":	[{
                			"enabled":	true,
                			"type":	"point_cloud",
                			"input_pipe":	"dfs_point_cloud",
                			"frame":	"stereo_l"
                		}, {
                			"enabled":	true,
                			"type":	"point_cloud",
                			"input_pipe":	"stereo_front_pc",
                			"frame":	"stereo_front_l"
                		}, {
                			"enabled":	true,
                			"type":	"point_cloud",
                			"input_pipe":	"stereo_rear_pc",
                			"frame":	"stereo_rear_l"
                		}, {
                			"enabled":	true,
                			"type":	"tof",
                			"input_pipe":	"tof",
                			"frame":	"tof"
                		}, {
                			"enabled":	true,
                			"type":	"rangefinder",
                			"input_pipe":	"rangefinders",
                			"frame":	"body"
                		}]
                }
                
                
                tomT 1 Reply Last reply
                0
                • B bgaudel

                  @tom we tried different settings. The following is the IP setup that we have on the LAN network using a router. "qgc_ip": "172.16.0.203", is my computer IP, and the drone IP is 172.16.0.75". Also, the ping test works back and forth.

                  rb5:/$ cat /etc/modalai/voxl-vision-px4.conf        
                  /**
                   * VOXL Vision PX4 Configuration File
                   *
                   * version: don't touch this, used to keep track of changing config file formats
                   *
                   * ##############################################################################
                   * ## Networking
                   * ##############################################################################
                   *
                   * qgc_ip:
                   *         Manually inform voxl-vision-px4 of the IP address of your QGC Ground
                   *         Controller by providing the IP address of your ground station computer
                   *         in the “qgc_ip” field of the config file. This field is also configured
                   *         as one of the first questions in the configuration wizard.
                   *         If you wish to rely on QGC to initiate the connection to VOXL you can
                   *         leave this field as-is, blank, or “NULL”. Mavlink data is sent to this
                   *         IP on port 14550 by default, but this can be changed with the
                   *         qgc_udp_port_number config value.
                   *
                   * en_secondary_qgc:
                   *         Enable manually setting a second QGC ground station IP address.
                   *
                   * secondary_qgc_ip:
                   *         IP address for optional second QGC connection. Note that many more mavlink
                   *         connections can be made as long as they are initialized by the other device.
                   *
                   * qgc_udp_port_number:
                   *         Port to use for manual and automatic QGC connections, default 14550
                   *
                   * udp_mtu:
                   *         Max size of UDP packet to send to QGC. Multiple mavlink messages will be
                   *         combined into one UDP packet to reduce network traffic. Set this to 0 to
                   *         send one UDP packet for every mavlink message. Default is 512 which
                   *         allows several mavlink messages per UDP packet.
                   *
                   * en_localhost_mavlink_udp:
                   *         If you are running MAVROS/MAVSDK onboard VOXL and wish to open access to
                   *         PX4 through a localhost UDP port simply ensure the follow feature is
                   *         enabled. This is set to true by default. This will allow one local process
                   *         to communicate with PX4 via port 14551 by default, NOT 14550 which is
                   *         reserved for connections outside the board. These separation prevents
                   *         conflicts between the two sockets. Both MAVROS and MAVSDK can be
                   *         configured to use this port.
                   *
                   * localhost_udp_port_number:
                   *         Port number for localhost UDP socket, default 14551
                   *
                   * ##############################################################################
                   * ## VIO
                   * ##############################################################################
                   *
                   * en_vio:
                   *         Enable processing of VIO data from MPA to be sent to PX4 as mavlink
                   *         odometry messages. Enabled by default.
                   *
                   * vio_pipe:
                   *         Which pipe to subscribe to VIO data. Must be a standard libmodal-pipe
                   *         vio_data_t type. Default is qvio
                   *
                   * en_send_vio_to_qgc:
                   *         Enable sending of VIO odometry messages to QGC for debug.
                   *         Note PX4 also sends odometry messages to QGC, so look for
                   *         the messages in mavlink-inspector marked as from component 197
                   *
                   * en_reset_vio_if_initialized_inverted:
                   *         For VIO algorithms like qVIO that can initialize in any orientation
                   *         and output their estimate of the gravity vector, we suggest leaving
                   *         this enabled to allow vvpx4 to automatically send the reset signal
                   *         back to the VIO pipe if VIO was initialized upside-down or sufficiently
                   *         off-level. Helpful if the user powers on a drone while carrying it to
                   *         the flight area and VIO starts too early.
                   *
                   * vio_warmup_s:
                   *         Wait this for this amount of time of having good VIO data before
                   *         actually starting to send to PX4. This helps stop EKF2 getting
                   *         confused if VIO flickers in and out while struggling to init.
                   *         Set to 0 to disable the feature.
                   *
                   * send_odom_while_failed:
                   *         Off by default. Reserved for the future when PX4 supports quality field
                   *
                   * ##############################################################################
                   * ## APQ8096-only Features
                   * ##############################################################################
                   *
                   * en_set_clock_from_gps:
                   *         Enable setting the VOXL system time to GPS time if no NTP server can be
                   *         reached via network to set the time.
                   *
                   * en_force_onboard_mav1_mode:
                   *         Force PX4 to use onboard mode for mavlink 1 channel which is the channel
                   *         apq8096 (VOXL1) uses to communicate UART Mavlink with PX4. Not applicable
                   *         to qrb5165-based platforms. Sets the MAV1_MODE PX4 param.
                   *
                   * en_reset_px4_on_error:
                   *         Trigger a reboot of PX4 one some of PX4's unrecoverable errors,
                   *         Not applicable to qrb5165
                   *         Yaw estimate error & High Accelerometer Bias and both detected
                   *
                   * ##############################################################################
                   * ## Misc Features
                   * ##############################################################################
                   *
                   * horizon_cal_tolerance:
                   *         Allowable standard deviation in roll/pitch values to consider the drone
                   *         stable enough in flight to do a PX4 horizon calibration. Default is 0.45,
                   *         you can increase this slightly if flying in a small indoor area or with
                   *         a drone that does not hold still very well.
                   *         See https://docs.modalai.com/calibrate-px4-horizon/
                   *
                   * ##############################################################################
                   * ## offboard mode config
                   * ##############################################################################
                   *
                   * offboard_mode: The following are valid strings
                   *     off: VVPX4 will not send any offboard commands to PX4
                   *     figure_eight: Default value, VVPX4 commands PX4 to fly a figure 8 path
                   *     follow_tag: Drone will follow an apriltag around. Very dangerous, not
                   *                 recommended for customer use, for ModalAI R&D only.
                   *     trajectory: VVPX4 receives polynomial trajectories by pipe and commands
                   *                 PX4 to follow the trajectory path. Still in development.
                   *
                   * follow_tag_id:
                   *         Apriltag ID to follow in follow_tag mode
                   *
                   * figure_eight_move_home:
                   *         Enable by default, resets the center of the figure 8 path to wherever
                   *         the drone is when flipped into offboard mode. When disabled, the drone
                   *         will quickly fly back to the XYZ point 0,0,-1.5 in VIO frame before
                   *         starting the figure 8. Disabling this feature can be dangerous if VIO
                   *         has drifted significantly.
                   *
                   * robot_radius:
                   *         Robot radius to use when checking collisions within the trajectory monitor.
                   * 		   The trajectory monitor is only active when in trajectory mode
                   *
                   * collision_sampling_dt:
                   *         The time step to sample along the polynomials by when checking for collisions
                   * 		   in the collision monitor.
                   *
                   * max_lookahead_distance:
                   *         Maximum distance to look along the trajectory. Sensor data further out can be
                   * 		   unrealiable so keeping this value small reduces false positives
                   *
                   * ##############################################################################
                   * ## Fixed Frame Tag Relocalization
                   * ##############################################################################
                   *
                   * en_tag_fixed_frame:
                   *         Enable fixed frame relocalization via voa_inputs.
                   *         See: https://docs.modalai.com/voxl-vision-px4-apriltag-relocalization/
                   *
                   * fixed_frame_filter_len:
                   *         Length of the moving average filter to use for smooth relocalization
                   *         when a tag is detected. Default is 5, a longer filter will result in
                   *         smoother behavior when a new tag comes into view. Set to 1 to do no
                   *         filtering at all and assume every tag detection is accurate.
                   *
                   * en_transform_mavlink_pos_setpoints_from_fixed_frame:
                   *         When enabled, mavlink position_target_local_ned_t commands received on
                   *         via UDP will be assumed to be in fixed frame and are then transformed
                   *         to local frame before being sent to PX4. This allows offboard mode
                   *         position commands from MAVROS/MAVSDK to be in fixed frame relative to
                   *         voa_inputs even though PX4/EKF2 operates in local frame relative to where
                   *         VIO initialized.
                   *
                   * ##############################################################################
                   * ## Collision Prevention (VOA)
                   * ## Settings for configuring data sent to PX4 for Collision Prevention
                   * ##############################################################################
                   *
                   * en_voa:
                   *         Enable processing of DFS and TOF data to be sent to PX4 as mavlink
                   *         obstacle_distance messages for collision prevention in position mode.
                   *
                   * en_send_voa_to_qgc:
                   *         Enable sending of VOA obstacle_distance messages to QGC for debug.
                   *
                   * voa_lower_bound_m & voa_upper_bound_m:
                   *         VOA ignores obstacles above and below the upper and lower bounds.
                   *         Remember, Z points downwards in body and NED frames, so the lower bound
                   *         is a positive number, and the upper bound is a negative number.
                   *         Defaults are lower: 0.15  upper: -0.15 Units are in meters.
                   *
                   * voa_memory_s:
                   *         number of seconds to keep track of sensor readings for VOA
                   *         default: 1.0
                   *
                   * voa_inputs:
                   *         Array of pipes to subscribe to for use with VOA, up to 10 supported
                   *         Each entry has 4 fields:
                   *
                   *         enabled: true or false, it's safe to leave this enabled when the pipe is missing
                   *         type: can be point_cloud, tof, or rangefinder
                   *         input_pipe: pipe name, e.g. stereo_front_pc, rangefinders, tof, etc
                   *         frame: frame of reference, should be listed in /etc/modalai/extrinsics/conf
                   *
                   */
                  {
                  	"config_file_version":	1,
                  	"qgc_ip":	"172.16.0.203",
                  	"en_secondary_qgc":	false,
                  	"secondary_qgc_ip":	"192.168.1.214",
                  	"qgc_udp_port_number":	14550,
                  	"udp_mtu":	512,
                  	"en_localhost_mavlink_udp":	true,
                  	"localhost_udp_port_number":	14551,
                  	"vio_pipe":	"qvio",
                  	"en_vio":	true,
                  	"en_send_vio_to_qgc":	false,
                  	"en_reset_vio_if_initialized_inverted":	true,
                  	"vio_warmup_s":	3,
                  	"send_odom_while_failed":	false,
                  	"horizon_cal_tolerance":	0.5,
                  	"offboard_mode":	"off",
                  	"follow_tag_id":	0,
                  	"figure_eight_move_home":	true,
                  	"robot_radius":	0.300000011920929,
                  	"collision_sampling_dt":	0.1,
                  	"max_lookahead_distance":	1,
                  	"en_tag_fixed_frame":	false,
                  	"fixed_frame_filter_len":	5,
                  	"en_transform_mavlink_pos_setpoints_from_fixed_frame":	false,
                  	"en_voa":	true,
                  	"en_send_voa_to_qgc":	false,
                  	"voa_upper_bound_m":	-0.15000000596046448,
                  	"voa_lower_bound_m":	0.15000000596046448,
                  	"voa_memory_s":	1,
                  	"voa_inputs":	[{
                  			"enabled":	true,
                  			"type":	"point_cloud",
                  			"input_pipe":	"dfs_point_cloud",
                  			"frame":	"stereo_l"
                  		}, {
                  			"enabled":	true,
                  			"type":	"point_cloud",
                  			"input_pipe":	"stereo_front_pc",
                  			"frame":	"stereo_front_l"
                  		}, {
                  			"enabled":	true,
                  			"type":	"point_cloud",
                  			"input_pipe":	"stereo_rear_pc",
                  			"frame":	"stereo_rear_l"
                  		}, {
                  			"enabled":	true,
                  			"type":	"tof",
                  			"input_pipe":	"tof",
                  			"frame":	"tof"
                  		}, {
                  			"enabled":	true,
                  			"type":	"rangefinder",
                  			"input_pipe":	"rangefinders",
                  			"frame":	"body"
                  		}]
                  }
                  
                  
                  tomT Online
                  tomT Online
                  tom
                  admin
                  wrote on last edited by
                  #20

                  @bgaudel After modifying the conf file, are you restarting voxl-vision-px4 with systemctl restart voxl-vision-px4?

                  B 1 Reply Last reply
                  0
                  • tomT tom

                    @bgaudel After modifying the conf file, are you restarting voxl-vision-px4 with systemctl restart voxl-vision-px4?

                    B Offline
                    B Offline
                    bgaudel
                    Contributor
                    wrote on last edited by
                    #21

                    @tom yes we did systemctl restart voxl-vision-px4 after modifying the config file.

                    The setting of our QGC is:
                    ceb59797-728d-43d4-9b38-54a0d527c1c0-image.png

                    f137d7a1-3a42-4c0c-b581-68d2db03914e-image.png

                    c1430128-5601-46a5-8b18-c01cb37d69b6-image.png.

                    Still not able to connect with QGC. We also tried the same thing on the two different PC. Are there any settings or configurations that we especially need to take care of?

                    tomT 1 Reply Last reply
                    0
                    • B bgaudel

                      @tom yes we did systemctl restart voxl-vision-px4 after modifying the config file.

                      The setting of our QGC is:
                      ceb59797-728d-43d4-9b38-54a0d527c1c0-image.png

                      f137d7a1-3a42-4c0c-b581-68d2db03914e-image.png

                      c1430128-5601-46a5-8b18-c01cb37d69b6-image.png.

                      Still not able to connect with QGC. We also tried the same thing on the two different PC. Are there any settings or configurations that we especially need to take care of?

                      tomT Online
                      tomT Online
                      tom
                      admin
                      wrote on last edited by tom
                      #22

                      @bgaudel It seems as though you have all the configs setup correctly, can you post the status of the following services:

                      systemctl status voxl-px4
                      systemctl status voxl-vision-px4
                      systemctl status voxl-mavlink-server
                      
                      bijay gaudelB 1 Reply Last reply
                      0
                      • tomT tom

                        @bgaudel It seems as though you have all the configs setup correctly, can you post the status of the following services:

                        systemctl status voxl-px4
                        systemctl status voxl-vision-px4
                        systemctl status voxl-mavlink-server
                        
                        bijay gaudelB Offline
                        bijay gaudelB Offline
                        bijay gaudel
                        wrote on last edited by bijay gaudel
                        #23

                        @tom Here are the outputs of the above commands:

                        b5f54386-07ef-4106-8930-b3436489c230-image.png

                        0b0c5938-f590-4760-a3ef-65be2a16f3f8-image.png

                        43891e2f-a766-4309-aa29-01c4cd9c7e4b-image.png

                        tomT 1 Reply Last reply
                        0
                        • bijay gaudelB bijay gaudel

                          @tom Here are the outputs of the above commands:

                          b5f54386-07ef-4106-8930-b3436489c230-image.png

                          0b0c5938-f590-4760-a3ef-65be2a16f3f8-image.png

                          43891e2f-a766-4309-aa29-01c4cd9c7e4b-image.png

                          tomT Online
                          tomT Online
                          tom
                          admin
                          wrote on last edited by
                          #24

                          @bijay-gaudel How about:

                          journalctl -u voxl-px4
                          journalctl -u voxl-vision-px4
                          journalctl -u voxl-mavlink-server
                          
                          bijay gaudelB 1 Reply Last reply
                          0
                          • tomT tom

                            @bijay-gaudel How about:

                            journalctl -u voxl-px4
                            journalctl -u voxl-vision-px4
                            journalctl -u voxl-mavlink-server
                            
                            bijay gaudelB Offline
                            bijay gaudelB Offline
                            bijay gaudel
                            wrote on last edited by
                            #25

                            @tom

                            4dfcffad-ff4e-49fd-96c9-f2d60f1de45d-image.png

                            b8968c51-5174-4618-90fc-9047ed73969e-image.png

                            8a277ad9-4a4d-43dc-bbdd-3e04fc7013d0-image.png

                            tomT 1 Reply Last reply
                            0
                            • bijay gaudelB bijay gaudel

                              @tom

                              4dfcffad-ff4e-49fd-96c9-f2d60f1de45d-image.png

                              b8968c51-5174-4618-90fc-9047ed73969e-image.png

                              8a277ad9-4a4d-43dc-bbdd-3e04fc7013d0-image.png

                              tomT Online
                              tomT Online
                              tom
                              admin
                              wrote on last edited by
                              #26

                              @bijay-gaudel Let's reset all of the services to their default / working state for RB5, can you run the following:

                              # configure services to defaults
                              voxl-configure-mpa -f rb5-flight
                              
                              # modify /etc/modalai/voxl-vision-px4 with your correct qgc_ip
                              vi  /etc/modalai/voxl-vision-px4
                              
                              # reboot rb5
                              adb reboot
                              

                              The services seem to be having issue in this current state based off of the WARNING

                              bijay gaudelB B 2 Replies Last reply
                              0
                              • tomT tom

                                @bijay-gaudel Let's reset all of the services to their default / working state for RB5, can you run the following:

                                # configure services to defaults
                                voxl-configure-mpa -f rb5-flight
                                
                                # modify /etc/modalai/voxl-vision-px4 with your correct qgc_ip
                                vi  /etc/modalai/voxl-vision-px4
                                
                                # reboot rb5
                                adb reboot
                                

                                The services seem to be having issue in this current state based off of the WARNING

                                bijay gaudelB Offline
                                bijay gaudelB Offline
                                bijay gaudel
                                wrote on last edited by
                                #27
                                This post is deleted!
                                1 Reply Last reply
                                0
                                • tomT tom

                                  @bijay-gaudel Let's reset all of the services to their default / working state for RB5, can you run the following:

                                  # configure services to defaults
                                  voxl-configure-mpa -f rb5-flight
                                  
                                  # modify /etc/modalai/voxl-vision-px4 with your correct qgc_ip
                                  vi  /etc/modalai/voxl-vision-px4
                                  
                                  # reboot rb5
                                  adb reboot
                                  

                                  The services seem to be having issue in this current state based off of the WARNING

                                  B Offline
                                  B Offline
                                  bgaudel
                                  Contributor
                                  wrote on last edited by bgaudel
                                  #28

                                  @tom /etc/modalai/voxl-vision-px4 file seems empty.

                                  44af8df3-9c26-47dd-8dc1-cf7127c8234c-image.png

                                  0da6de83-6daf-4440-bf42-ac83a459a7c5-image.png

                                  but /etc/modalai/voxl-vision-px4.config have data as:

                                  rb5:/$ cat /etc/modalai/voxl-vision-px4.conf
                                  /**
                                   * VOXL Vision PX4 Configuration File
                                   *
                                   * version: don't touch this, used to keep track of changing config file formats
                                   *
                                   * ##############################################################################
                                   * ## Networking
                                   * ##############################################################################
                                   *
                                   * qgc_ip:
                                   *         Manually inform voxl-vision-px4 of the IP address of your QGC Ground
                                   *         Controller by providing the IP address of your ground station computer
                                   *         in the “qgc_ip” field of the config file. This field is also configured
                                   *         as one of the first questions in the configuration wizard.
                                   *         If you wish to rely on QGC to initiate the connection to VOXL you can
                                   *         leave this field as-is, blank, or “NULL”. Mavlink data is sent to this
                                   *         IP on port 14550 by default, but this can be changed with the
                                   *         qgc_udp_port_number config value.
                                   *
                                   * en_secondary_qgc:
                                   *         Enable manually setting a second QGC ground station IP address.
                                   *
                                   * secondary_qgc_ip:
                                   *         IP address for optional second QGC connection. Note that many more mavlink
                                   *         connections can be made as long as they are initialized by the other device.
                                   *
                                   * qgc_udp_port_number:
                                   *         Port to use for manual and automatic QGC connections, default 14550
                                   *
                                   * udp_mtu:
                                   *         Max size of UDP packet to send to QGC. Multiple mavlink messages will be
                                   *         combined into one UDP packet to reduce network traffic. Set this to 0 to
                                   *         send one UDP packet for every mavlink message. Default is 512 which
                                   *         allows several mavlink messages per UDP packet.
                                   *
                                   * en_localhost_mavlink_udp:
                                   *         If you are running MAVROS/MAVSDK onboard VOXL and wish to open access to
                                   *         PX4 through a localhost UDP port simply ensure the follow feature is
                                   *         enabled. This is set to true by default. This will allow one local process
                                   *         to communicate with PX4 via port 14551 by default, NOT 14550 which is
                                   *         reserved for connections outside the board. These separation prevents
                                   *         conflicts between the two sockets. Both MAVROS and MAVSDK can be
                                   *         configured to use this port.
                                   *
                                   * localhost_udp_port_number:
                                   *         Port number for localhost UDP socket, default 14551
                                   *
                                   * ##############################################################################
                                   * ## VIO
                                   * ##############################################################################
                                   *
                                   * en_vio:
                                   *         Enable processing of VIO data from MPA to be sent to PX4 as mavlink
                                   *         odometry messages. Enabled by default.
                                   *
                                   * vio_pipe:
                                   *         Which pipe to subscribe to VIO data. Must be a standard libmodal-pipe
                                   *         vio_data_t type. Default is qvio
                                   *
                                   * en_send_vio_to_qgc:
                                   *         Enable sending of VIO odometry messages to QGC for debug.
                                   *         Note PX4 also sends odometry messages to QGC, so look for
                                   *         the messages in mavlink-inspector marked as from component 197
                                   *
                                   * en_reset_vio_if_initialized_inverted:
                                   *         For VIO algorithms like qVIO that can initialize in any orientation
                                   *         and output their estimate of the gravity vector, we suggest leaving
                                   *         this enabled to allow vvpx4 to automatically send the reset signal
                                   *         back to the VIO pipe if VIO was initialized upside-down or sufficiently
                                   *         off-level. Helpful if the user powers on a drone while carrying it to
                                   *         the flight area and VIO starts too early.
                                   *
                                   * vio_warmup_s:
                                   *         Wait this for this amount of time of having good VIO data before
                                   *         actually starting to send to PX4. This helps stop EKF2 getting
                                   *         confused if VIO flickers in and out while struggling to init.
                                   *         Set to 0 to disable the feature.
                                   *
                                   * send_odom_while_failed:
                                   *         Off by default. Reserved for the future when PX4 supports quality field
                                   *
                                   * ##############################################################################
                                   * ## APQ8096-only Features
                                   * ##############################################################################
                                   *
                                   * en_set_clock_from_gps:
                                   *         Enable setting the VOXL system time to GPS time if no NTP server can be
                                   *         reached via network to set the time.
                                   *
                                   * en_force_onboard_mav1_mode:
                                   *         Force PX4 to use onboard mode for mavlink 1 channel which is the channel
                                   *         apq8096 (VOXL1) uses to communicate UART Mavlink with PX4. Not applicable
                                   *         to qrb5165-based platforms. Sets the MAV1_MODE PX4 param.
                                   *
                                   * en_reset_px4_on_error:
                                   *         Trigger a reboot of PX4 one some of PX4's unrecoverable errors,
                                   *         Not applicable to qrb5165
                                   *         Yaw estimate error & High Accelerometer Bias and both detected
                                   *
                                   * ##############################################################################
                                   * ## Misc Features
                                   * ##############################################################################
                                   *
                                   * horizon_cal_tolerance:
                                   *         Allowable standard deviation in roll/pitch values to consider the drone
                                   *         stable enough in flight to do a PX4 horizon calibration. Default is 0.45,
                                   *         you can increase this slightly if flying in a small indoor area or with
                                   *         a drone that does not hold still very well.
                                   *         See https://docs.modalai.com/calibrate-px4-horizon/
                                   *
                                   * ##############################################################################
                                   * ## offboard mode config
                                   * ##############################################################################
                                   *
                                   * offboard_mode: The following are valid strings
                                   *     off: VVPX4 will not send any offboard commands to PX4
                                   *     figure_eight: Default value, VVPX4 commands PX4 to fly a figure 8 path
                                   *     follow_tag: Drone will follow an apriltag around. Very dangerous, not
                                   *                 recommended for customer use, for ModalAI R&D only.
                                   *     trajectory: VVPX4 receives polynomial trajectories by pipe and commands
                                   *                 PX4 to follow the trajectory path. Still in development.
                                   *
                                   * follow_tag_id:
                                   *         Apriltag ID to follow in follow_tag mode
                                   *
                                   * figure_eight_move_home:
                                   *         Enable by default, resets the center of the figure 8 path to wherever
                                   *         the drone is when flipped into offboard mode. When disabled, the drone
                                   *         will quickly fly back to the XYZ point 0,0,-1.5 in VIO frame before
                                   *         starting the figure 8. Disabling this feature can be dangerous if VIO
                                   *         has drifted significantly.
                                   *
                                   * robot_radius:
                                   *         Robot radius to use when checking collisions within the trajectory monitor.
                                   * 		   The trajectory monitor is only active when in trajectory mode
                                   *
                                   * collision_sampling_dt:
                                   *         The time step to sample along the polynomials by when checking for collisions
                                   * 		   in the collision monitor.
                                   *
                                   * max_lookahead_distance:
                                   *         Maximum distance to look along the trajectory. Sensor data further out can be
                                   * 		   unrealiable so keeping this value small reduces false positives
                                   *
                                   * ##############################################################################
                                   * ## Fixed Frame Tag Relocalization
                                   * ##############################################################################
                                   *
                                   * en_tag_fixed_frame:
                                   *         Enable fixed frame relocalization via voa_inputs.
                                   *         See: https://docs.modalai.com/voxl-vision-px4-apriltag-relocalization/
                                   *
                                   * fixed_frame_filter_len:
                                   *         Length of the moving average filter to use for smooth relocalization
                                   *         when a tag is detected. Default is 5, a longer filter will result in
                                   *         smoother behavior when a new tag comes into view. Set to 1 to do no
                                   *         filtering at all and assume every tag detection is accurate.
                                   *
                                   * en_transform_mavlink_pos_setpoints_from_fixed_frame:
                                   *         When enabled, mavlink position_target_local_ned_t commands received on
                                   *         via UDP will be assumed to be in fixed frame and are then transformed
                                   *         to local frame before being sent to PX4. This allows offboard mode
                                   *         position commands from MAVROS/MAVSDK to be in fixed frame relative to
                                   *         voa_inputs even though PX4/EKF2 operates in local frame relative to where
                                   *         VIO initialized.
                                   *
                                   * ##############################################################################
                                   * ## Collision Prevention (VOA)
                                   * ## Settings for configuring data sent to PX4 for Collision Prevention
                                   * ##############################################################################
                                   *
                                   * en_voa:
                                   *         Enable processing of DFS and TOF data to be sent to PX4 as mavlink
                                   *         obstacle_distance messages for collision prevention in position mode.
                                   *
                                   * en_send_voa_to_qgc:
                                   *         Enable sending of VOA obstacle_distance messages to QGC for debug.
                                   *
                                   * voa_lower_bound_m & voa_upper_bound_m:
                                   *         VOA ignores obstacles above and below the upper and lower bounds.
                                   *         Remember, Z points downwards in body and NED frames, so the lower bound
                                   *         is a positive number, and the upper bound is a negative number.
                                   *         Defaults are lower: 0.15  upper: -0.15 Units are in meters.
                                   *
                                   * voa_memory_s:
                                   *         number of seconds to keep track of sensor readings for VOA
                                   *         default: 1.0
                                   *
                                   * voa_inputs:
                                   *         Array of pipes to subscribe to for use with VOA, up to 10 supported
                                   *         Each entry has 4 fields:
                                   *
                                   *         enabled: true or false, it's safe to leave this enabled when the pipe is missing
                                   *         type: can be point_cloud, tof, or rangefinder
                                   *         input_pipe: pipe name, e.g. stereo_front_pc, rangefinders, tof, etc
                                   *         frame: frame of reference, should be listed in /etc/modalai/extrinsics/conf
                                   *
                                   */
                                  {
                                  	"config_file_version":	1,
                                  	"qgc_ip":	"172.16.0.204",
                                  	"en_secondary_qgc":	false,
                                  	"secondary_qgc_ip":	"192.168.1.214",
                                  	"qgc_udp_port_number":	14550,
                                  	"udp_mtu":	512,
                                  	"en_localhost_mavlink_udp":	true,
                                  	"localhost_udp_port_number":	14551,
                                  	"vio_pipe":	"qvio",
                                  	"en_vio":	true,
                                  	"en_send_vio_to_qgc":	false,
                                  	"en_reset_vio_if_initialized_inverted":	true,
                                  	"vio_warmup_s":	3,
                                  	"send_odom_while_failed":	false,
                                  	"horizon_cal_tolerance":	0.5,
                                  	"offboard_mode":	"off",
                                  	"follow_tag_id":	0,
                                  	"figure_eight_move_home":	true,
                                  	"robot_radius":	0.300000011920929,
                                  	"collision_sampling_dt":	0.1,
                                  	"max_lookahead_distance":	1,
                                  	"en_tag_fixed_frame":	false,
                                  	"fixed_frame_filter_len":	5,
                                  /**
                                   * VOXL Vision PX4 Configuration File
                                   *
                                   * version: don't touch this, used to keep track of changing config file formats
                                   *
                                   * ##############################################################################
                                   * ## Networking
                                   * ##############################################################################
                                   *
                                   * qgc_ip:
                                   *         Manually inform voxl-vision-px4 of the IP address of your QGC Ground
                                   *         Controller by providing the IP address of your ground station computer
                                   *         in the �~@~\qgc_ip�~@~] field of the config file. This field is also configured
                                   *         as one of the first questions in the configuration wizard.
                                   *         If you wish to rely on QGC to initiate the connection to VOXL you can
                                   *         leave this field as-is, blank, or �~@~\NULL�~@~]. Mavlink data is sent to this
                                   *         IP on port 14550 by default, but this can be changed with the
                                   *         qgc_udp_port_number config value.
                                   *
                                   * en_secondary_qgc:
                                   *         Enable manually setting a second QGC ground station IP address.
                                   *
                                   * secondary_qgc_ip:
                                   *         IP address for optional second QGC connection. Note that many more mavlink
                                   *         connections can be made as long as they are initialized by the other device.
                                   *
                                   * qgc_udp_port_number:
                                   *         Port to use for manual and automatic QGC connections, default 14550
                                   *
                                   * udp_mtu:
                                   *         Max size of UDP packet to send to QGC. Multiple mavlink messages will be
                                   *         combined into one UDP packet to reduce network traffic. Set this to 0 to
                                   *         send one UDP packet for every mavlink message. Default is 512 which
                                   *         allows several mavlink messages per UDP packet.
                                   *
                                   * en_localhost_mavlink_udp:
                                   *         If you are running MAVROS/MAVSDK onboard VOXL and wish to open access to
                                   *         PX4 through a localhost UDP port simply ensure the follow feature is
                                   *         enabled. This is set to true by default. This will allow one local process
                                   *         to communicate with PX4 via port 14551 by default, NOT 14550 which is
                                   *         reserved for connections outside the board. These separation prevents
                                   *         conflicts between the two sockets. Both MAVROS and MAVSDK can be
                                   *         configured to use this port.
                                   *
                                   * localhost_udp_port_number:
                                   *         Port number for localhost UDP socket, default 14551
                                   *
                                   * ##############################################################################
                                   * ## VIO
                                   * ##############################################################################
                                   *
                                   * en_vio:
                                   *         Enable processing of VIO data from MPA to be sent to PX4 as mavlink
                                   *         odometry messages. Enabled by default.
                                   *
                                   * vio_pipe:
                                   *         Which pipe to subscribe to VIO data. Must be a standard libmodal-pipe
                                   *         vio_data_t type. Default is qvio
                                   *
                                   * en_send_vio_to_qgc:
                                   *         Enable sending of VIO odometry messages to QGC for debug.
                                   *         Note PX4 also sends odometry messages to QGC, so look for
                                   *         the messages in mavlink-inspector marked as from component 197
                                   *
                                   * en_reset_vio_if_initialized_inverted:
                                   *         For VIO algorithms like qVIO that can initialize in any orientation
                                   *         and output their estimate of the gravity vector, we suggest leaving
                                   *         this enabled to allow vvpx4 to automatically send the reset signal
                                   *         back to the VIO pipe if VIO was initialized upside-down or sufficiently
                                   *         off-level. Helpful if the user powers on a drone while carrying it to
                                   *         the flight area and VIO starts too early.
                                   *
                                   * vio_warmup_s:
                                   *         Wait this for this amount of time of having good VIO data before
                                   *         actually starting to send to PX4. This helps stop EKF2 getting
                                   *         confused if VIO flickers in and out while struggling to init.
                                   *         Set to 0 to disable the feature.
                                   *
                                   * send_odom_while_failed:
                                   *         Off by default. Reserved for the future when PX4 supports quality field
                                   *
                                   * ##############################################################################
                                   * ## APQ8096-only Features
                                   * ##############################################################################
                                   *
                                   * en_set_clock_from_gps:
                                   *         Enable setting the VOXL system time to GPS time if no NTP server can be
                                   *         reached via network to set the time.
                                   *
                                   * en_force_onboard_mav1_mode:
                                   *         Force PX4 to use onboard mode for mavlink 1 channel which is the channel
                                   *         apq8096 (VOXL1) uses to communicate UART Mavlink with PX4. Not applicable
                                   *         to qrb5165-based platforms. Sets the MAV1_MODE PX4 param.
                                   *
                                   * en_reset_px4_on_error:
                                   *         Trigger a reboot of PX4 one some of PX4's unrecoverable errors,
                                   *         Not applicable to qrb5165
                                   *         Yaw estimate error & High Accelerometer Bias and both detected
                                   *
                                   * ##############################################################################
                                   * ## Misc Features
                                   * ##############################################################################
                                   *
                                   * horizon_cal_tolerance:
                                   *         Allowable standard deviation in roll/pitch values to consider the drone
                                   *         stable enough in flight to do a PX4 horizon calibration. Default is 0.45,
                                   *         you can increase this slightly if flying in a small indoor area or with
                                   *         a drone that does not hold still very well.
                                   *         See https://docs.modalai.com/calibrate-px4-horizon/
                                   *
                                   * ##############################################################################
                                   * ## offboard mode config
                                   * ##############################################################################
                                   *
                                   * offboard_mode: The following are valid strings
                                   *     off: VVPX4 will not send any offboard commands to PX4
                                   *     figure_eight: Default value, VVPX4 commands PX4 to fly a figure 8 path
                                   *     follow_tag: Drone will follow an apriltag around. Very dangerous, not
                                   *                 recommended for customer use, for ModalAI R&D only.
                                   *     trajectory: VVPX4 receives polynomial trajectories by pipe and commands
                                   *                 PX4 to follow the trajectory path. Still in development.
                                   *
                                   * follow_tag_id:
                                   *         Apriltag ID to follow in follow_tag mode
                                   *
                                   * figure_eight_move_home:
                                   *         Enable by default, resets the center of the figure 8 path to wherever
                                   *         the drone is when flipped into offboard mode. When disabled, the drone
                                   *         will quickly fly back to the XYZ point 0,0,-1.5 in VIO frame before
                                   *         starting the figure 8. Disabling this feature can be dangerous if VIO
                                   *         has drifted significantly.
                                   *
                                   * robot_radius:
                                   *         Robot radius to use when checking collisions within the trajectory monitor.
                                   *                 The trajectory monitor is only active when in trajectory mode
                                   *
                                   * collision_sampling_dt:
                                   *         The time step to sample along the polynomials by when checking for collisions
                                   *                 in the collision monitor.
                                   *
                                   * max_lookahead_distance:
                                   *         Maximum distance to look along the trajectory. Sensor data further out can be
                                   *                 unrealiable so keeping this value small reduces false positives
                                   *
                                   * ##############################################################################
                                   * ## Fixed Frame Tag Relocalization
                                   * ##############################################################################
                                   *
                                   * en_tag_fixed_frame:
                                   *         Enable fixed frame relocalization via voa_inputs.
                                   *         See: https://docs.modalai.com/voxl-vision-px4-apriltag-relocalization/
                                   *
                                   * fixed_frame_filter_len:
                                   *         Length of the moving average filter to use for smooth relocalization
                                   *         when a tag is detected. Default is 5, a longer filter will result in
                                   *         smoother behavior when a new tag comes into view. Set to 1 to do no
                                   *         filtering at all and assume every tag detection is accurate.
                                   *
                                   * en_transform_mavlink_pos_setpoints_from_fixed_frame:
                                   *         When enabled, mavlink position_target_local_ned_t commands received on
                                   *         via UDP will be assumed to be in fixed frame and are then transformed
                                   *         to local frame before being sent to PX4. This allows offboard mode
                                   *         position commands from MAVROS/MAVSDK to be in fixed frame relative to
                                   *         voa_inputs even though PX4/EKF2 operates in local frame relative to where
                                   *         VIO initialized.
                                   *
                                   * ##############################################################################
                                   * ## Collision Prevention (VOA)
                                   * ## Settings for configuring data sent to PX4 for Collision Prevention
                                   * ##############################################################################
                                   *
                                   * en_voa:
                                   *         Enable processing of DFS and TOF data to be sent to PX4 as mavlink
                                   *         obstacle_distance messages for collision prevention in position mode.
                                   *
                                   * en_send_voa_to_qgc:
                                   *         Enable sending of VOA obstacle_distance messages to QGC for debug.
                                   *
                                   * voa_lower_bound_m & voa_upper_bound_m:
                                   *         VOA ignores obstacles above and below the upper and lower bounds.
                                   *         Remember, Z points downwards in body and NED frames, so the lower bound
                                   *         is a positive number, and the upper bound is a negative number.
                                   *         Defaults are lower: 0.15  upper: -0.15 Units are in meters.
                                   *
                                   * voa_memory_s:
                                   *         number of seconds to keep track of sensor readings for VOA
                                   *         default: 1.0
                                   *
                                   * voa_inputs:
                                   *         Array of pipes to subscribe to for use with VOA, up to 10 supported
                                   *         Each entry has 4 fields:
                                   *
                                   *         enabled: true or false, it's safe to leave this enabled when the pipe is missing
                                   *         type: can be point_cloud, tof, or rangefinder
                                   *         input_pipe: pipe name, e.g. stereo_front_pc, rangefinders, tof, etc
                                   *         frame: frame of reference, should be listed in /etc/modalai/extrinsics/conf
                                   *
                                   */
                                  {
                                          "config_file_version":  1,
                                          "qgc_ip":       "172.16.0.204",
                                   *
                                   * voa_inputs:
                                   *         Array of pipes to subscribe to for use with VOA, up to 10 supported
                                   *         Each entry has 4 fields:
                                   *
                                   *         enabled: true or false, it's safe to leave this enabled when the pipe is missing
                                   *         type: can be point_cloud, tof, or rangefinder
                                   *         input_pipe: pipe name, e.g. stereo_front_pc, rangefinders, tof, etc
                                   *         frame: frame of reference, should be listed in /etc/modalai/extrinsics/conf
                                   *
                                   */
                                  {
                                          "config_file_version":  1,
                                          "qgc_ip":       "172.16.0.204",
                                          "en_secondary_qgc":     false,
                                          "secondary_qgc_ip":     "192.168.1.214",
                                          "qgc_udp_port_number":  14550,
                                          "udp_mtu":      512,
                                          "en_localhost_mavlink_udp":     true,
                                          "localhost_udp_port_number":    14551,
                                          "vio_pipe":     "qvio",
                                          "en_vio":       true,
                                          "en_send_vio_to_qgc":   false,
                                          "en_reset_vio_if_initialized_inverted": true,
                                          "vio_warmup_s": 3,
                                          "send_odom_while_failed":       false,
                                          "horizon_cal_tolerance":        0.5,
                                          "offboard_mode":        "off",
                                          "follow_tag_id":        0,
                                          "figure_eight_move_home":       true,
                                          "robot_radius": 0.300000011920929,
                                          "collision_sampling_dt":        0.1,
                                          "max_lookahead_distance":       1,
                                          "en_tag_fixed_frame":   false,
                                          "fixed_frame_filter_len":       5,
                                  
                                  

                                  The qgc_ip in this file is correct IP address of my PC.

                                  tomT 1 Reply Last reply
                                  0
                                  • B bgaudel

                                    @tom /etc/modalai/voxl-vision-px4 file seems empty.

                                    44af8df3-9c26-47dd-8dc1-cf7127c8234c-image.png

                                    0da6de83-6daf-4440-bf42-ac83a459a7c5-image.png

                                    but /etc/modalai/voxl-vision-px4.config have data as:

                                    rb5:/$ cat /etc/modalai/voxl-vision-px4.conf
                                    /**
                                     * VOXL Vision PX4 Configuration File
                                     *
                                     * version: don't touch this, used to keep track of changing config file formats
                                     *
                                     * ##############################################################################
                                     * ## Networking
                                     * ##############################################################################
                                     *
                                     * qgc_ip:
                                     *         Manually inform voxl-vision-px4 of the IP address of your QGC Ground
                                     *         Controller by providing the IP address of your ground station computer
                                     *         in the “qgc_ip” field of the config file. This field is also configured
                                     *         as one of the first questions in the configuration wizard.
                                     *         If you wish to rely on QGC to initiate the connection to VOXL you can
                                     *         leave this field as-is, blank, or “NULL”. Mavlink data is sent to this
                                     *         IP on port 14550 by default, but this can be changed with the
                                     *         qgc_udp_port_number config value.
                                     *
                                     * en_secondary_qgc:
                                     *         Enable manually setting a second QGC ground station IP address.
                                     *
                                     * secondary_qgc_ip:
                                     *         IP address for optional second QGC connection. Note that many more mavlink
                                     *         connections can be made as long as they are initialized by the other device.
                                     *
                                     * qgc_udp_port_number:
                                     *         Port to use for manual and automatic QGC connections, default 14550
                                     *
                                     * udp_mtu:
                                     *         Max size of UDP packet to send to QGC. Multiple mavlink messages will be
                                     *         combined into one UDP packet to reduce network traffic. Set this to 0 to
                                     *         send one UDP packet for every mavlink message. Default is 512 which
                                     *         allows several mavlink messages per UDP packet.
                                     *
                                     * en_localhost_mavlink_udp:
                                     *         If you are running MAVROS/MAVSDK onboard VOXL and wish to open access to
                                     *         PX4 through a localhost UDP port simply ensure the follow feature is
                                     *         enabled. This is set to true by default. This will allow one local process
                                     *         to communicate with PX4 via port 14551 by default, NOT 14550 which is
                                     *         reserved for connections outside the board. These separation prevents
                                     *         conflicts between the two sockets. Both MAVROS and MAVSDK can be
                                     *         configured to use this port.
                                     *
                                     * localhost_udp_port_number:
                                     *         Port number for localhost UDP socket, default 14551
                                     *
                                     * ##############################################################################
                                     * ## VIO
                                     * ##############################################################################
                                     *
                                     * en_vio:
                                     *         Enable processing of VIO data from MPA to be sent to PX4 as mavlink
                                     *         odometry messages. Enabled by default.
                                     *
                                     * vio_pipe:
                                     *         Which pipe to subscribe to VIO data. Must be a standard libmodal-pipe
                                     *         vio_data_t type. Default is qvio
                                     *
                                     * en_send_vio_to_qgc:
                                     *         Enable sending of VIO odometry messages to QGC for debug.
                                     *         Note PX4 also sends odometry messages to QGC, so look for
                                     *         the messages in mavlink-inspector marked as from component 197
                                     *
                                     * en_reset_vio_if_initialized_inverted:
                                     *         For VIO algorithms like qVIO that can initialize in any orientation
                                     *         and output their estimate of the gravity vector, we suggest leaving
                                     *         this enabled to allow vvpx4 to automatically send the reset signal
                                     *         back to the VIO pipe if VIO was initialized upside-down or sufficiently
                                     *         off-level. Helpful if the user powers on a drone while carrying it to
                                     *         the flight area and VIO starts too early.
                                     *
                                     * vio_warmup_s:
                                     *         Wait this for this amount of time of having good VIO data before
                                     *         actually starting to send to PX4. This helps stop EKF2 getting
                                     *         confused if VIO flickers in and out while struggling to init.
                                     *         Set to 0 to disable the feature.
                                     *
                                     * send_odom_while_failed:
                                     *         Off by default. Reserved for the future when PX4 supports quality field
                                     *
                                     * ##############################################################################
                                     * ## APQ8096-only Features
                                     * ##############################################################################
                                     *
                                     * en_set_clock_from_gps:
                                     *         Enable setting the VOXL system time to GPS time if no NTP server can be
                                     *         reached via network to set the time.
                                     *
                                     * en_force_onboard_mav1_mode:
                                     *         Force PX4 to use onboard mode for mavlink 1 channel which is the channel
                                     *         apq8096 (VOXL1) uses to communicate UART Mavlink with PX4. Not applicable
                                     *         to qrb5165-based platforms. Sets the MAV1_MODE PX4 param.
                                     *
                                     * en_reset_px4_on_error:
                                     *         Trigger a reboot of PX4 one some of PX4's unrecoverable errors,
                                     *         Not applicable to qrb5165
                                     *         Yaw estimate error & High Accelerometer Bias and both detected
                                     *
                                     * ##############################################################################
                                     * ## Misc Features
                                     * ##############################################################################
                                     *
                                     * horizon_cal_tolerance:
                                     *         Allowable standard deviation in roll/pitch values to consider the drone
                                     *         stable enough in flight to do a PX4 horizon calibration. Default is 0.45,
                                     *         you can increase this slightly if flying in a small indoor area or with
                                     *         a drone that does not hold still very well.
                                     *         See https://docs.modalai.com/calibrate-px4-horizon/
                                     *
                                     * ##############################################################################
                                     * ## offboard mode config
                                     * ##############################################################################
                                     *
                                     * offboard_mode: The following are valid strings
                                     *     off: VVPX4 will not send any offboard commands to PX4
                                     *     figure_eight: Default value, VVPX4 commands PX4 to fly a figure 8 path
                                     *     follow_tag: Drone will follow an apriltag around. Very dangerous, not
                                     *                 recommended for customer use, for ModalAI R&D only.
                                     *     trajectory: VVPX4 receives polynomial trajectories by pipe and commands
                                     *                 PX4 to follow the trajectory path. Still in development.
                                     *
                                     * follow_tag_id:
                                     *         Apriltag ID to follow in follow_tag mode
                                     *
                                     * figure_eight_move_home:
                                     *         Enable by default, resets the center of the figure 8 path to wherever
                                     *         the drone is when flipped into offboard mode. When disabled, the drone
                                     *         will quickly fly back to the XYZ point 0,0,-1.5 in VIO frame before
                                     *         starting the figure 8. Disabling this feature can be dangerous if VIO
                                     *         has drifted significantly.
                                     *
                                     * robot_radius:
                                     *         Robot radius to use when checking collisions within the trajectory monitor.
                                     * 		   The trajectory monitor is only active when in trajectory mode
                                     *
                                     * collision_sampling_dt:
                                     *         The time step to sample along the polynomials by when checking for collisions
                                     * 		   in the collision monitor.
                                     *
                                     * max_lookahead_distance:
                                     *         Maximum distance to look along the trajectory. Sensor data further out can be
                                     * 		   unrealiable so keeping this value small reduces false positives
                                     *
                                     * ##############################################################################
                                     * ## Fixed Frame Tag Relocalization
                                     * ##############################################################################
                                     *
                                     * en_tag_fixed_frame:
                                     *         Enable fixed frame relocalization via voa_inputs.
                                     *         See: https://docs.modalai.com/voxl-vision-px4-apriltag-relocalization/
                                     *
                                     * fixed_frame_filter_len:
                                     *         Length of the moving average filter to use for smooth relocalization
                                     *         when a tag is detected. Default is 5, a longer filter will result in
                                     *         smoother behavior when a new tag comes into view. Set to 1 to do no
                                     *         filtering at all and assume every tag detection is accurate.
                                     *
                                     * en_transform_mavlink_pos_setpoints_from_fixed_frame:
                                     *         When enabled, mavlink position_target_local_ned_t commands received on
                                     *         via UDP will be assumed to be in fixed frame and are then transformed
                                     *         to local frame before being sent to PX4. This allows offboard mode
                                     *         position commands from MAVROS/MAVSDK to be in fixed frame relative to
                                     *         voa_inputs even though PX4/EKF2 operates in local frame relative to where
                                     *         VIO initialized.
                                     *
                                     * ##############################################################################
                                     * ## Collision Prevention (VOA)
                                     * ## Settings for configuring data sent to PX4 for Collision Prevention
                                     * ##############################################################################
                                     *
                                     * en_voa:
                                     *         Enable processing of DFS and TOF data to be sent to PX4 as mavlink
                                     *         obstacle_distance messages for collision prevention in position mode.
                                     *
                                     * en_send_voa_to_qgc:
                                     *         Enable sending of VOA obstacle_distance messages to QGC for debug.
                                     *
                                     * voa_lower_bound_m & voa_upper_bound_m:
                                     *         VOA ignores obstacles above and below the upper and lower bounds.
                                     *         Remember, Z points downwards in body and NED frames, so the lower bound
                                     *         is a positive number, and the upper bound is a negative number.
                                     *         Defaults are lower: 0.15  upper: -0.15 Units are in meters.
                                     *
                                     * voa_memory_s:
                                     *         number of seconds to keep track of sensor readings for VOA
                                     *         default: 1.0
                                     *
                                     * voa_inputs:
                                     *         Array of pipes to subscribe to for use with VOA, up to 10 supported
                                     *         Each entry has 4 fields:
                                     *
                                     *         enabled: true or false, it's safe to leave this enabled when the pipe is missing
                                     *         type: can be point_cloud, tof, or rangefinder
                                     *         input_pipe: pipe name, e.g. stereo_front_pc, rangefinders, tof, etc
                                     *         frame: frame of reference, should be listed in /etc/modalai/extrinsics/conf
                                     *
                                     */
                                    {
                                    	"config_file_version":	1,
                                    	"qgc_ip":	"172.16.0.204",
                                    	"en_secondary_qgc":	false,
                                    	"secondary_qgc_ip":	"192.168.1.214",
                                    	"qgc_udp_port_number":	14550,
                                    	"udp_mtu":	512,
                                    	"en_localhost_mavlink_udp":	true,
                                    	"localhost_udp_port_number":	14551,
                                    	"vio_pipe":	"qvio",
                                    	"en_vio":	true,
                                    	"en_send_vio_to_qgc":	false,
                                    	"en_reset_vio_if_initialized_inverted":	true,
                                    	"vio_warmup_s":	3,
                                    	"send_odom_while_failed":	false,
                                    	"horizon_cal_tolerance":	0.5,
                                    	"offboard_mode":	"off",
                                    	"follow_tag_id":	0,
                                    	"figure_eight_move_home":	true,
                                    	"robot_radius":	0.300000011920929,
                                    	"collision_sampling_dt":	0.1,
                                    	"max_lookahead_distance":	1,
                                    	"en_tag_fixed_frame":	false,
                                    	"fixed_frame_filter_len":	5,
                                    /**
                                     * VOXL Vision PX4 Configuration File
                                     *
                                     * version: don't touch this, used to keep track of changing config file formats
                                     *
                                     * ##############################################################################
                                     * ## Networking
                                     * ##############################################################################
                                     *
                                     * qgc_ip:
                                     *         Manually inform voxl-vision-px4 of the IP address of your QGC Ground
                                     *         Controller by providing the IP address of your ground station computer
                                     *         in the �~@~\qgc_ip�~@~] field of the config file. This field is also configured
                                     *         as one of the first questions in the configuration wizard.
                                     *         If you wish to rely on QGC to initiate the connection to VOXL you can
                                     *         leave this field as-is, blank, or �~@~\NULL�~@~]. Mavlink data is sent to this
                                     *         IP on port 14550 by default, but this can be changed with the
                                     *         qgc_udp_port_number config value.
                                     *
                                     * en_secondary_qgc:
                                     *         Enable manually setting a second QGC ground station IP address.
                                     *
                                     * secondary_qgc_ip:
                                     *         IP address for optional second QGC connection. Note that many more mavlink
                                     *         connections can be made as long as they are initialized by the other device.
                                     *
                                     * qgc_udp_port_number:
                                     *         Port to use for manual and automatic QGC connections, default 14550
                                     *
                                     * udp_mtu:
                                     *         Max size of UDP packet to send to QGC. Multiple mavlink messages will be
                                     *         combined into one UDP packet to reduce network traffic. Set this to 0 to
                                     *         send one UDP packet for every mavlink message. Default is 512 which
                                     *         allows several mavlink messages per UDP packet.
                                     *
                                     * en_localhost_mavlink_udp:
                                     *         If you are running MAVROS/MAVSDK onboard VOXL and wish to open access to
                                     *         PX4 through a localhost UDP port simply ensure the follow feature is
                                     *         enabled. This is set to true by default. This will allow one local process
                                     *         to communicate with PX4 via port 14551 by default, NOT 14550 which is
                                     *         reserved for connections outside the board. These separation prevents
                                     *         conflicts between the two sockets. Both MAVROS and MAVSDK can be
                                     *         configured to use this port.
                                     *
                                     * localhost_udp_port_number:
                                     *         Port number for localhost UDP socket, default 14551
                                     *
                                     * ##############################################################################
                                     * ## VIO
                                     * ##############################################################################
                                     *
                                     * en_vio:
                                     *         Enable processing of VIO data from MPA to be sent to PX4 as mavlink
                                     *         odometry messages. Enabled by default.
                                     *
                                     * vio_pipe:
                                     *         Which pipe to subscribe to VIO data. Must be a standard libmodal-pipe
                                     *         vio_data_t type. Default is qvio
                                     *
                                     * en_send_vio_to_qgc:
                                     *         Enable sending of VIO odometry messages to QGC for debug.
                                     *         Note PX4 also sends odometry messages to QGC, so look for
                                     *         the messages in mavlink-inspector marked as from component 197
                                     *
                                     * en_reset_vio_if_initialized_inverted:
                                     *         For VIO algorithms like qVIO that can initialize in any orientation
                                     *         and output their estimate of the gravity vector, we suggest leaving
                                     *         this enabled to allow vvpx4 to automatically send the reset signal
                                     *         back to the VIO pipe if VIO was initialized upside-down or sufficiently
                                     *         off-level. Helpful if the user powers on a drone while carrying it to
                                     *         the flight area and VIO starts too early.
                                     *
                                     * vio_warmup_s:
                                     *         Wait this for this amount of time of having good VIO data before
                                     *         actually starting to send to PX4. This helps stop EKF2 getting
                                     *         confused if VIO flickers in and out while struggling to init.
                                     *         Set to 0 to disable the feature.
                                     *
                                     * send_odom_while_failed:
                                     *         Off by default. Reserved for the future when PX4 supports quality field
                                     *
                                     * ##############################################################################
                                     * ## APQ8096-only Features
                                     * ##############################################################################
                                     *
                                     * en_set_clock_from_gps:
                                     *         Enable setting the VOXL system time to GPS time if no NTP server can be
                                     *         reached via network to set the time.
                                     *
                                     * en_force_onboard_mav1_mode:
                                     *         Force PX4 to use onboard mode for mavlink 1 channel which is the channel
                                     *         apq8096 (VOXL1) uses to communicate UART Mavlink with PX4. Not applicable
                                     *         to qrb5165-based platforms. Sets the MAV1_MODE PX4 param.
                                     *
                                     * en_reset_px4_on_error:
                                     *         Trigger a reboot of PX4 one some of PX4's unrecoverable errors,
                                     *         Not applicable to qrb5165
                                     *         Yaw estimate error & High Accelerometer Bias and both detected
                                     *
                                     * ##############################################################################
                                     * ## Misc Features
                                     * ##############################################################################
                                     *
                                     * horizon_cal_tolerance:
                                     *         Allowable standard deviation in roll/pitch values to consider the drone
                                     *         stable enough in flight to do a PX4 horizon calibration. Default is 0.45,
                                     *         you can increase this slightly if flying in a small indoor area or with
                                     *         a drone that does not hold still very well.
                                     *         See https://docs.modalai.com/calibrate-px4-horizon/
                                     *
                                     * ##############################################################################
                                     * ## offboard mode config
                                     * ##############################################################################
                                     *
                                     * offboard_mode: The following are valid strings
                                     *     off: VVPX4 will not send any offboard commands to PX4
                                     *     figure_eight: Default value, VVPX4 commands PX4 to fly a figure 8 path
                                     *     follow_tag: Drone will follow an apriltag around. Very dangerous, not
                                     *                 recommended for customer use, for ModalAI R&D only.
                                     *     trajectory: VVPX4 receives polynomial trajectories by pipe and commands
                                     *                 PX4 to follow the trajectory path. Still in development.
                                     *
                                     * follow_tag_id:
                                     *         Apriltag ID to follow in follow_tag mode
                                     *
                                     * figure_eight_move_home:
                                     *         Enable by default, resets the center of the figure 8 path to wherever
                                     *         the drone is when flipped into offboard mode. When disabled, the drone
                                     *         will quickly fly back to the XYZ point 0,0,-1.5 in VIO frame before
                                     *         starting the figure 8. Disabling this feature can be dangerous if VIO
                                     *         has drifted significantly.
                                     *
                                     * robot_radius:
                                     *         Robot radius to use when checking collisions within the trajectory monitor.
                                     *                 The trajectory monitor is only active when in trajectory mode
                                     *
                                     * collision_sampling_dt:
                                     *         The time step to sample along the polynomials by when checking for collisions
                                     *                 in the collision monitor.
                                     *
                                     * max_lookahead_distance:
                                     *         Maximum distance to look along the trajectory. Sensor data further out can be
                                     *                 unrealiable so keeping this value small reduces false positives
                                     *
                                     * ##############################################################################
                                     * ## Fixed Frame Tag Relocalization
                                     * ##############################################################################
                                     *
                                     * en_tag_fixed_frame:
                                     *         Enable fixed frame relocalization via voa_inputs.
                                     *         See: https://docs.modalai.com/voxl-vision-px4-apriltag-relocalization/
                                     *
                                     * fixed_frame_filter_len:
                                     *         Length of the moving average filter to use for smooth relocalization
                                     *         when a tag is detected. Default is 5, a longer filter will result in
                                     *         smoother behavior when a new tag comes into view. Set to 1 to do no
                                     *         filtering at all and assume every tag detection is accurate.
                                     *
                                     * en_transform_mavlink_pos_setpoints_from_fixed_frame:
                                     *         When enabled, mavlink position_target_local_ned_t commands received on
                                     *         via UDP will be assumed to be in fixed frame and are then transformed
                                     *         to local frame before being sent to PX4. This allows offboard mode
                                     *         position commands from MAVROS/MAVSDK to be in fixed frame relative to
                                     *         voa_inputs even though PX4/EKF2 operates in local frame relative to where
                                     *         VIO initialized.
                                     *
                                     * ##############################################################################
                                     * ## Collision Prevention (VOA)
                                     * ## Settings for configuring data sent to PX4 for Collision Prevention
                                     * ##############################################################################
                                     *
                                     * en_voa:
                                     *         Enable processing of DFS and TOF data to be sent to PX4 as mavlink
                                     *         obstacle_distance messages for collision prevention in position mode.
                                     *
                                     * en_send_voa_to_qgc:
                                     *         Enable sending of VOA obstacle_distance messages to QGC for debug.
                                     *
                                     * voa_lower_bound_m & voa_upper_bound_m:
                                     *         VOA ignores obstacles above and below the upper and lower bounds.
                                     *         Remember, Z points downwards in body and NED frames, so the lower bound
                                     *         is a positive number, and the upper bound is a negative number.
                                     *         Defaults are lower: 0.15  upper: -0.15 Units are in meters.
                                     *
                                     * voa_memory_s:
                                     *         number of seconds to keep track of sensor readings for VOA
                                     *         default: 1.0
                                     *
                                     * voa_inputs:
                                     *         Array of pipes to subscribe to for use with VOA, up to 10 supported
                                     *         Each entry has 4 fields:
                                     *
                                     *         enabled: true or false, it's safe to leave this enabled when the pipe is missing
                                     *         type: can be point_cloud, tof, or rangefinder
                                     *         input_pipe: pipe name, e.g. stereo_front_pc, rangefinders, tof, etc
                                     *         frame: frame of reference, should be listed in /etc/modalai/extrinsics/conf
                                     *
                                     */
                                    {
                                            "config_file_version":  1,
                                            "qgc_ip":       "172.16.0.204",
                                     *
                                     * voa_inputs:
                                     *         Array of pipes to subscribe to for use with VOA, up to 10 supported
                                     *         Each entry has 4 fields:
                                     *
                                     *         enabled: true or false, it's safe to leave this enabled when the pipe is missing
                                     *         type: can be point_cloud, tof, or rangefinder
                                     *         input_pipe: pipe name, e.g. stereo_front_pc, rangefinders, tof, etc
                                     *         frame: frame of reference, should be listed in /etc/modalai/extrinsics/conf
                                     *
                                     */
                                    {
                                            "config_file_version":  1,
                                            "qgc_ip":       "172.16.0.204",
                                            "en_secondary_qgc":     false,
                                            "secondary_qgc_ip":     "192.168.1.214",
                                            "qgc_udp_port_number":  14550,
                                            "udp_mtu":      512,
                                            "en_localhost_mavlink_udp":     true,
                                            "localhost_udp_port_number":    14551,
                                            "vio_pipe":     "qvio",
                                            "en_vio":       true,
                                            "en_send_vio_to_qgc":   false,
                                            "en_reset_vio_if_initialized_inverted": true,
                                            "vio_warmup_s": 3,
                                            "send_odom_while_failed":       false,
                                            "horizon_cal_tolerance":        0.5,
                                            "offboard_mode":        "off",
                                            "follow_tag_id":        0,
                                            "figure_eight_move_home":       true,
                                            "robot_radius": 0.300000011920929,
                                            "collision_sampling_dt":        0.1,
                                            "max_lookahead_distance":       1,
                                            "en_tag_fixed_frame":   false,
                                            "fixed_frame_filter_len":       5,
                                    
                                    

                                    The qgc_ip in this file is correct IP address of my PC.

                                    tomT Online
                                    tomT Online
                                    tom
                                    admin
                                    wrote on last edited by
                                    #29

                                    @bgaudel Apologies, the .conf was what I meant. Are you still having the same issue?

                                    B 1 Reply Last reply
                                    0
                                    • tomT tom

                                      @bgaudel Apologies, the .conf was what I meant. Are you still having the same issue?

                                      B Offline
                                      B Offline
                                      bgaudel
                                      Contributor
                                      wrote on last edited by bgaudel
                                      #30

                                      @tom yes, still not able to connect with QGC

                                      The output of voxl-px4 command is:

                                      00caa24f-a0e0-4580-b12e-ea176577e680-image.png
                                      Does this look okay? What other settings and files should I pay attention for?

                                      tomT 1 Reply Last reply
                                      0
                                      • B bgaudel

                                        @tom yes, still not able to connect with QGC

                                        The output of voxl-px4 command is:

                                        00caa24f-a0e0-4580-b12e-ea176577e680-image.png
                                        Does this look okay? What other settings and files should I pay attention for?

                                        tomT Online
                                        tomT Online
                                        tom
                                        admin
                                        wrote on last edited by
                                        #31

                                        @bgaudel voxl-px4 is already running in the background, there's no need to try to start any of the processes manually from the command line.

                                        Now that you've gone through voxl-configure-mpa, can you try these commands again so we can get some info:

                                        journalctl -u voxl-px4
                                        journalctl -u voxl-vision-px4
                                        journalctl -u voxl-mavlink-server
                                        
                                        B 1 Reply Last reply
                                        0
                                        • tomT tom

                                          @bgaudel voxl-px4 is already running in the background, there's no need to try to start any of the processes manually from the command line.

                                          Now that you've gone through voxl-configure-mpa, can you try these commands again so we can get some info:

                                          journalctl -u voxl-px4
                                          journalctl -u voxl-vision-px4
                                          journalctl -u voxl-mavlink-server
                                          
                                          B Offline
                                          B Offline
                                          bgaudel
                                          Contributor
                                          wrote on last edited by
                                          #32

                                          @tom Here is the output of these commands:
                                          3e07e160-442a-40be-ae73-57ba29ae9950-image.png

                                          f8d2007c-d9d2-460c-9ae0-67104798f960-image.png

                                          6e99702d-9fca-48bf-b69a-ee649933411d-image.png
                                          0a85071d-b6eb-46b4-bf3e-3ab3d99a5674-image.png

                                          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