gpt4 book ai didi

计算距离(毫米)的坐标

转载 作者:行者123 更新时间:2023-11-30 19:29:23 25 4
gpt4 key购买 nike

我正在编写一个软件,负责记录某些机器部件的位置。

现在的情况是这样的:

  • 机器上固定有 1 个 RTK 固定 GPS 接收器(+/- 2 厘米精度)。航向是使用 2 个不同位置计算的
  • 机器上有2个 ARM (左臂和右臂),可以相互独立地向外或向内旋转
  • 机器上有 1 个固定位置的机械臂(中臂)

我已经拥有的:

一款计算 ARM 外部位置的软件(这就像一个魅力)。这会生成一个形状文件作为日志文件,其中 ARM 的位置是可见的,这适用于每个标题。

问题是:

该算法使用 delta X 和 delta Y 距离(以毫米为单位)计算 ARM 的位置。我的假设是经度 0.00000001 等于 X 轴上的 1.1 毫米 ( source )。男孩,我错了什么......

当使用 shapefile 查看器测量生成的 shapefile 时,它​​返回 2.19 米,而不是计算出的 3.25 米。请注意,这是在纬度 52.810146939(北半球)上。

因此问题是:

有谁知道如何形成一个公式,以纬度或经度为起点,距离以 [mm] 为单位,然后返回校正后的纬度或经度?或者我如何计算相对增量坐标值以将它们与原始坐标相加?

我有一段代码:

Armlocations->leftarm.locationX = ownLocation.locationX + MM_TO_COOR(deltaX);
Armlocations->leftarm.locationY = ownLocation.locationY + MM_TO_COOR(deltaY);

deltaX 和 deltaY 是应添加到坐标中的距离(以毫米为单位)。宏MM_TO_COOR是这样的:

#define COOR_TO_MM(x)   ((x) * 110000000)
#define MM_TO_COOR(x) ((x) / 110000000)

问题不在于编程 -> 我明白了,但更多的是关于其中涉及的数学。

最佳答案

我确信这不是正确的地方,可能更适合使用 https://gis.stackexchange.com .

关于纬度,它总是(大约)每度 111 公里,因此 0.00000001° (1E-8°) 在 y 方向上确实应该是 1.1 毫米。

经度的关系确实取决于您当前的纬度:这里,每度的系数是 111 公里乘以 cos(纬度)。在您的情况下,(在球形地球上)系数为 0.60445804192912,即每度 67.1 公里或每 1E-8° 0.671 毫米。在我们看来,在两极处被压平,该值略有不同,但应该大致相同(但是,我无法说出误差有多大。)

您确定您的 GPS 设备具有几毫米的高分辨率吗?

关于计算距离(毫米)的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52838580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com