标签: sensor

传感器与卡尔曼滤波器融合

我很感兴趣,卡尔曼滤波器中的传感器融合设置中的双输入是如何建模的?

比如说你有一个加速度计和一个陀螺仪,想要呈现"地平线",就像在飞机上一样,这里有类似这样的好演示.

你如何实际收获两个传感器的正面特性并最大限度地减少负面影响?

这是在观察模型矩阵(通常用大写字母H表示)中建模的吗?


备注:在math.stackexchange.com上也没有任何答案地问过这个问题

fusion sensor filter kalman-filter

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

Android加速度计分析

我写了一个简单的Activity,它是SensorEventListenerfor Sensor.TYPE_ACCELEROMETER.

在我的onSensorChanged(SensorEvent event)i中,只需选择X,Y,Z格式的值并将其写入文件.

除此之外还有X,Y,Z一个标签,该标签特定于我正在执行的活动.所以这是X,Y,Z,label

像这样,我获得了我的活动资料.希望对数据收集后要执行的操作提出建议,以便消除噪音并获取活动的最佳数据.

此数据收集的主要目的是使用神经网络库(NeuroPh for Android)Link构建用户活动检测应用程序.

android sensor accelerometer

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

传感器TYPE_ACCELEROMETER/TYPE_MAGNETIC_FIELD和TYPE_ORIENTATION之间的值不同

有两种方法可以获得3个旋转值(方位角,俯仰,滚动).

一个是注册TYPE_ORIENTATION类型的监听器.这是最简单的方法,我从每次旋转中得到正确的值范围,如文档所示:azimuth:[0,359] pitch:[ - 180,180] roll:[ - 90,90]

另一个,你第一次看到它时最精确和最复杂.Android推荐它,所以我想使用它,但我得到不同的值.

方位角:[ - 180,180].-180/180是S,0 i N,90 E和-90 W.
pitch:[ - 90,90 ].90为90,-90为-90,0为0但-180/180(屏幕向下)为0.
roll:[ - 180,180].

我应该得到相同的值,但有小数,对吧?

我有以下代码:

aValues = new float[3];
mValues = new float[3];

