Rover L1 controller - issue with GND_* parameters

I am using PX4 Version 1.10.1 running on the cube. The companion computer is running a 2D SLAM and we want to control a rover those configuration is similar to UGV R1.
RC is working fine, we can control the rover (move forward only). When I switch to offboard mode and try to use mavros/setpoint_position/local the rover does not move.
Now I am guessing it is probably a problem with the parameters. From my understanding what is been implemented is somehow similar to the L1 controler from ardurover (Rover: L1 navigation overview — Dev documentation).
If I am right, here are the values of the parameters I set up:

My understanding:
GND_L1_DIST is the distance from the waypoint considered as “goal reached”
GND_L1_PERIOD is fixed and I assume that is equivalent to L1_dist on the picture included in Rover: L1 navigation overview — Dev documentation
GND_DANPING as the same meaning as in Rover: L1 navigation overview — Dev documentation

Can someone can help me please to understand why the rover does not move and if my understanding of the parameters is correct?


@FaboNo Can you check if the same happens to a normal rover?

@Jaeyoung-Lim I am working with a real rover. The software used in the firmware stack is it “RoverPositionControl.cpp”?

If so, I can see for position control the following test:

`if (dist_target < _param_nav_loiter_rad.get()) {...}`

The problem is that NAV_LOITER_RAD cannot be less than 25m! meaning that in this case, the rover will never move as we provide targets in the 1 to 5 meters range. Can you confirm this point?

On the other hand, I am trying to understand the roles of the different parameters, GND_L1_PERIOD is quite clear but GND_L1_DIST is a bit confusing:

  • is it the turn radius near a waypoint (dubbins trajectory)?