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:
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 seeimu0andimu1.
Optional
| Parameter | Description | Example |
|---|---|---|
| -a –all | Show all imu data, not scaled down for screen performance (this will print lines at ~1khz) | voxl-inspect-imu imu_apps -a |
| -h –help | Print help message | voxl-inspect-imu --help |
| -n –newline | Print each sample on a new line instead of updating the current output line | voxl-inspect-imu imu_apps -n |
| -t –time | Wait time in seconds between printing samples (not to be confused with -T) | voxl-inspect-imu imu_apps -t 0.5 |
| -T –test | Test mode, grab a single sample then exit | voxl-inspect-imu imu_apps -T |
| -j –json | Output 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
| Parameter | Description | Example |
|---|---|---|
| -h –help | Print help message | voxl-inspect-cam --help |
| -n –newline | Print each sample on a new line instead of updating the current output line | voxl-inspect-cam tracking -n |
| -t –test | Test mode, simple pass/fail test after two seconds of waiting for a frame | voxl-inspect-cam tracking -t |
| -a –all | Show all available cameras (not usable with test mode) | voxl-inspect-cam -a |
| -j –json | Output 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.