SLAMTEC Aurora Public Remote SDK  1.2.0-rtm
Data Provider Operations

Functions for accessing data from the remote Device. More...

Functions

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_current_pose_se3 (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_pose_se3_t *pose_out)
 Get the current pose (base to world) in SE3 format. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_current_pose (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_pose_t *pose_out)
 Get the current pose (base to world) in Euler angles (Roll-Pitch-Yaw RPY order) format. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_mapping_flags (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_mapping_flag_t *flags_out)
 Get the current mapping flags. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_last_device_status (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_device_status_t *status_out, uint64_t *timestamp_ns_out)
 Get the last device status. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_relocalization_status (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_relocalization_status_type_t *status_out, uint64_t *timestamp_ns_out)
 Get the relocalization status. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_peek_tracking_data (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_tracking_info_t *tracking_data_out, const slamtec_aurora_sdk_tracking_data_buffer_t *provided_buffer_info)
 Peek the tracking data. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_peek_recent_lidar_scan_singlelayer (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_lidar_singlelayer_scandata_info_t *header_out, slamtec_aurora_sdk_lidar_scan_point_t *scan_points_out, size_t buffer_count, slamtec_aurora_sdk_pose_se3_t *scanpose, int forceLatest)
 Peek the most recent single layer LiDAR scan data and its pose. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_peek_imu_data (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_imu_data_t *imu_data_out, size_t buffer_count, size_t *actual_count_out)
 Peek the IMU data. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_imu_info (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_imu_info_t *info_out)
 Get the IMU info. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_global_mapping_info (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_global_map_desc_t *desc_out)
 Get the global mapping info. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_all_map_info (slamtec_aurora_sdk_session_handle_t handle, slamtec_aurora_sdk_map_desc_t *desc_buffer, size_t buffer_count, size_t *actual_count_out)
 Get all map info. More...
 
slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_access_map_data (slamtec_aurora_sdk_session_handle_t handle, const slamtec_aurora_sdk_map_data_visitor_t *visitor, uint32_t *map_ids, size_t map_count)
 Access the map data like keyframe and map points data. More...
 

Detailed Description

Functions for accessing data from the remote Device.

Function Documentation

◆ slamtec_aurora_sdk_dataprovider_access_map_data()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_access_map_data ( slamtec_aurora_sdk_session_handle_t  handle,
const slamtec_aurora_sdk_map_data_visitor_t visitor,
uint32_t *  map_ids,
size_t  map_count 
)

Access the map data like keyframe and map points data.

Caller can use this function to access the map data like keyframe and map points data.

A visitor object contains data callback listeners must be provided

those callbacks set to NULL will be ignored

the SDK will enter stall state during the data accessing,

i.e. the background data sync will paused

if all map data should be accessed, simply pass NULL to the map_ids

Parameters
handle- the session handle
visitor- the visitor object contains data callback listeners
map_ids- the map ids to be accessed
map_count- the map count
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_get_all_map_info()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_all_map_info ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_map_desc_t desc_buffer,
size_t  buffer_count,
size_t *  actual_count_out 
)

Get all map info.

Caller can use this function to get all map description info.

Parameters
handle- the session handle
desc_buffer- the buffer to store the map info
buffer_count- the buffer count
actual_count_out- the actual count of the map info
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_get_current_pose()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_current_pose ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_pose_t pose_out 
)

Get the current pose (base to world) in Euler angles (Roll-Pitch-Yaw RPY order) format.

Caller can use this function to get the current pose in Euler angles format.

The pose data retrieved is the cached data from previous fetched by the background data sync thread.

The pose data may be outdated. If caller needs the latest pose data, it should using the SDK listener to get the pose update event.

WARNING: gimbal lock may happen, please use the SE3 pose if possible.

Parameters
handle- the session handle
pose_out- the pose will be stored in this pointer
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_get_current_pose_se3()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_current_pose_se3 ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_pose_se3_t pose_out 
)

Get the current pose (base to world) in SE3 format.

Caller can use this function to get the current pose in SE3 format.

The pose data retrieved is the cached data from previous fetched by the background data sync thread.

The pose data may be outdated. If caller needs the latest pose data, it should using the SDK listener to get the pose update event.

