Issue with Bendy Ruler Obstacle Avoidance

I am using MMWave Radar for Obstacle Avoidance and it working fine for Obstacle Detection. I can see obstacles in the Proximity Window of Mission planner.

Now I want to implement obstacle avoidance in AUTO mode using bendy ruler obstacle avoidance.
I followed https://ardupilot.org/copter/docs/common-oa-bendyruler.html <- this guide. And Updated my param.

Here is my parameter list file. OA_Bendy_Ruler.param (18.1 KB)

Also, I am using the Pixhawk CubeBlack and ArduCopter V4.0.4 version.
The issue is that I can’t see Red Rounded Obstacle on the map of Mission Planner.

How can I solve this issue?

3 Likes

Hello,

I am working on the similar project. As far as I know, there are 2 things to verify:

  1. What is the protocol of your sensor or you created the MAVlink messages (OBSTACLE_DISTANCE) for feeding in the distances? The array of distances should be stored in the Obstacle database managed by Ardupilot.
  2. Depending on which Serial is connected to Mission Planer (usually Serial 1), you need to set the parameter SR1_ADSB to 10Hz or 50Hz. I am using the AC 4.0.3 but, there is a little different between those OA_x param but I believe by tuning those will help you see the “red-circle”

Hope this help!

1 Like

@bigboy061293 I can’t see the OA_DB xxxx parameters, how turn on to it visible.
Or I want to clear up DB stored data. Because my red circles are remained in there even I removed object. Mostly the red circles are not cleared by move object from slide side. I am using TFmini plus I2C.

Hi, I guess you have to change the OA_TYPE to 2 and reboot.

My another issue is my vehicle always stops at front of the obstacle. It doesn’t turn to sideways if there is open spaces. I use 3 TFmini plus as front forward, front left, front right.

Hi @lumono,
It’s better to post your version and flight type and also the log file.

@Zeinab_Jalali thank you for your follow up. as my understand Rover 4.0 does not support simple avoidance. and only one Benewake point lidar can not meet Bendy Rule algorithm that try to find space by scanning 360 degree.

@lumono Hi
That is not true… Rover 4.0 supports simple avoidance in “Stop” mode… So if you approach the vehicle close enough, it’ll stop in front of you.
Also BendyRuler will work just fine with one rangefinder (like Benewake) as long as it sees the obstacle.

@rishabsingh3003 It is good to hear that Bendy Ruler works fine with one rangefinder.
I have tested it, but the vehicle does not slide away from obstacle, it always stop at front of the obstacle.
Would you tell me how to set the parameters. Thanks.
What I did test

  1. one Benewake TF03 (stop at front, does not work for Bendy Ruler)
  2. 3 Benewake TF mini I2C (stop at front, does not work for Bendy Ruler)
  3. RPlidar A2, (works for Bendy Ruler, but sometime stuck there when obstacle beside or behind of my vehicle)

@lumono it’ll be better if you share your log/bin file with us here. Most likely you’re confusing Simple Avoidance with BendyRuler. Also remember BendyRuler works only in fully autonomous modes… i.e: auto WP, guided WP etc…
While simple avoidance (which will make the vehicle stop if obstacle approaches) only works in: Steering, Simple etc.
Read here on how to set up BendyRuler: https://ardupilot.org/copter/docs/common-oa-bendyruler.html
And set PRX_TYPE to 4 to use benewake rangefinders for obstalce avoidance

@rishabsingh3003 I confirmed Benewake works. Thanks a lot.

@rishabsingh3003
I have followed your YouTube videos on obstacles avoidance based on AC 4.1.0 dev master code.thank you your hard works.

I have installed light ware SF40C 360 degree lidar on CUAV X7 controller ( H7 processer). Simple mode works ok with loiter ,then I enabled Bendy rulers method to avoid obstacles in auto mode like auto ,guide etc…

When detect obstacles infront of the drone it’s slides and not proceeding to waypoint even though there was no obstacle in OA_ Margin_Max or OA_DIST_ Max.
I’m flying in very open area which nowhere obstacles except if we interrupt.
OA_ Lookhead parameter I have set 8m and OA_ Margin_ Max is set to 4m distance to avoid obstacle.

But it detect object very closer about 1.5m to 2m distance instead of 4m.

Can you suggest me setting for lightware SF40C to do Bendy ruler successfully.

Hi @kalai1219, it is very hard to suggest what’s going wrong here without logs or some sort of evidence.
You’ve mentioned Simple Avoidance is working, which means that Proximity Parameters are set right.
One thing important to note about PathPlanning algo’s like BendyRuler is that the performance highly depends on how accurate your position estimate is. So in BendyRuler we store the obstacle in “Earth Frame” reference. If you have a very bad position estimate, the stored obstacles will also be of a wrong location.

Anyhow, that’s just a guess and most likely not the issue. Please do share a log so that we can see whats going wrong.

@rishabsingh3003
Thank you I will do test again and will attach log here.

How to make it with 4 ultrasonic sensors, raspberry Pi, pix4 in guided more for an autonomous drone flight