Skip to content

Feature Request: add lever-arm configuration for F9R #73

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Eric-FR opened this issue Mar 11, 2025 · 5 comments
Closed

Feature Request: add lever-arm configuration for F9R #73

Eric-FR opened this issue Mar 11, 2025 · 5 comments

Comments

@Eric-FR
Copy link

Eric-FR commented Mar 11, 2025

With the last firmware update of the F9R (FW1.00HPS1.40), Realase note (7 February 2025) tells:

2.4 Lever arm support
In systems where the level of accuracy is comparable to the offsets between the various
reference points like GNSS antenna phase center, IMU reference frame, middle of the vehicle
rear axle, these offsets need to be specified generally referred to as lever arms. In previous
releases of the product, the lever arms were confidential messages reserved for advanced
users. These messages are now publicly available to user and supported by u-center.

I would be very interested in being able to set such parameters, as it is difficult to put the F9R juste above the centre of rear axle.

Integration manual (21-Feb-2025):

3.2.4.3.3 User-defined lever arm
The lever arm keys CFG-SFCORE-IMU2CRP, CFG-SFODO-IMU2VRP and CFG-SFIMU-IMU2ANT must be interpreted in the following way:
• LA_X: Corresponds to the x-axis component of the lever arm.
• LA_Y: Corresponds to the y-axis component of the lever arm.
• LA_Z: Corresponds to the z-axis component of the lever arm.

Interface description (18-Feb-2025, Protocol version 33.40):
One can find corresponding configurations in

6.9.20 CFG-SFCORE: Sensor fusion (SF) core configuration
6.9.21 CFG-SFIMU: Sensor fusion (SF) inertial measurement unit (IMU)
configuration
6.9.22 CFG-SFODO: Sensor fusion (SF) odometer configuration

@PaulZC
Copy link
Collaborator

PaulZC commented Mar 12, 2025

Hi Eric (@Eric-FR ),

Thank you for the "heads-up"!

What would you like us to do? Adding the new configuration Key IDs is ~easy. But are you also asking for helper methods to set the lever arm components?

You can set the Key IDs manually if needed. This code example compiles but is untested:

#include <Wire.h> //Needed for I2C to GNSS

#include <SparkFun_u-blox_GNSS_v3.h> //http://librarymanager/All#SparkFun_u-blox_GNSS_v3
SFE_UBLOX_GNSS myGNSS;

void setup()
{
  delay(1000);
  
  Serial.begin(115200);
  Serial.println("SparkFun u-blox Example");

  Wire.begin();

  //myGNSS.enableDebugging(); // Uncomment this line to enable debug messages on Serial

  while (myGNSS.begin() == false) //Connect to the u-blox module using Wire port
  {
    Serial.println(F("u-blox GNSS not detected at default I2C address. Please check wiring."));
  }

  bool result = true;
  result &= myGNSS.newCfgValset(VAL_LAYER_RAM); // Create a new VALSET construct
  result &= myGNSS.addCfgValset(0x30060020 | UBX_CFG_I2, 0);    // Set CFG-SFIMU-IMU2ANT_LA_X in cm (I2, int16_t)
  result &= myGNSS.addCfgValset(0x30060021 | UBX_CFG_I2, -100); // Set CFG-SFIMU-IMU2ANT_LA_Y in cm (I2, int16_t)
  result &= myGNSS.addCfgValset(0x30060022 | UBX_CFG_I2, 40);   // Set CFG-SFIMU-IMU2ANT_LA_Z in cm (I2, int16_t)
  result &= myGNSS.sendCfgValset(); // Apply the configuration
  if (!result)
    Serial.println(F("VALSET failed!"));

}

void loop()
{
}

Best wishes,
Paul

@Eric-FR
Copy link
Author

Eric-FR commented Mar 12, 2025

Adding configuration Key IDs would be a good starting point. I'm not sure that, at this point, it is worth implementing more integrated function.

@Eric-FR
Copy link
Author

Eric-FR commented Mar 17, 2025

Indeed, one step forward would be to add an option in the RTK Express Plus allowing user to set manually such parameters.

@PaulZC
Copy link
Collaborator

PaulZC commented Apr 3, 2025

The keys have been added in v3.1.9

Commit: 9d9e2ea

@PaulZC
Copy link
Collaborator

PaulZC commented Apr 3, 2025

@Eric-FR :

This is resolved in https://github.com/sparkfun/SparkFun_u-blox_GNSS_v3/releases/tag/v3.1.9

Please open a separate issue in the RTK Firmware Repo to request support in the RTK Firmware. Thanks!

@PaulZC PaulZC closed this as completed Apr 3, 2025
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

No branches or pull requests

2 participants