问题标签 [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.
java - Android:有什么方法可以精确区分手机移动和旋转?
我目前正在研究 VR 框架。我的 Android 智能手机用作立体显示器和控制器。我有头部跟踪工作,但我也想要一个简单的位置跟踪。我知道精确跟踪智能手机的位置是不可能的。至少只要一个仅限于智能手机的传感器。所以这个想法是区分智能手机的旋转(头部跟踪)和任何类型的一般运动。当然,如果检测到运动,我只能向前移动。正如我所说,头部跟踪与安卓陀螺仪配合得很好。但是运动跟踪仍然没有像我想要的那样工作。
主要的问题是,在旋转手机的时候,这个旋转其实也是一种加速度。因此,仅查看加速度的大小不足以区分加速度(运动)和旋转。此外,为陀螺仪做一个阈值之类的事情:
也不会产生所需的差异化,因为走路时手机总是会发生一定程度的旋转。
长话短说:这个问题有没有可能的解决方案?(编辑)如果是,它是如何完成的?我希望能够区分智能手机是移动还是旋转。理想情况下,仅使用陀螺仪和加速度计。
最好的问候和感谢任何反馈!
gps - 使用 IMU 进行前后运动检测
我们有一个安装在车辆中的嵌入式设备。它配备了加速度计、陀螺仪和 GPS 传感器。目标是区分车辆何时向前和向后移动(倒档)。传感器的轴与车辆的轴对齐。以下是我们的观察:
- 检查加速方向是不够的,因为在向前移动的同时向后和制动会显示相同方向的结果。
- 我们可以说如果 GPS 速度下降 70 -> 60 公里/小时,这是一个制动事件。但是当速度 < 20 km/h 时就变得棘手了。双向行驶时可以降低 20 -> 10 km/h。
- 我们不能在低速时依赖 GPS 角度。
我们如何解决这个问题?任何想法、文章或研究都会有所帮助。
navigation - 在英特尔 Edison 上运行 ROS 的 10DOF IMU GY-80 导航
我有一个 10 DOF IMU GY-80 和 ROS Kinetic 在 Intel Edison 上运行。仅使用 IMU 我希望在 Gazebo 中,当使用 IMU 和英特尔爱迪生的人开始行走时,在预定义的楼层布局计划上导航。最简单的方法是什么?
python - 如何将物体空间加速度整合到世界空间位置(2D)
我想在对象坐标中双重积分 2D 加速度数据以获得世界坐标中的 2D 位置。物体总是指向速度方向(假设例如一列火车)。
因此,我尝试将加速度值与速度 verlet积分进行数值积分,将每一步的方向更改为世界坐标中的前一个速度,由速度 verlet 算法提供:
用一个简单的圆周运动测试这个:
这会导致向外漂移,因为当前方向是基于最后一个速度的,这显然是一个不好的近似值。
谁能指出我更好的解决方案?
一些想法:
- 最佳情况下,需要世界坐标中的最后一个和下一个速度,通过对它们进行平均(例如相加)来做出更好的近似。但在我的方法中,下一个速度取决于世界坐标中的下一个加速度,而后者又需要下一个方向(追逐它自己的尾巴)。
- 如果我使用我的方法来获得下一个速度的第一个近似值,从而获得下一个方向,我可以通过上面的想法使用它来改进当前方向。现在我可以对下一个速度和下一个方向做出更好的近似,并再次使用它来改进当前方向。这可能是可能的解决方案,尽管它看起来真的很难看。
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”检查。所以在我的事件处理程序获取惯性增量之前,某些东西会导致它们被消耗
gps - 是否可以使用 GPS 或加速度计确定车辆是否在斜坡或山坡上后退?
我有一辆车安装了跟踪器。该设备具有 GPS 系统、3 轴加速度计、3 轴磁力计和陀螺仪。是否可以通过车辆在斜坡或山坡上后退的程度来确定。使用 gps 角度不是一种选择,因为为短时间向后移动提供的角度并不总是可靠的。在这种情况下可以使用加速度计吗?
python - 在 GPS 不可用的情况下从 IMU 数据计算位置
第一次在这里发帖,我双脚跳进蟒蛇。
我的项目是尝试仅使用 IMU 传感器和速度表来计算水下机器人的位置。
我对编程很陌生,我相信我会在附加的代码上得到很多很好的反馈,但我目前坚持的步骤是在以下之间创建一个反馈循环:
UTC[2]
(GPS 状态 A=可用 V=不可用),
LATD
/ LOND
(十进制度的GPS位置),和
IMU_LAT
/ IMU_LON
(以十进制度为单位的 IMU 位置)
这个想法是,如果UTC[2]
是“A”,逻辑将同样平均IMU_LAT
/IMU_LON
和LATD
/ LOND
,但如果UTC[2]
是“V”,它只会根据记录的最后位置和IMU_north
/ IMU_east
(基于航向和加速度值的偏移量)计算位置。
就像我说的那样,我是新手,我相信你们专业人士会告诉我这真的很草率,但我很乐意接受任何建设性的批评。
谢谢,特洛伊
laravel-8 - Laravel 惯性链接与 id
您好,我是使用惯性和 laravel 的初学者,我想从web.php
laravel 的路由中传递一个 id,但我收到错误。
这是我的 web.php:
现在我的路线/href 是这样的:
谁能帮我解决href="/member/{{ member.id }}/show"
laravel - 惯性:使用更新的数据重新加载页面而不修改滚动位置
我正在使用惯性/Laravel/VueJs。我有一个包含许多帖子的页面,每个帖子都可以标记为已完成。当一个帖子在前端被标记为已完成时,我有一个 v-bind 来切换应该应用于已完成任务的 CSS 类。
我想要的行为是:用户向下滚动页面,单击完成按钮,后端将新更新的数据发送到前端,使 v-bind 为真,导致应用 CSS 类而不跳到页面顶部。
使用下面的代码,我可以单击完成按钮,它会在数据库中更新,但新数据不会发送到前端。
控制器:
单击完成按钮时调用的 Javascript 函数:
如果我将 Javascript 函数更改为:
在这种情况下,新数据返回到前端,帖子被标记为完成,但preserveScroll不起作用,将用户跳转到页面顶部。
关于如何让我想要的用例工作的任何想法?用户可能有数百个帖子,所以我不能让页面每次都跳到顶部。
感谢您的任何帮助!