ArduPilot/ardupilot

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

Aberta

#11.284 aberto em 7 de mai. de 2019

 (3 comentários) (0 reação) (0 responsável)C++ (15.603 forks)batch import
BUGRovergood first issue

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.

Guia do colaborador