Bendyruler issues with 4.5 - and Circle - Dijkstra fine

I’m having some trouble with both Circle and Bendy Ruler.

I have a rover I built some time ago, and eventually was pretty happy with a Pixhawk 2.4.8 and Rover 4.2.3. I tried to upgrade to 4.4 a few times, but there was always something off/wrong/bothersome about it so I held off.

I finally upgraded to an H7 FC. I moved my previously working tune parameters over, and have a working rover again.

I went to run a mission, and found that the rover would chase the first way point and never get to it, nor even near it. It would run back and forth a few times, then stop.

I thought I’d try the new LUA auto-tune, so the first time ever I tried to run a CIRCLE.

In CIRCLE, the rover drives forward a certain distance, then stops and that’s the end of it.

No attempt to turn left or right or actually execute the circle.

I went back to my Missions, and found that if I switch to Dijkstra, the rover makes a pretty crisp path to the first waypoint, and continues on from there, much like I previously experienced.

If I turn back to Bendyruler, it doesn’t work.

If I switch to Dijkstra+BendyRuler, I’m back to never getting to WP 1.

Back to Dijkstra, and I ran a 90 WP mission three times in a row, doing fine.

Suggestions on which step(s) I missed? Is there a relationship between CIRCLE failing and BendyRuler?

BendyRuler Failure

Circle Failure

I also need to get better at “reading” the BIN logs for the root causes.

These sound like fundamental tuning issues. How does it drive in acro mode? If the answer is “I don’t know,” then you skipped a number of steps.

Use Rover 4.5.4.

That was my first assumption - that I needed to retune after upgrading - so I know it seemed to handle just fine in acro, and works fine in auto when I don’t choose Bendyruler.

I did purposefully lower the turn rate for skid steer turns from the measured almost-360deg rotation to 180 - the vehicle made the 360 turns just fine, but when pulling a trailer it tended to bend the tongue when it would pivot so fast.

I intended to try out the auto tune script to see how close or far I was from what it would recommend, but that’s when I found it won’t turn into the circle.

I’ll see what I can do about more refined tuning.

It seems odd that it does fine on the mission as long as I don’t enable Bendyruler and this with .02m WP radius (on the old config I was using .01m successfully with Bendyruler before the navigation upgrades in 4.4+)

Currently on 4.5.4 on the Zealot H7 FC.

Almost a month already…

I’ve tried several permutations of re-tuning.

Once I went back to the out-of-the-box Zealot configuration, brought forward some configuration, then ran some tuning.

Another time I used Mission Planner to revert to “default” values and then worked forward again.

I’ve tried removing all of my fences, and all forms of OA inputs, moved my WP Radius from my standard .01 to even 1 and so forth, and I still can’t seem to run a circle, or a Mission with BendyRuler, nor even a “fly to here”

The circle still moves to what might be the point at which it reaches Radius and should start the circle - but stops at that point.

“Fly here” drives in the right direction, but stops short of the target. I haven’t measured how short, but it seems relatively consistent.

Missions perform similarly - never making it to WP1, aiming for it, but not arriving at it.

I would welcome any input on next steps.

I wound up, on Tuning, with
ATC_SPEED_P between 0.2 and 0.22
ATR_STR_RAT_FF between 0.197 and 0.2
ATC_STR_RAT_I 0.1 and 0.0
ATC_STR_RAT_P 0.1 and 0.0

All quite similar to my earliest tune from 2019:
ATC_SPEED_I 0.1
ATC_SPEED_P 0.2
ATC_STR_RAT_FF 0.2
ATC_STR_RAT_I 0.2
ATC_STR_RAT_P 0.2

I’m struggling to see where the “tune” is causing the vehicle to stop short of the WP when in BendyRuler, but doing fine in Dijkstra.

The tune hasn’t changed substantially in 5 years for this vehicle.

(The fundamental vehicle hasn’t changed - the motor controller got upgraded, SONAR and LIDARs added, and the most recent change was to replace the Pixhawk 2.4.8 with the QioTek Zealot H743 this summer)

I’m now on Rover 4.5.5 - no change.

While I’m relatively happy to proceed with just Dijkstra and performance is acceptable, I was really wanting to add in obstacle avoidance, and that relies at least in part on BendyRuler at this point, and any time I enable BendyRuler, I’m stopping short of the first WP and never make it beyond.

Aside from digging into the source for the nav algorithms for common attributes between a few modes and Bendy Ruler but not Dijkstra path planning, I’d welcome any thoughts on obvious mistakes I’ve made or introduced.

I did attach logs earlier of the BR failure. I should have a log of a working Dijkstra, or I can get one.

Thus far, I’ve stopped short of going back to the old Pixhawk, but mowing weather is drawing to a close, and soon the snow will be too deep for further testing.