• RE: m500 cannot hovering with VIO algorithm

    Here's the test data:

    Stereo Camera Calibration

    left_file:
    image_width: 640 image_height: 480 camera_name: stereo/left camera_matrix: rows: 3 cols: 3 data: [492.469682, 0.000000, 287.720563, 0.000000, 492.799801, 241.856917, 0.000000, 0.000000, 1.000000] distortion_model: plumb_bob distortion_coefficients: rows: 1 cols: 5 data: [-0.171887, 0.054112, 0.000816, 0.000653, 0.000000] rectification_matrix: rows: 3 cols: 3 data: [0.999125, 0.024029, 0.034224, -0.023993, 0.999711, -0.001454, -0.034249, 0.000631, 0.999413] projection_matrix: rows: 3 cols: 4 data: [509.343373, 0.000000, 291.779423, 0.000000, 0.000000, 509.343373, 233.497673, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000]

    right_file:
    image_width: 640 image_height: 480 camera_name: stereo/right camera_matrix: rows: 3 cols: 3 data: [494.055474, 0.000000, 337.960482, 0.000000, 494.170184, 223.591690, 0.000000, 0.000000, 1.000000] distortion_model: plumb_bob distortion_coefficients: rows: 1 cols: 5 data: [-0.182939, 0.076209, 0.000049, 0.002344, 0.000000] rectification_matrix: rows: 3 cols: 3 data: [0.999497, 0.010498, 0.029940, -0.010529, 0.999944, 0.000885, -0.029929, -0.001200, 0.999551] projection_matrix: rows: 3 cols: 4 data: [509.343373, 0.000000, 291.779423, -40.695510, 0.000000, 509.343373, 233.497673, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000]

    snav_file:
    <SnavCalibration> <SnavCalibrationStereo> <SnavCalibrationLeftStereo> <param name="calib_pixel_width" value="640" /> <param name="calib_pixel_height" value="480" /> <param name="calib_memory_stride" value="640" /> <param name="principal_point_x" value="287.720563" /> <param name="principal_point_y" value="241.856917" /> <param name="focal_length_x" value="492.469682" /> <param name="focal_length_y" value="492.799801" /> <param name="distortion_0" value="-0.171887" /> <param name="distortion_1" value="0.054112" /> <param name="distortion_2" value="0.000816" /> <param name="distortion_3" value="0.000653" /> <param name="distortion_4" value="0.0" /> <param name="distortion_5" value="0.0" /> <param name="distortion_6" value="0.0" /> <param name="distortion_7" value="0.0" /> <param name="distortion_model" value="4" /> </SnavCalibrationLeftStereo> <SnavCalibrationRightStereo> <param name="calib_pixel_width" value="640" /> <param name="calib_pixel_height" value="480" /> <param name="calib_memory_stride" value="640" /> <param name="principal_point_x" value="337.960482" /> <param name="principal_point_y" value="223.59169" /> <param name="focal_length_x" value="494.055474" /> <param name="focal_length_y" value="494.170184" /> <param name="distortion_0" value="-0.182939" /> <param name="distortion_1" value="0.076209" /> <param name="distortion_2" value="0.000049" /> <param name="distortion_3" value="0.002344" /> <param name="distortion_4" value="0.0" /> <param name="distortion_5" value="0.0" /> <param name="distortion_6" value="0.0" /> <param name="distortion_7" value="0.0" /> <param name="distortion_model" value="4" /> </SnavCalibrationRightStereo> <param name="correction_factors_0" value="0" /> <param name="correction_factors_1" value="0" /> <param name="correction_factors_2" value="0" /> <param name="correction_factors_3" value="0" /> <param name="translation_0" value="-0.0798577979308862" /> <param name="translation_1" value="-0.000838769063517393" /> <param name="translation_2" value="-0.00239214571934757" /> <param name="rotation_0" value="0.00226741960521865" /> <param name="rotation_1" value="0.00433160780762917" /> <param name="rotation_2" value="-0.0134848065488883" /> </SnavCalibrationStereo> </SnavCalibration>

    Tracking Camera Calibration

    cal_file:
    image_width: 640 image_height: 480 camera_name: tracking camera_matrix: rows: 3 cols: 3 data: [277.095893, 0.000000, 324.145728, 0.000000, 277.407080, 209.238122, 0.000000, 0.000000, 1.000000] distortion_model: fisheye distortion_coefficients: rows: 1 cols: 4 data: [-0.018687, 0.034754, -0.034056, 0.011701] rectification_matrix: rows: 3 cols: 3 data: [1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000] projection_matrix: rows: 3 cols: 4 data: [303.434082, 0.000000, 333.786106, 0.000000, 0.000000, 297.322021, 188.396771, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000]

    snav_file:
    <SnavCalibration> <SnavCalibrationDownward> <param name="calib_pixel_width" value="640" /> <param name="calib_pixel_height" value="480" /> <param name="calib_memory_stride" value="640" /> <param name="principal_point_x" value="324.145728" /> <param name="principal_point_y" value="209.238122" /> <param name="focal_length_x" value="277.095893" /> <param name="focal_length_y" value="277.40708" /> <param name="distortion_0" value="-0.018687" /> <param name="distortion_1" value="0.034754" /> <param name="distortion_2" value="-0.034056" /> <param name="distortion_3" value="0.011701" /> <param name="distortion_4" value="0" /> <param name="distortion_5" value="0" /> <param name="distortion_6" value="0" /> <param name="distortion_7" value="0" /> <param name="distortion_model" value="10" /> </SnavCalibrationDownward> </SnavCalibration>

    posted in VOXL m500 Reference Drone
  • RE: VIO Indoor Navigation

    Hi @Lynn-Koudsi ,

    Hmmm, this one is confusing me a bit, if you're available maybe we could setup a screen share on Monday to troubleshoot? I'm be available 8:15-10:00, 12-2 and 4-5 PST, or Tuesday anytime after 8:15 AM PST.

    Thanks!!

    posted in Ask your questions right here!
  • RE: m500 cannot hovering with VIO algorithm

    Can you please send the serial number of the VOXL Flight PCB? We might be able to look up the calibration files in our production database?

    posted in VOXL m500 Reference Drone
  • RE: m500 cannot hovering with VIO algorithm

    A couple of ideas:

    1. Try to calibrate the tracking camera. Instructions here: https://docs.modalai.com/calibrate-cameras/#calibrate-tracking-camera
    2. Insert some foam, preferably memory foam, in between the "green tray" and the frame. This should help reduce vibration

    PXL_20201203_025334070.jpg
    PXL_20201203_025319045.jpg

    posted in VOXL m500 Reference Drone
  • RE: m500 cannot hovering with VIO algorithm

    The system was tested in VIO mode for 20 minutes before shipping. All drones are very sensitive to frame modifications, so this needs to be done carefully

    • Were you able to fly successfully before frame modifications?
    • How well does it fly manually? Have you looked at the logs in manual.mode for vibration?
    • Can you please share a log of the VIO output?
    • If you reset all of the software, you may need to recalibrate the cameras
    • It looks like there are loose parts hanging off of the drone. VIO is VERY sensitive to vibration. Can you revert your frame modifications and try again?
    posted in VOXL m500 Reference Drone
  • RE: body frame vs local frame

    Hi @Aldo-Castro-Freire ,

    Local frame is centered wherever the drone was when it boots up aligned with wherever the drone was facing when it booted up.

    Body frame is centered at the drone's center of mass and points XYZ->forward right down.

    posted in Ask your questions right here!
  • RE: How does precision landing works? how is it triggered ?

    Yes, front is north, east right, etc. I too have to experiment when messing with this, it's not my strongest area of knowledge and I get lost!

    Also yet, negative is going up (NED is north east down, so positive D is down, negative D is up).

    I think 20 meters high depends on the size of the tag... But that seems a bit far, experimentation will show though.

    The angle is going to be referenced from bootup of the VIO system. 0 on bootup is straight forward.

    drone.action.land() doesn't have an idea about location, I think it will just descend until it can't, or stop at 20 meters (in this case, 20 meters below take off point!)

    But imagine you set a position (set_postition_ned) that is the SAME location as the tag, the drone will go to that location based upon it's current reference, and it will see the tag, and correct for any small errors.

    posted in Ask your questions right here!
  • RE: m500 cannot hovering with VIO algorithm

    Hi @Kaiba-Kun ,

    Can you perhaps attach a photo of the test frame?

    We do some specific tuning for the frame and perhaps vibration is being introduced that could cause some nasty effects?

    Thanks!
    Travis

    posted in VOXL m500 Reference Drone
  • RE: Serial read is blocking

    Hi @Andrew-Keefe,

    I'm not positive on this one. I have an example of using UART for an ESC here, and I remember having to be careful what task was opening the UART port:

    https://github.com/modalai/px4-firmware/blob/modalai-1.11/src/drivers/uart_esc/modalai_esc/modalai_esc.cpp#L736

    Here's opening of the port (note: this is beta level code)

    https://github.com/modalai/px4-firmware/blob/modalai-1.11/src/drivers/uart_esc/modalai_esc/modalai_esc_serial.cpp#L48

    posted in Flight Core
  • RE: Temperature ratings

    Hey @gus ,

    We have not performed comprehensive environmental testing, but expect this to perform similar to other consumer-grade electronics.

    VOXL/VOXL-Flight (boards with Snapdragon 820) 0-55C Ambient (validated by test), Non-VOXL stuff (e.g. Flight Core standalone), 0-70C max operating by design.

    Thanks!

    posted in Ask your questions right here!