Making the GPS Optional - Rover failing to change modes with no GPS

Hi all,

I am building a rover in a garage where there is no GPS signal so I am looking to make the GPS optional, if its there great and ideally it should be used but if there is no GPS lock carry on as normal.

At the moment the system doesn’t allow me to change modes unless I am outside which I’d like to change.

Does anyone know if there is a parameter that controls the GPS’s involvement in changing modes or ideally a parameter that allows it to be optional for everything?

I am trying to change into Acro mode so I can tune the steering.



The problem is that the Acro mode’s throttle is a speed control so the vehicle needs to know how fast it’s going which requires a GPS or wheel encoders (or some other form of non-GPS position estimation).

When I wrote Acro I thought about whether it should use a manual throttle or speed but I went with speed because at least on rovers with separate steering and throttle we need to scale the steering response based on speed. It’s only for skid-steering vehicles (where the turn rate response doesn’t depend upon speed) that we could support a manual-throttle version of Acro. Having different throttle controls for different vehicle types is odd though… so this is the underlying issue…

Thank you for that, I was going to start stepping through the code today to start working back from the error message!

On some terrains the wheels on my rover slip a lot which presumably isn’t going to work for wheel encoders and speed estimation.
Can the system pickup a speed reading from a flow sensor?

Hi Arthur! cool to see you here, I assume that a new video is comming?
As far as I remember the optical flow sensors are not so designed for rovers, more for multicopters, due to the usual distance from the sensor to the floor, I remember @rmackay9 saying something like that…
Maybe you can design an extra non motorized wheel in your rover with a encoder that reads the real speed? will be a weird build though…

I had the same desire to tune the steering indoors. I created a pull request to allow using Acro mode indoors, maybe that helps.

1 Like

Hi all and thanks for the comments.

I have been experimenting with a wheel encoder but it unfortunitly hasn’t worked.
I am only using the one encoder but I have tried connecting it to pins 3/4 and 5/6.

I am using a PX4 platform but I am hoping the connections carry across.

I have tried monitoring rpm1 and rpm2 but both show 0.

Can anyone spot anything wrong with my setup or can confirm it works with the PX4 hardware?


It looks like my connections to the PX4 are incorrect as seem to be configured as outputs (I thought there IO state was configurable?).
I guess that means I need to connect to the IO port on the FMU board below?

I have been looking through the available pins on the PX4 hardware and there doesn’t seem to be anything thats capable of accepting a digital input like this, even if its just one encoder, is that right?

@Daniel_Widmann’s PR has gone in so it should be possible to do Acro without a GPS in the next version. People can always test the bleeding edge developer version by pressing Ctrl-Q on the Mission Planner’s Install Firmware screen (all the version numbers under the icons should update). use-at-your-own-risk of course because this firmware won’t have gone through the regular beta testing.


You’ve tried setting the BRD_PWM_COUNT parameter to 2? wiki is here but I’m sure you’ve already read it.

The key thing is the wheel encoders need to be connected to the pwm output pins from the main fmu not the I/O board. So on a regular pixhawk, the main fmu pins are the AUX OUT pints.

I would think this board should work but I can’t guarantee it and it’s been discontinued for years and now it’s so rare I’m a little reluctant to ask one of the other developers to spend time investigating and fixing any problems with it.

That sounds promising, thanks.
I will investigate the other output pins and see whats on offer.

I have realised I need to change hardware but I am looking at the Navio2 which unfortunately doesn’t have encoder support anyway!

1 Like