Where to find accurate heading of the vehicle in real-time?

Hi community and Amiga team,

I want to have real-time heading angle (say reference to true north instead of RTK location) of the vehicle for navigation. So I tried to extract the heading_vehicle from the PVT GPS frame using the example code for GPS client. However, I kept getting 0.0 for this value and was not valid even with converged RTK filter and calibration. I also tried to drive the vehicle around, but it’s still printing zeros.

I wonder if anyone facing the same problem or how you get the heading angle?

I listed my outputs and software information below. Thank you in advance!

def print_gps_frame(msg):
    """Prints the gps frame message.

    Args: msg: The gps frame message.
    """
    print("PVT FRAME \n")
    print(f"Message stamp: {msg.stamp.stamp}")
    print(f"GPS time: {msg.gps_time.stamp}")
    print(f"Heading: {msg.heading_vehicle}")
    print(f"Heading valid: {msg.status.heading_vehicle_valid}")
    print("-" * 50)

  • AmigaOS v2.3.1 + RTK
  • farm-ng-amiga 2.3.4
  • farm-ng-core 2.3.2
  • Python 3.8.10

image

This seems odd. Have you changed the filter convergence requirements on Robot Localization? Can you shoot me a message on support@bonsairobotics.ai with the name of the robot and a time window you can keep it on for me to take a look?

Thank you! I just sent the email.

Problem solved. I’m able to read accurate heading from the filter service: farm-ng-amiga/protos/farm_ng/filter/filter.proto at 86b9be54b30bc7b971a3677c485a651551138e4b · farm-ng/farm-ng-amiga · GitHub

1 Like