公式
距离差值计算
\[ \rho = \sqrt{(x_{robot} - x_{target})^2 + (y_{robot} - y_{target})^2}. \]
距离决定机器人的运行速度
角度差值计算
\[ \alpha = (\arctan2(y_{diff}, x_{diff}) - \theta + \pi) mod (2\pi) - \pi \]
得到\([-\pi,\pi]\)区间内的值
调整角度需要用到\(\beta\)
\[ \beta = (\theta_{goal} - \theta - \alpha + \pi) mod (2\pi) - \pi \]
为了抵消机器人在目的地点附近的\(\alpha\)的影响,\(-\alpha\)引入进来
速度计算,线速度:
\[ v = \left\{\begin{matrix} k_{\rho}\rho,\quad |\alpha|\leq\frac{\pi}{2}\\ -k_{\rho}\rho,\quad |\alpha|>\frac{\pi}{2}\\ \end{matrix}\right. \]
角速度:
\[ \omega=k_{\alpha}\alpha-k_{\beta}\beta \]
其中\(k_{\rho},k_{\alpha},k_{\beta}\)为系数