Skip to content

Commit c7b755b

Browse files
committed
4.1.1: Update python Global Localization samples
1 parent 301ac04 commit c7b755b

File tree

4 files changed

+82
-2
lines changed

4 files changed

+82
-2
lines changed

global localization/live/python/gnss_reader/gpsd_reader.py

+40
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,46 @@ def getNextGNSSValue(self):
4646
current_gnss_data.longitude_std = 0.001
4747
current_gnss_data.latitude_std = 0.001
4848
current_gnss_data.altitude_std = 1.0
49+
50+
gpsd_mode = gpsd_data["mode"]
51+
sl_mode = sl.GNSS_MODE.UNKNOWN
52+
53+
if gpsd_mode == 0: # MODE_NOT_SEEN
54+
sl_mode = sl.GNSS_MODE.UNKNOWN
55+
elif gpsd_mode == 1: # MODE_NO_FIX
56+
sl_mode = sl.GNSS_MODE.NO_FIX
57+
elif gpsd_mode == 2: # MODE_2D
58+
sl_mode = sl.GNSS_MODE.FIX_2D
59+
elif gpsd_mode == 3: # MODE_3D
60+
sl_mode = sl.GNSS_MODE.FIX_3D
61+
62+
sl_status = sl.GNSS_STATUS.UNKNOWN
63+
if 'status' in gpsd_data:
64+
gpsd_status = cgpsd_data["status"]
65+
if gpsd_status == 0: # STATUS_UNK
66+
sl_status = sl.GNSS_STATUS.UNKNOWN
67+
elif gpsd_status == 1: # STATUS_GPS
68+
sl_status = sl.GNSS_STATUS.SINGLE
69+
elif gpsd_status == 2: # STATUS_DGPS
70+
sl_status = sl.GNSS_STATUS.DGNSS
71+
elif gpsd_status == 3: # STATUS_RTK_FIX
72+
sl_status = sl.GNSS_STATUS.RTK_FIX
73+
elif gpsd_status == 4: # STATUS_RTK_FLT
74+
sl_status = sl.GNSS_STATUS.RTK_FLOAT
75+
elif gpsd_status == 5: # STATUS_DR
76+
sl_status = sl.GNSS_STATUS.SINGLE
77+
elif gpsd_status == 6: # STATUS_GNSSDR
78+
sl_status = sl.GNSS_STATUS.DGNSS
79+
elif gpsd_status == 7: # STATUS_TIME
80+
sl_status = sl.GNSS_STATUS.UNKNOWN
81+
elif gpsd_status == 8: # STATUS_SIM
82+
sl_status = sl.GNSS_STATUS.UNKNOWN
83+
elif gpsd_status == 9: # STATUS_PPS_FIX
84+
sl_status = sl.GNSS_STATUS.SINGLE
85+
86+
87+
current_gnss_data.gnss_mode = sl_mode.value
88+
current_gnss_data.gnss_status = sl_status.value
4989

5090
position_covariance = [
5191
gpsd_data["eph"] * gpsd_data["eph"],

global localization/live/python/live.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ def main():
123123
# and GNSS. When the initialization is finish the getGeoPose will return sl.POSITIONAL_TRACKING_STATE.OK
124124
current_geopose = sl.GeoPose()
125125
current_geopose_satus = fusion.get_geo_pose(current_geopose)
126-
if current_geopose_satus == sl.GNSS_CALIBRATION_STATE.CALIBRATED:
126+
if current_geopose_satus == sl.GNSS_FUSION_STATUS.OK:
127127
viewer.updateGeoPoseData(current_geopose, zed.get_timestamp(sl.TIME_REFERENCE.CURRENT))
128128
"""
129129
else:

global localization/recording/python/gnss_reader/gpsd_reader.py

+40
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,46 @@ def getNextGNSSValue(self):
5252
current_gnss_data.latitude_std = 0.001
5353
current_gnss_data.altitude_std = 1.0
5454

55+
gpsd_mode = gpsd_data["mode"]
56+
sl_mode = sl.GNSS_MODE.UNKNOWN
57+
58+
if gpsd_mode == 0: # MODE_NOT_SEEN
59+
sl_mode = sl.GNSS_MODE.UNKNOWN
60+
elif gpsd_mode == 1: # MODE_NO_FIX
61+
sl_mode = sl.GNSS_MODE.NO_FIX
62+
elif gpsd_mode == 2: # MODE_2D
63+
sl_mode = sl.GNSS_MODE.FIX_2D
64+
elif gpsd_mode == 3: # MODE_3D
65+
sl_mode = sl.GNSS_MODE.FIX_3D
66+
67+
sl_status = sl.GNSS_STATUS.UNKNOWN
68+
if 'status' in gpsd_data:
69+
gpsd_status = cgpsd_data["status"]
70+
if gpsd_status == 0: # STATUS_UNK
71+
sl_status = sl.GNSS_STATUS.UNKNOWN
72+
elif gpsd_status == 1: # STATUS_GPS
73+
sl_status = sl.GNSS_STATUS.SINGLE
74+
elif gpsd_status == 2: # STATUS_DGPS
75+
sl_status = sl.GNSS_STATUS.DGNSS
76+
elif gpsd_status == 3: # STATUS_RTK_FIX
77+
sl_status = sl.GNSS_STATUS.RTK_FIX
78+
elif gpsd_status == 4: # STATUS_RTK_FLT
79+
sl_status = sl.GNSS_STATUS.RTK_FLOAT
80+
elif gpsd_status == 5: # STATUS_DR
81+
sl_status = sl.GNSS_STATUS.SINGLE
82+
elif gpsd_status == 6: # STATUS_GNSSDR
83+
sl_status = sl.GNSS_STATUS.DGNSS
84+
elif gpsd_status == 7: # STATUS_TIME
85+
sl_status = sl.GNSS_STATUS.UNKNOWN
86+
elif gpsd_status == 8: # STATUS_SIM
87+
sl_status = sl.GNSS_STATUS.UNKNOWN
88+
elif gpsd_status == 9: # STATUS_PPS_FIX
89+
sl_status = sl.GNSS_STATUS.SINGLE
90+
91+
92+
current_gnss_data.gnss_mode = sl_mode.value
93+
current_gnss_data.gnss_status = sl_status.value
94+
5595
position_covariance = [
5696
gpsd_data["eph"] * gpsd_data["eph"],
5797
0.0,

global localization/recording/python/recording.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ def main():
151151
# and GNSS. When the initialization is finish the getGeoPose will return sl.POSITIONAL_TRACKING_STATE.OK
152152
current_geopose = sl.GeoPose()
153153
current_geopose_satus = fusion.get_geo_pose(current_geopose)
154-
if current_geopose_satus == sl.GNSS_CALIBRATION_STATE.OK:
154+
if current_geopose_satus == sl.GNSS_FUSION_STATUS.OK:
155155
viewer.updateGeoPoseData(current_geopose, zed.get_timestamp(sl.TIME_REFERENCE.CURRENT))
156156
"""
157157
else:

0 commit comments

Comments
 (0)