Skip to content

Commit

Permalink
implemented feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
Claudio-Chies committed Aug 16, 2024
1 parent 20f6666 commit 1f50253
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
8 changes: 4 additions & 4 deletions src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -247,12 +247,12 @@ void FlightTaskAuto::_prepareLandSetpoints()
if (_type_previous != WaypointType::land) {
// initialize yaw and xy-position
_land_heading = _yaw_setpoint;
_stick_acceleration_xy.resetPosition(Vector2f(_triplet_target(0), _triplet_target(1)));
_initial_land_position = Vector3f(_triplet_target(0), _triplet_target(1), NAN);
_stick_acceleration_xy.resetPosition(Vector2f(_target(0), _target(1)));
_initial_land_position = Vector3f(_target(0), _target(1), NAN);
}

// Update xy-position in case of landing position changes (etc. precision landing)
_land_position = Vector3f(_triplet_target(0), _triplet_target(1), NAN);
_land_position = Vector3f(_target(0), _target(1), NAN);

// User input assisted landing
if (_param_mpc_land_rc_help.get() && _sticks.checkAndUpdateStickInputs()) {
Expand Down Expand Up @@ -452,7 +452,7 @@ bool FlightTaskAuto::_evaluateTriplets()
_triplet_prev_wp(2) = -(_sub_triplet_setpoint.get().previous.alt - _reference_altitude);

} else {
_triplet_prev_wp = _position;
_triplet_prev_wp = _triplet_target;
}

_prev_was_valid = _sub_triplet_setpoint.get().previous.valid;
Expand Down
9 changes: 6 additions & 3 deletions src/modules/navigator/land.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,13 @@ Land::on_activation()

/* convert mission item to current setpoint */
struct position_setpoint_triplet_s *pos_sp_triplet = _navigator->get_position_setpoint_triplet();
pos_sp_triplet->previous.valid = false;
// set current mission_item so that we can breake before reaching the landing waypoint
_navigator->calculate_breaking_stop(_mission_item.lat, _mission_item.lon);

if (_navigator->get_vstatus()->vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING) {
_navigator->calculate_breaking_stop(_mission_item.lat, _mission_item.lon);
}

mission_item_to_position_setpoint(_mission_item, &pos_sp_triplet->current);
pos_sp_triplet->previous.valid = false;
pos_sp_triplet->next.valid = false;

_navigator->set_position_setpoint_triplet_updated();
Expand Down

0 comments on commit 1f50253

Please sign in to comment.