Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
constants Namespace Reference

Namespace containing all constants for autonomy software. Including AutonomyGlobals.h will also include this namespace. More...

Variables

const bool MODE_SIM = false
 
const std::string SIM_IP_ADDRESS = "192.168.69.29"
 
const uint SIM_WEBRTC_QP = 25
 
const double BATTERY_MINIMUM_CELL_VOLTAGE = 3.2
 
const bool BATTERY_CHECKS_ENABLED = false
 
const std::string LOGGING_OUTPUT_PATH_ABSOLUTE = "../logs/"
 
const quill::LogLevel CONSOLE_MIN_LEVEL = quill::LogLevel::TraceL3
 
const quill::LogLevel FILE_MIN_LEVEL = quill::LogLevel::TraceL3
 
const quill::LogLevel ROVECOMM_MIN_LEVEL = quill::LogLevel::Info
 
const quill::LogLevel CONSOLE_DEFAULT_LEVEL = quill::LogLevel::Info
 
const quill::LogLevel FILE_DEFAULT_LEVEL = quill::LogLevel::TraceL3
 
const quill::LogLevel ROVECOMM_DEFAULT_LEVEL = quill::LogLevel::Info
 
const std::string szTraceL3Color = "\033[30m"
 
const std::string szTraceL2Color = "\033[30m"
 
const std::string szTraceL1Color = "\033[30m"
 
const std::string szDebugColor = "\033[36m"
 
const std::string szInfoColor = "\033[32m"
 
const std::string szNoticeColor = "\033[97m\033[1m"
 
const std::string szWarningColor = "\033[93m\033[1m"
 
const std::string szErrorColor = "\033[91m\033[1m"
 
const std::string szCriticalColor = "\033[95m\033[1m"
 
const std::string szBacktraceColor = "\033[30m"
 
const int ROVECOMM_OUTGOING_UDP_PORT = MODE_SIM ? 11001 : 11000
 
const int ROVECOMM_OUTGOING_TCP_PORT = MODE_SIM ? 12001 : 12000
 
const std::string ROVECOMM_TCP_INTERFACE_IP = ""
 
const float DRIVE_MAX_POWER = 1.0
 
const float DRIVE_MIN_POWER = -1.0
 
const float DRIVE_MAX_EFFORT = 0.5
 
const float DRIVE_MIN_EFFORT = -0.5
 
const double DRIVE_PID_PROPORTIONAL = 0.01
 
const double DRIVE_PID_INTEGRAL = 0.005
 
const double DRIVE_PID_DERIVATIVE = 0.02
 
const double DRIVE_PID_FEEDFORWARD = 0.0
 
const double DRIVE_PID_MAX_ERROR_PER_ITER = 180
 
const double DRIVE_PID_MAX_INTEGRAL_TERM = 0.15
 
const double DRIVE_PID_MAX_RAMP_RATE = 0.08
 
const double DRIVE_PID_OUTPUT_FILTER = 0.78
 
const double DRIVE_PID_TOLERANCE = 1.0
 
const bool DRIVE_PID_OUTPUT_REVERSED = false
 
const bool DRIVE_SQUARE_CONTROL_INPUTS = false
 
const bool DRIVE_CURVATURE_KINEMATICS_ALLOW_TURN_WHILE_STOPPED = true
 
const int RECORDER_FPS = 15
 
const bool ZED_MAINCAM_ENABLE_RECORDING = true
 
const bool ZED_LEFTCAM_ENABLE_RECORDING = true
 
const bool ZED_RIGHTCAM_ENABLE_RECORDING = true
 
const bool BASICCAM_GROUNDCAM_ENABLE_RECORDING = true
 
const bool TAGDETECT_MAINCAM_ENABLE_RECORDING = true
 
const bool TAGDETECT_LEFTCAM_ENABLE_RECORDING = true
 
const bool TAGDETECT_RIGHTCAM_ENABLE_RECORDING = true
 
const bool TAGDETECT_GROUNDCAM_ENABLE_RECORDING = true
 
const sl::RESOLUTION ZED_BASE_RESOLUTION = sl::RESOLUTION::HD720
 
const sl::UNIT ZED_MEASURE_UNITS = sl::UNIT::METER
 
const sl::COORDINATE_SYSTEM ZED_COORD_SYSTEM = sl::COORDINATE_SYSTEM::LEFT_HANDED_Y_UP
 
const sl::DEPTH_MODE ZED_DEPTH_MODE = sl::DEPTH_MODE::NEURAL
 
const sl::VIEW ZED_RETRIEVE_VIEW = sl::VIEW::LEFT
 
