Can't get QGroundControl to connect
-
I have VOXL with tracking camera only. No flight core, as I'm not developing for a drone application.
I see in wireshark UDP packets from PC going to VOXL and VOXL is seeing them also.
/ # cat /etc/modalai/voxl-vision-px4.conf /** * VOXL Vision PX4 Configuration File * */ { "qgc_ip": "NULL", "en_localhost_mavlink_udp": true, "en_secondary_qgc": false, "secondary_qgc_ip": "192.168.1.214", "qgc_udp_port_number": 14550, "localhost_udp_port_number": 14551, "udp_mtu": 512, "en_vio": true, "en_voa": false, "en_send_vio_to_qgc": false, "en_send_voa_to_qgc": false, "en_set_clock_from_gps": true, "en_force_onboard_mav1_mode": true, "en_reset_px4_on_error": true, "qvio_auto_reset_quality": 0.00050000002374872565, "en_adsb": false, "adsb_uart_bus": 7, "adsb_uart_baudrate": 57600, "px4_uart_bus": 5, "px4_uart_baudrate": 921600, "offboard_mode": "off", "follow_tag_id": 0, "en_tag_fixed_frame": false, "fixed_frame_filter_len": 5, "en_transform_mavlink_pos_setpoints_from_fixed_frame": false }
voxl-vision-px4 --debug_udp_recv Enabling UDP recv debugging loading our own config file ================================================================= Parameters as loaded from config file: qgc_ip: NULL en_localhost_mavlink_udp 1 en_secondary_qgc: 0 secondary_qgc_ip: 192.168.1.214 qgc_udp_port_number: 14550 localhost_udp_port_number: 14551 udp_mtu: 512 en_vio: 1 en_voa: 0 en_send_vio_to_qgc: 0 en_send_voa_to_qgc: 0 en_set_clock_from_gps: 1 en_force_onboard_mav1_mode: 1 en_reset_px4_on_error: 1 qvio_auto_reset_quality: 0.000500 en_adsb: 0 adsb_uart_bus: 7 adsb_uart_baudrate: 57600 px4_uart_bus: 5 px4_uart_baudrate: 921600 offboard_mode: off follow_tag_id: 0 en_tag_fixed_frame: 0 fixed_frame_filter_len: 5 en_transform_mavlink_pos_setpoints_from_fixed_frame:0 ================================================================= loading extrinsics config file exising instance of voxl-vision-px4 found, attempting to stop it starting geometry module starting px4 monitor starting uart mavlink Successfully opened mavparser starting udp mavlink Adding manual QGC IP address to udp connection list: NULL WARNING: invalid qgc_ip, this is fine if you don't want to use it starting px4 shell starting fixed pose input starting vio manager starting tag manager Init complete, entering main loop UDP recv msg ID: 0 sysid:255 from port: 14550 IP: 192.168.8.112 Added new UDP connection to 192.168.8.112 UDP recv msg ID: 0 sysid:255 from port: 14550 IP: 192.168.8.112 WARNING PX4 DISCONNECTED FROM UART UDP recv msg ID: 0 sysid:255 from port: 14550 IP: 192.168.8.112 UDP recv msg ID: 0 sysid:255 from port: 14550 IP: 192.168.8.112 UDP recv msg ID: 0 sysid:255 from port: 14550 IP: 192.168.8.112 UDP recv msg ID: 0 sysid:255 from port: 14550 IP: 192.168.8.112 UDP recv msg ID: 0 sysid:255 from port: 14550 IP: 192.168.8.112 UDP recv msg ID: 0 sysid:255 from port: 14550 IP: 192.168.8.112 UDP recv msg ID: 0 sysid:255 from port: 14550 IP: 192.168.8.112
So packets are arriving, but nothing is being sent from VOXL?
My goal is to extract all telemetry thru UART, but want to use QGroundControl to view telemetry.
-
Also, I'm not getting any readout using voxl-inspect-qvio
yocto:/etc/modalai$ voxl-inspect-qvio waiting for server
-
Is QVIO server running? can you paste the output of
voxl-inspect-services
-
Not running, how does it get started?
Service Name | Enabled | Running | CPU Usage -------------------------------------------------------------- docker-autorun | Disabled | Not Running | Not Running docker-daemon | Disabled | Not Running | Not Running modallink-relink | Disabled | Not Running | Not Running voxl-camera-server | Enabled | Not Running | Not Running voxl-cpu-monitor | Enabled | Running | 0.0% voxl-dfs-server | Disabled | Not Running | Not Running voxl-imu-server | Enabled | Not Running | Not Running voxl-modem | Disabled | Not Running | Not Running voxl-qvio-server | Disabled | Not Running | Not Running voxl-streamer | Disabled | Not Running | Not Running voxl-tag-detector | Disabled | Not Running | Not Running voxl-tflite-server | Disabled | Not Running | Not Running voxl-time-sync | Disabled | Not Running | Not Running voxl-vision-px4 | Enabled | Not Running | Not Running yocto:/etc/modalai$ enable voxl-qvio-server -bash: enable: voxl-qvio-server: not a shell builtin
-
Looks like I need to calibrate the tracking camera. Can I do this without ROS?
yocto:/etc/modalai$ voxl-qvio-server loading qvio config file Creating new config file: /etc/modalai/voxl-qvio-server.conf ================================================================= imu_name: imu1 cam_name: tracking odr_hz: 30.000 use_camera_height_bootstrap: 1 camera_height_off_ground_m: 0.100 enable_init_while_moving: 1 cam_imu_timeshift_s: 0.002 cam_imu_timeshift_s_uncertainty: 0.001 T_cam_wrt_imu_uncertainty: 0.005 0.005 0.005 R_cam_to_imu_uncertainty: 0.040 0.040 0.040 accl_fsr_ms2: 156.000 gyro_fsr_rad: 34.000 accl_noise_std_dev: 0.316 gyro_noise_std_dev: 0.010 cam_noise_std_dev: 100.000 min_std_pixel_noise: 0.500 fail_high_pixel_noise_points: 1.665 limited_imu_bw_trigger: 35.000 gps_imu_time_alignment_s: 0.000 T_gps_wrt_imu: -0.115 0.450 0.100 enable_mapping: 1 enable_gps_vel: 0 ================================================================= setting scheduler WARNING Failed to set priority, errno = 1 This seems to be a problem with ADB, the scheduler should work properly when this is a background process ERROR failed to set scheduler loading extrinsics config file #0: parent: imu1 child: tracking T_child_wrt_parent: 0.017 0.015 0.013 RPY_parent_to_child: 0.0 45.0 90.0 R_child_to_parent: 0.000 -0.707 0.707 1.000 0.000 -0.000 -0.000 0.707 0.707 tbc: 0.017 0.015 0.013 ombc: 0.614 0.614 1.482 (axis angle) ombc: 0.000 45.000 90.000 (RPY deg) WARNING: Failed to open tracking camera intrinsic file: /data/modalai/opencv_tracking_intrinsics.yml using default tracking camera intrinsics for now follow instructions here to calibrate the tracking cam: https://docs.modalai.com/calibrate-cameras/ using camera intrinsics: focal lengths: 275.078000 274.931000 principle points: 319.625000 243.144000 distortion: 0.003908 -0.009574 0.010173 -0.003329 MachineVision is licensed as community user LNX_8074 supported? 1 LNX_8096 supported? 1 LNX_IA64 supported? 1 WINDOWS supported? 0 AR ERROR: arFileOpen(): Failed to open file: /etc/modalai/vislam/Configuration.SF.xml FASTCV: fcvAvailableHardware Linux mempool cur block size 307200, new block size 307200 Please ignore the error about Configuration.SF.xml above. ^^^ It's an optional file, and should be a warning not an error waiting for imu waiting for cam
-
@Alex-Gardner I turned on some of the services
Service Name | Enabled | Running | CPU Usage -------------------------------------------------------------- docker-autorun | Disabled | Not Running | Not Running docker-daemon | Disabled | Not Running | Not Running modallink-relink | Disabled | Not Running | Not Running voxl-camera-server | Enabled | Running | 4.1% voxl-cpu-monitor | Enabled | Running | 0.0% voxl-dfs-server | Disabled | Not Running | Not Running voxl-imu-server | Enabled | Not Running | Not Running voxl-modem | Disabled | Not Running | Not Running voxl-qvio-server | Enabled | Running | 10.6% voxl-streamer | Disabled | Not Running | Not Running voxl-tag-detector | Disabled | Not Running | Not Running voxl-tflite-server | Disabled | Not Running | Not Running voxl-time-sync | Disabled | Not Running | Not Running voxl-vision-px4 | Enabled | Running | 1.8%
getting vio data, but lots of BAD_CAM_CAL
yocto:~$ voxl-inspect-qvio waiting for server T_imu_wrt_vio (m) |Roll Pitch Yaw (deg)| state| error_code -377.23 1276.78 231.84| 20.6 47.4 -97.2| OKAY | BAD_CAM_CAL -379.63 1270.80 230.19| 28.4 40.2 -73.3| OKAY | BAD_CAM_CAL -380.97 1266.02 229.11| 31.1 33.5 -57.5| OKAY | BAD_CAM_CAL -346.15 1295.79 243.18| 22.2 6.9 1.4| OKAY | -346.10 1295.99 243.34| 21.1 5.9 4.5| OKAY | -346.02 1296.26 243.58| 19.5 4.8 8.5| OKAY | BAD_CAM_CAL -345.99 1296.50 243.75| 18.2 3.9 11.6| OKAY | -345.98 1296.77 243.93| 16.9 3.1 14.7| OKAY | BAD_CAM_CAL -346.00 1297.45 244.38| 13.7 1.6 22.2| OKAY | -346.03 1297.77 244.58| 12.3 1.1 25.4| OKAY | BAD_CAM_CAL
-
Calibrating the cameras currently requires ROS (though we're making progress on an on-board embedded tool that should be here in a few weeks).
-
@Alex-Gardner thank you. I'll head down that path with ROS.
Any readmes/docs/guidance on how I can extract the telemetry/pose data via UART(J10)? I have the hardware connected, but a bit lost on where to start. Would it be easier if I added the Flight Core to the VOXL to get the telemetry ports J4/J5?
Is Flight Core required to allow qGroundControl to connect to VOXL?
Thanks.