Roll Compensation

I’m just getting into setting up a guidance system using an Ardusimple simpleRTK2B, with the view to possibly going on further with RTK and Auto-steer, for now though guidance is perfectly fine.

I have been out testing this afternoon, I found the flattest piece of ground on the farm and all was going well, I was very impressed with the pass to pass accuracy of the system and the software was working perfectly (once i had the board programmed correctly). Although even on this flat ground there was still an incline of around 5% with variance across the field. When travelling next to a previous pass in the same direction as the pass it was fine, the wheelings lined up brilliantly. Although, when travelling back the opposite direction to the pass the lines were offset by about 40 cm. I am pretty sure this is due to the roll of the bank, because the spacing between all the rows going east to west are correct and constant and the same for the reverse direction. It was even more noticeable where the slope altered half way along the pass, where I presume the rocking effect of the tractor caused the lines to be tapered.
In the background the ground slopes down to the right and in the foreground, down to the left.

I was wondering if someone can suggest the best way to get simple roll correction without spending the extra money for dual antennas. I was going to use an MMA chip but I’m unsure how to connect it to the AOP software. I cannot justify spending the money to build the auto-steer PCB at the moment until I have proved the concept.

Do you have an imu like the bno055 installed? The Imu can give you some troubles in hills. Maybe try without.
Did you messure the height of the antenna and set it in vehicule setting?
For the roll you have more options, mma8451 or DOG2 MEMS. For the mma you can just solder the I2c connections to the nano, scl to pinA5 sda pinA4 of the nano and power it up.
in AOG just select in module config the inclinometer and the axis and you have the roll compensation. In steersettings you can increase the proportion of this value this will move the line you follow up the hill a bit in proportion of the roll angle.
I use mma at the moment and this method works very well actually.
Hope this helps a bit.

1 Like

Hi alexlan,
thanks for the reply, very useful help.

I’ve currently got the simpleRTK board plugged directly into my pc. I presume that the MMA would require another Arduino? Would this require another USB or is there a way the MMA be directly connected to the simpleRTK board/ only use one USB port?

The concept has been proved years ago by @BrianTee_Admin, and the pcb costs bugger all to buy and build. It requires development but so does everything.

Did I understand right that you currently have no correction signal and running the Ardusimple receiver in autonomous mode? You do not have autosteering but drive in assisted mode and measure the performance from tyre tracks on the field?

In this case you have no error from the slope draft as you are steering according to the AOG display. Your errors are from the GNSS position accuracy and roll (ignoring the manual steering error).

How high is your antenna? A 40 cm error from roll means either a lot of roll or an antenna very high. The receiver error in autonomous mode however can be a lot. Sounds unbelievable that you have reached even this shown accuracy. Commercial systems often use no roll correction at all if used with EGNOS/WAAS correction or no correction at all as the other error sources dominate.

yes this is correct

When testing i as driving at low speeds (3-5 KPH) and i was able to keep the manual steering error below about 10cm (displayed error anyway).

I started with the antenna on the roof of the tractor and this measured about 2.8m above ground, This was where the 40cm error was seen (this would be 20cm error in both directions), the gradient of the hill would have been around 5-10 degrees on this test.

So then I tried moving it to the very front of the tractor where I could mount the antenna on the weight block, here the antenna would be around 60-80cm above the ground, this is the test pictured above and the slope of the ground varied around 10 degrees along the pass.

I was very surprised at the accuracy as well, although in multiple tests on different slopes and in different locations, all the passes going the same direction across the slope (therefore counteracting the effect of the slope) have been straight, parallel and the right width.

I have ordered an MMA chip and a nano and will try again in the same place to see if this helps. I might break out the roller to make the tracks clearer.
Thanks for all the help

So are you using RTK then? You have a base station sending corrections to the unit on your tractor?

No I just have one F9P chip plugged directly into the laptop with no correction

The accuracy the F9P gets without a base station is not very good at all. I don’t think roll compensation will work at all. Between the noise of the GPS position inaccuracies and the movement of the IMU, you’re likely to get worse accuracy, rather than better, with an IMU.

I think you’d be better off buying a cheaper GPS unit that can do WAAS. You can steer pretty good with WAAS.

With latest firmware, f9p supports SBAS (WAAS/EGNOS). Don’t know about the accuracy though.