问题标签 [inertial-navigation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
69 浏览

r - 不连续四元数信号

我正在使用 BNO055 IMU,有时我会在运动过程中看到四元数信号中的“跳跃”。这是正常的吗?这是一个示例图。坏(!)四元数数据的样本图

第一个图是标量值,其余的是三个向量分量。

我认为这发生在欧拉角上,但不会发生在四元数中。有什么我想念的吗?

谢谢

0 投票
1 回答
80 浏览

java - Android:有什么方法可以精确区分手机移动和旋转?

我目前正在研究 VR 框架。我的 Android 智能手机用作立体显示器和控制器。我有头部跟踪工作,但我也想要一个简单的位置跟踪。我知道精确跟踪智能手机的位置是不可能的。至少只要一个仅限于智能手机的传感器。所以这个想法是区分智能手机的旋转(头部跟踪)和任何类型的一般运动。当然,如果检测到运动,我只能向前移动。正如我所说,头部跟踪与安卓陀螺仪配合得很好。但是运动跟踪仍然没有像我想要的那样工作。

主要的问题是,在旋转手机的时候,这个旋转其实也是一种加速度。因此,仅查看加速度的大小不足以区分加速度(运动)和旋转。此外,为陀螺仪做一个阈值之类的事情:

也不会产生所需的差异化,因为走路时手机总是会发生一定程度的旋转。

长话短说:这个问题有没有可能的解决方案?(编辑)如果是,它是如何完成的?我希望能够区分智能手机是移动还是旋转。理想情况下,仅使用陀螺仪和加速度计。

最好的问候和感谢任何反馈!

0 投票
1 回答
1252 浏览

gps - 使用 IMU 进行前后运动检测

我们有一个安装在车辆中的嵌入式设备。它配备了加速度计、陀螺仪和 GPS 传感器。目标是区分车辆何时向前和向后移动(倒档)。传感器的轴与车辆的轴对齐。以下是我们的观察:

  • 检查加速方向是不够的,因为在向前移动的同时向后和制动会显示相同方向的结果。
  • 我们可以说如果 GPS 速度下降 70 -> 60 公里/小时,这是一个制动事件。但是当速度 < 20 km/h 时就变得棘手了。双向行驶时可以降低 20 -> 10 km/h。
  • 我们不能在低速时依赖 GPS 角度。

我们如何解决这个问题?任何想法、文章或研究都会有所帮助。

0 投票
1 回答
144 浏览

navigation - 在英特尔 Edison 上运行 ROS 的 10DOF IMU GY-80 导航

我有一个 10 DOF IMU GY-80 和 ROS Kinetic 在 Intel Edison 上运行。仅使用 IMU 我希望在 Gazebo 中,当使用 IMU 和英特尔爱迪生的人开始行走时,在预定义的楼层布局计划上导航。最简单的方法是什么?

0 投票
1 回答
308 浏览

python - 如何将物体空间加速度整合到世界空间位置(2D)

我想在对象坐标中双重积分 2D 加速度数据以获得世界坐标中的 2D 位置。物体总是指向速度方向(假设例如一列火车)。

因此,我尝试将加速度值与速度 verlet积分进行数值积分,将每一步的方向更改为世界坐标中的前一个速度,由速度 verlet 算法提供:

用一个简单的圆周运动测试这个:

这会导致向外漂移,因为当前方向是基于最后一个速度的,这显然是一个不好的近似值。

谁能指出我更好的解决方案?

在此处输入图像描述


一些想法:

  • 最佳情况下,需要世界坐标中的最后一个和下一个速度,通过对它们进行平均(例如相加)来做出更好的近似。但在我的方法中,下一个速度取决于世界坐标中的下一个加速度,而后者又需要下一个方向(追逐它自己的尾巴)。
  • 如果我使用我的方法来获得下一个速度的第一个近似值,从而获得下一个方向,我可以通过上面的想法使用它来改进当前方向。现在我可以对下一个速度和下一个方向做出更好的近似,并再次使用它来改进当前方向。这可能是可能的解决方案,尽管它看起来真的很难看。
0 投票
1 回答
328 浏览

wpf - e.IsInertial 几乎总是错误的 WPF

我从 UWP 转换的 WPF 应用程序具有以下 XAML:

我发现,事件处理程序e.IsInertial总是错误的。

我认为它可能是处理惯性事件的 ScrollViewer,但是当我删除 ScrollViewer 时,我仍然无法获得任何惯性事件。我还尝试将 ManipulationDelta 放在 ScrollViewer 上,结果相同。

我的最终目标是希望 ScrollViewer 在非惯性移动时滚动,但让我控制惯性滑动时发生的情况。

我在要移植到 WPF 的 UWP 应用程序中管理此效果,如下所示:

<TextBlock ... ManipulationMode="All" ManipulationDelta="TextBlock_ManipulationDelta/>"

然后在代码隐藏中:

但我不能在 WPF 中重复这种行为。有什么想法吗?

- -更新 - -

从那以后,我发现,通过从右上角到左下角的大弧形滑动,在屏幕全屏的情况下,我几乎可以触发一个e.IsInertial = True事件。发生这种情况时,该ManipulationDelta事件会被触发两次——第一次使用e.IsInertial = false,第二次使用e.IsInertial = true。我不确定为什么会这样;无论如何,这不是我正在寻找的行为。

有人有更多想法吗?我尝试了各种方法,包括在所有东西上放置一个面板并将操作处理程序放在上面;但我仍然有同样的问题。

我正在使用 Visual Studio 2017 和 Windows 10。我正在编码和测试的设备是 Microsoft Surface Book


似乎正在发生的是,非惯性运动首先发生;然后一旦完成,惯性就会发射。我在事件中放了一些输出,当我刷卡时得到以下信息:

在那之后,我再也没有发射三角洲了。那么是什么在消耗它们;为什么我要先得到非惯性的?

我发现获得这种工作的一种方法是更改PanningMode="VerticalFirst"​​为PanningMode="None". 然后自己处理滚动(这似乎是 UWP 版本正在做的事情)......但我仍然必须摆脱“e.IsInertial”检查。所以在我的事件处理程序获取惯性增量之前,某些东西会导致它们被消耗

0 投票
1 回答
85 浏览

gps - 是否可以使用 GPS 或加速度计确定车辆是否在斜坡或山坡上后退?

我有一辆车安装了跟踪器。该设备具有 GPS 系统、3 轴加速度计、3 轴磁力计和陀螺仪。是否可以通过车辆在斜坡或山坡上后退的程度来确定。使用 gps 角度不是一种选择,因为为短时间向后移动提供的角度并不总是可靠的。在这种情况下可以使用加速度计吗?

0 投票
0 回答
856 浏览

python - 在 GPS 不可用的情况下从 IMU 数据计算位置

第一次在这里发帖,我双脚跳进蟒蛇。

我的项目是尝试仅使用 IMU 传感器和速度表来计算水下机器人的位置。

我对编程很陌生,我相信我会在附加的代码上得到很多很好的反馈,但我目前坚持的步骤是在以下之间创建一个反馈循环:

UTC[2](GPS 状态 A=可用 V=不可用),

LATD/ LOND(十进制度的GPS位置),和

IMU_LAT/ IMU_LON(以十进制度为单位的 IMU 位置)

这个想法是,如果UTC[2]是“A”,逻辑将同样平均IMU_LAT/IMU_LONLATD/ LOND,但如果UTC[2]是“V”,它只会根据记录的最后位置和IMU_north/ IMU_east(基于航向和加速度值的偏移量)计算位置。

就像我说的那样,我是新手,我相信你们专业人士会告诉我这真的很草率,但我很乐意接受任何建设性的批评。

谢谢,特洛伊

0 投票
1 回答
2276 浏览

laravel-8 - Laravel 惯性链接与 id

您好,我是使用惯性和 laravel 的初学者,我想从web.phplaravel 的路由中传递一个 id,但我收到错误。

这是我的 web.php:

现在我的路线/href 是这样的:

谁能帮我解决href="/member/{{ member.id }}/show"

0 投票
2 回答
1220 浏览

laravel - 惯性:使用更新的数据重新加载页面而不修改滚动位置

我正在使用惯性/Laravel/VueJs。我有一个包含许多帖子的页面,每个帖子都可以标记为已完成。当一个帖子在前端被标记为已完成时,我有一个 v-bind 来切换应该应用于已完成任务的 CSS 类。

我想要的行为是:用户向下滚动页面,单击完成按钮,后端将新更新的数据发送到前端,使 v-bind 为真,导致应用 CSS 类而不跳到页面顶部。

使用下面的代码,我可以单击完成按钮,它会在数据库中更新,但新数据不会发送到前端。

控制器:

单击完成按钮时调用的 Javascript 函数:

如果我将 Javascript 函数更改为:

在这种情况下,新数据返回到前端,帖子被标记为完成,但preserveScroll不起作用,将用户跳转到页面顶部。

关于如何让我想要的用例工作的任何想法?用户可能有数百个帖子,所以我不能让页面每次都跳到顶部。

感谢您的任何帮助!