Flying an FPV drone in Place Maintain and Altitude Maintain modes will be considerably improved with the addition of Optical Circulation and Sonar (rangefinder) sensors. These sensors assist preserve a secure hover by offering exact knowledge concerning the drone’s place and altitude. On this tutorial, I’ll information you thru establishing these sensors in iNav.
This information is predicated on the directions offered by the producer of the optical circulate sensor I bought. These steps won’t work for different forms of optical circulate/sonar sensors.
Why Add a Rangefinder and Optical Circulation Sensor?
Including a rangefinder and optical circulate sensor enhances your quadcopter’s stability and precision. The optical circulate sensor works just like the sensor in a pc mouse, capturing pictures of the bottom to find out motion. The rangefinder (sonar) supplies extra correct altitude measurements in comparison with a barometer, which is very helpful throughout touchdown, although the utmost efficient altitude is usually lower than just a few meters.
Required Elements
You will have two issues:
- Optical Circulation and Rangefinder Sensor
- A drone with an iNav-compatible flight controller and a spare UART
I’m utilizing the MicroAir MTF-01, a rangefinder sensor with built-in Optical Circulation functionality. It’s a fantastic module as a result of the connection and setup are very simple, and it helps iNav. You may get the MTF-01 right here:
I like to recommend getting the bundle that features the USB to TTL programmer (FTDI adapter), as you may want it to vary settings, or you should buy a generic one if that’s cheaper, additionally works high quality: https://oscarliang.com/fpv-tools/#FTDI-Adapter
MTF-01 Specs:
- Helps Ardupilot, PX4, and iNav
- PMW3901 optical circulate sensor
- Excessive-performance TOF sensor
- Output mode: UART
- Output frequency: 100Hz
- TOF Vary: 0.02-8m
- Vary accuracy: 2%
- Wavelength: 830-870nm
- Resistance to ambient gentle: 70K Lux illumination
- Distance FOV: 6°
- Optical circulate FOV: 42°
- Ambient gentle demand of optical circulate: >60Lux
- Optical circulate working distance: >80mm
- Energy consumption: 500mW
- Working voltage: 4.0- 5.5V
- Module weight: 4.5g
- Dimensions: 29 * 16.5 * 15mm
For the drone, I’m utilizing the GEPRC Cinebot25. I’m not comfy testing place maintain indoors with any drones with out prop guards, so a small cinewhoop is an ideal alternative. See my overview of this drone right here: https://oscarliang.com/geprc-cinebot25/
Nevertheless, the GEPRC flight controller doesn’t assist iNav (but), so I needed to swap it out with the Flywoo GN745 V3. Listed below are particulars about this FC and the way I changed it: https://oscarliang.com/flywoo-goku-gn745-aio-v3-fc/
New to iNav? Try my newbie tutorial on how you can arrange iNav on an FPV drone: https://oscarliang.com/setup-inav-fpv-drone/
Step 1: Configuring the Module
The MTF-01 module helps the next output protocols:
- Microlink: a customized protocol which helps FMT
- MSP: helps iNav
- Mavlink_APM: Mavlink protocol for Ardupilot
- Mavlink_PX4: Mavlink protocol for Pixhawk 4
My unit was set to Microlink by default, so I needed to change it to MSP protocol to work with iNav. You’ll be able to simply swap the output protocol of the MTF-01 utilizing the MicoAssistant software program, however you will want a USB to TTL programmer.
Obtain MicoAssistant software program: https://github.com/micoair/MTF-01_USER_MANUAL
Join the MTF-01 to your PC utilizing the USB to TTL module.
Open the MicoAssistant software program, choose the proper COM port within the higher proper nook, set the baud price to 115200, and click on on the connection icon.
As soon as related, click on on the Setup Menu (gear icon), choose the protocol you wish to use (on this case, MSP), after which click on the WRITE button.
Step 2: Wiring the Sensors
Join the 4 wires from the MicroAir MTF-01 sensor to any spare UART in your flight controller. I related it to UART4 on my FC.
- 5V to 5V
- GND to GND
- TX to RX
- RX to TX
Notice: If the rangefinder and optical circulate sensor don’t get powered by way of the USB cable, you might need to plug in a battery to energy these sensors.
Mount the sensor on the underside of the quad, guaranteeing there’s nothing obstructing the view of the sensors. Use touchdown gears to make sure there’s ample clearance between the bottom and the sensors throughout takeoff, ideally a few centimeters or extra.
Earlier than continuing, take away the propellers out of your quadcopter for security. Join the battery after which join the flight controller to your laptop.
Ports
Open iNav Configurator, go to the Ports tab, and configure the UART you wired up as MSP. Save and reboot.
Configuration
Within the Configuration tab, discover the “Sensors & buses” part. For Rangefinder and Optical Circulation, set them to MSP. Save and reboot.
After rebooting, the “Circulation” and “Sonar” sensor icons on the highest of iNav Configurator ought to flip blue, indicating they’re working accurately. If these sensors don’t flip blue however purple, examine that the TX and RX wires are accurately related and that the battery is powering the sensors.
CLI Settings
Copy and paste the next strains within the CLI (these are configurations steered by the maker of MTF-01).
- Lifeless Reckoning: by enabling
iNav_allow_dead_reckoning
within the CLI, it enhance efficiency throughout transient GPS outages. - Most Peak Setting: by setting the
inav_max_surface_altitude
within the CLI, it defines the utmost top at which the rangefinder is efficient, in cm.
set nav_mc_vel_z_p = 150 set nav_mc_vel_z_i = 250 set nav_mc_vel_z_d= 25 set nav_mc_pos_xy_p = 80 set nav_mc_vel_xy_p = 50 set nav_mc_vel_xy_i = 40 set nav_mc_vel_xy_d = 60 set debug_mode = FLOW_RAW set inav_allow_dead_reckoning = ON set nav_max_terrain_follow_alt = 200 set inav_max_surface_altitude = 200 save
Debug
Within the Sensors tab, gently tilt the quad facet to facet and entrance to again. The waveform of Debug 0 ought to look much like Debug 2, whereas Debug 1 ought to look much like Debug 3.
Debug 0/1 represents the accelerometer readings, whereas 2/3 are from the optical circulate sensor. This take a look at verifies the orientation of the optical circulate sensor. The amplitude won’t be the identical, but when they transfer in the other way, you may want to vary the configuration in MicroAssistant (or set align_opflow=cw180 in CLI).
Calibration
Maintain the drone round 50-60 cm above the bottom and carry out the optical circulate sensor calibration in iNav Configurator. This includes gently tilting the quad facet to facet and entrance to again barely and gently for about 30 seconds with none horizontal actions. Hit save and reboot when finished.
MTF-01 recommends a scale worth between 4 to six. In case you get a price outdoors this vary, repeat the calibration at a greater top with extra regular palms.
Modes
Assign a swap that may allow ANGLE, NAV POSHOLD (place maintain), NAV ALTHOLD (altitude maintain), HEADING HOLD, and SURFACE on the identical time.
Step 4: Testing the Setup
- Arm the drone and carry it right into a hover. If it doesn’t arm because of the lack of GPS lock, bypass this by pushing the throttle/yaw keep on with the underside proper whereas arming.
- Swap to Place Maintain mode and observe the soundness.
- Swap to Altitude Maintain mode and examine the altitude stability.
Troubleshooting and Professional Suggestions
-
- Sensor Initialization Failure: Make sure the wiring is right and the sensors are powered.
- Inaccurate Place Maintain: Modify the Optical Circulation scaler worth.
- Altitude Drifting: Recheck the Rangefinder configuration and calibration.
- Initialization Clearance: Guarantee there may be no less than a few centimeters of clearance between the sensor and the bottom when powering up the quadcopter to keep away from incorrect readings.
Conclusion
Including the MTF-01 rangefinder and optical circulate sensor to your iNav FPV drone is an easy course of that considerably enhances the soundness and precision of your drone in Place Maintain and Altitude Maintain modes, in addition to touchdown accuracy. With these sensors, your quadcopter will carry out extra like a DJI digital camera drone, holding its place and altitude with larger precision. Comfortable flying!