Location Finding
Location Finding.
Data Structures |
|
| struct | sl_rtl_loc_locator_item |
|
Locator item which contains the position and orientation of the locator array.
|
|
Typedefs |
|
| typedef void * | sl_rtl_loc_libitem |
|
Locationing library item.
|
|
Detailed Description
Location Finding.
These functions are related to the calculation of positions from angles and distances.
Data Structure Documentation
◆ sl_rtl_loc_locator_item
| struct sl_rtl_loc_locator_item |
Locator item which contains the position and orientation of the locator array.
Typedef Documentation
◆ sl_rtl_loc_libitem
| typedef void* sl_rtl_loc_libitem |
Locationing library item.
Enumeration Type Documentation
◆ sl_rtl_loc_locator_measurement_field
Locator-specific measurements.
◆ sl_rtl_loc_target_measurement_field
◆ sl_rtl_loc_estimation_mode
Estimation mode.
◆ sl_rtl_loc_locator_parameter
Locator-specific parameters related to locationing.
◆ sl_rtl_loc_target_parameter
◆ sl_rtl_loc_result
| enum sl_rtl_loc_result |
Locationing state results.
Function Documentation
◆ sl_rtl_loc_init()
enum
sl_rtl_error_code
sl_rtl_loc_init
|
( | sl_rtl_loc_libitem * |
item
|
) |
Initialize the locationing libitem instance.
- Parameters
-
[in] itemPointer to the libitem to be initialized
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_deinit()
enum
sl_rtl_error_code
sl_rtl_loc_deinit
|
( | sl_rtl_loc_libitem * |
item
|
) |
Deinitialize the locationing libitem instance.
- Parameters
-
[in] itemPointer to the libitem to be initialized
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_set_mode()
enum
sl_rtl_error_code
sl_rtl_loc_set_mode
|
( | sl_rtl_loc_libitem * |
item,
|
| enum sl_rtl_loc_estimation_mode |
mode
|
||
| ) |
Set the locationing dimensionality mode. Possible choices are 2D or 3D modes. Two-dimensional mode does not vary the z-position of the target and assumes it is 0 at all times. When updating e.g. the distance measure- ment from the locator to the target in 2D mode, it should be noted that even if the locator and tag are on different z-planes, the distance should be given as the distance as if they were on the same z-plane.
- Parameters
-
[in] itemPointer to the libitem [in] modeEstimation mode as enum
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_add_locator()
enum
sl_rtl_error_code
sl_rtl_loc_add_locator
|
( | sl_rtl_loc_libitem * |
item,
|
| struct sl_rtl_loc_locator_item * |
locator_item,
|
||
| uint32_t * |
locator_id_out
|
||
| ) |
Add a locator item into the locationing estimator after setting its position and orientation parameters. All locators need to be added using this function before calling sl_rtl_loc_create_position_estimator to create the estimator instance.
- Parameters
-
[in] itemPointer to the libitem [in] locator_itemLocator item instance to be added [out] locator_id_outID of the locator assigned by the library
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_create_position_estimator()
enum
sl_rtl_error_code
sl_rtl_loc_create_position_estimator
|
( | sl_rtl_loc_libitem * |
item
|
) |
Create the position estimator instance after all locators have been added.
- Parameters
-
[in] itemPointer to the libitem
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_set_locator_parameter()
enum
sl_rtl_error_code
sl_rtl_loc_set_locator_parameter
|
( | sl_rtl_loc_libitem * |
item,
|
| uint32_t |
locator_id,
|
||
| enum sl_rtl_loc_locator_parameter |
parameter,
|
||
| float |
value
|
||
| ) |
Set locator-specific parameters, such as the azimuth and elevation measurement covariances.
- Parameters
-
[in] itemPointer to the libitem [in] locator_idID of the locator for which the parameter shall be set [in] parameterParameter to be set (as enum) [in] valueNew value for the parameter
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_set_target_parameter()
enum
sl_rtl_error_code
sl_rtl_loc_set_target_parameter
|
( | sl_rtl_loc_libitem * |
item,
|
| enum sl_rtl_loc_target_parameter |
parameter,
|
||
| float |
value
|
||
| ) |
Set target-specific parameters, such as the process noise covariance or the known target height.
- Parameters
-
[in] itemPointer to the libitem [in] parameterParameter to be set (as enum) [in] valueNew value for the parameter
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_clear_measurements()
enum
sl_rtl_error_code
sl_rtl_loc_clear_measurements
|
( | sl_rtl_loc_libitem * |
item
|
) |
Clears previous measurements. This function should be called before setting new measurements if the previous measurements are not valid for the next iteration step.
- Parameters
-
[in] itemPointer to the libitem
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_set_locator_measurement()
enum
sl_rtl_error_code
sl_rtl_loc_set_locator_measurement
|
( | sl_rtl_loc_libitem * |
item,
|
| uint32_t |
locator_id,
|
||
| enum sl_rtl_loc_locator_measurement_field |
field,
|
||
| float |
value
|
||
| ) |
Set a new measurement for a locator specified by the locator ID.
- Parameters
-
[in] itemPointer to the libitem [in] locator_idID of the locator for which the measurement will be set [in] fieldMeasurement to be updated (as enum) [in] valueNew value for the measurement
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_set_target_measurement()
enum
sl_rtl_error_code
sl_rtl_loc_set_target_measurement
|
( | sl_rtl_loc_libitem * |
item,
|
| enum sl_rtl_loc_target_measurement_field |
field,
|
||
| float |
value
|
||
| ) |
Set a new measurement for the target. Current version does not support this function and calling it will have no effect.
- Parameters
-
[in] itemPointer to the libitem [in] fieldMeasurement to be updated (as enum) [in] valueNew value for the measurement
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_process()
enum
sl_rtl_error_code
sl_rtl_loc_process
|
( | sl_rtl_loc_libitem * |
item,
|
| float |
time_step
|
||
| ) |
Process the current time step of the locationing filter. This function should be called after old measurements have been cleared and new measurements have been set for the current time step. The process will step the filter forward and provide new state results and state covariance values, which can be retrieved with separate function calls.
- Parameters
-
[in] itemPointer to the libitem [in] time_stepProcess time interval in seconds. This is the time separation between the previous step and this current step.
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_get_result()
enum
sl_rtl_error_code
sl_rtl_loc_get_result
|
( | sl_rtl_loc_libitem * |
item,
|
| enum sl_rtl_loc_result |
result,
|
||
| float * |
value
|
||
| ) |
Get result of the current state variables or state covariances.
- Parameters
-
[in] itemPointer to the libitem [in] resultThe desired state variable result as enum [out] valueThe value output of the state variable
- Returns
-
SL_RTL_ERROR_SUCCESSif successful
◆ sl_rtl_loc_get_measurement_in_system_coordinates()
enum
sl_rtl_error_code
sl_rtl_loc_get_measurement_in_system_coordinates
|
( | sl_rtl_loc_libitem * |
item,
|
| uint32_t |
locator_id,
|
||
| enum sl_rtl_loc_locator_measurement_field |
field,
|
||
| float * |
value_out
|
||
| ) |
Get latest measurement converted into the coordinate system of the multi-locator system.
- Parameters
-
[in] itemPointer to the libitem [in] locator_idID of the locator whose measurement will be retrieved [in] fieldMeasurement to be retrieved (as enum) [out] value_outThe value output of the state variable
- Returns
-
SL_RTL_ERROR_SUCCESSif successful