0

这是针对我目前正在研究的机器人模拟。如果您查看提供的图表,您将看到两个坐标框架。帧 A ,帧 B ; 你会找到一个点p

坐标系A是世界坐标系,坐标系B是我的机器人的局部坐标系(其中x轴是机器人的前进方向,按照惯例)。机器人能够在世界各地旋转和行驶。

我的目标是找到点p,用框架A表示,然后用框架B重新表示它。

我的设置

我用来实现这一点的标准方程如下:

point_in_frameB_x = point_in_frameA_x * cos(theta) - point_in_frameA_y * sin(theta) + t_x
point_in_frameB_y = point_in_frameA_x * sin(theta) + point_in_frameA_y * cos(theta) + t_y

wheret_xt_y组成 frame B到 frame A的平移变换。

然而,这里有一些复杂的情况阻止我得到我想要的结果:

由于机器人可以旋转(其默认姿势是朝向北的方向 - 并且旋转为 0 弧度),我不知道我将如何定义t_x以及t_y在上面的代码中。因为如果机器人具有平行于框架A的 y 轴的航向方向(即 x 轴) ,则平移向量将不同于机器人具有平行于框架A的 x 轴的航向方向的情况。

您会注意到从框架A到框架B的转换并不简单。我使用这个约定只是因为我正在实现这个模拟器,它使用这个约定作为它的图像帧。

任何帮助将不胜感激。提前致谢。

4

1 回答 1

0

遵循右手定则分配坐标系。在您的任一帧 A 或帧 B 的图片轴必须更改。

在此处输入图像描述

于 2017-09-12T09:41:07.083 回答