sensorListener = new SensorEventListener (){
    public void onSensorChanged (SensorEvent event){
        switch (event.sensor.getType ()){
            case Sensor.TYPE_ACCELEROMETER:
                aValues = event.values.clone ();
                break;
            case Sensor.TYPE_MAGNETIC_FIELD:
                mValues = event.values.clone ();
                break;
        }

        float[] R = new float[16];
        float[] orientationValues = new float[3];

        SensorManager.getRotationMatrix (R, null, aValues, mValues);
        SensorManager.getOrientation (R, orientationValues);

        orientationValues[0] …
Run Code Online (Sandbox Code Playgroud)

android sensor orientation device-orientation

14
推荐指数
3
解决办法
2万
查看次数

Android - 如何处理跌倒检测算法

我希望能够在我的应用程序中使用一个相当简单的跌倒检测算法.在onSensorChanged()中,我得到当前x,x,z值的绝对值,并从中减去SensorManager.GRAVITY_EARTH(9.8 m/s).结果值必须连续10次大于阈值以设置表示加速度计已检测到下降的标志,阈值约为8m/s.

此外,我正在比较阈值已经通过时手机的方向和当阈值不再通过时它的方向,这设置了另一个标志,表示方位传感器已经检测到下降.

当两个标志都设置好后,就会发生一个事件来检查用户是否正确等等.我的问题在于阈值,当手机直接保持时,加速度计的绝对值约为9.8米/秒,但当我保持静止时在某个角度它可以超过15米/秒.这导致其他事件触发跌倒检测,如果我增加阈值以避免这种情况,则不会检测跌倒.
任何人都可以在这里给我一些建议,我应该使用哪些可能的值或如何改进我的方法?非常感谢.

android sensor accelerometer detection orientation

14
推荐指数
3
解决办法
2万
查看次数

通过NativeActivity NDK访问(更快的轮询)加速度计

我用NDK更快地搜索了关于轮询加速度计的教程/答案,但还没找到求解器.刚刚在这里找到了androiddevelopers文档.

我需要的是轮询加速度大约每秒100个样本(100Hz),默认情况下我的设备(三星Galaxy SL i9003与姜饼2.3.5)默认SENSOR_DELAY_FASTEST只能获得大约60个样本persecond(60Hz).因此,我尝试通过生成.c文件,通过NativeActivity访问传感器,我试图基于sensor.h和looper.h制作.c文件:

#include <jni.h>
#include <string.h>

#include <android/sensor.h>
#include <android/log.h>
#include <android/looper.h>

#define TAG "accelerondk"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, TAG, __VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__)

#define LOOPER_ID 1
#define SAMP_PER_SEC 100 //i've changed to 120, even 10, but nothing happen

void Java_azka_web_ndk_AcceleroNDKActivity_startMonitoring(JNIEnv* env, jclass clazz) {
    ASensorManager* sensorManager = ASensorManager_getInstance();

    ALooper* looper = ALooper_forThread();
    if(looper == NULL)
        looper = ALooper_prepare(ALOOPER_PREPARE_ALLOW_NON_CALLBACKS);

    ASensorRef accelerometerSensor = ASensorManager_getDefaultSensor(sensorManager,ASENSOR_TYPE_ACCELEROMETER);
    LOGI("accelerometerSensor: %s, vendor: %s", ASensor_getName(accelerometerSensor), ASensor_getVendor(accelerometerSensor));

    ASensorEventQueue* queue = ASensorManager_createEventQueue(sensorManager, looper, LOOPER_ID, …
Run Code Online (Sandbox Code Playgroud)

android native sensor accelerometer android-ndk

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

如何从JavaScript读取串口数据

我使用USB将Arduino连接到我的笔记本电脑,我可以使用Processing读取串行数据.

有没有办法将这些数据实时传输到本地webbrowser?例如,一个显示串口值的文本字段?它不必连接到互联网.

JavaScript版本的Processing不支持以下代码,这可能是理想的解决方案.

处理代码是:

myPort = new Serial(this, Serial.list()[0], 9600);
// read a byte from the serial port
int inByte = myPort.read();
// print it
println(inByte);
// now send this value somewhere...?
// ehm...
Run Code Online (Sandbox Code Playgroud)

javascript processing arduino sensor

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

在iOS中访问环境光传感器

我正在开展一个真正需要访问环境光传感器的项目.

我在Google和Stackoverflow中搜索了很多,但找不到任何有用的信息.甚至可以这样做吗?

我还尝试通过计算相机输入的亮度来计算环境光值,但结果并不十分精确,因为相机会对图像进行大量调整,从而使结果失真.

sensor light ios ambient

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

如何使用Android设备测量HeartBeat

我的问题非常简单直接.是否有任何技术可以通过它来计算使用Android设备的人的心跳.

我用Google搜索并发现了一些使用相机实现它的结果.

任何其他想法或帮助将受到高度赞赏.

谢谢.

android sensor heartbeat

12
推荐指数
1
解决办法
7141
查看次数

C++命令行参数Eclipse CDT?

我正在使用此代码中的示例程序http://sicktoolbox.sourceforge.net/ > http://sourceforge.net/projects/sicktoolbox/files/.它基本上是一个距离扫描仪驱动程序.我想要运行的程序是在sicktoolbox-1.0.1/c ++/examples/lms/lms_plot_values中,以防你想看到我正在谈论的代码.

无论如何,lms_plot_values项目文件夹包含gnuplot_i.cc,gnuplot_i.hpp,main.cc,Makefile,Makefile.am,Makefile.in.所以我把前三个文件放在我的Eclipse Indigo CDT中,编译(没有编译错误,一切都已经在Eclipse中正确链接,并且添加了所有需要的库),但是这个示例程序被编写为接受命令行参数.这是代码得到的.

/*!
 * \file main.cc
 * \brief Illustrates how to acquire a measurements from the Sick
 *        LMS 2xx using the configured measuring mode.
 *
 * Note: This example should work for all Sick LMS 2xx models.
 *
 * Code by Jason C. Derenick and Thomas H. Miller.
 * Contact derenick(at)lehigh(dot)edu
 *
 * The Sick LIDAR Matlab/C++ Toolbox
 * Copyright (c) 2008, Jason C. Derenick and Thomas H. Miller
 * All rights …
Run Code Online (Sandbox Code Playgroud)

c++ command-line eclipse-cdt sensor command-line-arguments

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

基于Java的传感器数据收集库

我正在寻找一个可嵌入的Java库,它适用于以通用方式收集传感器数据的实时流.我计划使用它来开发一个"集线器"应用程序,用于报告在基于JVM的服务器上运行的多个不同的传感器流(也将使用Clojure).

需要关键的事情:

  • 各种常见传感器类型/ API的接口.我很高兴能够自己构建我需要的东西,但是如果开箱即用的标准东西会更好.
  • 适用于"软实时"使用,即相当低的延迟和低开销.
  • 能够在运行时监视和管理流,收集统计信息等.
  • 在合理许可的许可下开源,以便我可以将它与其他代码集成(Apache,EPL,BSD,LGPL都很好)
  • 一个相当活跃的社区/开发者生态系统

是否有适合您可以推荐的此配置文件的内容?

java real-time sensor data-stream

12
推荐指数
1
解决办法
5790
查看次数