Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
cv_target_localization.c File Reference
#include "modules/computer_vision/cv_target_localization.h"
#include "std.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_geodetic_float.h"
#include "state.h"
#include "subsystems/abi.h"
#include "subsystems/datalink/downlink.h"
#include "subsystems/navigation/waypoints.h"
#include "generated/flight_plan.h"
+ Include dependency graph for cv_target_localization.c:

Go to the source code of this file.

Data Structures

struct  target_loc_t


#define TARGET_LOC_CAM_POS_X   0.f
#define TARGET_LOC_CAM_POS_Y   0.f
#define TARGET_LOC_CAM_POS_Z   0.f
#define TARGET_LOC_PIXEL_TO_IMAGE_X   (1.f / 1000.f)
#define TARGET_LOC_WP_T1_ID   1
#define TARGET_LOC_WP_T2_ID   2
#define TARGET_LOC_WP_T3_ID   3


static void detection_cb (uint8_t sender_id UNUSED, int16_t pixel_x, int16_t pixel_y, int16_t pixel_width UNUSED, int16_t pixel_height UNUSED, int32_t quality UNUSED, int16_t extra)
void target_localization_init (void)
void target_localization_report (void)
void cv_target_localization_report_mark (uint8_t mark)


static struct target_loc_t target_loc
uint8_t target_localization_mark
bool target_localization_update_wp
uint8_t target_loc_wp_tab [][2]
abi_event detection_ev

Detailed Description

Gautier Hattenberger

Compute georeferenced position of a target from visual detection assuming that the target is on a flat ground

Definition in file cv_target_localization.c.

Data Structure Documentation

◆ target_loc_t

struct target_loc_t

Definition at line 80 of file cv_target_localization.c.

+ Collaboration diagram for target_loc_t:
Data Fields
struct FloatRMat body_to_cam Body to camera rotation.
struct FloatVect3 cam_pos Position of camera in body frame.
struct LlaCoor_f pos_lla Target global position in LLA.
int16_t px Target in camera frame.
int16_t py Target in camera frame.
struct NedCoor_f target Target position in LTP-NED frame.
uint8_t type Type of target.
bool valid True if a target have been seen.

Macro Definition Documentation



Definition at line 45 of file cv_target_localization.c.



Definition at line 53 of file cv_target_localization.c.



Definition at line 49 of file cv_target_localization.c.


#define TARGET_LOC_CAM_POS_X   0.f

Definition at line 57 of file cv_target_localization.c.


#define TARGET_LOC_CAM_POS_Y   0.f

Definition at line 61 of file cv_target_localization.c.


#define TARGET_LOC_CAM_POS_Z   0.f

Definition at line 65 of file cv_target_localization.c.



Definition at line 128 of file cv_target_localization.c.


#define TARGET_LOC_PIXEL_TO_IMAGE_X   (1.f / 1000.f)

Definition at line 71 of file cv_target_localization.c.



Definition at line 76 of file cv_target_localization.c.


#define TARGET_LOC_WP_T1_ID   1

Definition at line 105 of file cv_target_localization.c.


#define TARGET_LOC_WP_T2_ID   2

Definition at line 108 of file cv_target_localization.c.


#define TARGET_LOC_WP_T3_ID   3

Definition at line 111 of file cv_target_localization.c.

Function Documentation

◆ cv_target_localization_report_mark()

void cv_target_localization_report_mark ( uint8_t  mark)

Definition at line 232 of file cv_target_localization.c.

References DefaultChannel, DefaultDevice, LlaCoor_f::lat, LlaCoor_f::lon, stateGetPositionLla_f(), and target_localization_mark.

+ Here is the call graph for this function:

◆ detection_cb()

◆ target_localization_init()

◆ target_localization_report()

void target_localization_report ( void  )

Variable Documentation

◆ detection_ev

abi_event detection_ev

Definition at line 131 of file cv_target_localization.c.

Referenced by target_localization_init().

◆ target_loc

struct target_loc_t target_loc

◆ target_loc_wp_tab

uint8_t target_loc_wp_tab[][2]
Initial value:
= {
{ 0, 0 }

Definition at line 113 of file cv_target_localization.c.

Referenced by detection_cb().

◆ target_localization_mark

uint8_t target_localization_mark

◆ target_localization_update_wp

bool target_localization_update_wp

Definition at line 101 of file cv_target_localization.c.

Referenced by detection_cb(), and target_localization_init().