SLAMTEC Aurora Public Remote SDK  1.2.0-rtm
aurora_pubsdk_objects.h
1 /*
2  * SLAMTEC Aurora
3  * Copyright 2013 - 2024 SLAMTEC Co., Ltd.
4  *
5  * http://www.slamtec.com
6  *
7  * Aurora Remote SDK
8  * Data Objects
9  *
10  */
11 
12 
13 #pragma once
28 
35 
42 
43 
49 static inline int slamtec_aurora_sdk_is_valid_handle(void* handle) {
50  return handle != NULL;
51 }
52 
53 
60 {
65  const char* sdk_name;
66 
71  const char* sdk_version_string;
72 
77  const char* sdk_build_time;
78 
85 
86 
93 {
98  uint32_t version;
99 
104  uint32_t reserved; // must be 0
106 
107 
114 {
121  char protocol_type[16]; //null-terminated string
122 
128  char address[64]; // null-terminated string
129 
135  uint16_t port;
137 
138 
145 {
146  // multiple connection method of a server can be supported
147  // for example, a server can support both tcp and udp
148  // or a server can support both ipv4 and ipv6
149 
150  // the sdk will try to connect to the server with the first connection method
159 
166 
167 // -- map storage related
168 
175 
176 
193 };
194 
195 
237 };
238 
250  float progress; //0-100
251 
257  int8_t flags; // value selected from enum slamtec_aurora_sdk_mapstorage_session_status_flags_t
259 
260 
261 // -- tracking and mapping data
262 
273  double x;
278  double y;
283  double z;
285 
296  double x;
301  double y;
306  double z;
311  double w;
313 
324  double roll;
329  double pitch;
334  double yaw;
336 
354 
372 
373 
409 };
410 
416 typedef uint32_t slamtec_aurora_sdk_mapping_flag_t; //bitwise OR of enum slamtec_aurora_sdk_mapping_flag_types
417 
476 };
477 
483 typedef uint32_t slamtec_aurora_sdk_device_status_t; //value selected from enum slamtec_aurora_sdk_device_status_types
484 
491 {
493  uint64_t timestamp_ns;
495 
496 enum slamtec_aurora_sdk_relocalization_status_types {
497  SLAMTEC_AURORA_SDK_RELOCALIZATION_NONE = 0,
498  SLAMTEC_AURORA_SDK_RELOCALIZATION_STARTED,
499  SLAMTEC_AURORA_SDK_RELOCALIZATION_SUCCEED,
500  SLAMTEC_AURORA_SDK_RELOCALIZATION_FAILED,
501  SLAMTEC_AURORA_SDK_RELOCALIZATION_ABORTED
502 };
503 
504 typedef uint32_t slamtec_aurora_sdk_relocalization_status_type_t;
505 
507 {
508  slamtec_aurora_sdk_relocalization_status_type_t status;
509  uint64_t timestamp_ns;
511 
522  uint32_t width;
527  uint32_t height;
532  uint32_t stride;
538  uint32_t format; // 0: gray, 1: rgb, 2: rgba
543  uint32_t data_size;
545 
546 
557  float x;
562  float y;
568  uint8_t flags; // 0: unmatched, non-zero: matched
570 
571 
584  void* imgdata_left; //buffer to hold image data of the left camera
585  //the buffer should be provided by the caller
586  //nullptr to disable image data copy
587 
592  size_t imgdata_left_size; // size of the buffer
593 
594 
606 
607 
612  slamtec_aurora_sdk_keypoint_t* keypoints_left; //buffer to hold keypoints of the left camera
617  size_t keypoints_left_buffer_count; // size of the buffer
618 
624 
631 
632 
639  SLAMTEC_AURORA_TRACKING_STATUS_UNKNOWN = 0,
640  SLAMTEC_AURORA_TRACKING_STATUS_SYS_NOT_READY,
641  SLAMTEC_AURORA_TRACKING_STATUS_NOT_INIT,
642  SLAMTEC_AURORA_TRACKING_STATUS_NO_IMG,
643  SLAMTEC_AURORA_TRACKING_STATUS_OK,
644  SLAMTEC_AURORA_TRACKING_STATUS_LOST,
645  SLAMTEC_AURORA_TRACKING_STATUS_LOST_RECOVERED,
646 };
647 
648 
649 
650 
664  uint64_t timestamp_ns;
665 
676 
680  uint32_t is_stereo;
681 
686  uint32_t tracking_status; // from slamtec_aurora_sdk_tracking_status_t
687 
693 
705 
706 
717  uint64_t timestamp_ns;
722  uint32_t imu_id;
728  double acc[3]; // in g (1g = 9.8m/s^2)
734  double gyro[3]; // in dps
736 
737 
748  int valid; // non-zero for valid data
749 
750 
755 
760 
765  double cov_noise[6]; // gyro to accel
770  double cov_random_walk[6]; // gyro to accel
772 
782  float dist;
786  float angle;
790  uint8_t quality;
792 
803  uint64_t timestamp_ns;
808  int32_t layer_id;
813  uint64_t binded_kf_id;
814 
819  float dyaw;
824  uint32_t scan_count;
826 
827 
837  float min_x;
841  float min_y;
845  float max_x;
849  float max_y;
851 
852 
862  float x;
866  float y;
870  float width;
874  float height;
876 
877 
887  float resolution;
908  float min_height; //only valid when height_range_specified is true
912  float max_height; //only valid when height_range_specified is true
914 
915 
925  float real_x;
929  float real_y;
939 
951  int floorID;
959  float min_height;
963  float max_height;
967  float confidence;
969 
970 
980  float bin_width;
990 
991 
992 // -- Map Objects
993 
1012 
1021 
1025  uint64_t totalMPCount;
1029  uint64_t totalKFCount;
1033  uint64_t totalMapCount;
1034 
1047 
1056 
1060  uint32_t activeMapID;
1061 
1066 
1071 
1073 
1074 
1088 };
1089 
1090 
1091 
1101  uint32_t map_id;
1105  uint32_t map_flags;
1109  uint64_t keyframe_count;
1114 
1123 
1132 
1134 
1135 
1149 };
1150 
1151 
1152 
1162  uint64_t id;
1166  uint64_t parent_id;
1170  uint32_t map_id;
1171 
1175  double timestamp;
1176 
1182 
1191 
1192 
1196  uint32_t flags;
1198 
1199 
1209  uint64_t id;
1213  uint32_t map_id;
1214 
1218  double timestamp;
1219 
1227  uint32_t flags;
1229 
1230 // callbacks
1231 
1239 typedef void (*slamtec_aurora_sdk_mapstorage_session_result_callback_t)(void* user_data, int is_ok);
1240 
1252 typedef void (*slamtec_aurora_sdk_on_image_data_callback_t)(void* user_data, uint64_t timestamp_ns, const slamtec_aurora_sdk_image_desc_t* left_desc, const void* left_data, const slamtec_aurora_sdk_image_desc_t* right_desc, const void* right_data);
1253 
1262 typedef void (*slamtec_aurora_sdk_on_tracking_data_callback_t)(void* user_data, const slamtec_aurora_sdk_tracking_info_t* tracking_data, const slamtec_aurora_sdk_tracking_data_buffer_t* provided_buffer_info);
1263 
1272 typedef void (*slamtec_aurora_sdk_on_imu_data_callback_t)(void* user_data, const slamtec_aurora_sdk_imu_data_t* imu_data, size_t imu_data_count);
1273 
1274 
1283 
1292 typedef void (*slamtec_aurora_sdk_on_device_status_callback_t)(void* user_data, uint64_t timestamp_ns, slamtec_aurora_sdk_device_status_t status);
1293 
1294 
1304 
1305 
1315  void* user_data;
1316 
1337 
1342 
1344 
1345 
1346 // map visitor
1347 
1353 typedef void (*slamtec_aurora_sdk_on_map_keyframe_callback_t)(void* user_data, const slamtec_aurora_sdk_keyframe_desc_t* keyframe_desc, const uint64_t * looped_frame_ids, const uint64_t * connected_frame_ids);
1359 typedef void (*slamtec_aurora_sdk_on_map_point_callback_t)(void* user_data, const slamtec_aurora_sdk_map_point_desc_t* map_point_desc);
1360 
1366 typedef void (*slamtec_aurora_sdk_on_map_desc_callback_t)(void* user_data, const slamtec_aurora_sdk_map_desc_t* map_desc);
1367 
1368 
1378  void* user_data;
1379 
1393  // end of SDK_Basic_Data_Types
struct _slamtec_aurora_sdk_pose_se3_t slamtec_aurora_sdk_pose_se3_t
The SE3 pose structure.
struct _slamtec_aurora_sdk_pose_t slamtec_aurora_sdk_pose_t
The pose structure using translation and Euler angle.
struct _slamtec_aurora_sdk_imu_info_t slamtec_aurora_sdk_imu_info_t
The IMU info structure.
struct _slamtec_aurora_sdk_listener_t slamtec_aurora_sdk_listener_t
The listener structure.
struct _slamtec_aurora_sdk_keypoint_t slamtec_aurora_sdk_keypoint_t
The keypoint structure.
slamtec_aurora_sdk_device_status_types
The device status types.
Definition: aurora_pubsdk_objects.h:423
void * slamtec_aurora_sdk_session_handle_t
The session handle type.
Definition: aurora_pubsdk_objects.h:27
slamtec_aurora_sdk_mapstorage_session_type_types
The map storage session type.
Definition: aurora_pubsdk_objects.h:182
uint32_t slamtec_aurora_sdk_mapping_flag_t
The mapping flag value.
Definition: aurora_pubsdk_objects.h:416
struct _slamtec_aurora_sdk_lidar_scan_point_t slamtec_aurora_sdk_lidar_scan_point_t
The LIDAR scan point structure.
struct _slamtec_aurora_sdk_floor_detection_desc_t slamtec_aurora_sdk_floor_detection_desc_t
The floor detection description structure.
struct _slamtec_aurora_sdk_map_data_visitor_t slamtec_aurora_sdk_map_data_visitor_t
The map data visitor structure.
struct _slamtec_aurora_sdk_map_point_desc_t slamtec_aurora_sdk_map_point_desc_t
The map point description structure.
struct _slamtec_aurora_sdk_euler_angle_t slamtec_aurora_sdk_euler_angle_t
The Euler angle structure.
struct _slamtec_aurora_sdk_global_map_desc_t slamtec_aurora_sdk_global_map_desc_t
The global map description structure.
struct _slamtec_aurora_sdk_keyframe_desc_t slamtec_aurora_sdk_keyframe_desc_t
The keyframe description structure.
struct _slamtec_aurora_sdk_image_desc_t slamtec_aurora_sdk_image_desc_t
The image description structure.
struct _slamtec_aurora_sdk_position3d_t slamtec_aurora_sdk_position3d_t
The 3D position structure.
struct _slamtec_aurora_sdk_imu_data_t slamtec_aurora_sdk_imu_data_t
The IMU data structure.
struct _slamtec_aurora_sdk_mapstorage_session_status_t slamtec_aurora_sdk_mapstorage_session_status_t
The map storage session status structure.
slamtec_aurora_sdk_map_flags_t
Definition: aurora_pubsdk_objects.h:1075
slamtec_aurora_sdk_mapstorage_session_status_flags_t
The map storage session status flags.
Definition: aurora_pubsdk_objects.h:201
struct _slamtec_aurora_sdk_2d_gridmap_generation_options_t slamtec_aurora_sdk_2d_gridmap_generation_options_t
The 2D gridmap generation options structure.
uint32_t slamtec_aurora_sdk_device_status_t
The device status value.
Definition: aurora_pubsdk_objects.h:483
struct _slamtec_aurora_sdk_version_info_t slamtec_aurora_sdk_version_info_t
The version info structure.
struct _slamtec_aurora_sdk_quaternion_t slamtec_aurora_sdk_quaternion_t
The quaternion structure.
struct _slamtec_aurora_sdk_2d_gridmap_dimension_t slamtec_aurora_sdk_2dmap_dimension_t
The 2D gridmap dimension structure.
uint32_t slamtec_aurora_sdk_mapstorage_session_type_t
The map storage session type.
Definition: aurora_pubsdk_objects.h:174
void * slamtec_aurora_sdk_mapstorage_session_handle_t
The map storage session handle type.
Definition: aurora_pubsdk_objects.h:34
struct _slamtec_aurora_sdk_tracking_data_buffer_t slamtec_aurora_sdk_tracking_data_buffer_t
The tracking data buffer structure.
struct _slamtec_aurora_sdk_connection_info_t slamtec_aurora_sdk_connection_info_t
The connection info structure.
slamtec_aurora_sdk_mapping_flag_types
The mapping flag types.
Definition: aurora_pubsdk_objects.h:379
slamtec_aurora_sdk_tracking_status_t
The tracking status types.
Definition: aurora_pubsdk_objects.h:638
struct _slamtec_aurora_sdk_device_status_desc slamtec_aurora_sdk_device_status_desc_t
The device status structure.
struct _slamtec_aurora_sdk_floor_detection_histogram_info_t slamtec_aurora_sdk_floor_detection_histogram_info_t
The floor detection histogram info structure.
slamtec_aurora_sdk_keyframe_flags_t
Definition: aurora_pubsdk_objects.h:1136
struct _slamtec_aurora_sdk_map_desc_t slamtec_aurora_sdk_map_desc_t
The map description structure.
struct _slamtec_aurora_sdk_lidar_singlelayer_scandata_info_t slamtec_aurora_sdk_lidar_singlelayer_scandata_info_t
The single layer LIDAR scan data header structure.
struct _slamtec_aurora_sdk_2d_gridmap_fetch_info_t slamtec_aurora_sdk_2d_gridmap_fetch_info_t
The 2D gridmap fetch info structure.
struct _slamtec_aurora_sdk_tracking_info slamtec_aurora_sdk_tracking_info_t
The tracking info structure.
struct _slamtec_aurora_sdk_rect_t slamtec_aurora_sdk_rect_t
The rectangle structure.
struct _slamtec_aurora_sdk_server_connection_info_t slamtec_aurora_sdk_server_connection_info_t
The server connection info structure.
void * slamtec_aurora_sdk_occupancy_grid_2d_handle_t
The occupancy grid 2D handle type.
Definition: aurora_pubsdk_objects.h:41
struct _slamtec_aurora_sdk_session_config_t slamtec_aurora_sdk_session_config_t
The session config structure.
@ SLAMTEC_AURORA_SDK_DEVICE_TRACKING_LOST
The device tracking is lost.
Definition: aurora_pubsdk_objects.h:443
@ SLAMTEC_AURORA_SDK_DEVICE_MAP_SAVING_COMPLETED
The device map saving completed.
Definition: aurora_pubsdk_objects.h:475
@ SLAMTEC_AURORA_SDK_DEVICE_MAP_SWITCHED
The device map is switched.
Definition: aurora_pubsdk_objects.h:459
@ SLAMTEC_AURORA_SDK_DEVICE_LOOP_CLOSURE
The device has detected a loop closure.
Definition: aurora_pubsdk_objects.h:435
@ SLAMTEC_AURORA_SDK_DEVICE_MAP_UPDATED
The device map is updated.
Definition: aurora_pubsdk_objects.h:451
@ SLAMTEC_AURORA_SDK_DEVICE_MAP_CLEARED
The device map is cleared.
Definition: aurora_pubsdk_objects.h:455
@ SLAMTEC_AURORA_SDK_DEVICE_MAP_SAVING_STARTED
The device map saving started.
Definition: aurora_pubsdk_objects.h:467
@ SLAMTEC_AURORA_SDK_DEVICE_INITED
The device has been inited.
Definition: aurora_pubsdk_objects.h:427
@ SLAMTEC_AURORA_SDK_DEVICE_INIT_FAILED
The device initialization failed.
Definition: aurora_pubsdk_objects.h:431
@ SLAMTEC_AURORA_SDK_DEVICE_MAP_LOADING_STARTED
The device map loading started.
Definition: aurora_pubsdk_objects.h:463
@ SLAMTEC_AURORA_SDK_DEVICE_TRACKING_RECOVERED
The device tracking is recovered.
Definition: aurora_pubsdk_objects.h:447
@ SLAMTEC_AURORA_SDK_DEVICE_OPTIMIZATION_COMPLETED
The device optimization completed.
Definition: aurora_pubsdk_objects.h:439
@ SLAMTEC_AURORA_SDK_DEVICE_MAP_LOADING_COMPLETED
The device map loading completed.
Definition: aurora_pubsdk_objects.h:471
@ SLAMTEC_AURORA_SDK_MAPSTORAGE_SESSION_TYPE_DOWNLOAD
The download session type.
Definition: aurora_pubsdk_objects.h:192
@ SLAMTEC_AURORA_SDK_MAPSTORAGE_SESSION_TYPE_UPLOAD
The upload session type.
Definition: aurora_pubsdk_objects.h:187
@ SLAMTEC_AURORA_SDK_MAP_FLAG_FIXED
The fixed map flag.
Definition: aurora_pubsdk_objects.h:1087
@ SLAMTEC_AURORA_SDK_MAP_FLAG_BAD
The bad map flag.
Definition: aurora_pubsdk_objects.h:1083
@ SLAMTEC_AURORA_SDK_MAP_FLAG_NONE
The none map flag.
Definition: aurora_pubsdk_objects.h:1079
@ SLAMTEC_AURORA_SDK_MAPSTORAGE_SESSION_STATUS_FAILED
The failed status flag.
Definition: aurora_pubsdk_objects.h:221
@ SLAMTEC_AURORA_SDK_MAPSTORAGE_SESSION_STATUS_FINISHED
The finished status flag.
Definition: aurora_pubsdk_objects.h:206
@ SLAMTEC_AURORA_SDK_MAPSTORAGE_SESSION_STATUS_TIMEOUT
The timeout status flag.
Definition: aurora_pubsdk_objects.h:236
@ SLAMTEC_AURORA_SDK_MAPSTORAGE_SESSION_STATUS_ABORTED
The aborted status flag.
Definition: aurora_pubsdk_objects.h:226
@ SLAMTEC_AURORA_SDK_MAPSTORAGE_SESSION_STATUS_REJECTED
The rejected status flag.
Definition: aurora_pubsdk_objects.h:231
@ SLAMTEC_AURORA_SDK_MAPSTORAGE_SESSION_STATUS_IDLE
The idle status flag.
Definition: aurora_pubsdk_objects.h:216
@ SLAMTEC_AURORA_SDK_MAPSTORAGE_SESSION_STATUS_WORKING
The working status flag.
Definition: aurora_pubsdk_objects.h:211
@ SLAMTEC_AURORA_SDK_MAPPING_FLAG_LOC_MODE
The local mapping flag.
Definition: aurora_pubsdk_objects.h:388
@ SLAMTEC_AURORA_SDK_MAPPING_FLAG_STORAGE_IN_PROGRESS
The storage in progress mapping flag.
Definition: aurora_pubsdk_objects.h:408
@ SLAMTEC_AURORA_SDK_MAPPING_FLAG_GBA_RUNNING
The GBA running mapping flag.
Definition: aurora_pubsdk_objects.h:398
@ SLAMTEC_AURORA_SDK_MAPPING_FLAG_LC_DISABLED
The loop closure disabled mapping flag.
Definition: aurora_pubsdk_objects.h:393
@ SLAMTEC_AURORA_SDK_MAPPING_FLAG_NONE
The none mapping flag.
Definition: aurora_pubsdk_objects.h:383
@ SLAMTEC_AURORA_SDK_MAPPING_FLAG_LOSTED
The lost mapping flag.
Definition: aurora_pubsdk_objects.h:403
@ SLAMTEC_AURORA_SDK_KEYFRAME_FLAG_NONE
The none keyframe flag.
Definition: aurora_pubsdk_objects.h:1140
@ SLAMTEC_AURORA_SDK_KEYFRAME_FLAG_FIXED
The fixed keyframe flag.
Definition: aurora_pubsdk_objects.h:1148
@ SLAMTEC_AURORA_SDK_KEYFRAME_FLAG_BAD
The bad keyframe flag.
Definition: aurora_pubsdk_objects.h:1144
void(* slamtec_aurora_sdk_on_image_data_callback_t)(void *user_data, uint64_t timestamp_ns, const slamtec_aurora_sdk_image_desc_t *left_desc, const void *left_data, const slamtec_aurora_sdk_image_desc_t *right_desc, const void *right_data)
The image data callback.
Definition: aurora_pubsdk_objects.h:1252
void(* slamtec_aurora_sdk_on_map_desc_callback_t)(void *user_data, const slamtec_aurora_sdk_map_desc_t *map_desc)
The callback for accessing the map description.
Definition: aurora_pubsdk_objects.h:1366
void(* slamtec_aurora_sdk_on_map_keyframe_callback_t)(void *user_data, const slamtec_aurora_sdk_keyframe_desc_t *keyframe_desc, const uint64_t *looped_frame_ids, const uint64_t *connected_frame_ids)
The callback for accessing the keyframe data.
Definition: aurora_pubsdk_objects.h:1353
void(* slamtec_aurora_sdk_on_lidar_scan_callback_t)(void *user_data, const slamtec_aurora_sdk_lidar_singlelayer_scandata_info_t *scan_info, const slamtec_aurora_sdk_lidar_scan_point_t *scan_point_buffer)
The lidar scan callback.
Definition: aurora_pubsdk_objects.h:1303
void(* slamtec_aurora_sdk_on_map_point_callback_t)(void *user_data, const slamtec_aurora_sdk_map_point_desc_t *map_point_desc)
The callback for accessing the map point data.
Definition: aurora_pubsdk_objects.h:1359
void(* slamtec_aurora_sdk_on_device_status_callback_t)(void *user_data, uint64_t timestamp_ns, slamtec_aurora_sdk_device_status_t status)
The device status callback.
Definition: aurora_pubsdk_objects.h:1292
void(* slamtec_aurora_sdk_mapstorage_session_result_callback_t)(void *user_data, int is_ok)
The map storage session result callback.
Definition: aurora_pubsdk_objects.h:1239
void(* slamtec_aurora_sdk_on_imu_data_callback_t)(void *user_data, const slamtec_aurora_sdk_imu_data_t *imu_data, size_t imu_data_count)
The IMU data callback.
Definition: aurora_pubsdk_objects.h:1272
void(* slamtec_aurora_sdk_on_tracking_data_callback_t)(void *user_data, const slamtec_aurora_sdk_tracking_info_t *tracking_data, const slamtec_aurora_sdk_tracking_data_buffer_t *provided_buffer_info)
The tracking data callback.
Definition: aurora_pubsdk_objects.h:1262
void(* slamtec_aurora_sdk_on_mapping_flags_callback_t)(void *user_data, slamtec_aurora_sdk_mapping_flag_t mapping_flags)
The mapping flags callback.
Definition: aurora_pubsdk_objects.h:1282
The 2D gridmap dimension structure.
Definition: aurora_pubsdk_objects.h:833
float max_y
The maximum y coordinate of the gridmap in meters.
Definition: aurora_pubsdk_objects.h:849
float max_x
The maximum x coordinate of the gridmap in meters.
Definition: aurora_pubsdk_objects.h:845
float min_x
The minimum x coordinate of the gridmap in meters.
Definition: aurora_pubsdk_objects.h:837
float min_y
The minimum y coordinate of the gridmap in meters.
Definition: aurora_pubsdk_objects.h:841
The 2D gridmap fetch info structure.
Definition: aurora_pubsdk_objects.h:921
int cell_height
The height of the retrieved gridmap cell in meters.
Definition: aurora_pubsdk_objects.h:937
int cell_width
The width of the retrieved gridmap cell in meters.
Definition: aurora_pubsdk_objects.h:933
float real_x
The x coordinate of the retrieved gridmap in meters.
Definition: aurora_pubsdk_objects.h:925
float real_y
The y coordinate of the retrieved gridmap in meters.
Definition: aurora_pubsdk_objects.h:929
The 2D gridmap generation options structure.
Definition: aurora_pubsdk_objects.h:883
float min_height
The minimum height of LIDAR scan pose to be included in the gridmap.
Definition: aurora_pubsdk_objects.h:908
int active_map_only
Whether to generate the active map only.
Definition: aurora_pubsdk_objects.h:899
float map_canvas_height
The height of the gridmap canvas.
Definition: aurora_pubsdk_objects.h:895
float map_canvas_width
The width of the gridmap canvas.
Definition: aurora_pubsdk_objects.h:891
float resolution
The resolution of the gridmap.
Definition: aurora_pubsdk_objects.h:887
float max_height
The maximum height of LIDAR scan pose to be included in the gridmap.
Definition: aurora_pubsdk_objects.h:912
int height_range_specified
Whether the height range is specified.
Definition: aurora_pubsdk_objects.h:904
The connection info structure.
Definition: aurora_pubsdk_objects.h:114
uint16_t port
The port.
Definition: aurora_pubsdk_objects.h:135
char address[64]
The address.
Definition: aurora_pubsdk_objects.h:128
char protocol_type[16]
The protocol type.
Definition: aurora_pubsdk_objects.h:121
The device status structure.
Definition: aurora_pubsdk_objects.h:491
The Euler angle structure.
Definition: aurora_pubsdk_objects.h:319
double roll
The roll angle.
Definition: aurora_pubsdk_objects.h:324
double pitch
The pitch angle.
Definition: aurora_pubsdk_objects.h:329
double yaw
The yaw angle.
Definition: aurora_pubsdk_objects.h:334
The floor detection description structure.
Definition: aurora_pubsdk_objects.h:945
float min_height
The minimum height of the floor.
Definition: aurora_pubsdk_objects.h:959
float max_height
The maximum height of the floor.
Definition: aurora_pubsdk_objects.h:963
float confidence
The confidence of the floor detection.
Definition: aurora_pubsdk_objects.h:967
int floorID
The ID of the floor.
Definition: aurora_pubsdk_objects.h:951
float typical_height
The typical height of the floor.
Definition: aurora_pubsdk_objects.h:955
The floor detection histogram info structure.
Definition: aurora_pubsdk_objects.h:976
float bin_width
The width of the histogram bin in meters.
Definition: aurora_pubsdk_objects.h:980
int bin_total_count
The total count of the histogram bin.
Definition: aurora_pubsdk_objects.h:988
float bin_height_start
The start height of the histogram bin in meters.
Definition: aurora_pubsdk_objects.h:984
The global map description structure.
Definition: aurora_pubsdk_objects.h:999
uint64_t currentActiveMPCount
The current count of the active map points.
Definition: aurora_pubsdk_objects.h:1051
uint64_t totalMPCountFetched
The total count of the map points fetched.
Definition: aurora_pubsdk_objects.h:1038
uint64_t slidingWindowStartKFId
The sliding window start keyframe ID used in the localization mode.
Definition: aurora_pubsdk_objects.h:1070
uint64_t lastKFCountToFetch
The count of the keyframes to fetch currently in the background thread.
Definition: aurora_pubsdk_objects.h:1007
uint32_t activeMapID
The ID of the active map.
Definition: aurora_pubsdk_objects.h:1060
uint64_t totalMapCount
The total count of the maps.
Definition: aurora_pubsdk_objects.h:1033
slamtec_aurora_sdk_mapping_flag_t mappingFlags
The current mapping flags.
Definition: aurora_pubsdk_objects.h:1065
uint64_t currentActiveKFCount
The current count of the active keyframes.
Definition: aurora_pubsdk_objects.h:1055
uint64_t lastMapCountToFetch
The count of the maps to fetch currently in the background thread.
Definition: aurora_pubsdk_objects.h:1011
uint64_t lastMPCountToFetch
The count of the map points to fetch currently in the background thread.
Definition: aurora_pubsdk_objects.h:1003
uint64_t totalMapCountFetched
The total count of the maps fetched.
Definition: aurora_pubsdk_objects.h:1046
uint64_t totalKFCountFetched
The total count of the keyframes fetched.
Definition: aurora_pubsdk_objects.h:1042
uint64_t lastMPRetrieved
The count of the map points retrieved currently in the background thread.
Definition: aurora_pubsdk_objects.h:1016
uint64_t lastKFRetrieved
The count of the keyframes retrieved currently in the background thread.
Definition: aurora_pubsdk_objects.h:1020
uint64_t totalMPCount
The total count of the map points.
Definition: aurora_pubsdk_objects.h:1025
uint64_t totalKFCount
The total count of the keyframes.
Definition: aurora_pubsdk_objects.h:1029
The image description structure.
Definition: aurora_pubsdk_objects.h:517
uint32_t width
The width of the image.
Definition: aurora_pubsdk_objects.h:522
uint32_t stride
The stride of the image.
Definition: aurora_pubsdk_objects.h:532
uint32_t format
The format of the image.
Definition: aurora_pubsdk_objects.h:538
uint32_t data_size
The size of the image data in bytes.
Definition: aurora_pubsdk_objects.h:543
uint32_t height
The height of the image.
Definition: aurora_pubsdk_objects.h:527
The IMU data structure.
Definition: aurora_pubsdk_objects.h:712
uint64_t timestamp_ns
The timestamp of the IMU data.
Definition: aurora_pubsdk_objects.h:717
double acc[3]
The acceleration data of the IMU.
Definition: aurora_pubsdk_objects.h:728
double gyro[3]
The gyro data of the IMU.
Definition: aurora_pubsdk_objects.h:734
uint32_t imu_id
The ID of the IMU.
Definition: aurora_pubsdk_objects.h:722
The IMU info structure.
Definition: aurora_pubsdk_objects.h:743
double cov_random_walk[6]
The covariance of the random walk.
Definition: aurora_pubsdk_objects.h:770
slamtec_aurora_sdk_pose_se3_t tc_imu
The transform from IMU to camera.
Definition: aurora_pubsdk_objects.h:759
int valid
Whether the IMU data is valid.
Definition: aurora_pubsdk_objects.h:748
slamtec_aurora_sdk_pose_se3_t tcb
The transform from base to camera.
Definition: aurora_pubsdk_objects.h:754
double cov_noise[6]
The covariance of the noise.
Definition: aurora_pubsdk_objects.h:765
The keyframe description structure.
Definition: aurora_pubsdk_objects.h:1158
size_t connected_frame_count
The count of the connected frames.
Definition: aurora_pubsdk_objects.h:1190
uint64_t id
The ID of the keyframe.
Definition: aurora_pubsdk_objects.h:1162
size_t looped_frame_count
The count of the looped frames.
Definition: aurora_pubsdk_objects.h:1186
uint32_t map_id
The ID of the map.
Definition: aurora_pubsdk_objects.h:1170
uint32_t flags
The flags of the keyframe, check enum slamtec_aurora_sdk_keyframe_flags_t for more details.
Definition: aurora_pubsdk_objects.h:1196
double timestamp
The timestamp of the keyframe.
Definition: aurora_pubsdk_objects.h:1175
slamtec_aurora_sdk_pose_se3_t pose_se3
The pose of the keyframe (base to world)
Definition: aurora_pubsdk_objects.h:1180
uint64_t parent_id
The ID of the parent keyframe.
Definition: aurora_pubsdk_objects.h:1166
The keypoint structure.
Definition: aurora_pubsdk_objects.h:552
float x
The x coordinate of the keypoint.
Definition: aurora_pubsdk_objects.h:557
uint8_t flags
The flags of the keypoint.
Definition: aurora_pubsdk_objects.h:568
float y
The y coordinate of the keypoint.
Definition: aurora_pubsdk_objects.h:562
The LIDAR scan point structure.
Definition: aurora_pubsdk_objects.h:778
float angle
The angle of the scan point in radians using the right-hand coordinate system.
Definition: aurora_pubsdk_objects.h:786
uint8_t quality
The quality (RSSI) of the scan point.
Definition: aurora_pubsdk_objects.h:790
float dist
The distance of the scan point in meters.
Definition: aurora_pubsdk_objects.h:782
The single layer LIDAR scan data header structure.
Definition: aurora_pubsdk_objects.h:798
uint64_t timestamp_ns
The timestamp of the scan data.
Definition: aurora_pubsdk_objects.h:803
uint64_t binded_kf_id
The ID of the binded Visual keyframe.
Definition: aurora_pubsdk_objects.h:813
int32_t layer_id
The ID of the layer.
Definition: aurora_pubsdk_objects.h:808
uint32_t scan_count
The count of the scan points.
Definition: aurora_pubsdk_objects.h:824
float dyaw
The yaw change of the scan data.
Definition: aurora_pubsdk_objects.h:819
The listener structure.
Definition: aurora_pubsdk_objects.h:1311
slamtec_aurora_sdk_on_lidar_scan_callback_t on_lidar_scan
The callback for the lidar scan data, set to NULL to ignore this callback.
Definition: aurora_pubsdk_objects.h:1341
slamtec_aurora_sdk_on_image_data_callback_t on_raw_image_data
The callback for the raw image data, set to NULL to ignore this callback.
Definition: aurora_pubsdk_objects.h:1320
slamtec_aurora_sdk_on_device_status_callback_t on_device_status
The callback for the device status, set to NULL to ignore this callback.
Definition: aurora_pubsdk_objects.h:1336
void * user_data
The user data to be passed to the callback.
Definition: aurora_pubsdk_objects.h:1315
slamtec_aurora_sdk_on_imu_data_callback_t on_imu_data
The callback for the IMU data, set to NULL to ignore this callback.
Definition: aurora_pubsdk_objects.h:1328
slamtec_aurora_sdk_on_mapping_flags_callback_t on_mapping_flags
The callback for the mapping flags, set to NULL to ignore this callback.
Definition: aurora_pubsdk_objects.h:1332
slamtec_aurora_sdk_on_tracking_data_callback_t on_tracking_data
The callback for the tracking data, set to NULL to ignore this callback.
Definition: aurora_pubsdk_objects.h:1324
The map data visitor structure.
Definition: aurora_pubsdk_objects.h:1374
void * user_data
The user data to be passed to the callback.
Definition: aurora_pubsdk_objects.h:1378
slamtec_aurora_sdk_on_map_keyframe_callback_t on_keyframe
The callback for accessing the keyframe data, set to NULL to ignore this callback.
Definition: aurora_pubsdk_objects.h:1383
slamtec_aurora_sdk_on_map_point_callback_t on_map_point
The callback for accessing the map point data, set to NULL to ignore this callback.
Definition: aurora_pubsdk_objects.h:1387
slamtec_aurora_sdk_on_map_desc_callback_t on_map_desc
The callback for accessing the map description, set to NULL to ignore this callback.
Definition: aurora_pubsdk_objects.h:1391
The map description structure.
Definition: aurora_pubsdk_objects.h:1097
uint64_t map_point_id_end
The ID of the last map point in the map.
Definition: aurora_pubsdk_objects.h:1131
uint64_t map_point_id_start
The ID of the first map point in the map.
Definition: aurora_pubsdk_objects.h:1127
uint32_t map_id
The ID of the map.
Definition: aurora_pubsdk_objects.h:1101
uint64_t keyframe_id_start
The ID of the first keyframe in the map.
Definition: aurora_pubsdk_objects.h:1118
uint64_t map_point_count
The count of the map points in the map.
Definition: aurora_pubsdk_objects.h:1113
uint32_t map_flags
The flags of the map, check enum slamtec_aurora_sdk_map_flags_t for more details.
Definition: aurora_pubsdk_objects.h:1105
uint64_t keyframe_id_end
The ID of the last keyframe in the map.
Definition: aurora_pubsdk_objects.h:1122
uint64_t keyframe_count
The count of the keyframes in the map.
Definition: aurora_pubsdk_objects.h:1109
The map point description structure.
Definition: aurora_pubsdk_objects.h:1205
uint64_t id
The ID of the map point.
Definition: aurora_pubsdk_objects.h:1209
uint32_t map_id
The ID of the map.
Definition: aurora_pubsdk_objects.h:1213
double timestamp
The timestamp of the map point.
Definition: aurora_pubsdk_objects.h:1218
uint32_t flags
The flags of the map point.
Definition: aurora_pubsdk_objects.h:1227
slamtec_aurora_sdk_position3d_t position
The position of the map point.
Definition: aurora_pubsdk_objects.h:1223
The map storage session status structure.
Definition: aurora_pubsdk_objects.h:244
float progress
The progress of the map storage session.
Definition: aurora_pubsdk_objects.h:250
int8_t flags
The status flags of the map storage session.
Definition: aurora_pubsdk_objects.h:257
The SE3 pose structure.
Definition: aurora_pubsdk_objects.h:342
slamtec_aurora_sdk_position3d_t translation
The translation of the SE3 pose.
Definition: aurora_pubsdk_objects.h:347
slamtec_aurora_sdk_quaternion_t quaternion
The quaternion of the SE3 pose.
Definition: aurora_pubsdk_objects.h:352
The pose structure using translation and Euler angle.
Definition: aurora_pubsdk_objects.h:360
slamtec_aurora_sdk_position3d_t translation
The translation of the pose.
Definition: aurora_pubsdk_objects.h:365
slamtec_aurora_sdk_euler_angle_t rpy
The Euler angle of the pose.
Definition: aurora_pubsdk_objects.h:370
The 3D position structure.
Definition: aurora_pubsdk_objects.h:268
double y
The y coordinate.
Definition: aurora_pubsdk_objects.h:278
double z
The z coordinate.
Definition: aurora_pubsdk_objects.h:283
double x
The x coordinate.
Definition: aurora_pubsdk_objects.h:273
The quaternion structure.
Definition: aurora_pubsdk_objects.h:291
double y
The y component of the quaternion.
Definition: aurora_pubsdk_objects.h:301
double w
The w component of the quaternion.
Definition: aurora_pubsdk_objects.h:311
double z
The z component of the quaternion.
Definition: aurora_pubsdk_objects.h:306
double x
The x component of the quaternion.
Definition: aurora_pubsdk_objects.h:296
The rectangle structure.
Definition: aurora_pubsdk_objects.h:858
float width
The width of the rectangle.
Definition: aurora_pubsdk_objects.h:870
float height
The height of the rectangle.
Definition: aurora_pubsdk_objects.h:874
float x
The x coordinate of the rectangle.
Definition: aurora_pubsdk_objects.h:862
float y
The y coordinate of the rectangle.
Definition: aurora_pubsdk_objects.h:866
Definition: aurora_pubsdk_objects.h:507
The server connection info structure.
Definition: aurora_pubsdk_objects.h:145
uint32_t connection_count
The number of connection methods.
Definition: aurora_pubsdk_objects.h:164
slamtec_aurora_sdk_connection_info_t connection_info[8]
The connection methods.
Definition: aurora_pubsdk_objects.h:158
The session config structure.
Definition: aurora_pubsdk_objects.h:93
uint32_t version
The session config version.
Definition: aurora_pubsdk_objects.h:98
uint32_t reserved
The reserved field.
Definition: aurora_pubsdk_objects.h:104
The tracking data buffer structure.
Definition: aurora_pubsdk_objects.h:578
slamtec_aurora_sdk_keypoint_t * keypoints_right
The buffer to hold keypoints of the right camera.
Definition: aurora_pubsdk_objects.h:623
slamtec_aurora_sdk_keypoint_t * keypoints_left
The buffer to hold keypoints of the left camera.
Definition: aurora_pubsdk_objects.h:612
void * imgdata_left
The buffer to hold image data of the left camera.
Definition: aurora_pubsdk_objects.h:584
void * imgdata_right
The buffer to hold image data of the right camera.
Definition: aurora_pubsdk_objects.h:600
size_t keypoints_left_buffer_count
The size of the buffer to hold keypoints of the left camera.
Definition: aurora_pubsdk_objects.h:617
size_t keypoints_right_buffer_count
The size of the buffer to hold keypoints of the right camera.
Definition: aurora_pubsdk_objects.h:629
size_t imgdata_right_size
The size of the buffer to hold image data of the right camera.
Definition: aurora_pubsdk_objects.h:605
size_t imgdata_left_size
The size of the buffer to hold image data of the left camera.
Definition: aurora_pubsdk_objects.h:592
The tracking info structure.
Definition: aurora_pubsdk_objects.h:659
uint32_t is_stereo
Whether the tracking is stereo.
Definition: aurora_pubsdk_objects.h:680
uint32_t keypoints_left_count
The count of the keypoints of the left image.
Definition: aurora_pubsdk_objects.h:698
slamtec_aurora_sdk_pose_se3_t pose
The pose of the tracking (base to world)
Definition: aurora_pubsdk_objects.h:692
slamtec_aurora_sdk_image_desc_t left_image_desc
The description of the left image.
Definition: aurora_pubsdk_objects.h:670
uint64_t timestamp_ns
The timestamp of the tracking.
Definition: aurora_pubsdk_objects.h:664
slamtec_aurora_sdk_image_desc_t right_image_desc
The description of the right image.
Definition: aurora_pubsdk_objects.h:675
uint32_t tracking_status
The tracking status value.
Definition: aurora_pubsdk_objects.h:686
uint32_t keypoints_right_count
The count of the keypoints of the right image.
Definition: aurora_pubsdk_objects.h:703
The version info structure.
Definition: aurora_pubsdk_objects.h:60
const char * sdk_version_string
The SDK version string.
Definition: aurora_pubsdk_objects.h:71
const char * sdk_name
The SDK name.
Definition: aurora_pubsdk_objects.h:65
const char * sdk_build_time
The SDK build time.
Definition: aurora_pubsdk_objects.h:77
uint32_t sdk_feature_flags
The SDK feature flags.
Definition: aurora_pubsdk_objects.h:83