Skip to content

Commit

Permalink
[FEAT] added relative path option for trajectories
Browse files Browse the repository at this point in the history
  • Loading branch information
mascheiber committed Nov 25, 2022
1 parent d9c4f42 commit 962023b
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 6 deletions.
4 changes: 3 additions & 1 deletion config/config_template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ missions:

mission_1:
description: "Template"
# filepaths are relative to the `autonomy_engine/trajectory_dir` parameter
filepaths:
- "/home/core/catkin_ws/src/flightstack/flightstack_bringup/trajectories/dh/toland.csv"
- "template_dir/template_trajectory.csv"
# for a full list of implemented entities see 'include/autonomy_core/autonomy_defs.h'
entities_actions:
- ["px4_gps", "continue"]
- ["px4_imu", "failure"]
Expand Down
2 changes: 2 additions & 0 deletions config/trajectories/template_dir/template_trajectory.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
x,y,z,yaw,holdtime
0,0,1.0,0,10
2 changes: 2 additions & 0 deletions include/autonomy_core/autonomy_options.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ struct autonomyOptions
const std::string takeoff_service_name;
const std::string estimator_init_service_name;
const std::string logger_filepath;
const std::string trajectory_dir;
const std::vector<std::string> inflight_sensor_init_services_name;

/// Timeout in milliseconds for watchdog heartbeat
Expand Down Expand Up @@ -99,6 +100,7 @@ struct autonomyOptions
<< "LOADED PARAMETERS:\n\n"
<< " - User Interface: " << getStringfromBool(activate_user_interface) << '\n'
<< " - Logger filepath: " << logger_filepath << '\n'
<< " - Trajectories Directory: " << trajectory_dir << '\n'
<< " - Watchdog: " << getStringfromBool(activate_watchdog) << '\n'
<< " - Data recording: " << getStringfromBool(activate_data_recording) << '\n'
<< " - Estimator init service: " << getStringfromBool(estimator_init_service) << '\n'
Expand Down
4 changes: 3 additions & 1 deletion launch/autonomy.launch
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
<arg name="preflight_fix_timeout_ms" default="2500" />
<arg name="data_recording_delay_after_failure_s" default ="5" />
<arg name="mission_id_no_ui" default="1" />
<arg name="logger_filepath" default="/home/alfornasier/tmp/log/" />
<arg name="logger_filepath" default="$(env HOME)/.ros/log/autonomy/" />
<arg name="trajectory_dir" default="$(find autonomy_engine)/config/trajectories/" />
<arg name="landing_aux_channel" default="0" />

<!-- arguments flags -->
Expand Down Expand Up @@ -80,6 +81,7 @@
<param name="preflight_fix_timeout_ms" type="int" value = "$(arg preflight_fix_timeout_ms)" />
<param name="data_recording_delay_after_failure_s" type="int" value = "$(arg data_recording_delay_after_failure_s)" />
<param name="logger_filepath" type="string" value = "$(arg logger_filepath)" />
<param name="trajectory_dir" type="string" value = "$(arg trajectory_dir)" />
<param name="landing_aux_channel" type="int" value = "$(arg landing_aux_channel)" />

<!-- flags -->
Expand Down
13 changes: 9 additions & 4 deletions src/autonomy_core/autonomy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,9 @@ void Autonomy::getMissions()
if (XRV_filepaths[j].getType() == XmlRpc::XmlRpcValue::TypeString)
{
// assign filepath
filepaths.emplace_back(std::string(XRV_filepaths[j]));
std::string full_path = std::string(opts_->trajectory_dir) + std::string(XRV_filepaths[j]);
filepaths.emplace_back(opts_->trajectory_dir + std::string(XRV_filepaths[j]));
// filepaths.emplace_back(std::string(XRV_filepaths[j]));
}
else
{
Expand Down Expand Up @@ -286,6 +288,7 @@ void Autonomy::parseParams()
std::string estimator_init_service_name;
std::string mission_sequencer_waypoints_topic;
std::string logger_filepath;
std::string trajectory_dir;
std::string rc_topic;

// Define auxilliary variables foreach paramter: std::vector
Expand Down Expand Up @@ -332,6 +335,7 @@ void Autonomy::parseParams()
getParameter(mission_sequencer_response_topic, "mission_sequencer_response_topic");
getParameter(mission_sequencer_waypoints_topic, "mission_sequencer_waypoints_topic");
getParameter(logger_filepath, "logger_filepath");
getParameter(trajectory_dir, "trajectory_dir");
getParameter(flight_timeout_ms, "maximum_flight_time_min");
getParameter(fix_timeout_ms, "fix_timeout_ms");
getParameter(preflight_fix_timeout_ms, "preflight_fix_timeout_ms");
Expand Down Expand Up @@ -423,9 +427,6 @@ void Autonomy::parseParams()
// Get aux channels
getParameter(landing_aux_channel, "landing_aux_channel");

// Get missions
getMissions();

// Make options
opts_ = std::make_unique<autonomyOptions>(autonomyOptions({ watchdog_heartbeat_topic,
watchdog_status_topic,
Expand All @@ -441,6 +442,7 @@ void Autonomy::parseParams()
takeoff_service_name,
estimator_init_service_name,
logger_filepath,
trajectory_dir,
inflight_sensor_init_services_name,
watchdog_timeout_ms,
flight_timeout_ms,
Expand All @@ -460,6 +462,9 @@ void Autonomy::parseParams()
sequence_multiple_in_flight,
mission_id_no_ui,
static_cast<size_t>(landing_aux_channel) }));

// Get missions
getMissions();
}

bool Autonomy::getSensorStatusFromMsg(const watchdog_msgs::Status& msg, SensorStatus& status)
Expand Down

0 comments on commit 962023b

Please sign in to comment.