小编Ale*_*xis的帖子

基于陀螺仪和加速度计的室内定位系统

我正在开发一个Android应用程序来跟踪室内位置.我的手机是使用两个传感器的Google Nexus S,第一个是加速度计,第二个是陀螺仪.

我的想法是,从起始参考点(已知的GPS位置),使用2个传感器(用于运动的加速度计和用于方向的陀螺仪)在移动时跟踪手机.并在用户出发时显示在地图上.

但问题是我不知道如何将这两种传感器结合起来给我一个实际位置?

我在互联网上看过一些关于"kalman过滤器"的文章,经过一些研究后我发现那个过滤器对我来说非常复杂/太多了)特别是在java for Android(cpu杀手)中编码

有人有经验可以与我分享使用陀螺仪和加速度计的室内定位系统吗?

android location position accelerometer gyroscope

71
推荐指数
2
解决办法
7万
查看次数

多个dex文件定义Lcom/google/android/gms/internal/measurement/zzabn

从今天早上起,我无法构建我的Android应用,因为我收到此错误

  • 出了什么问题:任务执行失败':app:transformDexArchiveWithDexMergerForDebug'.

    com.android.build.api.transform.TransformException:com.android.dex.DexException:多个dex文件定义Lcom/google/android/gms/internal/measurement/zzabn;

我已经尝试将Firebase版本相应地提升到15.0.2,但后来又出现了其他错误......

任务:app:processDebugGoogleServices找到com.google.android.gms:play-services-maps:15.0.0,但google-services插件需要15.0.2版.

com.google.android.gms:play-services-maps:15.0.2甚至还没有发布?

我有一个推动生产的构建,构建应用程序的最佳方法是什么?

android dex firebase android-studio android-studio-3.0

10
推荐指数
1
解决办法
9586
查看次数

Android的互补滤镜(Gyro + accel)

最近我做了一些研究,使用加速度计+陀螺仪来使用那些传感器在没有GPS帮助的情况下跟踪智能手机(参见这篇文章) 基于陀螺仪和加速度计的室内定位系统

为此我需要我的方向(角度(俯仰,滚动等))所以这里到目前为止我所做的:

public void onSensorChanged(SensorEvent arg0) {
    if (arg0.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
    {
        accel[0] = arg0.values[0];
         accel[1] = arg0.values[1];
   accel[2] = arg0.values[2];
   pitch = Math.toDegrees(Math.atan2(accel[1], Math.sqrt(Math.pow(accel[2], 2) + Math.pow(accel[0], 2))));

  tv2.setText("Pitch: " + pitch + "\n" + "Roll: " + roll);

   } else if (arg0.sensor.getType() == Sensor.TYPE_GYROSCOPE )
{
  if (timestamp != 0) {
  final float dT = (arg0.timestamp - timestamp) * NS2S;         
  angle[0] += arg0.values[0] * dT;
  filtered_angle[0] = (0.98f) * (filtered_angle[0] + arg0.values[0] * dT) + (0.02f)* (pitch); …
Run Code Online (Sandbox Code Playgroud)

android tracking accelerometer filter gyroscope

6
推荐指数
1
解决办法
2万
查看次数

将陀螺仪与加速度计结合使用以获得航向

我正在使用Android设备获取标题(方位角或偏航角).

Android API使用Accelerometer值+ mganetic字段来计算矩阵旋转,然后从矩阵中提取方位角(也称为SensorManager.getOrientation(...))但结果非常不准确!特别是如果手机受到某些磁性物质的干扰.

然后我有陀螺仪,如果我整合了陀螺仪时间的价值,我就能得到一个实际的角度,但是像所有人都知道的那样:p,这可能会漂移... 10秒后甚至很难我'我没有移动10°漂移的角度......

所以在这里,我在一侧有accel + magneto的结果,它在磁场附近相当废话,另一方面我有陀螺的结果非常好,但随着时间的推移漂移......

所以我的问题是,是否有一种简单或聪明的方法将两个结果组合在一起以获得一种"稳健"的航向估算?我说很容易,因为我知道有卡尔曼滤波器..但即使是艰难的我读了理论50次我也不能得到一个该死的东西:).

谢谢!

android accelerometer azimuth orientation gyroscope

6
推荐指数
1
解决办法
1万
查看次数

在 Google Map V2 上加载 MBtiles

我使用 MapTiler 创建了一个 MBtile 文件https://www.maptiler.com/

我可以使用 OpenStreetMap 很好地加载这个 MBtile

map.setTileSource(new XYTileSource("MyMap", 0, 18, 256, ".jpg", new String[] {}));
Run Code Online (Sandbox Code Playgroud)

但我无法使用谷歌地图加载它(使用我找到的唯一库,https://github.com/cocoahero/android-gmaps-addons

有人知道更好的库来使用 Google 地图加载 Mbtiles 吗?

android google-maps mbtiles

2
推荐指数
1
解决办法
2654
查看次数