Skip to content Link Search Menu Expand Document
ModalAI DOCS
Store

Basic Tools and Utilities


This page demonstrates some basic utilities and tools that you will likely use to interact with VOXL’s services.

For an extensive list of all tools, utilities, and commands available in the VOXL SDK, type voxl-{TAB}{TAB} to see all auto-complete options.


Most of the tools below are part of the voxl-mpa-tools package:

Project badge Project badge Project badge

voxl-list-pipes

voxl-list-pipes is a simple tool to list all of the MPA (Modal Pipe Architecture) pipes currently available in the system. By default the pipes are sorted by type, allowing you to easily see which cameras/imus/etc are available in the system. Pass -t <type> to show only the pipes of one specific type.

Example Output:

voxl2:/$ voxl-list-pipes
camera_image_metadata_t
    hires
    qvio_overlay
    tof_conf
    tof_depth
    tof_ir
    tof_noise
    tracking

cpu_stats_t
    cpu_monitor

imu_data_t
    imu_apps

mavlink_message_t
    mavlink_gps_raw_int
    mavlink_onboard
    mavlink_sys_status

point_cloud_metadata_t
    tof_pc

pose_vel_6dof_t
    vvhub_body_wrt_fixed
    vvhub_body_wrt_local

qvio_data_t
    qvio_extended

tof_data_t
    tof

vio_data_t
    qvio

voxl2:/$

voxl-inspect-imu

voxl-inspect-imu is a tool to check the imu measurements of the imus on voxl. It requires that voxl-imu-server is running in the background, which can be checked with voxl-inspect-services.

Arguments

Required

IMU: Which IMU to display data from. Available IMUs can be seen by typing voxl-inspect-imu {TAB}{TAB}.

For VOXL 2, the available IMU is imu_apps. For VOXL and VOXL Flight, you should see imu0 and imu1.

Optional

ParameterDescriptionExample
-a –allShow all imu data, not scaled down for screen performance (this will print lines at ~1khz)voxl-inspect-imu imu_apps -a
-h –helpPrint help messagevoxl-inspect-imu --help
-n –newlinePrint each sample on a new line instead of updating the current output linevoxl-inspect-imu imu_apps -n
-t –timeWait time in seconds between printing samples (not to be confused with -T)voxl-inspect-imu imu_apps -t 0.5
-T –testTest mode, grab a single sample then exitvoxl-inspect-imu imu_apps -T
-j –jsonOutput results as JSON (-k --json_human for human-readable JSON)voxl-inspect-imu imu_apps -j

Example Output

voxl2:/$ voxl-inspect-imu imu_apps

Acc in m/s^2, gyro in rad/s, temp in C

gravity| accl_x accl_y accl_z| gyro_x gyro_y gyro_z|  Temp |
  9.63 |  0.12  -9.57   1.08 |  0.01   0.02   0.00 | 35.03 | 

voxl-inspect-cam

Only applicable if you have cameras connected to your VOXL.

The utility voxl-inspect-cam is a tool to check image metadata coming from MPA services that are publishing camera data. It requires that a service like voxl-camera-server is running in the background publishing camera, image, or video data. It can also be used to check non-camera images, such as the overlays coming out of VOXL TFLite Server or voxl-open-vins-server.

Arguments

Required

Cam: Which image to display data from. Available images can be seen by typing voxl-inspect-cam {TAB} {TAB}. Options that will regularly be available are: tracking, stereo, hires, tof_depth, tof_conf, tof_noise, tof_ir, dfs_disparity, qvio_overlay, tflite_overlay.

Optional

ParameterDescriptionExample
-h –helpPrint help messagevoxl-inspect-cam --help
-n –newlinePrint each sample on a new line instead of updating the current output linevoxl-inspect-cam tracking -n
-t –testTest mode, simple pass/fail test after two seconds of waiting for a framevoxl-inspect-cam tracking -t
-a –allShow all available cameras (not usable with test mode)voxl-inspect-cam -a
-j –jsonOutput results as JSON (-k --json_human for human-readable JSON)voxl-inspect-cam tracking -j

Example Output

voxl2:/$ voxl-inspect-cam tracking

|size(bytes)| height | width  |exposure(ms)| gain | frame id |latency(ms)|Framerate(hz)| format
|   307200  |    480 |    640 |        3.8 |  100 |   71976  |      18.6 |     30.0    | RAW8
voxl2:/$ 

voxl-inspect-battery

This tool subscribes to the /run/mpa/mavlink_sys_status pipe published by voxl-mavlink-server which provides a copy of all SYS_STATUS mavlink messages received from a PX4 flight controller. Among other things, this packet contains battery status information.

Also note that voxl-portal subscribes to the same pipe and also shows battery percentage in the top right corner of the webpage.

Use

voxl2:/$ voxl-inspect-battery

 Voltage |  Charge | Current |  Power  |
  12.22V |    89%  |   0.49A |   5.99W |

Troubleshooting

If no data is displayed, then either voxl-px4 or voxl-mavlink-server is not running (run voxl-inspect-services to check) or PX4 is not connected or operating.


voxl-inspect-cpu

voxl-inspect-cpu is a tool to check the CPU/GPU utilization and temperature of the various voxl components. It is part of the VOXL CPU Monitor package and subscribes to the cpu_monitor pipe. If you don’t get data using this tool, make sure the voxl-cpu-monitor systemd service is running using voxl-inspect-services. Additionally, to get a breakdown of CPU and memory utilization by process, use the linux command top instead.

Use

voxl:/$ voxl-inspect-cpu
voxl2:/$ voxl-inspect-cpu
Name   MHz   Temp   Util |
cpu0   691   62.1   25.6 |
cpu1   691   62.9   28.3 |
cpu2   691   61.7   19.2 |
cpu3   691   62.1   61.4 |
cpu4   691   61.7   15.5 |
cpu5   691   62.5   16.3 |
cpu6   691   63.3   18.2 |
cpu7  1056   62.5   26.0 |
Total        62.4   26.5 |
10s avg             16.2 |
-------------------------|
GPU    812   60.5    6.8 |
GPU 10s avg          6.8 |

The live view also shows uptime, memory use, and the active governor alongside the table; add -f for per-process top CPU and memory consumer tables.