ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. Popular
    Log in to post
    • All Time
    • Day
    • Week
    • Month
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics
    • All categories
    • Matthew WellnerM

      Low Latency IMX412 Driver

      Video and Image Sensors
      • • • Matthew Wellner
      32
      0
      Votes
      32
      Posts
      395
      Views

      Alex KushleyevA

      @Matthew-Wellner , I am glad you got it working! When you used M0076 single camera interposer connected to VOXL2 J7, actually you were connecting to the "lower" camera slot, so that would be J7L, meaning slot ID 2, not 3. That is why your camera was not detected in that case.

      Regarding your M0084 not working, it could be a hardware issue in the flex cable or it's connectors. In order to figure this out, some more testing would be needed. Also, typically we suggest avoiding daisy chaining flex cables, so M0076 / M0135 allows you to do just that. It is possible that a combination of M0084 and another extension cable create sufficient signal distortion of the MIPI lines to cause CRC errors.

      Alex

    • h3roboticsH

      Unable to configure LTE modem

      Cellular Modems
      • • • h3robotics
      21
      0
      Votes
      21
      Posts
      261
      Views

      h3roboticsH

      @Alex-Kushleyev That was it! I first tried with a lower baud rate of 250K on PX4 and I started getting the battery info. Then as you recommended, I uploaded new parameters to the ESC. I used:

      python3 voxl-esc-upload-params.py --params-file ../voxl-esc-params/D0014_starling_1504_3000kv_ms_props/D0014_starling_1504_3000kv_ms_props.xml

      because I will be using it on a drone of similar size and performance. Then with 2M baud rate in PX4, I was able to make it work!

      Thank you.

    • Jetson NanoJ

      VOXL FPV Racing 4-in-1 ESC with flight core v2 and voxl2

      Ask your questions right here!
      • • • Jetson Nano
      20
      0
      Votes
      20
      Posts
      178
      Views

      Jetson NanoJ

      @Alex-Kushleyev Thank you for the support. I will make the changes you have mentioned.

    • B

      VOXL Starling 2 Max hires_front camera unresponsive

      Support Request Format for Best Results
      • • • brandon
      16
      0
      Votes
      16
      Posts
      173
      Views

      Dobry KolaczD

      @brandon Do you have a plastic spudger tool? Something like this. A plastic tool will significantly reduce the possibility of damaging any components (compared to using anything hard like metal). Press only on the metal part of the connector to prevent warping that plastic nub end.
      Typically we use a fingernail to press those connectors in place but for that connector in particular it would be hard to reach with a fingernail. 6d21bb38-e0a6-4d12-b21a-d201dd4fc446-image.png

    • G

      (VOXL2 PX4 ROS2) MPA to ROS2 Tag Detection

      Modal Pipe Architecture (MPA)
      • • • GlennTee
      14
      0
      Votes
      14
      Posts
      196
      Views

      G

      @tom @Zachary-Lowell-0 Hello again. It looks like I got the build to work. I tried cloning voxl-mpa-to-ros2 and that seemed to have worked in generating the build. I also ran "git submodule update --init --recursive" to pull in the px4 messages. I tried running "ros2 launch voxl_mpa_to_ros2 voxl_mpa_to_ros2.launch" but I received the following errors as shown below.
      b5630751-3db5-4ece-9414-934e633d1acc-image.png
      These are the ros2 topics that show up for me as well.
      292fa62f-7646-46d0-8912-9cd2e3d866ae-image.png
      Is there something I'm missing that I need in order to see the ros2 topic for AprilTag detection?

    • Andrew JueA

      Connecting Motion Capture Data to VOXL (No Postion Estimate)

      Ask your questions right here!
      • • • Andrew Jue
      14
      0
      Votes
      14
      Posts
      177
      Views

      Andrew JueA

      @Eric-Katzfey Okay, thanks again for all your help!

    • S

      Immediate crashes in HITL

      Ask your questions right here!
      • • • shawn_ricardo
      12
      0
      Votes
      12
      Posts
      107
      Views

      S

      @Eric-Katzfey

      Okay, I'll keep this in mind as I develop toward offboard control. If I find any more information, I'll follow up here.

      Just a side note: I don't see this behavior in real-world flight during manual or position, seems to be isolated to HITL at this point in time.

      Thanks!

    • Jetson NanoJ

      M0173 dual tracking camera error

      Ask your questions right here!
      • • • Jetson Nano
      12
      0
      Votes
      12
      Posts
      179
      Views

      Jetson NanoJ

      @Alex-Kushleyev, I using voxl2 with M0173 board with camera config 29.
      The errors are now solved, I made the necessary changes and reconfigured every server and pipeline and calibrated the cameras.

    • G

      ( VOXL2 PX4 ROS2) MPA to ROS2 for Battery Voltage & Problems

      Modal Pipe Architecture (MPA)
      • • • GlennTee
      12
      0
      Votes
      12
      Posts
      165
      Views

      G

      @Eric-Katzfey Sure!

    • W

      SYS_AUTOSTART param missing, shown in QGC, after flashing the flight deck with voxl2_SDK_1.4.1

      Ask your questions right here!
      • • • will.huang.oksi
      11
      0
      Votes
      11
      Posts
      67
      Views

      W

      @Eric-Katzfey

      From other discussion,
      I add

      qshell gps start -d 7 -b 115200

      and get the GPS now.

      Here is my setting and please let me know if any questions.
      Thank you for your precious time on this matter.

      AIRFRAME=MULTICOPTER
      GPS=AUTODETECT
      RC=CRSF_RAW
      ESC=VOXL_ESC
      POWER_MANAGER=VOXLPM
      AIRSPEED_SENSOR=NONE
      DISTANCE_SENSOR=NONE
      OSD=DISABLE
      DAEMON_MODE=ENABLE
      SENSOR_CAL=ACTUAL
      ARTIFACT_MODE=DISABLE
      EXTRA_STEPS=(
      qshell gps start -d 7 -b 115200
      )

    • Evan PalmisanoE

      Camera Issues, Missing Pipes, Lots of fun.

      Video and Image Sensors
      • • • Evan Palmisano
      10
      0
      Votes
      10
      Posts
      58
      Views

      Evan PalmisanoE

      @Alex-Kushleyev Yeah it was the cable. Getting hires feed now.

    • S

      Doodle Labs mini-OEM Helix Mesh Rider Radio M1-M6 Hex Band not configuring

      Ask your questions right here!
      • doodlelabs • • shawn_ricardo
      8
      0
      Votes
      8
      Posts
      87
      Views

      S

      @Vinny

      Really appreciate the in-depth response and thoughtfulness, your intuition was correct 👏

      I tried to reproduce the setup from the windows PC

      Wall power supply to Starling 2 (Same mains outlet) 12VAC to 5VDC to doodle labs radio Twisted D-/+ cables

      Upon USB connection, I'm able to see the following on dmesg -w:

      [ 1156.696173] usb 1-1: new high-speed USB device number 6 using xhci-hcd [ 1156.832876] usb 1-1: New USB device found, idVendor=0424, idProduct=9e00, bcdDevice= 3.00 [ 1156.832886] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1156.848011] smsc95xx v1.0.6 [ 1156.912009] smsc95xx 1-1:1.0 eth0: register 'smsc95xx' at usb-xhci-hcd.0.auto-1, smsc95xx USB 2.0 Ethernet, 00:30:1a:3a:eb:c8 [ 1156.981572] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 1156.989474] QTI:Netlink Query to Kernel Success [ 1158.456775] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 1158.464411] QTI:LINK_UP message posted [ 1158.465167] QTI:Processing LINK_UP [ 1158.465606] smsc95xx 1-1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1 [ 1158.472660] QTI:Enable mobileap [ 1158.479629] QCMAP:Enable mobileap [ 1158.598399] QCMAP:Enable mobileap done [ 1158.602320] QTI:Setup TETHERED link [ 1158.676632] QTI:LINK_UP Processed

      and am able to stream data via voxl portal for a few seconds. Afterwards, the USB connection goes into a repeated disconnect/reconnect cycle.

      Moving forward for next testing (and obviously final configuration), I'll power both from the same source (w/ a BEC), shorten the cables, and be sure to twist the data lines (similar to mcbl-0085)

    • J

      voxl-streamer service down when using H.265

      VOXL SDK
      • • • Jskim
      8
      0
      Votes
      8
      Posts
      96
      Views

      J

      @Jskim
      Finally, I tried a test.
      I tried changing the video player and the Streamer died immediately.
      The conclusion is that the Streamer died even when it was in the foreground.
      플레이어 변경하면 바로 죽음.jpg

      Thanks,

      JS, Kim

    • P

      Unbricking of VOXL2 is failing (build failure)

      Starling & Starling 2
      • • • pettertei
      7
      0
      Votes
      7
      Posts
      146
      Views

      tomT

      @pettertei I'd recommend filing an RMA and we can debug the issue: https://www.modalai.com/pages/rma

    • Sam KileyS

      Starling 2 Max with Ublox F9P Ultralight

      Starling & Starling 2
      • • • Sam Kiley
      6
      0
      Votes
      6
      Posts
      48
      Views

      Eric KatzfeyE

      @Sam-Kiley Yeah, try dpkg --force-all -i <package-name>

    • R

      IMX412-Flip

      Ask your questions right here!
      • • • robertociuch
      6
      0
      Votes
      6
      Posts
      93
      Views

      Alex KushleyevA

      Hi @robertociuch ,

      There are no sync issues with AR0144 that we are aware of right now. If you want the cameras to by sync'ed, you have to use the "combo" or "fsin" drivers for the AR0144 camera (see below re fsin). The non-combo / non-fsin drivers do not use the sync line as the sync input and will be free-running.

      The only additional limitation for the sync'ed AR0144 vs non-synced, the maximum exposure is limited to 12ms (compared to 33ms in non-synced use case). The actual limitation is slightly higher than 12ms (maybe 14-15) and it is coming from the way the camera operates in the sync'ed mode (this is specific to AR0144 only). This 12ms limit is set in voxl-camera-server (per each camera) "exposure_max_us": 12000, so you want to double check that. If you don't limit the exposure, then if the exposure setting extceeds this limit (well, exceeds 15ms or so), the frame rate will drop in half from 30 to 15. When you run voxl-configure-cameras 26, the correct sensormodules will be coped to /usr/lib/camera/ and correct config with appropriate exposure limits applied to /etc/modalai/voxl-camera-server.conf.

      In terms of sensormodule IDs for AR0144, you need to look where they are connected.

      If we look at C27 use case, from the following link:
      https://docs.modalai.com/voxl2-coax-camera-bundles/

      there are 3 AR0144 cameras connected and the following sensormodules are present:

      com.qti.sensormodule.ar0144_combo_0.bin com.qti.sensormodule.ar0144_combo_6.bin com.qti.sensormodule.ar0144_fsin_2.bin

      Actually the combo sensormodules are not only sync'ed but they also use a single MIPI interface to connect two cameras (nice trick). That is really whey they are called combo (the streams are combined into a single mipi interface). The third camera takes up the whole 4-lane mipi camera port and that is why it is not a combo mode driver. fsin means it is using frame sync input.

      So all 3 of those camera drivers will use the sync input, generated by VOXL 2 for sync signal. BTW, the voxl-camera-server.conf contains information about the frame sync pin and whether it is enabled or not. You have to make sure that you enable it and use correct pin when using M0173:

      "fsync_en": true, "fsync_gpio": 109,

      This is also mentioned here : https://docs.modalai.com/M0173/

      If you are only connecting two AR0144 cameras, you should connect them as shown in C26 config and you would want to have the following sensormodules:

      com.qti.sensormodule.ar0144_combo_0.bin com.qti.sensormodule.ar0144_combo_6.bin

      Finally, in order to confirm time sync. You can do it indirectly by looking at the timestamp of the frames coming from two cameras. I actually wrote a tool which subscribes to two camera streams and will compare the incoming timestamps to tell you how much out of sync they are. I will find the tool and share it.

      There is also a direct way of checking sync of looking at the camera images. We have a special LED array where we can light up each LED for a fixed number of microseconds. Each LED is lit up for that short amount of time and the LEDs light up in a scanning pattern across a 2D array. And then we set the camera exposure to a small value (1ms lets say) for both cameras. In the image below, each LED lights up for 50us and the camera exposure was set to 1ms, so we see 20 LEDs lit up at the same time (50*20 = 1000us) and they are also aligned in time to within 50us). This specific capture was from an older ov7251 test, but we have also done ar0144 sync test.

      ov7251_sync_test.png

      I just did a quick test using two sync'ed AR144, showing 0 delay in timestamps:

      voxl2:~$ ./voxl-cam-sync-check -a tracking_front -b tracking_rear camera a: /run/mpa/tracking_front/ camera b: /run/mpa/tracking_rear/ ab delta: 0.000000

      Of course the sync cannot be EXACTLY zero, but it is as close to zero as the system can measure (way below 100us), just based on the timestamp test.

      If I do a comparison with a non-sync'ed hires cameras:

      voxl2:~$ ./voxl-cam-sync-check -a tracking_front -b hires_bayer camera a: /run/mpa/tracking_front/ camera b: /run/mpa/hires_bayer/ ab delta: 0.053434a ahead, trying to re-sync ab delta: -0.013322 dt too large! ab delta: -0.013265 dt too large! ab delta: -0.013148 dt too large! ab delta: -0.013226 dt too large!

      Please let me know if you have any more questions.

      Alex

    • N

      Heavy drift on VOXL 2

      Ask your questions right here!
      • • • nikolahm
      6
      0
      Votes
      6
      Posts
      95
      Views

      astro_philA

      @astro_phil with some further investigation over the weekend, i found a small fix in the px4 codebase that seems to reduce the velocity estimation error. I low pass filtered the delta time (dt) value that is used to integrate the linear acceleration to obtain the velocity estimate.

      vibration_fix.png

      Left is without the "fix" and right is with the "fix". Flying in position hold.

      WhatsApp Image 2025-05-03 at 15.50.57.jpeg

      I tried to induce more vibration on purpose to test the impact on position tracking.
      Both flights shown in the plot where done with the system shown in the picture.

    • G

      (VOXL2 ROS2 PX4) Can No Longer Remote ssh Through VSCode

      Software Development
      • • • GlennTee
      6
      0
      Votes
      6
      Posts
      117
      Views

      tomT

      @GlennTee Thanks for the follow up!

    • ModeratorM

      Starling 2 Max camera questions

      Starling & Starling 2
      • • • Moderator
      6
      0
      Votes
      6
      Posts
      101
      Views

      E

      @Moderator
      Which configuration allows 2D ground mapping, does it have a downward facing camera?
      Is there a whole kit of ground control station (controller) available (meaning ready to fly/control, including receiver, display, joysticks...)?
      Resolution in real time and latency of the video streaming?

    • Rowan DempsterR

      Camera server: Preview stream stops when Large video activated

      Video and Image Sensors
      • • • Rowan Dempster
      5
      0
      Votes
      5
      Posts
      66
      Views

      Alex KushleyevA

      Hello @Rowan-Dempster ,

      I am assuming that you are using non-raw preview stream (YUV) at resolution around 4000x3000 and similar resolution for the large encoded stream. Then the ROI stream is the downscaled version of the preview stream (please correct me if I am wrong).

      I just tested this setup using IMX412 camera, and using the following branch (which I believe you used as a starting point):

      https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/tree/feature-add-c2d-select-roi-src/

      It seems to be running just fine. Please test using the above branch and then if that works, then it's possible that you have some changes that cause an issue. Also try disabling all other cameras and seeing if the issue goes away.

      | Pipe Name | bytes | wide | hgt |exp(ms)| gain | frame id |latency(ms)| fps | mbps | format | hires_roi | 1382400 | 1280 | 720 | 33.00 | 4035 | 3752 | 53.3 | 30.0 | 331.8 | NV12 | hires_large_encoded | 723 | 4056 | 3040 | 33.00 | 4035 | 3751 | 80.6 | 30.0 | 0.4 | H265 (P)

      If the camera server from the above branch does not work, please provide the following details;

      what camera you are using voxl-camera-server.conf config section for that camera (assuming other cameras do not interfere)

      Alex