Rover: Guided mode's wp_bearing is incorrect for some sub modes
#11.284 aberto em 7 de mai. de 2019
Métricas do repositório
- Stars
- (9.336 estrelas)
- Métricas de merge de PR
- (Mesclagem média 26d 16h) (166 fundiu PRs em 30d)
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.