TI Autonomous Driving Algorithms (TIADALG) Library User Guide
tiadalg_visual_localization.h
Go to the documentation of this file.
1 /*
2 *
3 * Copyright (c) {2015 - 2019} Texas Instruments Incorporated
4 *
5 * All rights reserved not granted herein.
6 *
7 * Limited License.
8 *
9 * Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10 * license under copyrights and patents it now or hereafter owns or controls to make,
11 * have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12 * terms herein. With respect to the foregoing patent license, such license is granted
13 * solely to the extent that any such patent is necessary to Utilize the software alone.
14 * The patent license shall not apply to any combinations which include this software,
15 * other than combinations with devices manufactured by or for TI ("TI Devices").
16 * No hardware patent is licensed hereunder.
17 *
18 * Redistributions must preserve existing copyright notices and reproduce this license
19 * (including the above copyright notice and the disclaimer and (if applicable) source
20 * code license limitations below) in the documentation and/or other materials provided
21 * with the distribution
22 *
23 * Redistribution and use in binary form, without modification, are permitted provided
24 * that the following conditions are met:
25 *
26 * * No reverse engineering, decompilation, or disassembly of this software is
27 * permitted with respect to any software provided in binary form.
28 *
29 * * any redistribution and use are licensed by TI for use only with TI Devices.
30 *
31 * * Nothing shall obligate TI to provide you with source code for the software
32 * licensed and provided to you in object code.
33 *
34 * If software source code is provided to you, modification and redistribution of the
35 * source code are permitted provided that the following conditions are met:
36 *
37 * * any redistribution and use of the source code, including any resulting derivative
38 * works, are licensed by TI for use only with TI Devices.
39 *
40 * * any redistribution and use of any object code compiled from the source code
41 * and any resulting derivative works, are licensed by TI for use only with TI Devices.
42 *
43 * Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44 *
45 * may be used to endorse or promote products derived from this software without
46 * specific prior written permission.
47 *
48 * DISCLAIMER.
49 *
50 * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53 * IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59 * OF THE POSSIBILITY OF SUCH DAMAGE.
60 *
61 */
74 #ifndef _TIADALG_VISUAL_LOCALIZATION_H_
75 #define _TIADALG_VISUAL_LOCALIZATION_H_
76 
77 #include <stdint.h>
78 
79 #ifdef __cplusplus
80 extern "C" {
81 #endif
82 
83 #include <ivision.h>
84 
88 typedef uint8_t VL_DESC_DATA_TYPE;
89 
90 
96 typedef enum
97 {
104 
105 
111 typedef struct tiadalg_voxel_info
112 {
114  int32_t loc[3];
115 
117  int32_t num_points;
118 
120  int32_t offset;
122 
127 #ifdef TIADALG_EL_INT_FEAT
128 typedef struct tiadalg_ext_feat
129 {
131  int32_t x;
132 
134  int32_t y;
136 #else
137 typedef struct tiadalg_ext_feat
138 {
140  float x;
141 
143  float y;
145 #endif
146 
151 typedef struct tiadalg_map_feat
152 {
154  float x;
156  float y;
158  float z;
160 
167 typedef struct tiadalg_feat_desc
168 {
169  VL_DESC_DATA_TYPE x[64];
171 
177 typedef struct
178 {
180  int32_t num_voxels;
182  int32_t num_map_feat;
184  int32_t desc_size;
186  int32_t desc_type;
188  int32_t voxel_size[3];
190  int32_t map_range[3][2];
191 
193 
199 typedef struct
200 {
201  IVISION_Params visionParams;
205  int32_t max_frame_feat ;
207  int32_t max_map_feat;
211  int32_t max_feat_match;
213  uint8_t *map_voxel_ptr;
215  uint8_t *map_pt_ptr;
217  uint8_t *map_desc_ptr;
219 
224 typedef struct
225 {
226  IVISION_InArgs iVisionInArgs ;
230  int32_t search_range[3] ;
232  int32_t feat_q_factor;
236  int32_t num_cur_feat;
240  int32_t en_reset;
242  float est_loc[3];
244 
249 typedef struct
250 {
251  IVISION_OutArgs iVisionOutArgs;
253  float rotation[9];
255  float angle[3];
257  float translation[3];
259 
263 extern const IVISION_Fxns VL_VISION_FXNS;
264 
265 #ifdef __cplusplus
266 }
267 #endif
268 
269 #endif
270 
271 /* TIADALG_VISUAL_LOCALIZATION_H */
272 
int32_t en_subsample_map
Definition: tiadalg_visual_localization.h:238
int32_t max_map_feat
Definition: tiadalg_visual_localization.h:207
Definition: tiadalg_visual_localization.h:98
const IVISION_Fxns VL_VISION_FXNS
List of exposed APIs for the algorithm.
int32_t en_reset
Definition: tiadalg_visual_localization.h:240
int32_t max_feat_match
Definition: tiadalg_visual_localization.h:211
IVISION_OutArgs iVisionOutArgs
Definition: tiadalg_visual_localization.h:251
Definition: tiadalg_visual_localization.h:102
Information corresponding to overall map, passed to algorithm though create params.
Definition: tiadalg_visual_localization.h:177
int32_t max_frame_feat
Definition: tiadalg_visual_localization.h:205
float y
Definition: tiadalg_visual_localization.h:156
uint8_t * map_desc_ptr
Definition: tiadalg_visual_localization.h:217
tiadalg_map_info map_info
Definition: tiadalg_visual_localization.h:203
This defines the property of one voxel List of tiadalg_voxel_info objects are passed through buffer T...
Definition: tiadalg_visual_localization.h:111
Information of one map feature point.
Definition: tiadalg_visual_localization.h:151
int32_t num_voxels
Definition: tiadalg_visual_localization.h:180
Definition: tiadalg_visual_localization.h:100
float y
Definition: tiadalg_visual_localization.h:143
Algorithm create time parameters.
Definition: tiadalg_visual_localization.h:199
uint8_t VL_DESC_DATA_TYPE
Image feature Descriptor data type. Prebuilt binaries are for unsigned 8b, 64 element feature descrip...
Definition: tiadalg_visual_localization.h:88
P3P solution parmaters.
Definition: tiadalg_common_data_struct.h:141
outArgs parmaeters
Definition: tiadalg_visual_localization.h:249
int32_t is_feat_comp_ext
Definition: tiadalg_visual_localization.h:209
InArgs parameters.
Definition: tiadalg_visual_localization.h:224
uint8_t * map_pt_ptr
Definition: tiadalg_visual_localization.h:215
int32_t feat_q_factor
Definition: tiadalg_visual_localization.h:232
int32_t num_cur_feat
Definition: tiadalg_visual_localization.h:236
int32_t desc_size
Definition: tiadalg_visual_localization.h:184
int32_t en_pose_filtering
Definition: tiadalg_visual_localization.h:234
Information of one externally computed image feature point.
Definition: tiadalg_visual_localization.h:137
int32_t desc_type
Definition: tiadalg_visual_localization.h:186
Feature point descriptor format Currently only 64 uint16/uint8 values are supported for descriptor...
Definition: tiadalg_visual_localization.h:167
int32_t num_map_feat
Definition: tiadalg_visual_localization.h:182
float z
Definition: tiadalg_visual_localization.h:158
int32_t loc[3]
Definition: tiadalg_visual_localization.h:114
float x
Definition: tiadalg_visual_localization.h:140
tiadalg_p3p_params p3p_params
Definition: tiadalg_visual_localization.h:228
IVISION_InArgs iVisionInArgs
Definition: tiadalg_visual_localization.h:226
int32_t offset
Definition: tiadalg_visual_localization.h:120
tiadalg_el_inbuf_order
Input buffer ids for the buffers to be given in visual localization process call. ...
Definition: tiadalg_visual_localization.h:96
float x
Definition: tiadalg_visual_localization.h:154
int32_t num_points
Definition: tiadalg_visual_localization.h:117
IVISION_Params visionParams
Definition: tiadalg_visual_localization.h:201
uint8_t * map_voxel_ptr
Definition: tiadalg_visual_localization.h:213

© Copyright 2018 Texas Instruments Incorporated. All rights reserved.
Document generated by doxygen 1.8.6