ArduPilot/ardupilot

Rover: Guided mode's wp_bearing is incorrect for some sub modes

Ouverte

#11 284 ouverte le 7 mai 2019

 (3 commentaires) (0 réaction) (0 personne assignée)C++ (15 603 forks)batch import
BUGRovergood first issue

Métriques du dépôt

Stars
 (9 336 étoiles)
Métriques de merge PR
 (Merge moyen 26j 16h) (166 PRs mergées en 30 j)

Description

While working on this PR: https://github.com/ArduPilot/ardupilot/pull/11283 I found that Guided mode's wp_bearing valueis incorrect for some submodes.

Guided uses the mode.cpp's wp_bearing method which calls the navigation library. This works when _guided_mode == Guided_WP but is incorrect when it's Guided_HeadingAndSpeed, Guided_TurnRateAndSpeed and Guided_Loiter.

We should override the wp_bearing for Guided mode and then handle these other sub modes. For example, for Guided_HeadingAndSpeed we should use the target heading. For Guided_TurnRateAndSpeed we should return 0.0f. For Guided_Loiter we should call ModeLoiter's wp_bearing.

Guide contributeur