Randy, please note that i can use the range finder on any ports at different speeds, but I cannot connect the OpticalFlow on any port either with or without rangefinder present. So for me the problem looks like a driver incompatibility (or inconsistency).
Question why do you set speed within the driver, shouldn’t it be through configuration ?
@ppoirier, OK, not sure what the issue is then - I guess it’s a lower level board specific issue.
I think forcing the baud rate to 19200 is OK in this case because it ensures the user doesn’t accidentally set the baud rate incorrectly and saves the user some time in the setup. If it’s necessary that it’s configurable then we can change the driver to use the parameter.
Nicely done. Strange that EK2 didn’t work, it should.
I just want to be clear to others reading this thread that I recommend EKx_ALT_SOURCE be left at the default of 0 (for barometer). It should not be set to “1” for Rangefinder.
Yes I agree about usage of the rangefinder as the primary altitude source is not recommended for normal flights.
I generally start tests in stabilize , doing the usual trim and PID land, check the logs, confirm rangefinder reading and stability and then use it as primary source.
Start in stabilize, takeoff and then switch to alt hold, check for stability and response. Land and takeoff in alt hold mode to confirm.
As for loiter, set ekf home , hold quad a simulate a flight , confirm that vehicle movements ate showned on map. Takeoff in AltHold , make sure vehicle is stable and switch to Loiter, get ready to switch back.
Last test I did is takeoff in guided an did different guided “fly to” and land.
Any kind soul able to nudge me in the correct direction for downloading 3.7 Dev?
I have a few CX-OF sensors that I would love to integrate to a pixracer to offer more test results.
… when I switch from Loiter to FlowHold I see the Copter oscillate quickly in roll and pitch (like if the Roll / Pitch PID was bad tuned), then if I move the quad a little bit around (with RC) the oscillation disappear and the Copter remain stable.
should be a normal behavior from what I read in the wiki:
Because no Lidar is used in this mode, the optical flow sensor is used both to estimate the vehicle’s height above the surface and the vehicle’s speed. Soon after takeoff or after there have been large changes in the height above the surface the vehicle may wobble as it learns the new height and velocity.
I must admit that I don’t actually know exactly what’s required to make it available for all boards. Perhaps it’s moving this chunk to be below the “#end”
if (backend == nullptr) {
backend = AP_OpticalFlow_CXOF::detect(*this);
}
I can confirm it does not get detected on MiniPix either.
Apparently AP_FEATURE_BOARD_DETECT is 0 on a number of ChibiOS boards. Moving detection outside of the #if AP_FEATURE_BOARD_DETECT makes it detected.
@Amit, yes, but like the ZED camera there will be some position drift and that drift increases if the vehicle flies higher… so it will probably work OK if the vehicle stays below 20m and the mission isn’t too long.