# 单车机器人计算圆切线角时 alpha_2 突然变号

> 原文链接：https://robotics.hellobike.com/pitfalls/2016-07-29-robotics-se-9386
> 频道：pitfalls | 更新日期：2016-07-29 | 标签：auto, stackexchange, mobile-robot, kinematics, matlab, geometry
> 核心摘要：单车机器人仿真中圆切线角计算异常，采纳答案建议先计算机器人到目标中心的相对角phi。

# 单车机器人计算圆切线角时 alpha_2 突然变号

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Angle to a circle tangent line](https://robotics.stackexchange.com/questions/9386/angle-to-a-circle-tangent-line)（Robotics Stack Exchange #9386）

**状态**：已解决

## 问题

提问者用`aux_t ± phi_c`求机器人局部坐标系到圆的切线角`alpha_1`、`alpha_2`，当机器人和圆接近时`phi_c`大于`aux_t`，导致`alpha_2`突然变号。

## 环境

Linux / ROS 机器人软件与控制通用开发环境

## 解决办法

1. 先确定机器人`<a_x,a_y,theta>`与目标中心`<p_x,p_y>`之间的角度`phi`。
2. 按采纳答案使用公式：`phi = atan((p_y - a_y) / (p_x - a_x)) - theta`。
3. 再基于`phi`确定其余角度更详细步骤。

原问题作者：Wobbler28；采纳答案作者：CroCo。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #9386：Angle to a circle tangent line](https://robotics.stackexchange.com/questions/9386/angle-to-a-circle-tangent-line)