mirror of
https://github.com/azaion/autopilot.git
synced 2026-04-23 00:26:33 +00:00
8e88cb6fe1
Functionality has been written to rtsp_ai_player. TODO!! - move functionality of camera module misc/rtsp_ai_player/aienginegimbalserver.cpp - implement all signals in AiEngineGimbalClient - get drone position from autopilot and send it to AiEngineGimbalServer
51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
#pragma once
|
|
|
|
// Common geoposition
|
|
typedef struct {
|
|
float lat;
|
|
float lon;
|
|
float alt;
|
|
} AiEngineGeoPosition;
|
|
|
|
|
|
// AiEngineGimbalClient -> AiEngineGimbalServer is sent when location or position of the drone changes.
|
|
typedef struct {
|
|
AiEngineGeoPosition position;
|
|
float pitch;
|
|
float yaw;
|
|
} AiEngineDronePosition;
|
|
|
|
|
|
typedef struct {
|
|
int left;
|
|
int top;
|
|
int right;
|
|
int bottom;
|
|
} AiEngineRectangle;
|
|
|
|
|
|
// AiEngineGimbalClient -> AiEngineGimbalServer when AI finds the target. Index is a new variable to
|
|
// keep track of the targets.
|
|
typedef struct {
|
|
int index;
|
|
AiEngineRectangle rectangle;
|
|
} AiEngineCameraTarget;
|
|
|
|
|
|
// AiEngineGimbalServer -> AiEngineGimbalClient when AiEngineGimbalServer has zoomed to the target
|
|
// defined in AiEngineCameraTarget. Position variable contains calculated geoposition of the target.
|
|
typedef struct {
|
|
int targetIndex;
|
|
AiEngineGeoPosition position;
|
|
} AiEngineTargetPosition;
|
|
|
|
|
|
// AiEngineGimbalClient -> AiEngineGimbalServer when AI asks to change camera direction. For example
|
|
// nothing interesting was not found. AiEngineGimbalServer -> AiEngineGimbalClient every few second so
|
|
// that AI knows the position of the camera.
|
|
typedef struct {
|
|
float yaw;
|
|
float pitch;
|
|
float zoom;
|
|
} AiEngineCameraPosition;
|