@Lynn-Koudsi Thanks a lot! The issue has been solved. The QGroundControl shows meaningful ODOMETRY data now. As you mentioned, the issue comes from the voxl-camera-server and voxl-imu-server. voxl-qvio can not get data from both the camera and the imu.
Besides, I noticed that the configuration of the camera and imu does not work as expected. It may be caused by the conflict of the old (imp_app, voxl-cam-manager)and new (voxl-camera-server, voxl-imu-server) camera and imu ipk.
To make it simple, I flashed the image with the System Image 3.2.0 (https://developer.modalai.com/asset/eula-download/64) without installing the voxl-suite, since I want to use the new Modal Pipe Architecture (https://gitlab.com/voxl-public/modal-pipe-architecture).
I manually installed the following voxl packages:
yocto:/# opkg list-installed | grep "libmodal"
libmodal_json - 0.3.4
libmodal_pipe - 1.7.6
yocto:/# opkg list-installed | grep "voxl"
libvoxl_io - 0.5.4
voxl-camera-server - 0.5.5
voxl-dfs-server - 0.0.7
voxl-docker-support - 1.1.1
voxl-imu-server - 0.7.8
voxl-mpa-tools - 0.1.6
voxl-qvio-server - 0.2.1
voxl-utils - 0.5.9
voxl-vision-px4 - 0.8.1
Then I run the configuration commands for the qvio, voxl-vision-px4 and camera (voxl-imu-server has done some default configuration during the ipk installation):
yocto:/# voxl-configure-qvio -f
rm: cannot remove '/etc/modalai/voxl-qvio-server.conf': No such file or directory
loading qvio config file
Creating new config file: /etc/modalai/voxl-qvio-server.conf
The config file was modified during parsing, saving the changes to disk
enabling voxl-qvio-server systemd service
Created symlink from /etc/systemd/system/multi-user.target.wants/voxl-qvio-server.service to /etc/systemd/system/voxl-qvio-server.service.
starting voxl-qvio-server systemd service
Done configuring voxl-qvio-server
yocto:/# voxl-configure-vision-px4 -f
rm: cannot remove '/etc/modalai/voxl-vision-px4.conf': No such file or directory
Created new empty json file: /etc/modalai/voxl-vision-px4.conf
The JSON config file data was modified during parsing, saving the changes to disk
enabling voxl-vision-px4 systemd service
Created symlink from /etc/systemd/system/multi-user.target.wants/voxl-vision-px4.service to /etc/systemd/system/voxl-vision-px4.service.
starting voxl-vision-px4 systemd service
DONE configuring voxl-vision-px4
yocto:/# voxl-configure-cameras
...
Regarding the configuration of the camera, i was following the guidance in https://gitlab.com/voxl-public/modal-pipe-architecture/voxl-camera-server to use the command voxl-configure-cameras
provided by voxl-utils
package.
I rebooted the VOXL and checked related services (camera, imu, qvio, voxl-vision-px4) using
systemctl status
But I noticed that the voxl-camera-server
was not automaticly started on boot.
So I enabled it with:
yocto:/# systemctl enable voxl-camera-server
@modaltb Please correct me if any step was not right or there is a better way.
In addition, I also followed the https://forum.modalai.com/topic/70/warning-px4-disconnected-error-message-from-voxl-vision-px4 to solve the WARNING PX4 DISCONNECTED error message from voxl-vision-px4