车载碰撞和侧翻算法实现.docx

上传人:暗伤 文档编号:101407124 上传时间:2024-11-14 格式:DOCX 页数:5 大小:17.77KB
返回 下载 相关 举报
车载碰撞和侧翻算法实现.docx_第1页
第1页 / 共5页
车载碰撞和侧翻算法实现.docx_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《车载碰撞和侧翻算法实现.docx》由会员分享,可在线阅读,更多相关《车载碰撞和侧翻算法实现.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、车载的侧翻算法根据上面的公式实现,而碰撞时根据三个方向的加速度的值。主要利用了传感器的onSensorChanged来实现。package com.leadcore.edr.packet; import java.util.*; import android.content.Context;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;impor

2、t java.lang.Math;import android.util.Log; public class GSensorService private static final String TAG = GSensorService; private Context mContext = null; private boolean mIsRolloverWarning = false; private boolean mIsCrashWarning = false; public GSensorService(Context context) mContext = context; pri

3、vate final SensorEventListener mSensorListener = new SensorEventListener() Override public void onSensorChanged(SensorEvent event) if (Sensor.TYPE_ACCELEROMETER = event.sensor.getType() float xAxis = event.values0; float yAxis = event.values1; float zAxis = event.values2; float max_accelerometer = G

4、lobalData.getCrashacceleration() * SensorManager.STANDARD_GRAVITY / 10; boolean isOverAccelerometer = Math.abs(xAxis) max_accelerometer | Math.abs(yAxis) max_accelerometer | Math.abs(zAxis) max_accelerometer; if (isOverAccelerometer & !mIsCrashWarning) mIsCrashWarning = true; GlobalData.setWarningFl

5、ag(JTT808.MSG_WARN_CRASH_WARN); Log.i(TAG, crash warning.); else if (!isOverAccelerometer & mIsCrashWarning) mIsCrashWarning = false; GlobalData.ClearWarningFlag(JTT808.MSG_WARN_CRASH_WARN); double rad2 = Math.atan(xAxis / Math.sqrt(yAxis * yAxis + zAxis * zAxis); double degree2 = Math.toDegrees(rad

6、2); int max_degree = GlobalData.getCrashDegree(); if (Math.abs(degree2) = max_degree & !mIsRolloverWarning) mIsRolloverWarning = true; GlobalData.setWarningFlag(JTT808.MSG_WARN_ROLLOVER); Log.i(TAG, Roll over warning.); else if (Math.abs(degree2) max_degree & mIsRolloverWarning) GlobalData.ClearWarn

7、ingFlag(JTT808.MSG_WARN_ROLLOVER); mIsRolloverWarning = false; Override public void onAccuracyChanged(Sensor sensor, int accuracy) / Not used. ; private void registerListener() SensorManager sm = (SensorManager)mContext.getSystemService(Context.SENSOR_SERVICE); sm.registerListener(mSensorListener, sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); public void start() registerListener();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