Sentinel VOA software not available
-
Hello,
My Sentinel drone is not outputting valid VOA measurements.
I have enabled
voxl-dfs-server
, and I can see correct point clouds fromstereo_front_pc
andstereo_rear_pc
using voxl-portal. I can also see correctstereo_front_disparity
andstereo_rear_disparity
.I have set en_voa to true, and en_send_voa_to_qgc to true, and I can see OBSTACLE_DISTANCE messages in QGC but they are all 1001 when max_distance is 1000.
This is the list of items in /run/mpa:
cpu_monitor qvio_extended stereo_front_pc tracking vvpx4_fixed_pose_input hires qvio_overlay stereo_rear voa_pc_out vvpx4_gps_raw_int imu_apps stereo_front stereo_rear_disparity vvpx4_body_wrt_fixed vvpx4_mavlink_io mavlink_to_px4 stereo_front_disparity stereo_rear_disparity_scaled vvpx4_body_wrt_local vvpx4_sys_status qvio stereo_front_disparity_scaled stereo_rear_pc vvpx4_control_input vvpx4_vehicle_gps
The command
voxl-inspect-points voa_pc_out
returns no data:timestamp(ms)| # points | # bytes | 1st point | Format
According to the documentation at https://docs.modalai.com/sentinel-user-guide-using-voa/, I should be able to run
voxl-voa-server-configure
voxl-voa-to-px4
voxl-voa-client
but none of these commands are available.
-bash: voxl-voa-server-configure: command not found
Here is my version:
root@qrb5165-rb5:/run/mpa# voxl-version -------------------------------------------------------------------------------- system-image: 1.2.1-M0054-14.1a-perf kernel: #1 SMP PREEMPT Mon Apr 18 20:36:27 UTC 2022 4.19.125 -------------------------------------------------------------------------------- hw version: M0054 -------------------------------------------------------------------------------- voxl-suite: 0.7.0 --------------------------------------------------------------------------------
Here is my
voxl-inspect-services
root@qrb5165-rb5:/run/mpa# voxl-inspect-services Service Name | Enabled | Running | CPU Usage --------------------------------------------------------------- docker-autorun | Disabled | Not Running | docker-daemon | Disabled | Not Running | modallink-relink | Disabled | Not Running | voxl-camera-server | Enabled | Running | 83.3 voxl-cpu-monitor | Enabled | Running | 0.0 voxl-dfs-server | Enabled | Running | 144.4 voxl-imu-server | Enabled | Running | 0.0 voxl-mavlink-server | Enabled | Running | 0.0 voxl-modem | Enabled | Not Running | voxl-portal | Enabled | Running | 0.0 voxl-px4-imu-server | Disabled | Not Running | voxl-px4 | Enabled | Running | 0.0 voxl-qvio-server | Enabled | Running | 44.4 voxl-static-ip | Disabled | Not Running | voxl-streamer | Enabled | Running | 22.2 voxl-tag-detector | Disabled | Not Running | voxl-tflite-server | Disabled | Not Running | voxl-time-sync | Disabled | Not Running | voxl-vision-px4 | Enabled | Running | 0.0 voxl-wait-for-fs | Enabled | Completed |
Am I missing something to get Sentinel's VOA to run?
Thanks!
-
Hi,
Sorry but that page seems to have been erroneously uploaded, it's completely wrong. For sentinel VOA you should follow the normal collision prevention with voxl-vision-px4 page.
-
@mkwan said in Sentinel VOA software not available:
I have enabled
voxl-dfs-server
, and I can see correct point clouds fromstereo_front_pc
andstereo_rear_pc
using voxl-portal. I can also see correctstereo_front_disparity
andstereo_rear_disparity
.I have set en_voa to true, and en_send_voa_to_qgc to true, and I can see OBSTACLE_DISTANCE messages in QGC but they are all 1001 when max_distance is 1000.
Hi @Alex-Gardner, thanks for looking into this. Does this setup look correct? This should cover the steps listed in voxl-vision-px4.
Do you think it is because the Sentinel has two stereo cams, ie stereo_front and stereo_rear, instead of a body->stereo_ tf?
Is the voxl-version the Sentinel shipped with equipped to handle voa with multiple input streams?
voxl-suite: 0.7.0
voxl-inspect-extrinsics
:#5: parent: body child: stereo_front_l T_child_wrt_parent: 0.079 -0.040 -0.024 RPY_parent_to_child: 0.0 90.0 90.0 R_child_to_parent: 0.000 -0.000 1.000 1.000 0.000 -0.000 -0.000 1.000 0.000 #6: parent: body child: stereo_rear_l T_child_wrt_parent: -0.030 0.040 0.042 RPY_parent_to_child: 0.0 -90.0 -90.0 R_child_to_parent: 0.000 0.000 -1.000 -1.000 0.000 -0.000 0.000 1.000 0.000 #7: parent: body child: tof T_child_wrt_parent: 0.078 0.000 -0.025 RPY_parent_to_child: 0.0 90.0 90.0 R_child_to_parent: 0.000 -0.000 1.000 1.000 0.000 -0.000 -0.000 1.000 0.000
-
tl;dr: No difference when renaming
stereo_front
tostereo
As a test, I edited the config files to rename stereo_front to stereo:
- voxl-camera-server.conf
- extrinsics.conf
- voxl-dfs-server.conf
- /run/mpa/stereo_front
Output of
voxl-inspect-extrinsics
:#5: parent: body child: stereo T_child_wrt_parent: 0.079 -0.040 -0.024 RPY_parent_to_child: 0.0 90.0 90.0 R_child_to_parent: 0.000 -0.000 1.000 1.000 0.000 -0.000 -0.000 1.000 0.000
I could see
stereo_pc
viavoxl-portal
populating successfully, but no change tovoa_pc_out
.Same output from
voxl-vision-px4
as before:# voxl-vision-px4 -s detected platform NOT APQ8096 loading our own config file ================================================================= Parameters as loaded from config file: config file version: 1 qgc_ip: 192.168.168.101 en_secondary_qgc: 0 secondary_qgc_ip: 192.168.1.214 qgc_udp_port_number: 14550 udp_mtu: 512 en_localhost_mavlink_udp 1 localhost_udp_port_number: 14551 en_vio: 1 en_voa: 1 en_send_vio_to_qgc: 1 en_send_voa_to_qgc: 1 voa_upper_bound_m: -0.150000 voa_lower_bound_m: 0.150000 en_set_clock_from_gps: 1 en_force_onboard_mav1_mode: 1 en_reset_px4_on_error: 1 qvio_auto_reset_quality: 0.000500 horizon_cal_tolerance: 0.300000 offboard_mode: off follow_tag_id: 0 figure_eight_move_home: 1 en_tag_fixed_frame: 0 fixed_frame_filter_len: 5 en_transform_mavlink_pos_setpoints_from_fixed_frame:0 ================================================================= loading extrinsics config file starting geometry module starting px4 monitor starting px4 mavlink starting udp mavlink Adding manual QGC IP address to udp connection list: 192.168.168.101 Added new UDP connection to 192.168.168.101 starting fixed pose input starting vio manager starting tag manager starting voa manager starting control input pipe Init complete, entering main loop failed to send VOA data out uart to PX4 // note, this eventually does connect ... Connected to voxl-mavlink-server Detected PX4 Mavlink SYSID 1 ... Connected to voxl-qvio-server updating to use imu: imu_apps done updating transforms to use imu: imu_apps ... index: 0 dist: none back index: 1 dist: none index: 2 dist: none index: 3 dist: none index: 4 dist: none index: 5 dist: none index: 6 dist: none index: 7 dist: none index: 8 dist: none index: 9 dist: none left index: 10 dist: none index: 11 dist: none index: 12 dist: none index: 13 dist: none index: 14 dist: none index: 15 dist: none index: 16 dist: none index: 17 dist: none index: 18 dist: none forward index: 19 dist: none index: 20 dist: none index: 21 dist: none index: 22 dist: none index: 23 dist: none index: 24 dist: none index: 25 dist: none index: 26 dist: none index: 27 dist: none right index: 28 dist: none index: 29 dist: none index: 30 dist: none index: 31 dist: none index: 32 dist: none index: 33 dist: none index: 34 dist: none index: 35 dist: none index: 36 dist: none index: 0 dist: none back index: 1 dist: none index: 2 dist: none index: 3 dist: none index: 4 dist: none index: 5 dist: none index: 6 dist: none index: 7 dist: none index: 8 dist: none index: 9 dist: none left index: 10 dist: none index: 11 dist: none index: 12 dist: none index: 13 dist: none index: 14 dist: none index: 15 dist: none index: 16 dist: none index: 17 dist: none index: 18 dist: none forward index: 19 dist: none index: 20 dist: none index: 21 dist: none index: 22 dist: none index: 23 dist: none index: 24 dist: none index: 25 dist: none index: 26 dist: none index: 27 dist: none right index: 28 dist: none index: 29 dist: none index: 30 dist: none index: 31 dist: none index: 32 dist: none index: 33 dist: none index: 34 dist: none index: 35 dist: none index: 36 dist: none
-
Hi,
I just tried this on a fresh flash of platform 1.3.1-0.8 and everything seems to be working as intended on my end. My process:
- Flash platform release (didn't wipe data directory so my camera calibration remained)
- ADB in and run
voxl-configure-mpa -p -f sentinel
enabling most of the necessary services and setting up the cam->board extrinsics - Run
voxl-configure-dfs factory_enable
to enable dfs - Run
voxl-vision-px4 -s
to see the voa debug. It takes ~1 second for the full dfs pipeline to wakeup but eventually I start seeing data like this:
index: 0 dist: 0.84m back index: 1 dist: 0.89m index: 2 dist: 1.18m index: 3 dist: none index: 4 dist: none index: 5 dist: none index: 6 dist: none index: 7 dist: none index: 8 dist: none index: 9 dist: none left index: 10 dist: none index: 11 dist: none index: 12 dist: none index: 13 dist: none index: 14 dist: none index: 15 dist: 0.91m index: 16 dist: 0.75m index: 17 dist: 1.03m index: 18 dist: 1.17m forward index: 19 dist: 1.22m index: 20 dist: 1.22m index: 21 dist: 1.05m index: 22 dist: none index: 23 dist: none index: 24 dist: none index: 25 dist: none index: 26 dist: none index: 27 dist: none right index: 28 dist: none index: 29 dist: none index: 30 dist: none index: 31 dist: none index: 32 dist: none index: 33 dist: none index: 34 dist: 0.68m index: 35 dist: none index: 36 dist: 0.84m index: 0 dist: 0.84m back index: 1 dist: 0.89m index: 2 dist: 1.18m index: 3 dist: none index: 4 dist: none index: 5 dist: none index: 6 dist: none index: 7 dist: none index: 8 dist: none index: 9 dist: none left index: 10 dist: none index: 11 dist: none index: 12 dist: none index: 13 dist: none index: 14 dist: none index: 15 dist: 0.91m index: 16 dist: 0.75m index: 17 dist: 1.03m index: 18 dist: 1.17m forward index: 19 dist: 1.22m index: 20 dist: 1.22m index: 21 dist: 1.05m index: 22 dist: none index: 23 dist: none index: 24 dist: none index: 25 dist: none index: 26 dist: none index: 27 dist: none right index: 28 dist: none index: 29 dist: none index: 30 dist: none index: 31 dist: none index: 32 dist: none index: 33 dist: none index: 34 dist: 0.68m index: 35 dist: none index: 36 dist: 0.84m
Can you give these steps a try and let me know if you're still seeing issues
-
@Alex-Gardner said in Sentinel VOA software not available:
platform 1.3.1-0.8
Yes, it worked! I am able to see correct data via
voxl-vision-px4 -s
and use PX4's Collision Prevention feature.The drone was shipped with
system-image: 1.2.1-M0054-14.1a-perf
andvoxl-suite: 0.7.0
, but after flashing to Voxl2 Platform 1.3.1-0.8, VOA worked out of the box as described. (Note: during the flashing, I noticed the Sentinel documentation does not list this newest release.)To others reading this, some tips:
- Use your /data folder to backup any files you don't want wiped, such as changes to /home/root.
- In QGroundControl, save your factory params so you don't have to recalibrate your sensors. (Parameters -> Tools -> Save to file...)
- Run and save
apt list --installed
in case there's some apt packages you don't want to forget. - Don't forget to redo the parameters in QGroundControl as mentioned in the VOA documentation.
Thanks, @Alex-Gardner!