PX4 Firmware
PX4 Autopilot Software http://px4.io
|
#include <mission_feasibility_checker.h>
Public Member Functions | |
MissionFeasibilityChecker (Navigator *navigator) | |
~MissionFeasibilityChecker ()=default | |
MissionFeasibilityChecker (const MissionFeasibilityChecker &)=delete | |
MissionFeasibilityChecker & | operator= (const MissionFeasibilityChecker &)=delete |
bool | checkMissionFeasible (const mission_s &mission, float max_distance_to_1st_waypoint, float max_distance_between_waypoints, bool land_start_req) |
Private Member Functions | |
bool | checkGeofence (const mission_s &mission, float home_alt, bool home_valid) |
bool | checkHomePositionAltitude (const mission_s &mission, float home_alt, bool home_alt_valid, bool throw_error) |
bool | checkMissionItemValidity (const mission_s &mission) |
bool | checkDistanceToFirstWaypoint (const mission_s &mission, float max_distance) |
bool | checkDistancesBetweenWaypoints (const mission_s &mission, float max_distance) |
bool | checkFixedwing (const mission_s &mission, float home_alt, bool land_start_req) |
bool | checkTakeoff (const mission_s &mission, float home_alt) |
bool | checkFixedWingLanding (const mission_s &mission, bool land_start_req) |
bool | checkRotarywing (const mission_s &mission, float home_alt) |
Private Attributes | |
Navigator * | _navigator {nullptr} |
Definition at line 51 of file mission_feasibility_checker.h.
|
inline |
Definition at line 75 of file mission_feasibility_checker.h.
References checkMissionFeasible(), operator=(), and ~MissionFeasibilityChecker().
|
default |
|
delete |
|
private |
Definition at line 570 of file mission_feasibility_checker.cpp.
References _navigator, mission_s::count, mission_s::dataman_id, dm_read(), f(), get_distance_to_next_waypoint(), Navigator::get_mavlink_log_pub(), Navigator::get_mission_result(), MissionBlock::item_contains_position(), mission_item_s::lat, mission_item_s::lon, mavlink_log_critical, mavlink_log_info, and mission_result_s::warning.
Referenced by checkMissionFeasible().
|
private |
Definition at line 522 of file mission_feasibility_checker.cpp.
References _navigator, mission_s::count, mission_s::dataman_id, dm_read(), f(), get_distance_to_next_waypoint(), Navigator::get_home_position(), Navigator::get_mavlink_log_pub(), Navigator::get_mission_result(), MissionBlock::item_contains_position(), home_position_s::lat, mission_item_s::lat, home_position_s::lon, mission_item_s::lon, mavlink_log_critical, mavlink_log_info, and mission_result_s::warning.
Referenced by checkMissionFeasible().
|
private |
Definition at line 108 of file mission_feasibility_checker.cpp.
References checkFixedWingLanding(), and checkTakeoff().
Referenced by checkMissionFeasible().
|
private |
Definition at line 403 of file mission_feasibility_checker.cpp.
References _navigator, mission_item_s::altitude, mission_s::count, mission_s::dataman_id, dm_read(), get_distance_to_next_waypoint(), Navigator::get_mavlink_log_pub(), Landingslope::getLandingSlopeAbsoluteAltitude(), Landingslope::getLandingSlopeWPDistance(), MissionBlock::item_contains_position(), mission_item_s::lat, mission_item_s::lon, mavlink_log_critical, mission_item_s::nav_cmd, NAV_CMD_DO_LAND_START, NAV_CMD_LAND, and ORB_ID.
Referenced by checkFixedwing().
|
private |
Definition at line 119 of file mission_feasibility_checker.cpp.
References _navigator, Geofence::check(), mission_s::count, mission_s::dataman_id, dm_read(), Navigator::get_geofence(), Navigator::get_mavlink_log_pub(), Geofence::isHomeRequired(), MissionBlock::item_contains_position(), mavlink_log_critical, and Geofence::valid().
Referenced by checkMissionFeasible().
|
private |
Definition at line 157 of file mission_feasibility_checker.cpp.
References _navigator, mission_item_s::altitude, mission_item_s::altitude_is_relative, mission_s::count, mission_s::dataman_id, dm_read(), Navigator::get_mavlink_log_pub(), Navigator::get_mission_result(), MissionBlock::item_contains_position(), mavlink_log_critical, and mission_result_s::warning.
Referenced by checkMissionFeasible().
bool MissionFeasibilityChecker::checkMissionFeasible | ( | const mission_s & | mission, |
float | max_distance_to_1st_waypoint, | ||
float | max_distance_between_waypoints, | ||
bool | land_start_req | ||
) |
Definition at line 57 of file mission_feasibility_checker.cpp.
References _navigator, home_position_s::alt, checkDistancesBetweenWaypoints(), checkDistanceToFirstWaypoint(), checkFixedwing(), checkGeofence(), checkHomePositionAltitude(), checkMissionItemValidity(), checkRotarywing(), Navigator::get_home_position(), Navigator::get_mavlink_log_pub(), Navigator::get_vstatus(), Navigator::home_alt_valid(), Navigator::home_position_valid(), vehicle_status_s::is_vtol, mavlink_log_info, and vehicle_status_s::vehicle_type.
Referenced by Mission::check_mission_valid(), and MissionFeasibilityChecker().
|
private |
Definition at line 208 of file mission_feasibility_checker.cpp.
References _navigator, mission_s::count, mission_s::dataman_id, dm_read(), Navigator::get_land_detected(), Navigator::get_mavlink_log_pub(), vehicle_land_detected_s::landed, mavlink_log_critical, mission_item_s::nav_cmd, NAV_CMD_DELAY, NAV_CMD_DO_CHANGE_SPEED, NAV_CMD_DO_DIGICAM_CONTROL, NAV_CMD_DO_JUMP, NAV_CMD_DO_LAND_START, NAV_CMD_DO_MOUNT_CONFIGURE, NAV_CMD_DO_MOUNT_CONTROL, NAV_CMD_DO_SET_CAM_TRIGG_DIST, NAV_CMD_DO_SET_CAM_TRIGG_INTERVAL, NAV_CMD_DO_SET_HOME, NAV_CMD_DO_SET_ROI, NAV_CMD_DO_SET_ROI_LOCATION, NAV_CMD_DO_SET_ROI_NONE, NAV_CMD_DO_SET_ROI_WPNEXT_OFFSET, NAV_CMD_DO_SET_SERVO, NAV_CMD_DO_TRIGGER_CONTROL, NAV_CMD_DO_VTOL_TRANSITION, NAV_CMD_IDLE, NAV_CMD_IMAGE_START_CAPTURE, NAV_CMD_IMAGE_STOP_CAPTURE, NAV_CMD_LAND, NAV_CMD_LOITER_TIME_LIMIT, NAV_CMD_LOITER_TO_ALT, NAV_CMD_LOITER_UNLIMITED, NAV_CMD_RETURN_TO_LAUNCH, NAV_CMD_SET_CAMERA_MODE, NAV_CMD_TAKEOFF, NAV_CMD_VIDEO_START_CAPTURE, NAV_CMD_VIDEO_STOP_CAPTURE, NAV_CMD_VTOL_LAND, NAV_CMD_VTOL_TAKEOFF, NAV_CMD_WAYPOINT, mission_item_s::params, and PWM_DEFAULT_MAX.
Referenced by checkMissionFeasible().
|
private |
Definition at line 98 of file mission_feasibility_checker.cpp.
References checkTakeoff().
Referenced by checkMissionFeasible().
|
private |
Definition at line 290 of file mission_feasibility_checker.cpp.
References _navigator, mission_item_s::acceptance_radius, mission_item_s::altitude, mission_item_s::altitude_is_relative, mission_s::count, mission_s::dataman_id, dm_read(), f(), Navigator::get_default_acceptance_radius(), Navigator::get_land_detected(), Navigator::get_mavlink_log_pub(), Navigator::get_takeoff_required(), vehicle_land_detected_s::landed, mavlink_log_critical, mission_item_s::nav_cmd, NAV_CMD_DELAY, NAV_CMD_DO_CHANGE_SPEED, NAV_CMD_DO_DIGICAM_CONTROL, NAV_CMD_DO_JUMP, NAV_CMD_DO_LAND_START, NAV_CMD_DO_MOUNT_CONFIGURE, NAV_CMD_DO_MOUNT_CONTROL, NAV_CMD_DO_SET_CAM_TRIGG_DIST, NAV_CMD_DO_SET_CAM_TRIGG_INTERVAL, NAV_CMD_DO_SET_HOME, NAV_CMD_DO_SET_ROI, NAV_CMD_DO_SET_ROI_LOCATION, NAV_CMD_DO_SET_ROI_NONE, NAV_CMD_DO_SET_ROI_WPNEXT_OFFSET, NAV_CMD_DO_SET_SERVO, NAV_CMD_DO_TRIGGER_CONTROL, NAV_CMD_DO_VTOL_TRANSITION, NAV_CMD_IDLE, NAV_CMD_IMAGE_START_CAPTURE, NAV_CMD_IMAGE_STOP_CAPTURE, NAV_CMD_SET_CAMERA_MODE, NAV_CMD_TAKEOFF, NAV_CMD_VIDEO_START_CAPTURE, NAV_CMD_VIDEO_STOP_CAPTURE, and NAV_EPSILON_POSITION.
Referenced by checkFixedwing(), and checkRotarywing().
|
delete |
|
private |
Definition at line 54 of file mission_feasibility_checker.h.
Referenced by checkDistancesBetweenWaypoints(), checkDistanceToFirstWaypoint(), checkFixedWingLanding(), checkGeofence(), checkHomePositionAltitude(), checkMissionFeasible(), checkMissionItemValidity(), and checkTakeoff().