Parameters
handle- the session handle
pose_out- the pose will be stored in this pointer
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_get_global_mapping_info()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_global_mapping_info ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_global_map_desc_t desc_out 
)

Get the global mapping info.

Caller can use this function to get the global mapping info.

Parameters
handle- the session handle
desc_out- the global mapping info will be stored in this pointer
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_get_imu_info()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_imu_info ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_imu_info_t info_out 
)

Get the IMU info.

Caller can use this function to get the IMU info.

Parameters
handle- the session handle
info_out- the IMU info will be stored in this pointer
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_get_last_device_status()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_last_device_status ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_device_status_t status_out,
uint64_t *  timestamp_ns_out 
)

Get the last device status.

Caller can use this function to get the last device status.

Parameters
handle- the session handle
status_out- the status will be stored in this pointer
timestamp_ns_out- the timestamp will be stored in this pointer
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_get_mapping_flags()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_mapping_flags ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_mapping_flag_t flags_out 
)

Get the current mapping flags.

Caller can use this function to get the current SLAM working flags, e.g. whether Loop Closure is disabled or not

Parameters
handle- the session handle
flags_out- the flags will be stored in this pointer
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_get_relocalization_status()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_get_relocalization_status ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_relocalization_status_type_t *  status_out,
uint64_t *  timestamp_ns_out 
)

Get the relocalization status.

Caller can use this function to get the relocalization status.

Parameters
handle- the session handle
status_out- the status will be stored in this pointer
timestamp_ns_out- the timestamp will be stored in this pointer
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_peek_imu_data()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_peek_imu_data ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_imu_data_t imu_data_out,
size_t  buffer_count,
size_t *  actual_count_out 
)

Peek the IMU data.

Caller can use this function to peek the latest cached IMU data.

The IMU data is the cached data from previous fetched by the background data sync thread.

The IMU data may be outdated. If caller needs the latest IMU data, it should using the SDK listener to get the IMU update event.

Parameters
handle- the session handle
imu_data_out- the IMU data will be stored in this pointer
buffer_count- the buffer count
actual_count_out- the actual count of the IMU data
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_peek_recent_lidar_scan_singlelayer()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_peek_recent_lidar_scan_singlelayer ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_lidar_singlelayer_scandata_info_t header_out,
slamtec_aurora_sdk_lidar_scan_point_t scan_points_out,
size_t  buffer_count,
slamtec_aurora_sdk_pose_se3_t scanpose,
int  forceLatest 
)

Peek the most recent single layer LiDAR scan data and its pose.

The most recent LIDAR scan data that its pose can be estimated by the tracking pose.

As the scan pose is calculated based on the tracking pose, the scan data may not always be the latest one. If the latest scan data is needed, caller should set forceLatest to true.

Parameters
handle- the session handle
header_out- the header will be stored in this pointer
scan_points_out- the scan points will be stored in this pointer. Set to NULL if not interested in the scan points.
buffer_size- the buffer sizes, set to 0 if not interested in the scan points.
scanpose- the scan pose will be stored in this pointer, set to NULL if not interested in the scan pose.
forceLatest- if true, the function will return the latest scan data and its pose
Returns
the error code

◆ slamtec_aurora_sdk_dataprovider_peek_tracking_data()

slamtec_aurora_sdk_errorcode_t AURORA_SDK_API slamtec_aurora_sdk_dataprovider_peek_tracking_data ( slamtec_aurora_sdk_session_handle_t  handle,
slamtec_aurora_sdk_tracking_info_t tracking_data_out,
const slamtec_aurora_sdk_tracking_data_buffer_t provided_buffer_info 
)

Peek the tracking data.

Caller can use this function to peek the latest tracking data.

The tracking data is the cached data from previous fetched by the background data sync thread.

The tracking data may be outdated. If caller needs the latest tracking data, it should using the SDK listener to get the tracking update event.

Parameters
handle- the session handle
tracking_data_out- the tracking data will be stored in this pointer
provided_buffer_info- the buffer information
Returns
the error code, SLAMTEC_AURORA_SDK_ERRORCODE_NOT_READY will be returned if there is no tracking data available