ArduPilot/ardupilot

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

开放

#11,284 创建于 2019年5月7日

 (3 条评论) (0 个反应) (0 位负责人)C++ (15,603 个派生)batch import
BUGRovergood first issue

仓库指标

星标
 (9,336 个星标)
PR 合并指标
 (平均合并 26天 16小时) (30 天内合并 166 个 PR)

描述

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.

贡献者指南