I am trying to run tests with an SVO file that was recorded with Version 1.
When i call:
>>> zed.get_svo_data_keys()
[]
I get an empty list. My understanding is that in order to perform GNSS fusion with an .SVO file, there needs to be some sort of GNSS data in the .SVO file. Are there any work-arounds to processing .SVO files to perform GNSS fusion with SDK version 4+?
As it stands now, when attempting to get a GeoPose from a Pose, I get ‘CALIBRATION IN PROCESS’
Method:
def get_geopose(self,pose:Union[sl.Pose,np.ndarray]) -> sl.GeoPose:
geopose = sl.GeoPose()
if isinstance(pose,np.ndarray):
pose: sl.Pose = pose_from_numpy(pose)
gnss_state : sl.GNSS_CALIBRATION_STATE = self.fusion.camera_to_geo(pose,geopose)
return geopose,gnss_state
I/O:
>>>pose.pose_data()
55691E4FB610
0.990839 -0.120580 -0.060810 -0.053346
0.114405 0.988741 -0.096450 0.954958
0.071755 0.088609 0.993479 0.168579
0.000000 0.000000 0.000000 1.000000
geopose,gnss_state = self.get_geopose(pose)
>>> geopose.pose_data
556928390630
1.000000 0.000000 0.000000 0.000000
0.000000 1.000000 0.000000 0.000000
0.000000 0.000000 1.000000 0.000000
0.000000 0.000000 0.000000 1.000000
>>>geopose.latlng_coordinates.get_coordinates(False)
(44.xxxxxx, -123.xxxxx, 313.631)
>>> geopose.heading
0.0
>>> gnss_state
CALIBRATION_IN_PROGRESS
Additionally, how can I get the correct heading value?