ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. rogerli
    3. Topics
    R
    • Profile
    • Following 0
    • Followers 1
    • Topics 7
    • Posts 33
    • Best 0
    • Controversial 0
    • Groups 0

    Topics created by rogerli

    • R

      ToF Flex PCB

      Ask your questions right here!
      • • • rogerli
      1
      0
      Votes
      1
      Posts
      79
      Views

      No one has replied

    • R

      obstacle avoidance

      Ask your questions right here!
      • • • rogerli
      9
      0
      Votes
      9
      Posts
      628
      Views

      James StrawsonJ

      @rogerli vibration and lead to the lenses rotating. I often use a dab of hot-glue to hold the lens in place after focusing. On the new Starling 2 and Starling 2 Max drones we now use a clamping ring around the entire camera and lens assembly to lock them in place.

    • R

      Unable to communicate with add-on board

      Ask your questions right here!
      • • • rogerli
      13
      0
      Votes
      13
      Posts
      979
      Views

      A

      @rogerli said in Unable to communicate with add-on board:

      @Vinny I have another VOXL2 where only DS1 and DS2 lights up constantly, but D1 doesn't light up. Is this normal? (There was a slight deformation near the power interface due to a previous fall.)

      @tom The SDK version of the VOXL2 that I'm using is 1.1.3.

      I initially bought two VOXL2 boards, both version 1.1.2. One was deformed due to a crash, but the other still works well. Later, I purchased two more VOXL2 boards, which arrived with version 1.1.3. One of them was completely non-functional, and the other also had communication issues. Due to time constraints, we urgently ordered two more VOXL2 boards. Should we downgrade the SDK to 1.1.2 for safety? Currently, as we are in the pre-mass production stage and sending products for inspection, we cannot afford sudden failures of critical components.

    • R

      Can not connect to VOXL2

      Ask your questions right here!
      • • • rogerli
      8
      0
      Votes
      8
      Posts
      637
      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

    • R

      collision prevention problem

      Ask your questions right here!
      • • • rogerli
      6
      0
      Votes
      6
      Posts
      513
      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

    • R

      Issue with Microhard IP configuration.

      Ask your questions right here!
      • • • rogerli
      20
      0
      Votes
      20
      Posts
      1373
      Views

      R

      @tom I had the same idea, so I directly installed Mavproxy and related packages on VOXL2, and successfully resolved the issue with the serial library. However, when running the service, I still couldn't import the Python files related to Mavproxy. Even adding the paths of those Python files to the environment variables didn't solve the problem.

    • R

      I can't see OBSTACLE_DISTANCE on QGC

      Support Request Format for Best Results
      • • • rogerli
      18
      0
      Votes
      18
      Posts
      1273
      Views

      C

      @Inverse-AJ @rogerli
      Hi, I also struggled with the OBSTACLE_DISTANCE MAVLink message not appearing in the MAVLink Inspector. Moreover, obstacle avoidance was not functioning after I upgraded v1.3.5 to ModalAI SDK v1.5.0. If you're experiencing this issue, ensure the following:

      Set MPC_POS_MODE to 0 (Simple Position Control) or 3 (Smooth Position Control). The default value (4, Acceleration-based Input) is incompatible with ModalAI’s VOXL platform.
      Set COM_OBS_AVOID to 1. This enables obstacle avoidance in PX4.
      Set CP_DIST to a value greater than 0. This specifies the critical distance for collision prevention.
      Ensure your drone has a valid home position or local position from QVIO. This is required for proper navigation.
      Ensure your drone is in Position Hold mode. Obstacle avoidance requires this flight mode.

      Although the OBSTACLE_DISTANCE message does not appear in the MAVLink Inspector, QGroundControl displays the obstacle distance overlay in its telemetry view, and the drone successfully performs obstacle avoidance. Note: This applies to ModalAI SDK v1.5.0; check for updates in newer versions.

      f0d0fe9f-61ff-4287-9210-186dafc0879a-Untitled.jpg