const bool ZED_SDK_VERBOSE = false
 
const bool ZED_SENSING_FILL = false
 
const float ZED_DEFAULT_MINIMUM_DISTANCE = 0.5
 
const float ZED_DEFAULT_MAXIMUM_DISTANCE = 40.0
 
const float ZED_DEFAULT_FLOOR_PLANE_ERROR = 0.5
 
const int ZED_DEPTH_STABILIZATION = 1
 
const sl::SVO_COMPRESSION_MODE ZED_SVO_COMPRESSION = sl::SVO_COMPRESSION_MODE::H265
 
const int ZED_SVO_BITRATE = 0
 
const sl::POSITIONAL_TRACKING_MODE ZED_POSETRACK_MODE = sl::POSITIONAL_TRACKING_MODE::GEN_1
 
const bool ZED_POSETRACK_AREA_MEMORY = true
 
const bool ZED_POSETRACK_POSE_SMOOTHING = false
 
const bool ZED_POSETRACK_FLOOR_IS_ORIGIN = true
 
const bool ZED_POSETRACK_ENABLE_IMU_FUSION = true
 
const float ZED_POSETRACK_USABLE_DEPTH_MIN = 0.75
 
const bool ZED_POSETRACK_USE_GRAVITY_ORIGIN = true
 
const sl::SpatialMappingParameters::SPATIAL_MAP_TYPE ZED_MAPPING_TYPE = sl::SpatialMappingParameters::SPATIAL_MAP_TYPE::MESH
 
const float ZED_MAPPING_RANGE_METER = 20.0f
 
const float ZED_MAPPING_RESOLUTION_METER = 0.03f
 
const int ZED_MAPPING_MAX_MEMORY = 4096
 
const bool ZED_MAPPING_USE_CHUNK_ONLY = true
 
const int ZED_MAPPING_STABILITY_COUNTER = 3
 
const bool ZED_OBJDETECTION_TRACK_OBJ = true
 
const bool ZED_OBJDETECTION_SEGMENTATION = false
 
const sl::OBJECT_FILTERING_MODE ZED_OBJDETECTION_FILTERING = sl::OBJECT_FILTERING_MODE::NMS3D_PER_CLASS
 
const float ZED_OBJDETECTION_TRACKING_PREDICTION_TIMEOUT = 0.5
 
const float ZED_OBJDETECTION_BATCH_RETENTION_TIME = 240
 
const float ZED_OBJDETECTION_BATCH_LATENCY = 2
 
const sl::UNIT FUSION_MEASUREMENT_UNITS = ZED_MEASURE_UNITS
 
const sl::COORDINATE_SYSTEM FUSION_COORD_SYSTEM = ZED_COORD_SYSTEM
 
const bool FUSION_SDK_VERBOSE = false
 
const bool FUSION_ENABLE_GNSS_FUSION = true
 
const cv::InterpolationFlags BASICCAM_RESIZE_INTERPOLATION_METHOD = cv::InterpolationFlags::INTER_LINEAR
 
const int ZED_MAINCAM_RESOLUTIONX = 1280
 
const int ZED_MAINCAM_RESOLUTIONY = 720
 
const int ZED_MAINCAM_FPS = 60
 
const int ZED_MAINCAM_HORIZONTAL_FOV = 110
 
const int ZED_MAINCAM_VERTICAL_FOV = 70
 
const bool ZED_MAINCAM_USE_GPU_MAT = MODE_SIM ? false : true
 
const bool ZED_MAINCAM_USE_HALF_PRECISION_DEPTH = true
 
const bool ZED_MAINCAM_FUSION_MASTER = false
 
const int ZED_MAINCAM_FRAME_RETRIEVAL_THREADS = 10
 
const int ZED_MAINCAM_SERIAL = 15723847
 
const int ZED_LEFTCAM_RESOLUTIONX = 1280
 
const int ZED_LEFTCAM_RESOLUTIONY = 720
 
const int ZED_LEFTCAM_FPS = 60
 
const int ZED_LEFTCAM_HORIZONTAL_FOV = 110
 
const int ZED_LEFTCAM_VERTICAL_FOV = 70
 
const bool ZED_LEFTCAM_USE_GPU_MAT = MODE_SIM ? false : true
 
const bool ZED_LEFTCAM_USE_HALF_PRECISION_DEPTH = true
 
const bool ZED_LEFTCAM_FUSION_MASTER = false
 
const int ZED_LEFTCAM_FRAME_RETRIEVAL_THREADS = 5
 
const int ZED_LEFTCAM_SERIAL = 0
 
