ArduRover basic config (GPS and L298N brushed motor driver)

Also agree. I think the GPS is acting up based on last log review.

Hello Juergen

Thank you

The flight mode settings has always been manual and Acro, changed it the one time when Yuri advised that I load a mission and let it run

If I stop in Acro mode and change to auto nothing happens.

Very difficult without telemetry.

Will have the telemetry radios day after tomorrow.

Should have it sorted by the weekend

Hi Yuri

I have not driven it in manual mode, only in Acro mode.

Tried arming it in auto mode but that is about it

The GPS only has a single led that flashes when a fix is achieved, what fix I have no idea of telling.

The telemetry will answer the question.

The GPS normally achieves a RTK solution in under 60 seconds however I have no way of telling at the moment.

I have checked it in ucenter and it does achieve a RTK solution if I take it outside connected to a controller.

Connected to the autopilot without telemetry is impossible to tell.

The compass is detected as external and I have secured the wiring.

Why the log is not recording will also be sorted by the telemetry.

Besides everything the rover drives well and I am confident that once tuned it will do what it is supposed to do.

Thanks for all the advise and support from you and everyone else.
It has helped a lot

Quite possible. The auto configuration is something that I did not reckon with.

Two questions

Everything indicates that the autopilot uses nmea only.

Noticed that when there is a ubx or binary message the autopilot reports bad GPS signal I think the message is

Then what would happen if a base and rover in a moving base configuration are installed on the rover, they are both connected to the Pi and RTK is performed on the Pi with let’s say RTKLIB and the corrected nmea stream is forwarded via the UART on the Pi to the autopilot.

I see that ArduPilot has the ability to perform RTK but if you in my situation where the GPS does not have a serial output and cannot be connected directly to the autopilot but it has USB that can be connect to the Pi.?

Hm, Anton, i still not understand how you switch to “Auto” if you only have “Manual” and " Acro" on the mode channel setup.
Will be yor FC never write logs or only in manual mode?
Maybe you did already but can you send your actual PARAM file.

Hi Juergen

I changed it to manual and auto to try and run the mission that Yuri suggested.
And then to auto and Acro when auto did not arm.

Now it is back to manual and Acro.

I will send the parameter file in a while
parameterslua.param (19.5 KB)

Hi Yuri

Having firmware issues with the GPS
The M8P receiver used is dual purpose either Base or Rover and it is working properly
Wanted to reload the firmware but it refuses

The local Ublox dealer kindly let me use their F9P C099 EVK’s
Busy configuring now

Hi Yuri

Do you perhaps have firmware 135 for the F9P?

Sorry, no. I think they’re up to 1.50. I usually just update to latest off the website.

Thank you

Getting the weirdest errors
‘’’ incompatible hardware → no gnss operation’‘’

All points to corrupt firmware. I have 1.50 installed, downloading it again

The M8P is not seeing anything.

Waiting for the Ublox dealer to open up in about 2 hours from now.

Hello Anton,
I tried to understand your PARAMs and from my point of view I would do a few things differently.
I have to say, however, that I am also a beginner and not an expert like @Yuri_Rage . That means that if in doubt, trust Yuri’s recommendations more

ARMING_CHECK = 8 (GPS lock)

For me, that means that arming is only possible if your FC has a valid GPS position. You still seem to be having problems with GPS. To control the rover manually, no GPS position would be necessary. In general, it is of course a good idea to carry out as many arming checks as possible.

ARMING_RUDDER = 2 (ArmOrDisarm)
This means that you can still arm or disarm the rover using the control stick. Since you want to use a separate channel with a switch for this function, it would be a good idea to change this to

ARMING_RUDDER = 0 (Disabled)

INITIAL_MODE = 10 (Auto)
This means that after resetting the FC it goes straight into auto mode, without a GPS position (see above) it cannot arm. However, if it gets a position it will immediately start a possible mission. As long as the rover is not yet working 100% correctly as desired, I would start in manual mode to have full control. If the FC sends any change command for the mode via the remote control or a script after the reset, this mode is set. I would choose
INITIAL_MODE = 0 (Manual) or perhaps
INITIAL_MODE = 1 (Acro) depending on which modes can also be switched on your separate mode channel of the remote control

