Skip to content

Ask your questions right here!

2.3k Topics 11.7k Posts

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

Subcategories


  • 164 Topics
    751 Posts
    Ben LinneB
    @heiko.lizan Any elrs radio that's 900mhz or dual band compatible should work when in low band mode. If the transmitter is running v4+ you should be able to downgrade it to v3 following the elrs update guide It's normal that some services aren't running. You may need to re-enable px4 with systemctl enable voxl-px4
  • Do you have a great idea for our products you would like to see implemented?

    27 90
    27 Topics
    90 Posts
    Serhii RovnyiS
    Hello everyone, I am looking for some expert advice on a VOXL 2 companion computer setup for a long-range platform. I have two main integration challenges: Challenge A: VIO at Higher Altitudes To solve the motion blur and pixel density issues at higher altitudes, I am planning a 6-camera configuration. I want to use 4 downward-facing sensors (2 daylight + 2 IR) equipped with narrow-angle lenses, alongside 2 standard wide-angle sensors (front and rear). Could you advise on the best supported sensors (e.g., IMX series) for this? Has anyone successfully tuned the voxl-qvio-server for narrow-angle lenses, and what were the altitude limits you achieved? Challenge B: LAN Integration & WireGuard The payload data flow will be: External RTSP Camera -> Ethernet -> VOXL 2 (WireGuard encryption) -> Ethernet -> Digital RX. Because VOXL 2 lacks multiple LAN ports, I will need a miniature industrial Ethernet switch. Does ModalAI have any tested hardware recommendations for this? Furthermore, what is the best practice for routing this VPN traffic through the VOXL 2 Ubuntu environment without bottlenecking the CPU? We are currently evaluating the VOXL 2 for a broader fleet deployment and want to ensure the ecosystem can support this custom optics requirement. Any feedback on off-the-shelf solutions or standard configurations for this use case would be greatly appreciated. Thank you!
  • Are you looking for a 3D model of one of our products?

    33 86
    33 Topics
    86 Posts
    Alex KushleyevA
    @nl_vdi , if you log into developer.modalai.com, you will see the CAD models. the latest model we have is: D0012-4-V3-C28-M36-T7-K0-Starling2-Max-V3-20260317.step [image: 1781036132877-376bf0dd-494a-4bf1-8d92-1b2d91afb83d-image.png]
  • Can not connect to VOXL2

    8
    0 Votes
    8 Posts
    2k Views
    tomT
    @anghung Okay I would retry flashing using QDL. If you still have issue you can submit an RMA and we can fix it for you: https://www.modalai.com/pages/rma
  • Voxl starling crashed all motors stop working mid air

    9
    0 Votes
    9 Posts
    1k Views
    Alex KushleyevA
    @Manu-Verma , that is great that you figured it out! Can you please help us understand where exactly the loose connection was? Could you please take a picture and mark the location of the issue? That would be really appreciated! Alex
  • Voxl2 Volume Full

    4
    1
    0 Votes
    4 Posts
    603 Views
    tomT
    @Stefan-Amundarain Thanks for your patience! There is a slight bug in the flashing script that doesn't handle fixing the partition layout correctly without forcing it via. that arg. It'll be fixed in the next release (SDK 1.3..0)
  • ROS foxy PCL ROS

    7
    0 Votes
    7 Posts
    2k Views
    Darshit DesaiD
    @Zachary-Lowell-0 Yes I was able to install docker of u22.04, but at the same time when I was running everything on natively in melodic on the drone I was able to use 3rd party libraries like PCL ROS and I was able to install it, this was because the ROS installation was left on the user. I just thought it would be same with ROS2. Although now I have set up ARM64 dockers in my desktop ubuntu so now I can make as many changes on my desktop and just push the new docker
  • Automatic syncing object models across multiple VOXL2s

    4
    0 Votes
    4 Posts
    908 Views
    ModeratorM
    @Denver-Bennett Hi Denver, no voxl-tflite-server is a TensorFlow Lite runtime environment for VOXL. You will need to write your own code if you want to somehow mesh models together over a network. We aren't familiar with any software that handles that today
  • Run code on boot from docker in voxl2

    2
    0 Votes
    2 Posts
    549 Views
    tomT
    @Darshit-Desai Sure, the easiest way would be to create a custom systemd service file
  • How to load a vxblx file into voxl-mapper

    3
    0 Votes
    3 Posts
    976 Views
    I
    @Moderator Hi, do you know where can I get a description of the tsdf file format that the voxl-mapper uses?
  • voxl mpa to ros melodic voxl2 aidetection message header file missing

    4
    0 Votes
    4 Posts
    917 Views
    Darshit DesaiD
    @Moderator @Zachary-Lowell-0 there is a similar issue with trying to include the message type AIDetection.h in ROS2 mpatoros2.
  • VOXL2 Tag Detector with ROS2

    1
    0 Votes
    1 Posts
    364 Views
    No one has replied
  • Creating a Clode backup Image on VOXL 1 computer.

    2
    0 Votes
    2 Posts
    429 Views
    ModeratorM
    @Niek-van-Oostenbrugge We recommend replacing the files in the offline installer with your own
  • VOXL2 OV9782 and other camera supported frame rates. +QVIO

    2
    0 Votes
    2 Posts
    698 Views
    ModeratorM
    @jameskuesel 30FPS currently. The AR0144 modules will outperform OV9782 modules as they have a better sensor and better lens
  • Cannot communicate over adb/fastboot after flashing image

    20
    0 Votes
    20 Posts
    4k Views
    tomT
    @Kashish-Garg-0 It's possible your board has a QSM8250 (M0054-2) instead of a QRB5165 (M0054-1), see here for the diffs: https://docs.modalai.com/m0054-versions/#m0054-1-and-m0054-2 If that is the case then you will have to QDL using a different build, which you can download from downloads.modalai.com, look for M0054-2 Starling QDL Image 1.7.4 2024-02-09-1.7.4-M0054-2.zip under the "All" category
  • Voxl 2 and Doodle Helix

    10
    1
    0 Votes
    10 Posts
    2k Views
    wilkinsafW
    I tried on a different voxl2 with voxl-suite: 1.2.0 installed the other one had voxl-suite 1.1.3 installed. Not sure if that makes a difference....or if the configuration of the voxl2 was different..... Either way if you are facing the same issue try SDK 1.2.0
  • Changing the default VOXL2 SSH password

    2
    0 Votes
    2 Posts
    602 Views
    tomT
    @rohitpillai Sure it would be the same process as any other linux machine. Just run: sudo passwd
  • voxl-camera-server stalls/crash

    3
    0 Votes
    3 Posts
    863 Views
    Steve TurnerS
    @Moderator we have tried swapping modules, cameras, and VOXL2(minis) Generally, it is exacerbated by the extension cables.
  • collision prevention problem

    6
    2
    0 Votes
    6 Posts
    1k Views
    R
    @Eric-Katzfey Sorry, I didn't save the stereo camera images from voxl-logger, so I can only provide the PX4 log file. Currently, I am addressing the exposure issue using the method I mentioned earlier, and it seems to have improved the effectiveness of collision prevention. Additionally, to ensure that the drone can stably stop in front of obstacles, I made the following modifications to the voxl-vision-hub code. int pie_binner_filter_to_mavlink_msg(pie_binner_t* b, mavlink_message_t* msg) { int i,j; // final distance data for px4 uint16_t distances[72]; uint16_t dist_max_cm = b->dist_table.dist_max * 100.0f; // now set the bins to max_distance +1 means no obstacle is present. for(i=0;i<72;i++){ distances[i] = dist_max_cm - 10; } if(b->ringbuf.items_in_buf>0){ // scan bins for any that meet the criteria // for each angle.... for(i=0; i<b->rows; i++){ // scan the distances from inside out, remember we have one extra column // than we do distance bins for(j=0; j<(b->cols-EXTRA_BINS_TO_CHECK); j++){ // skip empty bins if(b->map_points[i][j] <= 0) continue; // sum up points in this bin, the two on either side // and the three behind it int sum = 0; for(int k=-1; k<=1; k++){ // row (angle) to inspect with wraparound check int ii = i-k; if(ii<0) ii+=b->rows; else if(ii>=b->rows) ii-=b->rows; // sum points in this bin plus extras for(int m=0; m<=EXTRA_BINS_TO_CHECK; m++){ sum += b->map_points[ii][j+m]; } } // check the sum of points in all the neighbors if(sum >= b->pie_threshold){ float dist_m = b->map_dist[i][j] / b->map_points[i][j]; // if(dist_m<0.1f) continue; // error check, not needed? uint16_t dist_cm = dist_m * 100.0f; if(dist_cm<150) continue; else if(dist_cm>=150){ distances[i] = dist_cm; last_dis[i] = distances[i]; zero_count[i] = 0; //printf("added a distance! i: %d j:%d dist: %5.1fm\n", i, j, (double)dist_m); break; // move onto next angle } // distances[i] = dist_cm; // break; } } if(zero_count[i]<30){ distances[i] = last_dis[i]; zero_count[i]++; } } } // TODO investigate if min distance changes px4 behavior or not #define MIN_DISTANCE_CM 0 // set other params for mavlink message uint64_t time_usec = 0; uint8_t increment_int = 0; // use the float field instead float increment_f = 360.0f / b->tan_table.n_bins; float angle_offset = 0.0f; // 0 means bin 0 is straight ahead along X mavlink_msg_obstacle_distance_pack(autopilot_monitor_get_sysid(), VOXL_COMPID,\ msg, time_usec, MAV_DISTANCE_SENSOR_UNKNOWN, distances, increment_int,\ MIN_DISTANCE_CM, dist_max_cm, increment_f, angle_offset, MAV_FRAME_BODY_FRD); return 0; } However, during the drone's flight to the right, it suddenly pauses. The drone's distance sensors are only equipped with front-facing stereo cameras, so they shouldn't detect obstacles on the right side. Why is this happening? Is there a way to solve it? Here is my PX4 log file https://review.px4.io/plot_app?log=fb1ae613-4e56-49a2-a60f-bc272edd78c1
  • TFLite multiple model execution

    tflite-server voxl2
    4
    0 Votes
    4 Posts
    2k Views
    ?
    @nickk14 Awesome, glad to hear it! Yeah, we've actually mounted fans to our boards that run multiple models simultaneously because the thermals definitely get up there. Might be worth thinking about depending on your application. All the best, let me know if I can help out in any other way. Thomas
  • VOXL2 starling bootable images

    9
    0 Votes
    9 Posts
    1k Views
    Darshit DesaiD
    @Eric-Katzfey as far as I know docker image in the voxl2 ecosystem is used for installing stuff like a different version of Ros or opencv or some other dependency. In my case I modified a lot of back end services and the .conf files, that along with some of the Ros dependencies make the process of cloning a drone atleast 1.5 hr long. Making a docker image for ros dependencies and installing it would shave off only half off that time the other half I would still need to reconfigure voxl2 sdk as my other drone. For 4-5 drones it's fine, but for more 5 it's not
  • M0014 vs M0149 tracking cameras for indoor VIO

    3
    0 Votes
    3 Posts
    572 Views
    Jeremy FrederickJ
    @Moderator Great, I noticed in SDK 1.2 there is now support for dual tracking cameras in the camera server, can both feeds be fed into the QVIO service to allow for the use of both cameras in VIO?
  • ESC Calibration

    2
    0 Votes
    2 Posts
    397 Views
    Alex KushleyevA
    @Manu-Verma , please see the details in the link below. Please note that Modalai ESC calibration is not the same thing as the typical ESC calibration. QGC does not support calibrating ModalAI ESCs and it needs to be done using voxl-esc tools running either directly on VOXL2 or a Linux PC. https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/dev/voxl-esc-tools/calibration.md