const int ZED_RIGHTCAM_RESOLUTIONX = 1280
 
const int ZED_RIGHTCAM_RESOLUTIONY = 720
 
const int ZED_RIGHTCAM_FPS = 60
 
const int ZED_RIGHTCAM_HORIZONTAL_FOV = 110
 
const int ZED_RIGHTCAM_VERTICAL_FOV = 70
 
const bool ZED_RIGHTCAM_USE_GPU_MAT = MODE_SIM ? false : true
 
const bool ZED_RIGHTCAM_USE_HALF_PRECISION_DEPTH = true
 
const bool ZED_RIGHTCAM_FUSION_MASTER = false
 
const int ZED_RIGHTCAM_FRAME_RETRIEVAL_THREADS = 5
 
const int ZED_RIGHTCAM_SERIAL = 0
 
const int BASICCAM_GROUNDCAM_RESOLUTIONX = 1280
 
const int BASICCAM_GROUNDCAM_RESOLUTIONY = 720
 
const int BASICCAM_GROUNDCAM_FPS = 30
 
const int BASICCAM_GROUNDCAM_HORIZONTAL_FOV = 110
 
const int BASICCAM_GROUNDCAM_VERTICAL_FOV = 70
 
const int BASICCAM_GROUNDCAM_FRAME_RETRIEVAL_THREADS = 5
 
const int BASICCAM_GROUNDCAM_INDEX = 0
 
const PIXEL_FORMATS BASICCAM_GROUNDCAM_PIXELTYPE = PIXEL_FORMATS::eBGR
 
const cv::aruco::PredefinedDictionaryType ARUCO_DICTIONARY = cv::aruco::DICT_4X4_50
 
const float ARUCO_TAG_SIDE_LENGTH = 0.015f
 
const int ARUCO_VALIDATION_THRESHOLD = 10
 
const int ARUCO_UNVALIDATED_TAG_FORGET_THRESHOLD = 5
 
const int ARUCO_VALIDATED_TAG_FORGET_THRESHOLD = 10
 
const double ARUCO_PIXEL_THRESHOLD = 175
 
const double ARUCO_PIXEL_THRESHOLD_MAX_VALUE = 255
 
const cv::Mat ARUCO_SHARPEN_KERNEL_FAST = (cv::Mat_<double>(3, 3) << 0, 0, 0, 0, 3, 0, 0, 0, 0)
 
const cv::Mat ARUCO_SHARPEN_KERNEL_EXTRA = (cv::Mat_<double>(3, 3) << 0, 0, 0, 0, 9, 0, 0, 0, 0)
 
const int TAGDETECT_MAINCAM_DATA_RETRIEVAL_THREADS = 2
 
const int TAGDETECT_MAINCAM_CORNER_REFINE_MAX_ITER = 30
 
const int TAGDETECT_MAINCAM_CORNER_REFINE_METHOD = cv::aruco::CORNER_REFINE_NONE
 
const bool TAGDETECT_MAINCAM_DETECT_INVERTED_MARKER = false
 
const int TAGDETECT_MAINCAM_MARKER_BORDER_BITS = 1
 
const bool TAGDETECT_MAINCAM_USE_ARUCO3_DETECTION = true
 
const int TAGDETECT_MAINCAM_MAX_FPS = 30
 
const bool TAGDETECT_MAINCAM_ENABLE_DNN = false
 
const std::string TAGDETECT_MAINCAM_MODEL_PATH = "../data/models/yolo_models/tag/v5n_x320_200epochs/best_edgetpu.tflite"
 
const float TAGDETECT_MAINCAM_DNN_CONFIDENCE = 0.4f
 
const float TAGDETECT_MAINCAM_DNN_NMS_THRESH = 0.4f
 
const int TAGDETECT_LEFTCAM_DATA_RETRIEVAL_THREADS = 2
 
const int TAGDETECT_LEFTCAM_CORNER_REFINE_MAX_ITER = 30
 
const int TAGDETECT_LEFTCAM_CORNER_REFINE_METHOD = cv::aruco::CORNER_REFINE_NONE
 
const bool TAGDETECT_LEFTCAM_DETECT_INVERTED_MARKER = false
 
const int TAGDETECT_LEFTCAM_MARKER_BORDER_BITS = 1
 
const bool TAGDETECT_LEFTCAM_USE_ARUCO3_DETECTION = true
 
const int TAGDETECT_LEFTCAM_MAX_FPS = 30
 
const bool TAGDETECT_LEFTCAM_ENABLE_DNN = false
 
