Skip to content
VOXL® Developer Community

Build smaller, smarter, safer drones.

Ask the ModalAI engineering team, search thousands of solved threads, and share what you're flying — direct from the people who build VOXL.

3324Members
5199Topics
26288Posts
Browse

Categories

  • Note sure where to post? Ask questions here for direct access to the ModalAI engineering team

    2k 12k
    2k Topics
    12k Posts
    Masa ChauM
    Hi all, I'm a researcher evaluating the Starling 2 Max for an outdoor + indoor target-tracking project, and I'd appreciate guidance from the team and anyone running a similar setup before we order. Our onboard pipeline is a YOLO detector, a BoT-SORT tracker, and a Kalman filter that estimates a moving target's position and velocity, with a small RL policy for guidance. From reading the docs and forum, here's my current understanding, and I want to check I have it right: Outdoor depth: The PMD ToF is indoor-only. Depth-from-stereo (voxl-dfs-server) exists, but the supported stereo hardware is EOL and the Starling 2 Max's color cameras are rolling shutter, so DFS isn't really an option on this airframe. That seems to leave monocular depth-from-mono for outdoor metric range. Is that the current recommended path, or is there a supported stereo/other option I've missed? For those using depth-from-mono outdoors, what usable range and accuracy are you seeing on a moving target at around 10 to 30 metres? Velocity estimation: For estimating a target's relative velocity outdoors, what would you recommend fusing? I'm aware VIO (OpenVINS / qVIO) handles ego-motion, and I've seen the thread where running both servers at once produced bad velocity output, so I'll pin to one. My question is more about relative-velocity-to-target: is the expectation that we get target range from a depth model and differentiate through the Kalman filter, or is there a better-supported approach on VOXL? GPS: I've read the EMI threads (GPS relocation to the rear, Lepton cable disconnect, wifi dongle offset, shielding/mast, the V3 GNSS changes). For a unit ordered today, is the EMI issue considered resolved in current hardware, or should we still plan to apply mitigations? Does that change with a 5G modem config? For context we'd be on a C28 camera config (no ToF), WiFi modem, developing a custom stack via the SDK. Any pointers from people doing outdoor tracking work on this platform would be hugely appreciated. Thanks! Masa
  • Commonly asked questions we get from the community

    71 301
    71 Topics
    301 Posts
    J
    Hello. Can a Starling 2 drone autonomously fly while flying over the pipe inside a sewer? The drone must fly autonomously in a dark place to inspect cracks or internal conditions while flying along the water pipe. I'm not sure if this feature can run on Starling, so I'm asking for help!
  • Questions by Product

    Product related questions and answers

    2k 12k
    2k Topics
    12k Posts
    Alex KushleyevA
    Hi @jbiscan21 , The main issue was that the max_rpm_delta was set to zero. Even with PI gains (and max errors) set to zero, you could have had it working with non-zero max_rpm_delta. Let me explain. max_rpm_delta term is used to cap the target rpm relative to the current rpm. This is done to prevent very aggressive motor behavior, especially if motor is spinning very slowly because it is tangled in grass, etc, allowing unlimited max_rpm_delta could cause motor to burn out or de-sync. The RPM controller has a feed-forward term and feedback terms. feedback terms are Proportional and Integral with corresponding gains and error terms (k * e). feed-forward term comes from the calibration : for desired RPM, the calibration tells the ESC what PWM (duty cycle) to apply there is also battery voltage compensation, so that even if voltage is changing, the feed-forward curve will still be accurate. The rpm error is computed like so : rpm_error = rpm_desired - rpm_current, which standard. But then it is capped with the max_rpm_delta, so if that is equal to zero, then rpm_error will be zero. One subtle detail is that the rpm_error is also used to look up the desired rpm feed_forward : rpm_for_feed_forward_term = rpm_current + rpm_error (roughly speaking), so having the max_rpm_delta set to zero, caused the motor to be always stuck at minimum rpm. So you could still have zero P and I terms and the motor would use a feed forward term with voltage compensation and it would provide a nice and soft response (similar to traditional ESC). Adding P and I will make the response better than a traditional ESC. In fact when using a new motor + prop, you should start off with P and I gains zero, just use a feed forward term to test at first and then you can increase the ESC's responsiveness by giving it more max_rpm_delta and also P and I terms. However, that is more advanced tuning should be done using voxl-esc tools first in order ensure ESC response stability (we could discuss that in another thread). To answer your earlier questions: You could use pwm (power) control, but i have never used it with PX4. Perhaps @eric-katzfey can comment about that the ESC calibration for modalai ESCs calibrates the feed-forward term (as described above), and has to be done with a propeller. Yes, in flight, the air dynamics will change due to many factors such as air pressure, temperature, air speed, etc, etc, but the job of RPM controller is to keep a desired rpm. A higher level controller could potentially estimate the thrust vs rpm is changing due to air temperature or pressure difference from the calibrated response (outside of the scope of ESC's rpm controller). Alex
  • 506 Topics
    2k Posts
    modaltbM
    Hi @markmst email me at devops @ modalai. com and I can get you a link/info. We've not validated SDK1.6.5+ on some targets so haven't released publicly to avoid folks loading on untested SKU.
  • Please request review from ModalAI before building your drone or custom add-on PCB

    17 47
    17 Topics
    47 Posts
    VinnyV
    Hi @dakota_ltu Under an NDA we could consider the ESC. However, even under NDA, we cannot share the VOXL 2 Schematics unless the recipient is also a Qualcomm licensee with their own NDA with Qualcomm. If that is still a path with value to you, please use this form: https://www.modalai.com/pages/contact-us