LOG_DISARMED = 0 (Disabled)
After you said here that you don’t know why the rover cannot arm, I would set this to
LOG_DISARMED = 1 (Enabled). This makes log files larger but also makes prearm errors visible.

LOG_FILE_DSRMROT = 0 (Disabled) To keep the individual log files smaller I would set this to
LOG_FILE_DSRMROT = 1 (Enabled). Then every time the ARM/DISARM switch is set to DISARM the current file is closed and a new one is started.

MODE1-6 Since you only use a 2-position switch you can only select two modes via your remote control. Depending on the remote control these will be Mode1 and Mode6. So you can only set
MODE1 = 0 (Manual) and
MODE6 = 1 (Acro) after you have changed modes for the first time. You can only test the Auto Mode by resetting the FC. If everything is reset, there is no valid GPS position and the FC is not armed.
I would therefore set
MODE1 = 0 or 1 (Manual or Acro) whichever is better for your tests
Mode6 = 10 (Auto)
Then you can switch between manual and auto mode as you wish.
To make sure that only these two modes can be used, I would set
Mode1-3 and Mode4-6 to the same value

I hope I’m not confusing you too much with this comment, these are just my thoughts

Hi Juergen

Thank you

The INITIAL_MODE = 10 (Auto) has been changed to INITIAL_MODE = 0 (Manual)
I have also set LOG_FILE_DSRMROT=1

The switch is set as following
MODE1 = 0 (Manual)
MODE6 = 1 (Acro)

I will change MODE6=10 Auto when I want to test once the GPS is properly functional

The problem it seems is that for some reason there appears to be a firmware error on the M8P receiver and it is unresponsive. The device was built in 2014 has been working well since then. what its problem now is I have no idea. Tried reinstalling the firmware but it does not want to write the firmware.

I changed the parameters in an attempt to understand them but mostly are according to Yuri’s recommendations

I have a file saved with the working parameters that I upload before testing

The local Ublox dealer has provided me with their F9P receiver and I am busy setting that up to see if that will address the GPS problem

You are not confusing me thank you

Hi Yuri

Replaced the M8p with the F9P.
It definitely performs better and achieves a solution much quicker.
Also changed the wiring and connected serial 3 directly to UART 1 on the F9P.
Should be able to drive the rover outside over the weekend, had meeting today and have meetings tomorrow and Friday

Did manage to take it outside and drove it but had to stop after a few minutes.

It did not log again, will have a look over the weekend

Thank you for everything

1 Like

Hello Yuri

Set up the GPS on the rover according to GPS for Yaw (aka Moving Baseline) — Rover documentation.

Why do you use the “primary” Serial 3 connected GPS as Base?
What does the “GPS_Auto_Config” change or sets on the GPS.

Since changing the setup the following messages keep coming up and there is no GPS fix

2024/11/24 07:19:44 : EKF3 waiting for GPS config data

2024/11/24 07:19:44 : EKF3 waiting for GPS config data

2024/11/24 07:19:43 : GPS 1: detected as u-blox at 230400 baud

2024/11/24 07:19:43 : GPS 2: detected as u-blox at 230400 baud

Screenshot 2024-11-23 143645


Any reason why? I have checked the wiring and it is correct GND → GND, TX → RX and RX → TX.

Could they be moved to other UART’s on the Autopilot and if so which ones would you recommend?

Both the Base and Rover has a fix and can connect to them via USB and UCenter to confirm the fix

Thank you

In short, they are detected and connected correctly, so leave them as is regarding wiring.

Revert them to default in u-Center. Autoconfig is a longer topic than I can dive into right now, but it works well so long as you don’t have a bunch of custom settings. We can potentially customize things later, but you’re having so much trouble that we really need to start with the basics and defaults.

Thank you Yuri

I have defaulted both but it is not seeing the GPS’s
It is just weird

They are “seen,” but they are not getting configured or getting fixes. You can see that there is communication happening in those messages.

Okay I understand. How would I be able to see if RTCM is being sent from the Base to the Rover?
They have been hardwired on UART2

It’s because nothing is happening other than basic u-Blox messages that aren’t getting past the auto-config step. Review your parameters. Ensure the modules are indeed at defaults.

To enable the feature you want, you’d set GPS_DRV_OPTIONS,1. But that’s inconsequential right now.