logger: add separate profile for vision/avoidance

Keeps things more modular.
This commit is contained in:
Beat Küng
2018-12-07 10:52:43 +01:00
parent fced1ce33b
commit dc49e259b3
4 changed files with 22 additions and 8 deletions
+2
View File
@@ -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
+14 -6
View File
@@ -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();
}
}
+3 -1
View File
@@ -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.
+3 -1
View File
@@ -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
*/