VOXL not connecting to QGC

  • Hello,
    I have been working on VOXL CAM since few months now and suddenly started to experience issue wherein my QGC is not able to communicate with flight core present on VOXL.

    I have already checked forum and followed few tips which are as follows :

    • I am adding correct QGC IP in volx-vision-px4.conf file and restarting service.
    • I have tried connecting Flight core USB connection directly to my Qgc operating ubuntu 18.04 machine and still I am unable to view all parameters and flight modes through the same.
    • I tried uploading standard firmware provided by ModalAI via ./Tools/upload.sh script from px4-firmware repository of ModalAI where I was successfully able to upload the firmware.
    • I am also able to connect to flight core from Voxl with voxl-px4-shell interface and get all status of all modules running. (My firmware and hardware seems to be fully operational via this test)

    Even after all these tests my QGC isnt communicating with FCU. Please help.
    My "ver all" output from voxl-px4-shell is as follows :
    HW arch: MODALAI_FC_V1
    HW type: V106
    HW version: 0x00000000
    HW revision: 0x00000006
    FW git-hash: f40863b2a72a3cf1c8d85b364a25a5dff3e87898
    FW version: Release 1.11.3 (17499135)
    OS: NuttX
    OS version: Release 8.2.0 (134349055)
    OS git-hash: ec20f2e6c5cc35b2b9bbe942dea55eabb81297b6
    Build datetime: Nov 15 2021 21:25:12
    Build uri: localhost
    Toolchain: GNU GCC, 7.2.1 20170904 (release) [ARM/embedded-7-branch revision 255204]
    PX4GUID: 000200000000203935534b5650020033002a
    MCU: STM32F76xxx, rev. Z

    My voxl-version output is as follows :

    system-image: ModalAI 3.3.0 BUILDER: ekatzfey BUILD_TIME: 2021-06-06_19:28
    kernel: #1 SMP PREEMPT Sun Jun 6 19:41:01 UTC 2021 3.18.71-perf
    factory-bundle: 1.0.1 (Yocto installation)

    architecture: aarch64
    processor: apq8096
    os: GNU/Linux

    Package: voxl-suite
    Version: 0.5.0
    Depends: libjpeg_turbo (>= 9.0.4), libmodal_exposure (>= 0.0.2), libmodal_json (>= 0.3.6), libmodal_pipe (>= 2.1.1), librc_math (>= 1.1.5), libvoxl_cutils (>= 0.0.2), libvoxl_io (>= 0.5.4), mavlink-camera-manager (>= 0.0.2), mongoose (>= 7.3.0), opencv (>= 4.5.2-2), openmp (>= 10.0.2), voxl-camera-calibration (>= 0.1.1), voxl-camera-server (>= 0.8.1), voxl-cpu-monitor (>= 0.2.0), voxl-dfs-server (>= 0.2.2), voxl-docker-support (>= 1.1.3), voxl-gphoto2 (>= 0.0.5), voxl-imu-server (>= 0.9.1), voxl-mavlink (>= 0.0.2), voxl-modem (>= 0.12.0), voxl-mpa-tools (>= 0.3.6), voxl-nodes (>= 0.2.0), voxl-portal (>= 0.1.2), voxl-qvio-server (>= 0.3.4), voxl-streamer (>= 0.2.6), voxl-tag-detector (>= 0.0.2), voxl-tflite (>= 2.2.3), voxl-tflite-server (>= 0.1.5), voxl-utils (>= 0.8.4), voxl-vision-px4 (>= 0.9.5), voxl-vpn (>= 0.0.3)
    Status: install user installed
    Section: base
    Architecture: all
    Maintainer: james@modalai.com
    MD5Sum: f55ec020942e92ff12bc137c2aa8d2a5
    Size: 1956
    Filename: voxl-suite_0.5.0.ipk
    Description: meta-package for voxl-suite software collection
    Installed-Time: 275

    Package: voxl-suite
    Version: 0.2.0
    Depends: docker, imu_app (= 0.0.6), libvoxl_io (= 0.5.2), voxl-cam-manager (= 0.2.2), voxl-docker-support (= 1.1.1), voxl-hal3-tof-cam-ros (= 0.0.2), voxl-modem (= 0.10.0), voxl-nodes (= 0.0.8), voxl-rtsp (= 1.0.2), voxl-utils (= 0.5.2), voxl-vision-px4 (= 0.6.8), voxl_imu (= 0.0.4), voxl-time-sync (= 0.0.1), voxl-vpn (= 0.0.2), librc_math (= 1.1.2), libmodal_pipe (= 1.2.2), modalai-vl (= 0.1.3)
    Status: unknown ok not-installed
    Section: base
    Architecture: armv7a
    Maintainer: james@modalai.com
    MD5Sum: af706cd3c1ea59f274f2ed9b93141f1d
    Size: 870
    Filename: voxl-suite_0.2.0.ipk
    Description: meta-package to install all of the voxl-suite

    Please provide further help in this issue.

  • [Update]
    Error on QGC terminal are as follows :

    akash@akash-G5-5500:~/Personal$ ./QGroundControl.AppImage 
    Settings location "/home/akash/.config/QGroundControl.org/QGroundControl.ini" Is writable?: true
    Filter rules "*Log.debug=false\n"
    serialnmea: No known GPS device found. Specify the COM port via QT_NMEA_SERIAL_PORT.
    MAVLinkLogManagerLog: MAVLink logs directory: "/home/akash/Documents/QGroundControl/Logs"
    System reported locale: QLocale(English, Latin, India) "en_IN"
    Loading localization for "en_IN"
    Qt localization for "en_IN" is not present
    Map Cache in: "/home/akash/.cache/QGCMapCache300" / "qgcMapCache.db"
    qrc:/qml/QGroundControl/Controls/ToolStrip.qml:100:21: Unable to assign [undefined] to bool
    Adding target QHostAddress("") 14550
    qt.positioning.geoclue2: Unable to start the client: "org.freedesktop.DBus.Error.AccessDenied" "Geolocation disabled for UID 1000"
    QGCPositionManager error 0
    Switching outbound to mavlink 2.0 due to incoming mavlink 2.0 packet: 0x56171288ba28 1 2
    Temp log "/tmp/FlightData146713.mavlink"
    Adding target QHostAddress("") 14550
    open failed "Permission error while locking the device" QSerialPort::PermissionError "voxl-usb" false
    "Error connecting: Could not create port. Permission error while locking the device"

  • @Akash-Patil

    Can you post an output of which services are running on the VOXL-CAM? voxl-inspect-services --version

    I think based on the versions you are running, you will need at least voxl-vision-px4 running to forward traffic or voxl-mavlink which was broken out in a more recent version in conjunction with the vision service.

    It looks like you might have some mixed package versions as well between voxl-suites?

    Have you been connecting over USB or wifi?
    If Wifi you need to make sure you have voxl-vision-px4 configured for your IP address.

    See: https://docs.modalai.com/voxl-vision-px4-telemetry/#voxl-vision-px4-mavlink-telemetry-routing for more details.

  • @Darkhive Thank you for responding quickly. I fixed the issue by complete px4 parameter reset from voxl-px4-shell interface. I might have messed up with some parameters which led to this problem.

    On a seperate note I am facing one more minor problem. I have followed mavros tutorial over here and was able to install mavros in my roskinetic-xenial docker image. Whenever I am executing ./run_mavros.sh script (I have setup ros_environment.sh file with respect to my network setup) I am facing below show issue wherein mavros isnt getting response over mavlink for home position.
    Please find attached logs

    roskinetic:mavros_test$ ./run_mavros.sh 
    ... logging to /root/.ros/log/7f5db350-bd4b-11ec-a98d-18473db1c73b/roslaunch-apq8096-69.log
    Checking log directory for disk usage. This may take awhile.
    Press Ctrl-C to interrupt
    Done checking log file disk usage. Usage is <1GB.
    started roslaunch server
     * /mavros/
     * /mavros/cmd/use_comp_id_system_control: False
     * /mavros/conn/heartbeat_rate: 1.0
     * /mavros/conn/system_time_rate: 1.0
     * /mavros/conn/timeout: 10.0
     * /mavros/conn/timesync_rate: 10.0
     * /mavros/distance_sensor/hrlv_ez4_pub/field_of_view: 0.0
     * /mavros/distance_sensor/hrlv_ez4_pub/frame_id: hrlv_ez4_sonar
     * /mavros/distance_sensor/hrlv_ez4_pub/id: 0
     * /mavros/distance_sensor/hrlv_ez4_pub/orientation: PITCH_270
     * /mavros/distance_sensor/hrlv_ez4_pub/send_tf: True
     * /mavros/distance_sensor/hrlv_ez4_pub/sensor_position/x: 0.0
     * /mavros/distance_sensor/hrlv_ez4_pub/sensor_position/y: 0.0
     * /mavros/distance_sensor/hrlv_ez4_pub/sensor_position/z: -0.1
     * /mavros/distance_sensor/laser_1_sub/id: 3
     * /mavros/distance_sensor/laser_1_sub/orientation: PITCH_270
     * /mavros/distance_sensor/laser_1_sub/subscriber: True
     * /mavros/distance_sensor/lidarlite_pub/field_of_view: 0.0
     * /mavros/distance_sensor/lidarlite_pub/frame_id: lidarlite_laser
     * /mavros/distance_sensor/lidarlite_pub/id: 1
     * /mavros/distance_sensor/lidarlite_pub/orientation: PITCH_270
     * /mavros/distance_sensor/lidarlite_pub/send_tf: True
     * /mavros/distance_sensor/lidarlite_pub/sensor_position/x: 0.0
     * /mavros/distance_sensor/lidarlite_pub/sensor_position/y: 0.0
     * /mavros/distance_sensor/lidarlite_pub/sensor_position/z: -0.1
     * /mavros/distance_sensor/sonar_1_sub/id: 2
     * /mavros/distance_sensor/sonar_1_sub/orientation: PITCH_270
     * /mavros/distance_sensor/sonar_1_sub/subscriber: True
     * /mavros/fake_gps/eph: 2.0
     * /mavros/fake_gps/epv: 2.0
     * /mavros/fake_gps/fix_type: 3
     * /mavros/fake_gps/geo_origin/alt: 408.0
     * /mavros/fake_gps/geo_origin/lat: 47.3667
     * /mavros/fake_gps/geo_origin/lon: 8.55
     * /mavros/fake_gps/gps_rate: 5.0
     * /mavros/fake_gps/mocap_transform: True
     * /mavros/fake_gps/satellites_visible: 5
     * /mavros/fake_gps/tf/child_frame_id: fix
     * /mavros/fake_gps/tf/frame_id: map
     * /mavros/fake_gps/tf/listen: False
     * /mavros/fake_gps/tf/rate_limit: 10.0
     * /mavros/fake_gps/tf/send: False
     * /mavros/fake_gps/use_mocap: True
     * /mavros/fake_gps/use_vision: False
     * /mavros/fcu_protocol: v2.0
     * /mavros/fcu_url: udp://
     * /mavros/gcs_url: 
     * /mavros/global_position/child_frame_id: base_link
     * /mavros/global_position/frame_id: map
     * /mavros/global_position/gps_uere: 1.0
     * /mavros/global_position/rot_covariance: 99999.0
     * /mavros/global_position/tf/child_frame_id: base_link
     * /mavros/global_position/tf/frame_id: map
     * /mavros/global_position/tf/global_frame_id: earth
     * /mavros/global_position/tf/send: False
     * /mavros/global_position/use_relative_alt: True
     * /mavros/image/frame_id: px4flow
     * /mavros/imu/angular_velocity_stdev: 0.0003490659 // 0...
     * /mavros/imu/frame_id: base_link
     * /mavros/imu/linear_acceleration_stdev: 0.0003
     * /mavros/imu/magnetic_stdev: 0.0
     * /mavros/imu/orientation_stdev: 1.0
     * /mavros/landing_target/camera/fov_x: 2.0071286398
     * /mavros/landing_target/camera/fov_y: 2.0071286398
     * /mavros/landing_target/image/height: 480
     * /mavros/landing_target/image/width: 640
     * /mavros/landing_target/land_target_type: VISION_FIDUCIAL
     * /mavros/landing_target/listen_lt: False
     * /mavros/landing_target/mav_frame: LOCAL_NED
     * /mavros/landing_target/target_size/x: 0.3
     * /mavros/landing_target/target_size/y: 0.3
     * /mavros/landing_target/tf/child_frame_id: camera_center
     * /mavros/landing_target/tf/frame_id: landing_target
     * /mavros/landing_target/tf/listen: False
     * /mavros/landing_target/tf/rate_limit: 10.0
     * /mavros/landing_target/tf/send: True
     * /mavros/local_position/frame_id: map
     * /mavros/local_position/tf/child_frame_id: base_link
     * /mavros/local_position/tf/frame_id: map
     * /mavros/local_position/tf/send: False
     * /mavros/local_position/tf/send_fcu: False
     * /mavros/mission/pull_after_gcs: True
     * /mavros/mocap/use_pose: True
     * /mavros/mocap/use_tf: False
     * /mavros/odometry/fcu/odom_child_id_des: base_link
     * /mavros/odometry/fcu/odom_parent_id_des: map
     * /mavros/plugin_blacklist: ['safety_area', '...
     * /mavros/plugin_whitelist: []
     * /mavros/px4flow/frame_id: px4flow
     * /mavros/px4flow/ranger_fov: 0.118682
     * /mavros/px4flow/ranger_max_range: 5.0
     * /mavros/px4flow/ranger_min_range: 0.3
     * /mavros/safety_area/p1/x: 1.0
     * /mavros/safety_area/p1/y: 1.0
     * /mavros/safety_area/p1/z: 1.0
     * /mavros/safety_area/p2/x: -1.0
     * /mavros/safety_area/p2/y: -1.0
     * /mavros/safety_area/p2/z: -1.0
     * /mavros/setpoint_accel/send_force: False
     * /mavros/setpoint_attitude/reverse_thrust: False
     * /mavros/setpoint_attitude/tf/child_frame_id: target_attitude
     * /mavros/setpoint_attitude/tf/frame_id: map
     * /mavros/setpoint_attitude/tf/listen: False
     * /mavros/setpoint_attitude/tf/rate_limit: 50.0
     * /mavros/setpoint_attitude/use_quaternion: False
     * /mavros/setpoint_position/mav_frame: LOCAL_NED
     * /mavros/setpoint_position/tf/child_frame_id: target_position
     * /mavros/setpoint_position/tf/frame_id: map
     * /mavros/setpoint_position/tf/listen: False
     * /mavros/setpoint_position/tf/rate_limit: 50.0
     * /mavros/setpoint_raw/thrust_scaling: 1.0
     * /mavros/setpoint_velocity/mav_frame: LOCAL_NED
     * /mavros/startup_px4_usb_quirk: True
     * /mavros/sys/disable_diag: False
     * /mavros/sys/min_voltage: 10.0
     * /mavros/target_component_id: 1
     * /mavros/target_system_id: 1
     * /mavros/tdr_radio/low_rssi: 40
     * /mavros/time/time_ref_source: fcu
     * /mavros/time/timesync_avg_alpha: 0.6
     * /mavros/time/timesync_mode: MAVLINK
     * /mavros/vibration/frame_id: base_link
     * /mavros/vision_pose/tf/child_frame_id: vision_estimate
     * /mavros/vision_pose/tf/frame_id: odom
     * /mavros/vision_pose/tf/listen: False
     * /mavros/vision_pose/tf/rate_limit: 10.0
     * /mavros/vision_speed/listen_twist: True
     * /mavros/vision_speed/twist_cov: True
     * /mavros/wheel_odometry/child_frame_id: base_link
     * /mavros/wheel_odometry/count: 2
     * /mavros/wheel_odometry/frame_id: odom
     * /mavros/wheel_odometry/send_raw: True
     * /mavros/wheel_odometry/send_twist: False
     * /mavros/wheel_odometry/tf/child_frame_id: base_link
     * /mavros/wheel_odometry/tf/frame_id: odom
     * /mavros/wheel_odometry/tf/send: False
     * /mavros/wheel_odometry/use_rpm: False
     * /mavros/wheel_odometry/vel_error: 0.1
     * /mavros/wheel_odometry/wheel0/radius: 0.05
     * /mavros/wheel_odometry/wheel0/x: 0.0
     * /mavros/wheel_odometry/wheel0/y: -0.15
     * /mavros/wheel_odometry/wheel1/radius: 0.05
     * /mavros/wheel_odometry/wheel1/x: 0.0
     * /mavros/wheel_odometry/wheel1/y: 0.15
     * /rosdistro: kinetic
     * /rosversion: 1.12.17
        mavros (mavros/mavros_node)
    auto-starting new master
    process[master]: started with pid [79]
    setting /run_id to 7f5db350-bd4b-11ec-a98d-18473db1c73b
    process[rosout-1]: started with pid [93]
    started core service [/rosout]
    process[mavros-2]: started with pid [112]
    [ INFO] [1650089252.553423684]: FCU URL: udp://
    [ INFO] [1650089252.562209112]: udp0: Bind address:
    [ INFO] [1650089252.562960419]: GCS bridge disabled
    [ INFO] [1650089252.568368895]: udp0: Remote address:
    [ INFO] [1650089252.627217910]: Plugin 3dr_radio loaded
    [ INFO] [1650089252.638157885]: Plugin 3dr_radio initialized
    [ INFO] [1650089252.638676378]: Plugin actuator_control loaded
    [ INFO] [1650089252.666821788]: Plugin actuator_control initialized
    [ INFO] [1650089252.667341687]: Plugin altitude loaded
    [ INFO] [1650089252.675970395]: Plugin altitude initialized
    [ INFO] [1650089252.676476857]: Plugin command loaded
    [ INFO] [1650089252.729651248]: Plugin command initialized
    [ INFO] [1650089252.731232405]: Plugin ftp loaded
    [ INFO] [1650089252.784663517]: Plugin ftp initialized
    [ INFO] [1650089252.788920891]: Plugin global_position loaded
    [ INFO] [1650089252.933070413]: Plugin global_position initialized
    [ INFO] [1650089252.935017823]: Plugin hil loaded
    [ INFO] [1650089253.077012381]: Plugin hil initialized
    [ INFO] [1650089253.081661477]: Plugin home_position loaded
    [ INFO] [1650089253.131126571]: Plugin home_position initialized
    [ INFO] [1650089253.133230440]: Plugin imu loaded
    [ INFO] [1650089253.196721363]: Plugin imu initialized
    [ INFO] [1650089253.198109758]: Plugin local_position loaded
    [ INFO] [1650089253.243905920]: Plugin local_position initialized
    [ INFO] [1650089253.244455038]: Plugin manual_control loaded
    [ INFO] [1650089253.268638805]: Plugin manual_control initialized
    [ INFO] [1650089253.269005787]: Plugin param loaded
    [ INFO] [1650089253.296789944]: Plugin param initialized
    [ INFO] [1650089253.298706625]: Plugin rc_io loaded
    [ INFO] [1650089253.324475820]: Plugin rc_io initialized
    [ INFO] [1650089253.324662852]: Plugin safety_area blacklisted
    [ INFO] [1650089253.324999261]: Plugin setpoint_accel loaded
    [ INFO] [1650089253.342864649]: Plugin setpoint_accel initialized
    [ INFO] [1650089253.343598196]: Plugin setpoint_attitude loaded
    [ INFO] [1650089253.410198517]: Plugin setpoint_attitude initialized
    [ INFO] [1650089253.410856021]: Plugin setpoint_position loaded
    [ INFO] [1650089253.537799743]: Plugin setpoint_position initialized
    [ INFO] [1650089253.541088568]: Plugin setpoint_raw loaded
    [ INFO] [1650089253.622535193]: Plugin setpoint_raw initialized
    [ INFO] [1650089253.623860359]: Plugin setpoint_trajectory loaded
    [ INFO] [1650089253.662709439]: Plugin setpoint_trajectory initialized
    [ INFO] [1650089253.664452837]: Plugin setpoint_velocity loaded
    [ INFO] [1650089253.726545573]: Plugin setpoint_velocity initialized
    [ INFO] [1650089253.728385482]: Plugin sys_status loaded
    [ INFO] [1650089253.826093057]: Plugin sys_status initialized
    [ INFO] [1650089253.826767385]: Plugin sys_time loaded
    [ INFO] [1650089253.885908277]: TM: Timesync mode: MAVLINK
    [ INFO] [1650089253.897343776]: Plugin sys_time initialized
    [ INFO] [1650089253.898854099]: Plugin vfr_hud loaded
    [ INFO] [1650089253.908517293]: Plugin vfr_hud initialized
    [ INFO] [1650089253.910204649]: Plugin waypoint loaded
    [ INFO] [1650089253.952824902]: Plugin waypoint initialized
    [ INFO] [1650089253.954351215]: Plugin wind_estimation loaded
    [ INFO] [1650089253.965729057]: Plugin wind_estimation initialized
    [ INFO] [1650089253.966118278]: Autostarting mavlink via USB on PX4
    [ INFO] [1650089253.967461882]: Built-in SIMD instructions: ARM NEON
    [ INFO] [1650089253.967765321]: Built-in MAVLink package version: 2019.12.30
    [ INFO] [1650089253.968015636]: Known MAVLink dialects: common ardupilotmega ASLUAV autoquad icarous matrixpilot paparazzi slugs standard uAvionix ualberta
    [ INFO] [1650089253.968231835]: MAVROS started. MY ID 1.240, TARGET ID 1.1
    [ INFO] [1650089253.973312549]: IMU: High resolution IMU detected!
    [ INFO] [1650089253.973704270]: IMU: Attitude quaternion IMU detected!
    [ INFO] [1650089254.005925543]: CON: Got HEARTBEAT, connected. FCU: PX4 Autopilot
    [ INFO] [1650089254.017477917]: IMU: High resolution IMU detected!
    [ INFO] [1650089254.019346107]: IMU: Attitude quaternion IMU detected!
    [ INFO] [1650089255.054933210]: VER: 1.1: Capabilities         0x000000000000e4ef
    [ INFO] [1650089255.056769942]: VER: 1.1: Flight software:     010b03ff (f40863b2a7000203)
    [ INFO] [1650089255.056997443]: VER: 1.1: Middleware software: 010b03ff (f40863b2a7000000)
    [ INFO] [1650089255.057137496]: VER: 1.1: OS software:         080200ff (ec20f2e6c5cc35b2)
    [ INFO] [1650089255.057275050]: VER: 1.1: Board hardware:      0000a32f
    [ INFO] [1650089255.057622135]: VER: 1.1: VID/PID:             0483:a32f
    [ INFO] [1650089255.058063493]: VER: 1.1: UID:                 4b56500220393553
    [ WARN] [1650089255.058796415]: CMD: Unexpected command 520, result 0
    [ INFO] [1650089264.008249452]: HP: requesting home position
    [ INFO] [1650089269.010931835]: WP: mission received
    [ INFO] [1650089274.008232199]: HP: requesting home position
    [ INFO] [1650089284.009017035]: HP: requesting home position
    [ INFO] [1650089294.007160603]: HP: requesting home position
    [ INFO] [1650089304.007964814]: HP: requesting home position
    [ INFO] [1650089314.009846533]: HP: requesting home position
    [ INFO] [1650089324.006486027]: HP: requesting home position
    [ INFO] [1650089334.006561431]: HP: requesting home position
    [ INFO] [1650089344.007188089]: HP: requesting home position
    [ INFO] [1650089354.006818333]: HP: requesting home position
    [ INFO] [1650089364.006860404]: HP: requesting home position
    [ INFO] [1650089374.006691483]: HP: requesting home position
    [ INFO] [1650089384.006815481]: HP: requesting home position

    I have already checked qvio server output and even on QGC window I am able to see odometry been received.

    What can be the issue?

  • @Akash-Patil

    Are you able to fly reliably and hold position using VIO prior to trying MAVROS?

    Within QGC, what value do you have for PX4 EKF2_AID_MASK ?

    I've not done much with MAVROS... just some guesses.

  • @stevet I haven't yet had any flight with VIO.

    I wanted to have my pipeline ready for trying out my path planning algorithm for which I need mavros running.

    PX4 EKF2_AID_MASK value is set to 280. I have referred to helper parameters over here on my drone still facing issue of "HP: requesting home position" constantly on mavros launch file from roskinetic-xenial docker image.

    Can you tag someone who has worked with mavros in order to support this issue? We are kindoff stuck with this issue.

  • Apologies -- I don't work for ModalAI. Just another dev leveraging Modal's kit. 🙂

    Someone I'm sure will chime in from the team. Maybe @James-Strawson?

    I would definitely make sure you can fly with VIO prior to jumping in with MAVROS. (https://docs.modalai.com/mavros/#prerequisites) VIO running in voxl-vision-px4 will establish the home position. Do you have PX4 in offboard mode?

    https://gitlab.com/voxl-public/voxl-sdk/services/voxl-vision-px4/-/blob/master/src/offboard_trajectory.c#L280 Also shows that you need to have VIO running and sending a home sent point so PX4 can send that for MAVROS to receive and process in your code. Believe you also will need offboard mode set to trajectory in /etc/modalai/voxl-vision-px4.conf, But, I could be wrong... at a quick glance of https://gitlab.com/voxl-public/voxl-sdk/services/voxl-vision-px4/-/blob/master/src/vio_manager.c#L72 it appears that VIO does not send a home point so I think to establish one PX4 would have to detect a liftoff and start publishing its own based on the VIO data it was receiving vice one established by one of the trajectory modes.

  • @stevet Thank you so much for incredible insights into voxl-vision-px4 package as well as pointing to specific code which may be related to this issue.

    I changed offboard mode to "trajectory" in voxl-vision-px4.conf and tried running mavros with it still no luck. Still I face same issue of mavros requesting home position from PX4.

    I dont know exactly when PX4 sends home position to mavros, as in when copter lifts off or even on ground. But still it would be worth a try to run mavros once copter is off the ground holding its position.

    @James-Strawson Any inputs over here? Does PX4 publishes home position to mavros when qvio server is initialised and sending VIO to FCU. I guess it should since people generally must be using figure eight offboard example with mavros from ground which needs mavros to be taking in all setpoint_raw mavros topics inputs?

  • Dev Team

    @stevet said in VOXL not connecting to QGC:


    When using MAVROS the vvpx4 offboard_mode setting should be set to "off" since the figure 8 and trajectory modes let vvpx4 send offboard commands which would naturally conflict with offboard commands coming from MAVROS.

    the "HP: requesting home position" message is perfectly normal, I've always seen it come up and it's never stopped me from running the mavros figure-8 example.

  • @James-Strawson Can you please elaborate on setting vvpx4 offboard_mode "off" while using MAVROS. I am having a similar issue: my drone does not take off, and the screen displays "requesting home position" when I am running mavros_test.sh file.
    If you can guide me through the steps of turning vvpx4 offboard_mode "off", that would be great. Thank You.

  • @James-Strawson I also set offboard_mode of vvpx4 to "off" while running mavros test and the drone still does not take off. I have also attached the pictures of what I changed.
    IMG_2813 2-min.JPG

  • @James-Strawson Thank you for your response.

    Even if I ignore "HP: requesting home position" I am not getting any data over /mavros/global_position/local topic which I think needs home position to be set correctly. Intention behind using /mavros/global_position/local is to have odometry in FLU frame which directly fits into most of the path planners for further work. Any inputs over here?

    I did few more experiments but with no luck :

    • I have seen in some forums like this fake gps plugin in px4 can be used to set home position. This plugin is present in px4 plugin list but isnt active maybe.

    • I tried running rosservice call /mavros/cmd/set_home which always returns false in result which means it is failing. My qvio data is been forwarded to px4 and I can see it on QGC terminal as well.

    Any thoughts on getting /mavros/global_position/local or /mavros/local_position/odom topics working?

  • @parbat101 Probably you can try enabling "en_send_vio_to_qgc": true in your above shown config file? In my case I can arm drone in manual/position mode easily, just using mavros is the concern.

  • @Aks Thank you for your reply. My problem is also with MAVROS; it does not take off at last step and requests for home position. The drone (VOXL m500) takes off and I can control it flawlessly on manual and position flight mode.

    I also enabled "en_send_vio_to_qgc" after your suggestion; the MAVROS flight did not work. It still does not take off in the MAVROS flight test. For manual mode and position flight mode, I did not have any problems.
    I am not sure what is the problem with the MAVROS flight???


  • hey!@parbat101
    Didi you figure out the way to set local position as home? If so please post it here, that would be helpful
    thank you

  • @Steve-Turner Hey please I need you help setting up ADB for my newly purchased VOXL CAM. I already started a discussion "Broken parts".

Log in to reply