const std::string TAGDETECT_LEFTCAM_MODEL_PATH = "../data/models/yolo_models/tag/v5n_x320_200epochs/best_edgetpu.tflite"
 
const float TAGDETECT_LEFTCAM_DNN_CONFIDENCE = 0.4f
 
const float TAGDETECT_LEFTCAM_DNN_NMS_THRESH = 0.4f
 
const int TAGDETECT_RIGHTCAM_DATA_RETRIEVAL_THREADS = 2
 
const int TAGDETECT_RIGHTCAM_CORNER_REFINE_MAX_ITER = 30
 
const int TAGDETECT_RIGHTCAM_CORNER_REFINE_METHOD = cv::aruco::CORNER_REFINE_NONE
 
const bool TAGDETECT_RIGHTCAM_DETECT_INVERTED_MARKER = false
 
const int TAGDETECT_RIGHTCAM_MARKER_BORDER_BITS = 1
 
const bool TAGDETECT_RIGHTCAM_USE_ARUCO3_DETECTION = true
 
const int TAGDETECT_RIGHTCAM_MAX_FPS = 30
 
const bool TAGDETECT_RIGHTCAM_ENABLE_DNN = false
 
const std::string TAGDETECT_RIGHTCAM_MODEL_PATH = "../data/models/yolo_models/tag/v5n_x320_200epochs/best_edgetpu.tflite"
 
const float TAGDETECT_RIGHTCAM_DNN_CONFIDENCE = 0.4f
 
const float TAGDETECT_RIGHTCAM_DNN_NMS_THRESH = 0.4f
 
const int OBJECTDETECT_MAINCAM_DATA_RETRIEVAL_THREADS = 5
 
const int OBJECTDETECT_LEFTCAM_DATA_RETRIEVAL_THREADS = 5
 
const int OBJECTDETECT_RIGHTCAM_DATA_RETRIEVAL_THREADS = 5
 
const int APPROACH_MARKER_DETECT_ATTEMPTS_LIMIT = 5
 
const double APPROACH_MARKER_MOTOR_POWER = 0.3
 
const double APPROACH_MARKER_PROXIMITY_THRESHOLD = 2.0
 
const double APPROACH_MARKER_TF_CONFIDENCE_THRESHOLD = 0.5
 
const double STUCK_CHECK_INTERVAL = 2.0
 
const unsigned int STUCK_CHECK_ATTEMPTS = 3
 
const double STUCK_CHECK_ROT_THRESH = 10.0
 
const double STUCK_CHECK_VEL_THRESH = 0.5
 
const double STUCK_SAME_POINT_PROXIMITY = 1.0
 
const double STUCK_HEADING_ALIGN_TIMEOUT = 5.0
 
const double STUCK_ALIGN_DEGREES = 65.0
 
const double STUCK_ALIGN_TOLERANCE = 5.0
 
const double REVERSE_MOTOR_POWER = DRIVE_MAX_POWER
 
const double REVERSE_DISTANCE = 3.0
 
const double REVERSE_TIMEOUT_PER_METER = 5.0
 
const bool REVERSE_MAINTAIN_HEADING = true
 
const double SEARCH_ANGULAR_STEP_DEGREES = 57.0
 
const double SEARCH_SPIRAL_SPACING = 1.0
 
const double SEARCH_ZIGZAG_SPACING = 1.0
 
const double SEARCH_WAYPOINT_PROXIMITY = 2.0
 
const double SEARCH_MOTOR_POWER = 0.5
 
const int STATEMACHINE_MAX_IPS = 60
 
const double STATEMACHINE_ZED_REALIGN_THRESHOLD = 0.5
 
const double NAVIGATING_REACHED_GOAL_RADIUS = 2.0
 
const double AVOIDANCE_STATE_MOTOR_POWER = DRIVE_MAX_POWER
 
const double STANLEY_STEER_CONTROL_GAIN = 0.5
 
const double STANLEY_DIST_TO_FRONT_AXLE = 2.9
 
const double STANLEY_YAW_TOLERANCE = 1.0
 
const double ASTAR_AVOIDANCE_MULTIPLIER = 1.2
 
const double ASTAR_MAXIMUM_SEARCH_GRID = 10.0
 
const double ASTAR_NODE_SIZE = 0.5
 
const double ASTAR_SQRT_NODE_SIZE = M_SQRT1_2
 
const double NAVBOARD_MAX_GPS_DATA_AGE = 3.0
 
const double NAVBOARD_MAX_COMPASS_DATA_AGE = 3.0
 

Detailed Description

Namespace containing all constants for autonomy software. Including AutonomyGlobals.h will also include this namespace.

Author
ClayJay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2023-08-05