Skip to content

Autonomy: VIO, Mapping and Navigation

96 Topics 459 Posts

GPS-denied navigation with VIO, AprilTag relocalization, mapping and path planning, and obstacle avoidance.

  • OpenVINS

    Unsolved vio
    2
    1
    0 Votes
    2 Posts
    98 Views
    zauberflote1Z
    Please update your VINS to our master branch here: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-open-vins-server For epoch-synced cams, tracking AR0144, please use: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-open-vins-server/-/tree/synced-timestamp?ref_type=heads
  • Visual position estimate and offboard control

    Unsolved vio
    6
    0 Votes
    6 Posts
    3k Views
    Eric KatzfeyE
    @bschulzhf PX4 will only correct incoming messages. Something external will have to also run TIMESYNC with PX4 to estimate the offset and correct and incoming PX4 message timestamps that it wants to align. voxl-mavlink-server does this for a few messages.
  • Avoidance

    Unsolved vio
    3
    0 Votes
    3 Posts
    2k Views
    Eric KatzfeyE
    @Ward-Javoronok How is the parameter COM_OBS_AVOID set? If you set it to 0 that disables obstacle avoidance and should get rid of that error.
  • Adding more cameras to VIO

    Unsolved vio
    2
    1 Votes
    2 Posts
    2k Views
    K
    Adding more cameras can definitely improve robustness, but synchronization and calibration become super important once you go beyond the default setup. Even small timestamp offsets between sensors can throw VIO off pretty badly. I’d also keep an eye on bandwidth and CPU usage because extra camera streams add up fast on embedded systems.
  • Running QVIO on a hires camera

    Unsolved vio
    16
    1 Votes
    16 Posts
    8k Views
    Alex KushleyevA
    @Rowan-Dempster , Thanks for the update! On my end, I did not get a chance to enable MISP pipeline (normalization in particular) to run offline. Let me double check something with you - would you want to load a log with raw10 and resize + generate the normalized image (of a different size) or just keep the same size as input? Since you have the basic rolling shutter QVIO working, it would be interesting to see how that compares to the AR0144 QVIO from the same data set. Any details you would like to share? (only if you want to) Regarding playback results from QVIO output not being exactly repeatable -- " no deterministic mechanism to ensure that voxl-qvio-server initializes using the same camera frame" -- what do you mean by that? if you start QVIO and start feeding the frames + imu data from voxl-replay, the data should arrive into QVIO repeatably and QVIO should initialize on the same frame - after the initialization conditions have been satisfied. If I remember correctly the way QVIO app works is that it may hold the frame until all the IMU data for that frame has arrived and then pushes the frame into the QVIO algorithm. If you push the frame before pushing all the IMU data, then the algorithm will still process the frame but it wont have the IMU data for the whole duration of the frame capture. The frame capture duration for global shutter cameras is simple : start = start of exposure end = end of exposure = start of exposure + exposure time (i believe it is common to assign a timestamp which is equal to the center of exposure, which is between the start and end timestamps). center of exposure = start of exposure + (exposure time)/2 In order to find the center of exposure for rolling shutter camera, you need to use the following formula, as used in our EIS implementation in MISP: int64_t center_of_exposure_ns = start_of_exposure_ns + (exposure_time_ns + readout_time_ns)/2; In any case, this would be something to double check.. also i don't know how far your trajectories are from run to run. Another tip: since you don't have ground truth in your data, it helps to start and end your data collection in exactly the same spot and orientation, so you can use the end position drift as a good metric (ground truth). Alex
  • Two-camera VIO non-functional in voxl-open-vins-server 0.6.0 (SDK 1.6.3)

    Unsolved vio
    5
    0 Votes
    5 Posts
    3k Views
    Alex KushleyevA
    I have uploaded the latest ar0144 drivers with fsin versions for all camera slots here : https://storage.googleapis.com/modalai_public/temp/ar0144/ar0144_drivers_20260402.zip There are two additional files (inside the zip), which you should copy to /usr/lib/camera to make sure you have the latest updates: com.qti.sensor.ar0144.so -- contains functions for exposure / gain control (we recently made some improvements to make gain control smoother) com.qti.tuned.default.bin -- fixed gain scaling so that min gain (1.0x analog gain) is equal to 100 in the HAL3 gain units, not 54 (and the max gain will be 29.6 = 29600 for AR0144) -- you can also double check this using voxl-camera-server -l and update the min/max gain settings in your voxl-camera-server.conf to make sure you are using the full range. My colleague will follow up with a diagram for locations of the DNI resistors that need to be installed to enable sync signal for camera slots 1 and 3 (0402 0-ohm resistor) Alex
  • Switching between Mag+GPS and VIO indoors

    Unsolved vio
    8
    0 Votes
    8 Posts
    5k Views
    Eric KatzfeyE
    @Sarika-Sharma You can get v1.0.10 here: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/libfc-sensor_1.0.10-202602041609_arm64.deb
  • This topic is deleted!

    2
    2
    0 Votes
    2 Posts
    27 Views
  • Apriltag relocalization not relocalizing?

    Unsolved apriltag
    13
    0 Votes
    13 Posts
    8k Views
    Zachary Lowell 0Z
    @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
  • 0 Votes
    4 Posts
    3k Views
    Nitin Varma VegesnaN
    @Eric-Katzfey ──────────────────────────────────────────────────────────────────────────────── system-image: 1.8.02-M0054-14.1a-perf kernel: #1 SMP PREEMPT Mon Nov 11 22:47:44 UTC 2024 4.19.125 ──────────────────────────────────────────────────────────────────────────────── hw platform: M0054 mach.var: 1.0.1 SKU: MRB-D0014-4-V1-C27-T9-M22-X0 ──────────────────────────────────────────────────────────────────────────────── voxl-suite: 1.4.5 ──────────────────────────────────────────────────────────────────────────────── Packages: I am getting this issue as well, where I constantly get WARNING, apriltag roll/pitch out of bounds issue with the front or down tracking camera.
  • OpenVINS issue

    Unsolved vio
    8
    0 Votes
    8 Posts
    4k Views
    Nitin Varma VegesnaN
    @zauberflote1 I am no longer having this issue. I have been flying with OpenVins for some time, and I was sometimes seeing drift in the vio estimate, and I was wondering what are the best configs to use. for vio_cams.conf and voxl-open-vins-server.conf?
  • No ov_overlay in portal

    Unsolved vio
    7
    0 Votes
    7 Posts
    4k Views
    D
    @zauberflote1 alright, thanks for your help!
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    11 Views
    No one has replied
  • Open-VINS Mask File Location

    Unsolved vio
    3
    1 Votes
    3 Posts
    2k Views
    J
    @zauberflote1 ok, thank you! I will try to implement the mask as in VoxlCam. Regards, Jacob
  • Request: Add Flight Deck 2 YAML Configurations for OpenVINS Testing

    Unsolved vio
    1
    0 Votes
    1 Posts
    943 Views
    No one has replied
  • Migrating from QVIO to OpenVINS (SDK1.6)

    Unsolved vio
    5
    0 Votes
    5 Posts
    3k Views
    zauberflote1Z
    To clarify, our current platforms are shipped with voxl-open-vins-server as the default VINS solution; however, QVIO is still available (SDK 1.6.2).
  • Missing ov_overlay

    Unsolved vio
    3
    3 Votes
    3 Posts
    2k Views
    S
    @tom Thank you for your answer! Unfortunately the overlay does not appear, even when the drone is armed. We are using Starling 2 drones with SDK 1.6.2. Also in the voxl-open-vins-server.conf we can't find a setting for something related to the overlay. Do you have any ideas what we can try to see the ov_overlay again? Thank you in advance!
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    103 Views
    No one has replied
  • How to Enable OpenVINS to Start Feature Tracking on Boot for Full Autonomous Use-Case

    Unsolved vio
    2
    0 Votes
    2 Posts
    2k Views
    Michael BaldwinM
    @wilkinsaf Do you happen to have any experience with this?
  • Setting up different AprilTag families

    Unsolved apriltag
    2
    0 Votes
    2 Posts
    2k Views
    A
    Hey @dvz, thanks for your query We’re currently in the process of updating the voxl-tag-detector to support additional AprilTag families beyond just the 36h11. If you’d like to try this yourself in the meantime, the following line in main.cpp creates the detector for the 36h11 family: here To add support for the tagCustom48h12 family, you can: Add the include: #include <tagCustom48h12.h> Replace the detector creation line with: tf = tagCustom48h12_create(); Please note that this change may affect the current functionality, you’ll likely need to make additional modifications in main.cpp to ensure it builds and runs correctly. As mentioned, we’re actively working on making this a much smoother process in the future. But if you’d like to get started now, the above steps should point you in the right direction.