@voxltester said in Microdds not working with Microhard modem:
Is there any one who is an expert on the microhard and network setting?
You will need to reach out to microhard for config setup on that front.
@voxltester said in Microdds not working with Microhard modem:
Is there any one who is an expert on the microhard and network setting?
You will need to reach out to microhard for config setup on that front.
@Nitin-Varma-Vegesna said in Apriltag relocalization not relocalizing?:
@Nitin-Varma-Vegesna Is there any release that is known to work for April Tag Detection?
https://gitlab.com/voxl-public/voxl-sdk/services/voxl-tag-detector
The dev branch is the most recent - I have to check with the engineering team on this as I am unsure the priority of april tag detection and positioning based off it. Will relay back
https://www.loom.com/share/bf52e252ab09444bb366f265a3f36dc5
Alright take a look at this loom please - it might help point you in the right direction in terms of training your model.
Zach
Let me try and train a custom model and run a loom on it in the next few days and get that over to you showing how I do it!
@voxltester said in Microdds not working with Microhard modem:
Do you have any ideas on how to resolve this?
There might be a dependency in the service file - I would recommend taking a look at the file in /etc/systemd/system/voxl-microdds-agent.service and see if there are any dependencies on having WLAN devices plugged in - I am under the impression there is not that dependency, but there is a conflict on which interface you want the dds to start on - so ideally you can add in which interface you wish to leverage into the service file.
Zach
@svempati I was able to use an open source training set and then leverage the docs to make my own custom yolov8 model capable of running on the voxl2 - do you want to provide to me the actual dataset and I can try creating the model and training it on a TPU?
@svempati said in No detections when running custom YOLOv8 model on voxl-tflite-server:
WARNING: Unknown model type provided! Defaulting post-process to object detection.
@svempati I will try recreating this issue today and get back to you!
@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.
I would recommend doing a barometer calibration as well via voxl-calibrate-barometer that tends to solve a good chunk of the altitude issues.
@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 XYZ and 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.
@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
@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!
@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.
@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.
@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-server directly on the command line. I would recommend NOT quantizing your model as the directions in the train yolov8 do not recommend that.
Zach
These are all the potential data types that voxl-tflite-server is expecting.
@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 here
Which 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
@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
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
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