@Peter-Lingås-0 I do not have an answer for any global shutter cameras but what I can tell you is that the AR0144 camera can be used for anything as well not just VIO - the frames being piped out go into the software dedicated for OVINS but it can also be piped anywhere else due to the pub/sub architecutre, so you should have no problem piping that into your computer vision software either.
Posts made by Zachary Lowell 0
-
RE: Global Shutter Color Camera? (Not for VIO)posted in Ask your questions right here!
-
RE: starling 2 max qvio vs open-vins performance issuesposted in Ask your questions right here!
I would recommend doing a barometer calibration as well via
voxl-calibrate-barometerthat tends to solve a good chunk of the altitude issues. -
RE: Using a GPS through SPIposted in Ask your questions right here!
@alan123 said in Using a GPS through SPI:
I'm currently attempting to use a GPS through the J10 SPI port on the VOXL 2. I plugged it in and ran voxl-inspect-gps but it doesn't seem to be connected. Do I have to change some software settings to get this to work?
@alan123 yes you need to change the port that the driver is pointed to. Currently on the voxl2 inside of /usr/bin/voxl-px4-start there is a line that is somewhere along the lines of
qshell gps start XYZand in there one of those args is the literaly bus on the voxl2 that the driver should be probing - if you wish to change to J10, you need to change one of those arguments to point to that endpoint. -
RE: Mavlink messages through voxl-loggingposted in Ask your questions right here!
@rnunna at this point I would recommend either creating a python or cpp script that leverages mavsdk to probe the logs and get it into the format you are desiring.
Zach
-
RE: What cameras will work with the Voxl Mini 2 and the Flight core V2 for flight direction feed?posted in Support Request Format for Best Results
@jared-upshaw the voxl mini also runs the flight stack, so ensure if you are leveraging the flight core v2 and plan on using the voxl2 mini purely for onboard compute, that you disable voxl-px4 on the voxl2 mini as to not get conflicting mavlink messages (serially connect the two over a uart)
As for camera setup, please find the link to the documentaiton on which cameras work with the voxl2 mini and how to wire them up!
-
RE: Starling 2 max no odometry even with qvio enabledposted in Ask your questions right here!
@Muqing-Cao you have voxl-open-vins-server and voxl-qvio-server running at the same time. Only one can be run - modalAI defaulted to open-vins as the main method for positioning - if you have both running, you are bound to run into conflicting errors.
-
RE: GPS for Starling2posted in VOXL Accessories
@Nitin-Varma-Vegesna said in GPS for Starling2:
I got the compass sensor missing error for my Starling2, and I think it's an issue with the GPS. I want to buy a new GPS for the Starling2 ASAP, and I didn't see it on the products on the website. Is there a way for me to do that?
1 Reply Last reply a day ago Reply
@Nitin-Varma-Vegesna https://store.3dr.com/mini-gps-ublox-max-m10s/ <-- this is the gps that comes default with the starlings.
-
RE: No detections when running custom YOLOv8 model on voxl-tflite-serverposted in VOXL 2
@svempati said in No detections when running custom YOLOv8 model on voxl-tflite-server:
I just ran voxl-tflite-server directly from the command line instead of in the background via systemd - aka run
voxl-tflite-serverdirectly on the command line. I would recommend NOT quantizing your model as the directions in the train yolov8 do not recommend that.Zach
-
RE: No detections when running custom YOLOv8 model on voxl-tflite-serverposted in VOXL 2
These are all the potential data types that voxl-tflite-server is expecting.
-
RE: No detections when running custom YOLOv8 model on voxl-tflite-serverposted in VOXL 2
@svempati said in No detections when running custom YOLOv8 model on voxl-tflite-server:
"labels": "/usr/bin/dnn/yolov8_labels.txt",
So running your model we get the following errors via voxl-tflite-server:
Error in TensorData<float>: should not reach here Error in TensorData<float>: should not reach here Error in TensorData<float>: should not reach here Error in TensorData<float>: should not reach here Error in TensorData<float>: should not reach here Error in TensorData<float>: should not reach here Error in TensorData<float>: should not reach here Error in TensorData<float>: should not reach hereWhich means there is an issue in your model itself and most likely means you ran into an issue during the build process. Specifically this means that is a model issue, not a labels file issue. Your .tflite model has an output tensor with a different data type than what voxl-tflite-server expects
The code itself shows the error when you hit this case statement:
// Gets the uint8_t tensor data pointer
template <>
inline uint8_t *TensorData(TfLiteTensor *tensor, int batch_index)
{
int nelems = 1;for (int i = 1; i < tensor->dims->size; i++) { nelems *= tensor->dims->data[i]; } switch (tensor->type) { case kTfLiteUInt8: return tensor->data.uint8 + nelems * batch_index; default: fprintf(stderr, "Error in %s: should not reach here\n", __FUNCTION__); } return nullptr;}
Which means the output tensor doesnt match the expected output in this header file. Please look into your model.
zach
-
RE: M0201 gimbal passthrough pinoutposted in Ask your questions right here!
@jonathankampia said in M0201 gimbal passthrough pinout:
M0201
https://forum.modalai.com/topic/4735/m0201-m0153-j2-pinout/3
Please refer to this post for the pniout guide on the m0201
-
RE: No detections when running custom YOLOv8 model on voxl-tflite-serverposted in VOXL 2
Hello @svempati can you paste your yolov8_labels and tflite file and I can test it out on my end?
To confirm - you followed the instructions in this gitlab repository: https://gitlab.com/voxl-public/support/voxl-train-yolov8
Zach
-
RE: Ros2 Humble on Voxl2posted in ROS
Confirmed - can run the dds with humble running in the docker container:
voxl2 (M0054):~$ apt-get install voxl-microdds-agent Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: voxl-microdds-agent 0 upgraded, 1 newly installed, 0 to remove and 40 not upgraded. Need to get 0 B/4874 kB of archives. After this operation, 0 B of additional disk space will be used. Get:1 file:/data/voxl-suite-offline-packages ./ voxl-microdds-agent 3.0.0-0 [4874 kB] debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package voxl-microdds-agent. (Reading database ... 104493 files and directories currently installed.) Preparing to unpack .../voxl-microdds-agent_3.0.0-0_arm64.deb ... Unpacking voxl-microdds-agent (3.0.0-0) ... Setting up voxl-microdds-agent (3.0.0-0) ... voxl2 (M0054):~$ systemctl start voxl-microdds-agent voxl2 (M0054):~$ systemctl status voxl-microdds-agent ● voxl-microdds-agent.service - voxl-microdds-agent Loaded: loaded (/usr/bin/MicroXRCEAgent; disabled; vendor preset: enabled) Active: active (running) since Tue 2025-11-25 15:13:37 UTC; 14s ago Main PID: 3370 (MicroXRCEAgent) Tasks: 28 (limit: 4915) CGroup: /system.slice/voxl-microdds-agent.service └─3370 /usr/bin/MicroXRCEAgent udp4 -p 8888 Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.308177] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0DF(5), publisher_id: 0x0DF(3) Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.308829] info | ProxyClient.cpp | create_topic | topic created | client_key: 0x00000001, topic_id: 0x0E6(2), participant_id: 0x001(1) Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.308994] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0E6(3), participant_id: 0x001(1) Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.309525] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0E6(5), publisher_id: 0x0E6(3) Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.310013] info | ProxyClient.cpp | create_topic | topic created | client_key: 0x00000001, topic_id: 0x0EB(2), participant_id: 0x001(1) Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.310133] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0EB(3), participant_id: 0x001(1) Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.310468] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0EB(5), publisher_id: 0x0EB(3) Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.310981] info | ProxyClient.cpp | create_topic | topic created | client_key: 0x00000001, topic_id: 0x0F0(2), participant_id: 0x001(1) Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.311145] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0F0(3), participant_id: 0x001(1) Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.311488] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0F0(5), publisher_id: 0x0F0(3) voxl2 (M0054):~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ros2-image ed11b766 1040efe3dc33 2 weeks ago 2.33GB voxl2 (M0054):~$ docker run -it --rm --net=host --ipc=host ros2-image /bin/bash root@m0054:/# cd root@m0054:~# ls root@m0054:~# source /opt/ros/humble/setup.bash root@m0054:~# ros2 topic list /fmu/in/obstacle_distance /fmu/in/offboard_control_mode /fmu/in/onboard_computer_status /fmu/in/sensor_optical_flow /fmu/in/telemetry_status /fmu/in/trajectory_setpoint /fmu/in/vehicle_attitude_setpoint /fmu/in/vehicle_command /fmu/in/vehicle_mocap_odometry /fmu/in/vehicle_rates_setpoint /fmu/in/vehicle_trajectory_bezier /fmu/in/vehicle_trajectory_waypoint /fmu/in/vehicle_visual_odometry /fmu/out/battery_status /fmu/out/failsafe_flags /fmu/out/position_setpoint_triplet /fmu/out/sensor_combined /fmu/out/timesync_status /fmu/out/vehicle_attitude /fmu/out/vehicle_control_mode /fmu/out/vehicle_local_position /fmu/out/vehicle_odometry /fmu/out/vehicle_status /parameter_events /rosout -
RE: Ros2 Humble on Voxl2posted in ROS
@jmltt said in Ros2 Humble on Voxl2:
Are there instructions on installing docker on target? The modalai guide (https://docs.modalai.com/docker-on-voxl/) references to just use the docker instructions to install via apt, but the docker install instructions linked to require an ubuntu o.s. newer than 20.04 so I wasn't sure if it would work.
@jmltt please find answers for your questions below:
-
Are there instructions on installing docker on target? The modalai guide (https://docs.modalai.com/docker-on-voxl/) references to just use the docker instructions to install via apt, but the docker install instructions linked to require an ubuntu o.s. newer than 20.04 so I wasn't sure if it would work. --> I always just use this file to install docker on target on the voxl2 (works for any ubuntu device as well btw): https://github.com/docker/docker-install/blob/master/install.sh
-
In switching to ros2 humble onboard the voxl2 do I need to update the dds client module and rebuild voxl-px4 and rebuild the voxl-microdds-agent as well? I'm assuming that if they're built to work with ros2 foxy they're going to be dependent on older versions of fast-dds than what humble would be using and might not be compatible -> No you do not need to reinstall the fast dds with a different instance. Keep in mind the DDS is ros2 agnostic and runs as the middleware BUT I will test this out this morning.
-
For examples the best I can do is show you what I do when running something like ros2 docker containers:
E.G:
-v /usr/include/modal_pipe_common.h:/usr/include/modal_pipe_common.h \ -v /usr/include/modal_pipe_client.h:/usr/include/modal_pipe_client.h \ -v /usr/include/c_library_v2:/usr/include/c_library_v2 \ -v /run/mpa:/run/mpa \ -v /usr/bin/voxl-list-pipes:/usr/bin/voxl-list-pipes \ -v /usr/include/voxl_cutils.h:/usr/include/voxl_cutils.h \ -v /usr/include/cJSON.h:/usr/include/cJSON.h \ -v /usr/include/modal_pipe_deprecated.h:/usr/include/modal_pipe_deprecated.h \ -v /usr/include/modal_pipe_interfaces.h:/usr/include/modal_pipe_interfaces.h \ -v /usr/include/modal_pipe_common.h:/usr/include/modal_pipe_common.h \ -v /usr/include/modal_pipe_client.h:/usr/include/modal_pipe_client.h \ -v /usr/include/modal_start_stop.h:/usr/include/modal_start_stop.h \ -v /usr/lib64/libvoxl_cutils.so:/usr/lib/libvoxl_cutils.so \ -v /usr/lib64/libmodal_json.so:/usr/lib/libmodal_json.so \ -v /usr/lib64/libmodal_pipe.so:/usr/lib/libmodal_pipe.so \ -v /usr/lib/libgbm.so:/usr/lib/aarch64-linux-gnu/libgbm.so \ -v /tmp:/tmp \ -v /etc/modalai:/etc/modalai \ -v /dev:/host/dev" docker run --rm -it \ --privileged \ --net=host \ --ipc=host \ ${VOLUMES} \ -e ROS_DOMAIN_ID=$ROS_DOMAIN_ID \ --entrypoint "/bin/bash" \ DOCKER_IMAGE_NAME_AND_TAG -c /bin/bash -
-
RE: Issues with custom Yolov8posted in VOXL 2 Mini
https://gitlab.com/voxl-public/support/voxl-train-yolov8
I am assuming you followed this instruction set for training your model?
-
RE: Issues with custom Yolov8posted in VOXL 2 Mini
@jeremyrbrown5 if you paste your model and upload it here i can download it and help troubleshoot the issue you are running into
-
RE: Starling 2 Max for indoorposted in Starling & Starling 2
@Jakub-Tvrz said in Starling 2 Max for indoor:
We haven't bought anything yet, but we are deciding what will be the best for our warehouse inventory application. Of course, we considered the ToF option. But you still say: "however, it is not... great" - does that mean that Starling 2 is better for our application? Or does Dual vs Triple camera for Visual Inertial Odometry also have an impact?
Reply
Depends fully on your use case. I will say that PX4's instance of obstacle avoidance is not fantastic, but it is better than nothing. In my opinion I would go w/ the model that has all the bells and whistles in case you need the hardware and decide to develop your own collision avoidance or somethign of that nature.
-
RE: Issues with custom Yolov8posted in VOXL 2 Mini
@jeremyrbrown5 said in Issues with custom Yolov8:
@Zachary-Lowell-0 we are using the yolo predict function inside the voxl-docker. I didn't know about voxl-inspect-detections, so I'll try that.
Reply
If you are running your model directly on voxl-tflite-server then you can leverage the voxl sdk to detect any outputs from the model. That SDK is what is showing the image on voxl-portal. My guess is since this images arent showing on voxl-portal then you are having an issue during startup.
Can you run
voxl-tflite-serverdirectly on the command line and paste the output in here? -
RE: Issues with custom Yolov8posted in VOXL 2 Mini
@jeremyrbrown5 I will plan on testing this out tomorrow - how are you validatign that it is detecting the rpis? Are you running voxl-inspect-detections tflite_data -a?
-
RE: VOXL Mapper and VOA Support on Starling 2 Max (C28 Configuration)posted in Ask your questions right here!
You will need the SKU supporting the TOF to accurately run current versions of voxl-mapper and VOA.
Zach