Skip to content

Conversation

@ShadedSelf
Copy link
Contributor

@ShadedSelf ShadedSelf commented Aug 15, 2023

State estimation now uses yaw, pitch and roll intead of just yaw.
Also:

Implements #59

Offsets are added to the physical antenna position.
The virtual height can be set to the ground level to compensate for tilt.

Implements #45

@ShadedSelf ShadedSelf changed the title GPS antenna offset GPS and IMU: State estimation improvements Sep 3, 2023
@disaster123
Copy link

this branch works really great for me and driving without gps is now pretty accurate. I still have one big problem. If the mower is near the house it sometimes get GPS jumps while still beeing in fixed mode... which results in jumps on the map while the old position or float mode is far more accurate.

@greymfm
Copy link
Member

greymfm commented Sep 16, 2023

Nice. You can make the GPS fix solution more robust against errors (jumps etc.) by increasing the minimum GPS signal strength. Typically, near houses the GPS signal is also reflected from the house, and that results in a weaker but incorrect (because longer) signal in the GPS receiver and finally in an invalid position (jump). By increasing the minimum signal strength, you can filter out those reflection signals. The result will be that you get a float solution in difficult areas (near house etc.) instead of a fix solution.

#define CPG_CONFIG_FILTER_NCNOTHRS 0 // C/N0 Threshold #SVs: 10 (robust), 6 (less robust)

The parameters (C/N0 Threshold etc.) are described here in detail:
https://wiki.ardumower.de/index.php?title=Ardumower_Sunray#RTK_float-to-fix_recovery_and_false-fix_issues

@disaster123
Copy link

alfred/config.h:#define CPG_CONFIG_FILTER_NCNOTHRS 0   // C/N0 Threshold #SVs: 10 (robust), 6 (less robust)
sunray/config_example.h:#define CPG_CONFIG_FILTER_NCNOTHRS 10   // C/N0 Threshold #SVs: 10 (robust), 6 (less robust)

10 seems to be the default except for alfred? Any reason? same for CPG_CONFIG_FILTER_CNOTHRS.

@ShadedSelf
Copy link
Contributor Author

ShadedSelf commented Sep 20, 2023

I have noticed something similar, I have a theory that this happens now because it actually goes into invalid for a split second, then gets a false fix, this would have stoped the mower before and then have time to get a good fix while spinning up the motor.

Ive made some changes, added a variable into the config file to control how much time to wait after invalid to trust fix, maybe 2-3 second would be enough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants