HereFlow Optical Flow Sensor Testing

500/5000

Hello,
I have a question about the operation of HereFlow in case of GPS loss. First of all, I’m interested in whether the drone will be able to hold its position at an altitude of 100m. Secondly, is it possible to set the pixhawk 2.1 controller in such a way that if the GPS signal is lost, the drone will not start to land and drift with the wind, but will simply stop and maintain its position during the mission? Additionally, I have a Benewake lidar with 180m range on board. Does it have the ability to act as I assume?

At 100m hereflow will not be able to hold position. If the GPS is lost at 100m there is no way to keep position without drift, only thing you can do is set ardupilot to go into alt hold. It will drift but at least it’ll keep altitude.

Is there any other way in case of a GPS failure at 100m? I understand that hereflow works up to approx. 65m? I am still thinking about the second GPS antenna, but I would like to have a different system in case of GPS failure.

No systems that i am aware of can do what the gps does at 100m altitude. In case of a gps failure your best option is alt hold and fly it with rc to a safe position and land.
Even at 65m flow will not be very trustable, very dependent on surface you are flying on. In our testing the flow was good and trustable up to 20-25 meters, anything more and becomes erratic. This is our experience, maybe someone else has better performances and better advice.

Yep , 20-25 meter with correct lens, illumination and a very well textured surface … grass and asphalt don’t work good above the 5 - 10 meter range .

Good day.
Please help. I set up hereflow on pixhawk 2.1 and I have a problem. I don’t have the FLOW_TYPE parameter, which I suspect is needed for trouble-free operation of hereflow. I have the MP version 1.3.70 and the ArduCopter V.3.6.11 quad firmware. At the moment I am only receiving the BAD_OPTFLOW_HEALTH message. What should I do to be able to configure my hereflow?

Hello, i mounted the hereflow optical flow on my quadcopter with a pixhawk 2.1 running on the 4.0.5 firmware, i made all the necessary settings and calibrations, and the flowX is identical to bodyX, same for Y axis along with gyros, however, it seems like the pixhawk isen’t taking taking into considerations the values from the sensor properly, there’s still a drift on loiter and flowhold mode, however, if rotate the orientation of the sensor, the quadcopter behaves crazy which indicates that the sensor is working fine. any solution please?

@gryphoon-sx,

It’s also important to set the FLOW_POS_XYZ parameters. Using only a flow sensor will lead to drift but performance can be improved if the calibration is done well, the sensor position offsets parameters (already mentioned) are set and the rangefinder’s distance is accurate. All three are required for good performance.

I don’t recommend flow hold actually, better to stick with Loiter.

When you say “stick with Loiter” do you mean loiter but with flow only, and no GPS?

@vosair,

Yes, Loiter should perform better than flowhold even when using optical flow.

i see, i mounted the sensor right on the middle of the chassis, i also calibrated the sensor using the flowX/bodyX, and flowY/bodyY, it diden’t work, and then i i tried to reflash the firmware and followed the same steps, it worked fine but it needed some tuning on the flow rate, and here we have a problem which is: i dont know why it diden’t work before and now it does, since it’s the same parameters, second, i was just trying to clean the desk and i picked up my quad without noticing that the cube was plugged to the pc, “boom connecter gets out from the cube” , i tried to open the cube to resolder the usb connecter, the moment i opend the cuber, an ic got damaged along with a via and a trace, now i dont know what to do, i tried to find the bottom circuit of the cube black online, but all i can find is a cube for 200 dollars

Hi~ rmackay9
indoors, I want to try HereFlow sensor upward.
parameter have FLOW_ORIENT_YAW, Can’t choose upward.
maybe can Reverse AP_OpticalFlow_HereFlow.cpp flowRate.y?
Do you have any advice for me~ Thanks

@WangLouis,

I’m afraid that we don’t support upward facing optical flow. I’ve added an issue to the to-do list here but I can’t make any promises of when it will be done.

If you’re looking to do bridge inspection (or similar) I think the best solution we have is to use the Intel T265 with Copter-4.1 and setup the GPS/Non-GPS transitions. I think this could work quite well.

@rmackay9
Thank you for your reply and suggest.
I tried to fly under the bridge, but if under bridge have water flow, optical flow & lidar data is bad.
I will try to do this issue and keep the track of issue.

1 Like

Optical Flow requires low reflectivity and good texture in order to process correctly velocity estimation. It seems that this overpass structure doesn’t offer the desired requirements.

1 Like

@WangLouis,

Thanks, I love the video. I would very much like to improve our optical flow support because I think it should work in the situation you’re testing. Realistically I think the next improvement I’ll make to optical flow support is improving our method of calibration and adding a lua script to better support automatic switching between GPS and optical flow.

1 Like

I’m also having a drifting problem with the HEREFLOW. There is a small constant drift in whichever direction the Hereflow camera is facing. For example, I have the camera side of the Hereflow pointing at the nose of the Pixhawk Cube and the drone would drift forward. Then when I flip it around 180 degrees and changed the Flow_orientation to 18000. It starts to drift backward. This is when I noticed that the OF.bodyY line is smaller than the OF.flowY. I followed the calibration process and try to change the FlowY_scaler so that OF.bodyY & OF.flowY would line-up but the number of FLowY_scaler doesn’t seem to change anything on the graph. Let me know if you want to see the logs.

Hi @proficnc
I am interested to use your HereFlow, but on your website I can not see the size of the sensor in Pixel . Can you please clarify about the Camera and sensor size in Pixel number? Is it 640x320 px or 752 x 480 pixel or maybe other size ??
Tks.

Hello WangLouis, I’ve been working with the hereflow for awhile now and I couldn’t solve the drifting problem with the Hereflow. Did you ever get the Hereflow to work correctly? I would be very appreciated if you could share me some tips

@Thi_Van,

in my experience with the flow sensors, it is very important to do the calibration properly (which requires looking at the log files) and also setting the FLOW_POS_XYZ parameters.