Issue with Bendy Ruler Obstacle Avoidance for Rover

I will attach my log below. My main problem that I am facing is that the BendyRuler Obstacle avoidance is not working well when it detects an obstacle straight in front of it. 90% of the time, when it senses an obstacle straight in front of it, it does a circle then sometimes gets stuck in a circular pattern. Other times I am noticing that the rover is almost spinning too far to one side. When the rover (Skid Steering Platform) senses an obstacle off to it’s side, 90% of the time it does what I would expect it to do as it rotates the other direction and proceeds towards the next waypoint. But something happens when an obstacle is directly in front of it that just does not make sense to me. I have tried this on hard concrete as well as in the grass. It does not seem to make a difference between those two materials as it still does the same thing.

(4) 24V wheelchair motors are for power
1 Sabertooth motor controller
Pixhawk Orange Cube
I am using Rover 4.1 with a LighWare SF45 350 degree LIDAR

Addition: I was using simple object avoidance which worked fairly well when objects were to the side of it, however it too experienced problems when there was an obstacle directly in front of it as it would just simply stop and sometimes inch forward very slowly. It would eventually get around the obstacles but it would take upwards of 15-20 minutes sometimes.

Hi @Nathan_Wagle . Regarding Simple Avoidance… It’s doing what it’s supposed to, it’s not meant for getting around obstacles. It’s just meant for slowing down/stopping in front of obstacles.

Path planners like BendyRuler should work. We recently had @iampete who did some fixed with SF45, but I am not sure it’s in Rover 4.1 stable yet. Maybe that is the issue?
But you mention Simple Avoidnace is working… So maybe its just a parameter issue. Can you try increasing your OA_BR_LOOKAHEAD, that might be the issue. Increase it to something like 10 or more. Also your DB_MAX param is set as 5? Is that what you want to do?

I will try another test this afternoon with my OA_BR_LOOKAHEAD increased to somewhere around 10. Also, I accidentally changed my DB_MAX parameter at some point during testing and was not sure what the initial value should have been set at. What would be a value that is acceptable to put in place of my 5? I have my OA_MARGIN_MAX set to 2 I believe, but I did not know what value I should put back in place of the 5 for DB_MAX. Any suggestions there would be greatly appreciated. Thank you @iampete

I increased my LOOKAHEAD Parameter to 8 and it seems to read the obstacle earlier. However, I still have noticed that sometimes it reads the obstacle later than expected and then goes into reverse and actually hits the object. I tried setting my DB_MAX to higher numbers and it seemed to pick up too many false readings. However, when I lowered it to 3 I got better results but it is now backing into obstacles as I mentioned earlier. I would say 60% of the time it does what it is supposed to and “slides” to the side of the obstacle. But, the other 40% of the time, it slightly moves one direction, seems to lose it’s mind for a second, then reverses into the obstacle (it was a box so the rover would push the box when it went to turn around) then proceed to the next waypoint. I am not sure what I should do next to try to troubleshoot this problem. Any help would be greatly appreciated. Thank you again!