...
Code Block |
---|
typedef struct CommandsFromSM{ WaypointType waypoint_type; TelemWaypointDataCommandsFromTM telemetry_waypointcommands; CommandsFromTMJetsonToZpMovementCommand telemetryjetson_commands; LandingInitiationCommand landing_initiation; LosSFData sf_data; } CommandsFromSM; |
...
and CV will be sending a list of waypoints during Cruise and Search (sent through TM and SM) where a single waypoint is defined in the TelemWaypointData
struct below. The start_landing
flag will be signaled when a landing pad is found.
NOTE: RC Stuff has not been added yet
CV/TM → PM During Cruising
Code Block |
---|
struct TelemWaypointData { double longitude; // double lattiude; uint8_t waypoint_id; }; typedef struct CommandsFromTM{ bool start_landing; uint8_t num_waypoints; // number of waypoints in the list TelemWaypointData waypoints[num_waypoints]; } CommandsFromTM; |
CV/TM → PM During Search
Code Block |
---|
// Data given from CV/TM during search and landing struct JetsonToZpMovementCommand { float x; float y; float z; float heading; }; struct LandingInitiationCommand { bool start_landing; }; |
PM → AM Struct:
Code Block |
---|
typedef struct CommandsForAM_t{ 2 WaypointType waypoint_type; // not necessary 3 4 // heading unit vector and magnitude 5 float dist_x; 6 float dist_y; 7 float dist_z; 8 float magnitude; // Magnitude distance to waypoint target 9 float heading; // heading at target waypoint 10 double speed_target; // Target velocity of drone approaching target 11} CommandsForAM; |