我制作了一个由 Arduino 和 Processing 控制的机器人,它通过自身旋转(如球体)在房间内移动。
我需要的是一旦它在地板上移动就能够获得新的位置(假设在一个 3m x 3m 的房间内)。我正在使用 9DOF 传感器(3 轴加速度计数据、3 轴陀螺仪和 3 轴磁数据)来确定它的滚动、俯仰和偏航以及它的方向。
如何在笛卡尔 (x,y,z) 坐标中准确识别机器人相对于其起始位置的位置?我不能使用 GPS,因为每次旋转的运动小于 20 厘米,并且机器人将在室内使用。
我找到了一些室内测距和 3D 定位解决方案,例如pozyx或使用固定摄像头。但是,我需要它具有成本效益。
有什么方法可以转换 9DOF 数据以获取新位置或任何其他传感器来做到这一点?任何其他解决方案,例如算法?