diff --git a/ROMFS/px4fmu_common/init.d-posix/rcS b/ROMFS/px4fmu_common/init.d-posix/rcS index b856d3b33a..df2626c270 100644 --- a/ROMFS/px4fmu_common/init.d-posix/rcS +++ b/ROMFS/px4fmu_common/init.d-posix/rcS @@ -147,6 +147,8 @@ then param set RTL_LAND_DELAY 5 param set RTL_RETURN_ALT 30 + # enable default, estimator replay and vision/avoidance logging profiles + param set SDLOG_PROFILE 131 param set SDLOG_DIRS_MAX 7 param set SENS_BOARD_ROT 0 param set SENS_BOARD_X_OFF 0.000001 diff --git a/src/modules/logger/logger.cpp b/src/modules/logger/logger.cpp index 7c07841530..5b071aac43 100644 --- a/src/modules/logger/logger.cpp +++ b/src/modules/logger/logger.cpp @@ -622,7 +622,6 @@ void Logger::add_default_topics() add_topic("battery_status", 500); add_topic("camera_capture"); add_topic("camera_trigger"); - add_topic("collision_constraints"); add_topic("cpuload"); add_topic("distance_sensor", 100); add_topic("ekf2_innovations", 200); @@ -634,7 +633,6 @@ void Logger::add_default_topics() add_topic("manual_control_setpoint", 200); add_topic("mission"); add_topic("mission_result"); - add_topic("obstacle_distance"); add_topic("optical_flow", 50); add_topic("position_setpoint_triplet", 200); add_topic("radio_status"); @@ -655,13 +653,9 @@ void Logger::add_default_topics() add_topic("vehicle_local_position", 100); add_topic("vehicle_local_position_setpoint", 100); add_topic("vehicle_magnetometer", 200); - add_topic("vehicle_mocap_odometry", 30); add_topic("vehicle_rates_setpoint", 30); add_topic("vehicle_status", 200); add_topic("vehicle_status_flags"); - add_topic("vehicle_trajectory_waypoint", 200); - add_topic("vehicle_trajectory_waypoint_desired", 200); - add_topic("vehicle_visual_odometry", 30); add_topic("vtol_vehicle_status", 200); add_topic("wind_estimate", 200); @@ -737,6 +731,16 @@ void Logger::add_sensor_comparison_topics() add_topic("sensor_mag", 100); } +void Logger::add_vision_and_avoidance_topics() +{ + add_topic("collision_constraints"); + add_topic("obstacle_distance"); + add_topic("vehicle_mocap_odometry", 30); + add_topic("vehicle_trajectory_waypoint", 200); + add_topic("vehicle_trajectory_waypoint_desired", 200); + add_topic("vehicle_visual_odometry", 30); +} + void Logger::add_system_identification_topics() { // for system id need to log imu and controls at full rate @@ -867,6 +871,10 @@ void Logger::initialize_configured_topics() if (sdlog_profile & SDLogProfileMask::SENSOR_COMPARISON) { add_sensor_comparison_topics(); } + + if (sdlog_profile & SDLogProfileMask::VISION_AND_AVOIDANCE) { + add_vision_and_avoidance_topics(); + } } diff --git a/src/modules/logger/logger.h b/src/modules/logger/logger.h index ae1f383bc5..12d17e333e 100644 --- a/src/modules/logger/logger.h +++ b/src/modules/logger/logger.h @@ -64,7 +64,8 @@ enum class SDLogProfileMask : int32_t { SYSTEM_IDENTIFICATION = 1 << 3, HIGH_RATE = 1 << 4, DEBUG_TOPICS = 1 << 5, - SENSOR_COMPARISON = 1 << 6 + SENSOR_COMPARISON = 1 << 6, + VISION_AND_AVOIDANCE = 1 << 7 }; enum class MissionLogType : int32_t { @@ -332,6 +333,7 @@ private: void add_high_rate_topics(); void add_debug_topics(); void add_sensor_comparison_topics(); + void add_vision_and_avoidance_topics(); /** * check current arming state and start/stop logging if state changed and according to configured params. diff --git a/src/modules/logger/params.c b/src/modules/logger/params.c index 6c8910322f..04863554f7 100644 --- a/src/modules/logger/params.c +++ b/src/modules/logger/params.c @@ -105,9 +105,10 @@ PARAM_DEFINE_INT32(SDLOG_MISSION, 1); * 4 : Full rates for analysis of fast maneuvers (RC, attitude, rates and actuators) * 5 : Debugging topics (debug_*.msg topics, for custom code) * 6 : Topics for sensor comparison (low rate raw IMU, Baro and Magnetomer data) + * 7 : Topics for computer vision and collision avoidance * * @min 0 - * @max 127 + * @max 255 * @bit 0 Default set (general log analysis) * @bit 1 Estimator replay (EKF2) * @bit 2 Thermal calibration @@ -115,6 +116,7 @@ PARAM_DEFINE_INT32(SDLOG_MISSION, 1); * @bit 4 High rate * @bit 5 Debug * @bit 6 Sensor comparison + * @bit 7 Computer Vision and Avoidance * @reboot_required true * @group SD Logging */