CN108986883A - 一种基于Android平台的运动状态识别系统和方法 - Google Patents
一种基于Android平台的运动状态识别系统和方法 Download PDFInfo
- Publication number
- CN108986883A CN108986883A CN201710407200.2A CN201710407200A CN108986883A CN 108986883 A CN108986883 A CN 108986883A CN 201710407200 A CN201710407200 A CN 201710407200A CN 108986883 A CN108986883 A CN 108986883A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- motion scheme
- motion
- scheme
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Operations Research (AREA)
- Mobile Radio Communication Systems (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本发明实施例提出了一种基于Android平台的运动状态识别系统和方法,包括:静态状态识别模块、行走状态识别模块、跑步状态识别模块。本发明实施例提出了一种基于Android平台的运动状态识别系统和方法,能够更为精准的确定使用者的姿态。在精确地识别了使用者的姿态后,还能够针对不同用户提供不同的运动方案,以实现更为精确的用户运动计量和提醒,提高数据的可靠性,提高用户的使用体验。
Description
技术领域
本发明属于电子技术领域,尤其涉及一种基于Android平台的运动状态识别系统和方法。
背景技术
随着技术的发展,各种各样的可穿戴设备逐渐开始普及,其中智能手环一直是一种最常见的可穿戴设备。现有的可穿戴设备(例如智能手环)大多设有计步电路、蓝牙通讯电路,以通过蓝牙连接移动终端(可以为智能手机、平板电脑、PDA等基于Android操作系统的设备),并通过移动终端对计步电路的输出信号进行统计以获取跑步健身数据。其中如何确定使用者的状态(例如跑步状态、步行状态、静止状态)则是确定使用者计步参数非常重要的一环,而现有技术中对于状态识别并不非常准确,导致计步数据很容易产生误差。
发明内容
针对现有技术中存在的跑步健身数据不准确的问题,本发明要解决的技术问题是提供一种基于Android平台的运动状态识别系统和方法,能够更为准确的确定使用者的状态以精确进行计步,提高计算的可靠性。
为了解决上述问题,本发明实施例提出了一种基于Android平台的运动状态识别系统,包括:静态状态识别模块、行走状态识别模块、跑步状态识别模块;
包括:静态状态识别模块、行走状态识别模块、跑步状态识别模块;
其中静止状态识别模块执行以下操作:
步骤11、取连续十个相邻拐点差值的绝对值|Δavr|,如果该连续十个相邻拐点差值的绝对值|Δavr|均小于4.5714,则预判断当前状态为静止状态;否则步骤结束;
步骤12、如果连续十个相邻拐点差值的绝对值|Δavr|之间的时间间隔为0.6s以内,则判断当前状态为静止状态;如果连续十个相邻拐点差值的绝对值|Δavr|之间的时间间隔大于0.6s,则需要判断0.6s内所有|Δavr|是否均小于4.5714;如果是则判断当前状态为静止状态,否则判断当前状态为运动状态;
步骤13、获取步伐判断量|Δstep|,其最大值为1.2253,若此时计步阀值小于1.2253,则当前数据为抖动;
其中行走状态识别模块执行以下操作:通过以下参数判断当前状态是否为行走状态:
其中行走状态下三轴加速度传感器的三轴加速度值Aaccx、Aaccy、Aaccz均为非零值,其中X轴加速度值Aaccx在大小为236.0604的值附近上下波动,其中Y轴加速度值Aaccx在大小为220.197的数值附近上下波动,其中Z轴加速度值Aaccz在大小为239.6163的值附近上下波动;且加速度平均值mAvr在大小为229.0932的值附近上下波动;
如果连续m个相邻拐点差值的绝对值|Δavr|都大于56.274,且小于130.7574,则认为当前状态为行走状态;
其中跑步状态识别模块执行以下操作:通过以下参数判断当前状态是否为跑步状态:
如果连续m个相邻拐点差值的绝对值|Δavr|均大于130.7574,则认为当前状态为跑步状态;
其中所述系统还包括个人中心,所述个人中心中设有用于存储个人信息的个人信息管理模块、历史数据查询模块;
个人信息管理模块用于查看和修改用户基本资料;当用户做下拉操作,且手指未离开触摸屏时,PullToRefreshListView的Header会提示用户下拉可获取最新个人资料;当用户完成下拉操作,即手指离开触摸屏时,会触发PullToRefreshListView的onPullDownToRefresh()函数,此函数为下拉操作的监听函数,获取个人资料的数据请求代码即放在此处构建;当数据获取成功后,个人信息管理模块会展示出用户最新个人信息;当用户需要修改个人信息时,则需要进入用户资料修改页面;用户修改项目后,可点击提交按钮发送修改请求;若服务器端返回码为200,则证明资料修改成功,否则,提示“提交失败”信息,用户需重新提交数据请求;
获取资料接口为“http://www.URL.com:8080/api/user/{user_id}/get”,请求方式为GET,修改接口为“http://www.URL.com:8080/api/user/{user_id}/up”,请求方式为POST;
其中历史数据查询模块用于以图表的形式展示用户运动数据;所述历史数据查询模块使用MPAndroidChart开源图表库绘制数据,以周报、月报、年报的形式生成报告;其中周报、月报、年报都使用fragment实现;初始化完成后,会hide月报和年报fragment,show周报fragment,当点击事件触发相应的tab时,程序会hide其他fragment,show被点击的fragment;每个fragment中的图表均使用MPAndroidChart开源图表库绘制;
历史数据查询模块利用平滑折线图或柱状图进行先似乎;其中平滑曲线图用来展示能量消耗量,柱状图用来展示跑步步数;其中获取所有数据的bean为AllData,ArrayList<T>中泛型T使用AllData代替,将ArrayList强制转换为自定义数据类型;mUserinfo为获取user信息的bean类,通过mUserinfo.getXXX()函数获取制定数据,也可以通过mUserinfo.setXXX()函数存储指定数据;其中所述历史数据查询模块包括以下函数:
initPullToRefresh(),用于初始化PullTorefresh下拉刷新菜单;
AnimlnitData(),用于Fragment初始化时触发数据请求;
getBarData(),用于获取柱状图数据,返回BarData;
showBarChart(),用于获取的BarData数据显示柱状图;
getLineData(),用于获取柱状图数据,返回LineData;
showLineChart(),用于根据获取的LineData数据显示柱状图;
showData(),用于显示数据库中的单个数据。
历史数据的查询接口为:
“http://www.URL.com:8080/api/user/data/{user_id}/up/{flag}”;其中,“{user_id}”为用户的ID,用来区分是哪个用户来查看历史数据,“{flag}”为查询哪种数据的标志量;若“flag”为“0”,则代表下载天气信息;若“flag”为“1”,则代表下载生理参数;若“flag”为“2”,则代表下载运动数据;若“flag”为“3”,则代表下载所有数据;设置“flag”为“3”,获取所以数据。
其中,所述系统还包括:创建模块、编辑模块、显示模块;
所述创建模块用于从运动方案数据库中调用预设的健身方案模板并通过所述显示模块显示给用户,其中所述健身方案模板中至少包括三个预设的运动方案:初级运动方案、中级运动方案、高级运动方案;其中每一预设的运动方案中包括预设的运动参数;且所述创建模块还用于根据用户输入对所述预设的方案进行调整并存储到运动方案数据库中;所述创建模块还用于提取空白运动模板以根据用户选择的运动参数生成自定义运动方案并存储到运动方案数据库;
所述编辑模块用于读取所述运动方案数据库中存储的运动方案并以列表通过显示模块进行显示,并根据用户选择的运动方案调用显示模块将该运动方案对应的运动参数显示给用户;还用于接收用户输入以对运动方案的运动参数进行修改或是删除运动方案,并相应更新运动方案数据库;
所述显示模块用于读取根据创建模块和编辑模块的数据进行显示;
其中所述运动参数至少包括以下的一种:目标计步值、运动项目、每一运动项目的目标值、目标总运动量、目标消耗量、运动时间段;
其中所述创建模块执行以下操作:
在PlanShowActivity界面顶部设置有一个创建按键以监听函数调用startActivityForResult()跳转到创建页面,创建页面利用ListView控件将健身方案模板中的设的运动方案以列表形式进行显示;且所述创建页面上有详情按键以被选中的运动方案的运动参数显示给用户;
在用户完成创建步骤时PlanShowActivity界面通过OnActivityResult()函数获取用户输入的数据存储到运动方案数据库;
在用户点击非详情按键的位置时ListView的点击监听函数会调用setResult()方法将选中运动方案的ID及信息返回给PlanShowActivity,并调用finish()方法销毁PlanCreateActivity界面;
其中所述编辑模块执行以下操作:
编辑模块调用显示模块的PlanShowActivity界面以将运动方案数据库中存储的运动方案以列表形式显示,当用户点击运动方案时ListView点击事件监听函数会调用startActivityForResult()函数跳转到PlanEditActivity界面,并调用运动方案数据库的查询函数来查询该运动方案的信息,然后调用ProgressBar显示该运动方案的完成度;
编辑模块在接收到用户点击开始训练按钮后,按钮点击事件监听函数会调用startActivity()函数将界面跳转至首页并等待用户开启训练,同时PlanEditActivity界面会调用finish()函数销毁界面;
编辑模块在接收到用户点击删除按钮后,按钮点击事件监听函数会调用运动方案数据库的删除方法删除数据,并调用finish()函数销毁界面,同时调用setResult()方法返回删除命令以指示显示界面删除该运动方案;
其中,所述显示模块执行以下操作:
通过PlanShowActivity界面初始化Listyiew控件,然后查询free_running.db数据库中用户自建的所有运动方案,最后将查询的方案显示在列表中;
当用户创建或删除运动方案时,PlanShowActivity界面调用OnActivityResult()函数接收目标Activity页面返回的信息,并根据返回的信息调整ListView函数的显示。
其中,所述OnActivityResult()有三个参数:请求码requestCode、返回码resultCode、意图data;其中所述意图datat用于处理两个Activity页面之间的传值;其中利用data.getXXXExtra()方法获取Activity页面的返回数据,利用请求码requestCode发送请求的Activity页面,利用返回码resultCode区分返回信息属于哪个Activity页面;
其中PlanCreateActivity页面的resultCode为0,PlanEditActivity页面的resultCod为1;当显示模块接收到的resultCode为0时则将对应的运动方案添加到该页面的ListView列表中;而接收到的resultCode为1时则将对应的运动方案删除。
同时,本发明实施例还提出了一种基于Android平台的运动状态识别方法,包括:静态状态识别步骤、行走状态识别步骤、跑步状态识别步骤;
其中静止状态识别步骤包括:
步骤11、取连续十个相邻拐点差值的绝对值|Δavr|,如果该连续十个相邻拐点差值的绝对值|Δavr|均小于4.5714,则预判断当前状态为静止状态;否则步骤结束;
步骤12、如果连续十个相邻拐点差值的绝对值|Δavr|之间的时间间隔为0.6s以内,则判断当前状态为静止状态;如果连续十个相邻拐点差值的绝对值|Δavr|之间的时间间隔大于0.6s,则需要判断0.6s内所有|Δavr|是否均小于4.5714;如果是则判断当前状态为静止状态,否则判断当前状态为运动状态;
步骤13、获取步伐判断量|Δstep|,其最大值为1.2253,若此时计步阀值小于1.2253,则当前数据为抖动;
其中行走状态识别步骤包括:通过以下参数判断当前状态是否为行走状态:
其中行走状态下三轴加速度传感器的三轴加速度值Aaccx、Aaccy、Aaccz均为非零值,其中X轴加速度值Aaccx在大小为236.0604的值附近上下波动,其中Y轴加速度值Aaccx在大小为220.197的数值附近上下波动,其中Z轴加速度值Aaccz在大小为239.6163的值附近上下波动;且加速度平均值mAvr在大小为229.0932的值附近上下波动;
如果连续m个相邻拐点差值的绝对值|Δavr|都大于56.274,且小于130.7574,则认为当前状态为行走状态;
其中跑步状态识别步骤包括:通过以下参数判断当前状态是否为跑步状态:
如果连续m个相邻拐点差值的绝对值|Δavr|均大于130.7574,则认为当前状态为跑步状态。
其中,所述方法还包括:获取相邻拐点差值的绝对值|Δavr|进行;如果|Δavr|>4.5714则认为波形有效,否则将此波动作为噪声干扰。
其中,所述方法还包括:创建步骤、编辑步骤、显示步骤;
所述创建模步骤用于从运动方案数据库中调用预设的健身方案模板并通过所述显示步骤显示给用户,其中所述健身方案模板中至少包括三个预设的运动方案:初级运动方案、中级运动方案、高级运动方案;其中每一预设的运动方案中包括预设的运动参数;且所述创建步骤还用于根据用户输入对所述预设的方案进行调整并存储到运动方案数据库中;所述创建步骤还用于提取空白运动模板以根据用户选择的运动参数生成自定义运动方案并存储到运动方案数据库;
所述编辑步骤用于读取所述运动方案数据库中存储的运动方案并以列表通过显示步骤进行显示,并根据用户选择的运动方案调用显示步骤将该运动方案对应的运动参数显示给用户;还用于接收用户输入以对运动方案的运动参数进行修改或是删除运动方案,并相应更新运动方案数据库;
所述显示步骤用于读取根据创建步骤和编辑步骤的数据进行显示;
其中所述运动参数至少包括以下的一种:目标计步值、运动项目、每一运动项目的目标值、目标总运动量、目标消耗量、运动时间段;
其中所述创建步骤执行以下操作:
在PlanShowActivity界面顶部设置有一个创建按键以监听函数调用startActivityForResult()跳转到创建页面,创建页面利用ListView控件将健身方案模板中的设的运动方案以列表形式进行显示;且所述创建页面上有详情按键以被选中的运动方案的运动参数显示给用户;
在用户完成创建步骤时PlanShowActivity界面通过OnActivityResult()函数获取用户输入的数据存储到运动方案数据库;
在用户点击非详情按键的位置时ListView的点击监听函数会调用setResult()方法将选中运动方案的ID及信息返回给PlanShowActivity,并调用finish()方法销毁PlanCreateActivity界面;
其中所述编辑步骤执行以下操作:
编辑步骤调用显示步骤的PlanShowActivity界面以将运动方案数据库中存储的运动方案以列表形式显示,当用户点击运动方案时ListView点击事件监听函数会调用startActivityForResult()函数跳转到PlanEditActivity界面,并调用运动方案数据库的查询函数来查询该运动方案的信息,然后调用ProgressBar显示该运动方案的完成度;
编辑步骤在接收到用户点击开始训练按钮后,按钮点击事件监听函数会调用startActivity()函数将界面跳转至首页并等待用户开启训练,同时PlanEditActivity界面会调用finish()函数销毁界面;
编辑步骤在接收到用户点击删除按钮后,按钮点击事件监听函数会调用运动方案数据库的删除方法删除数据,并调用finish()函数销毁界面,同时调用setResult()方法返回删除命令以指示显示界面删除该运动方案;
其中,所述显示步骤执行以下操作:
通过PlanShowActivity界面初始化Listview控件,然后查询free_running.db数据库中用户自建的所有运动方案,最后将查询的方案显示在列表中;
当用户创建或删除运动方案时,PlanShowActivity界面调用OnActivityResult()函数接收目标Activity页面返回的信息,并根据返回的信息调整ListView函数的显示。
其中,所述OnActivityResult()有三个参数:请求码requestCode、返回码resultCode、意图data;其中所述意图datat用于处理两个Activity页面之间的传值;其中利用data.getXXXExtra()方法获取Activity页面的返回数据,利用请求码requestCode发送请求的Activity页面,利用返回码resultCode区分返回信息属于哪个Activity页面;
其中PlanCreateActivity页面的resultCode为0,PlanEditActivity页面的resultCod为1;当显示步骤接收到的resultCode为0时则将对应的运动方案添加到该页面的ListView列表中;而接收到的resultCode为1时则将对应的运动方案删除。
本发明的上述技术方案的有益效果如下:本发明实施例提出了一种基于Android平台的运动状态识别系统和方法,能够更为精准的确定使用者的姿态,同时还能够针对不同用户提供不同的运动方案,以实现更为精确的用户运动计量和提醒,提高数据的可靠性,提高用户的使用体验。
附图说明
图1为静止状态下的三轴加速度计的输出波形;
图2为行走状态下的三轴加速度计的输出波形;
图3为跑步状态下的三轴加速度计的输出波形;
图4为本发明实施例的运动方案管理系统的整体架构图;
图5为本发明实施例的运动方案的创建模块的工作流程图;
图6为本发明实施例的运动方案创建界面;
图7为本发明实施例的运动方案的编辑模块的工作流程图;
图8为本发明实施例的运动方案编辑界面;
图9为本发明实施例的显示模块的工作流程图;
图10为本发明实施例的运动方案显示界面;
图11为本发明实施例的个人中心框架图;
图12为历史数据查询结果示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
针对现有技术中运动轨迹绘制不准确的问题,本发明实施例提出了一种基于Android平台的运动状态识别系统和方法,运动状态识别主要用来识别三种运动状态:静止、行走与跑步。通过大量实验,统计出了不同运动状态下加速度数据的不同特征值,并用这些特征值反过来识别人体相应的运动状态。在获取到用户较多数据之后,还可以动态修改不同运动状态下计步阈值的大小,从而适应不同用户的运动习惯(计步阈值为初始值)。实验中被测者身高为175cm,体重75公斤的成年男子,被测加速度均为经过滤波、放大、补偿的修正值,非原值。
运动状态识别的特征值为相邻拐点差值的绝对值,若|Δ|>4.5714(统计值)则认为波形有效,不可忽略。否则,将此波动看作噪声干扰,不予计算(静止状态下特殊考虑)。
1.静止状态识别
图1为人体静止状态下相关数据统计图。图1的前三个数据为各个轴上的加速度值,人体在静止状态下各个轴上的加速度基本保持不变。其中,垂直方向加速度受重力影响为非零值(修正后数值为200),其余方向上加速度在零值附近波动(噪声和谐波干扰造成的波动。另外,采集数据时被测者身体晃动也会造成非垂直方向上加速度的波动。其修正后数值为235,不为零值)。
第四个数据为加速度平均值mAvr,其最大值为224.2693,最小值为222.84,其差值绝对值最大只有1.4293,小于4.5714。所以,需要做特殊处理,方法如下:
(1)取连续N个|Δ|(经测试N为10时效果较为良好),如果N个连续|Δ|均小于4.5714,则可初步认为为静止状态,此时需要进一步判断。
(2)如果这N个连续值持续时间大于0.6s(人体行走频率最快为50Hz,0.6s为极限情况下迈出三步所需时间),则认为此时处于静止状态。满足则认为运动者处于静止状态,不满足则认为为运动状态。
计步阈值确定:步伐判断量|Δ|最大值为1.2253,若此时计步阈值小于1.2253,则会将抖动误认为迈出动作。所以,静止状态下应将计步阈值设置为大于1.2253的值,即静止状态下计步阈值的下限为1.2253。计步阈值的上限由行走状态下mAvr波谷振幅最小处对应的|Δ|决定(该值为49.9981)。为取得最佳计步效果,计步阈值确定为阈值上下限的平均值(计算为25.6117),这样既能保证不将身体抖动误认为跑步动作,也可以保证不将个别较大干扰波动误认为跑步动作。
2.行走状态识别
人体行走状态是一种有规律可循的周期性行为。忽略人体上体动作,人体迈出一步的动作可分解为左脚触地、右脚迈出、双脚触地三个阶段(另一组动作与之相同)。此过程中垂直方向上加速度值变化最大,但会在某一固定值附近上下波动,水平方向受惯性及摩擦力的影响,也会在某个固定值附近波动。此外,人体行走时不可避免的会发生左右晃动,此时也会在第三个坐标轴方向产生周期性波动。所以产生的mAvr也会周期性的在某个固定值附近发生小范围波动。人体行走状态下的数据统计如图2.
由图2可知,行走状态下Aaccx、Aaccy、Aaccz的值均为非零值,且具有很强的规律性。其中,Aaccx在大小为236.0604的值附近上下波动,Aaccx在大小为220.197的数值附近上下波动,而Aaccz在大小为239.6163的值附近上下波动,并且加速度平均值mAvr同样在大小为229.0932的值附近上下波动。
mAvr有效波形的最大值为261.044,最小为204.77,差值绝对值为56.274。所以,如果连续m个|Δ|均小于56.274,且大于4.5714(有效波形最小值),则认为人体处于行走状态。
计步阈值的确定:考虑到mAvr的波谷处代表一次有效计步,所以,计步阈值的上限为mAvr波谷振幅最小处对应的|Δ|(该值为49.9981),下限静止状态下的计步阈值,取平均值可得最终的计步阈值,其值为37.8049。
3.跑步状态识别
跑步运动的加速度变化状况与行走时基本相同,不同的地方在于其幅值波动更为剧烈,完成一个动作的周期更长,且有腾空期。图3为跑步状态下的统计数据。
由图3展示的数据可知,mAvr有效波形的最大值为316.0027,最小为210.2453,其差值的绝对值为130.7574。如果连续m个|Δ|均小于130.7574且大于56.274(行走状态判别条件的最大值),则认为人体处于跑步状态。计步阈值的上限为mAvr波谷振幅最小处对应的|Δ|(该值为89.9981),下限为行走状态下的计步阈值,取平均值可得最终的计步阈值,其值为63.9015。
进一步的,为了调高健身效果,本发明实施例中还提出了一种运动方案管理技术,其具体包括:本发明实施例中给出了三种最常用的步行(跑步)健身方案:一种是适合初学者、老人的初级运动方案;一种是适合学生、上班族的中级运动方案;一种是适合跑步达人的专业运动方案。初级方案主要以健康状况和体能的评估作为制定方案的依据,中级方案主要以有氧运动标准作为制定方案的依据,高级方案以运动员训练标准作为制定方案的依据。运动方案主要实现运动方案的创建、展示及编辑功能,其实现框架如图4。
由图4可知,运动方案管理功能模块主要由三个Activity组成:由PlanCreateActivity类创建的“运动方案创建”界面、由PlanEditActivity类创建的“运动方案编辑”界面,由PlanShowActivity类创建的“运动方案展示”界面。
1.运动方案的创建
运动方案创建流程如图5。运动方案的创建需要“运动方案展示”界面和“运动方案创建”界面的联合运作才能实现。在PlanShowActivity界面顶部设置有一个“创建”button(button监听函数调用startActivityForResult()方法实现界面跳转,使用该方法可以获得目标Activity的返回参数),点击button可进入由PlanCreateActivity类创建的“运动方案创建”界面。界面会将运动方案以列表形式展示给用户(列表使用ListView控件生成),列表项设置有“详情”按钮,用户可点击“详情”按钮查看方案详情。当用户点击某一列表项除“详情”按钮以外的任何地方时,会触发ListView的点击监听函数,该函数会调用setResult()方法将选中运动方案的id及相关方案信息返回给PlanShowActivity,并调用finish()方法销毁PlanCreateActivity界面。如果PlanShowActivity界面通过OnActivityResult()函数获取到相关数据,并成功存储到本地数据库中,则表示该运动方案创建成功,效果如图6。
2.运动方案的编辑
图7为编辑功能实现流程图。编辑功能的实现需要PlanShowActivity界面的配合。在单击运动方案之后,ListView点击事件监听函数会调用startActivityForResult()函数跳转到PlanEditActivity界面。跳转之后,编辑程序会调用数据库查询函数查询该方案的信息,然后调用ProgressBar显示该方案的进度。数据库查询代码如下:
MPlan=mDbUtils.findAll(Selector.from(MyPlan.class).where(“plan_id”.”=”,num))
其中,mPlan为ArrayList<MyPlan>数组,用来接收查询到的数据。mDbUtils为操作free_running.db数据库的全局变量。在application中初始化,其生命周期跟随App生命周期。“plan_id”为需要巡查的字段,“num”指当前运动方案“plan_id”的编号,MyPlan为方案的实体类。
除显示当前方案的进度外,编辑功能还需实现开启训练和删除方案两个操作。当点击“开始训练”按钮,按钮点击事件监听函数会调用startActivity()函数将界面跳转至首页,等待用户开启训练,同时PlanEditActivity会调用finish()函数销毁界面。当点击“删除”按钮时,按钮点击事件监听函数会调用数据库删除方法删除数据,之后销毁该页面,并调用setResult()方法返回删除命令,指示展示界面删除该方案。数据库删除代码如下:
MDbUtils.delete(Myplan.class,WhereBuilder.b(“plan_id”,“=”,num);
编辑功能效果如图8。
3.运动方案展示
图9为展示功能实现流程。运动方案展示界面主要用来展示用户的自建跑步方案,同时也为运动方案的创建和编辑提供必要的支持。由图6可知,PlanShowActivity界面首先会初始化Listview控件,然后查询free_running.db数据库中用户自建的所有运动方案,最后将查询的方案显示在列表中,从而实现数据显示功能。其数据库查询代码如下:
mMyPlan=mDbUtils.findAll(MyPlan.class);
其中,findAll()为数据库查询函数,用来查询当前用户自建的所有运动方案,mMyPlan为ArrayList<MyPlan>数组,用来暂存查询到的所有运动方案。
由于用户创建和删除运动方案的操作均会影响到PlanShowActivity界面的显示。所以,该页面会调用OnActivityResult()函数接收目标Activity页面返回的信息,并根据返回信息调整ListView的显示。OnActivityResult()有三个参数,分别为请求码requestCode(int型)、返回码resultCode(int型)及“意图”data(intent型)。其中,data用来处理两个Activity之间传值的问题,可使用data.getXXXExtra()方法可获取Activity返回数据。requestCode用来标识发送请求的Activity,resultCode用来区分是哪个Activity返回的信息。
本模块设置PlanCreateActivity的resultCode为“0”,PlanEditActivity的resultCod为“1”。若接收到的resultCode为“0”,则将返回的运动方案添加到该页面的ListView列表中(同时将信息储到本地数据库),若接收到的resultCode为“1”,则判断返回的信息是否为删除指令,若为删除指令则删除该方案,否则保留该方案。展示功能效果如图10。
进一步的,本发明实施例中还可以包括个人中心,以存储和现实历史数据。
个人中心模块主要包括个人信息展管理功能和历史数据查询功能(包含生理参数查询和运动数据查询两部分),该模块主要由MyCenterAtivity类实现,组织框架如图11。
(1)个人信息管理模块设计
个人信息管理模块主要用来查看和修改用户基本资料。当用户做下拉操作,且手指未离开触摸屏时(手指未离开表示下拉操作并未完成),PullToRefreshListView的Header会提示用户下拉可获取最新个人资料。当用户完成下拉操作,即手指离开触摸屏时,会触发PullToRefreshListView的onPullDownToRefresh()函数,此函数为下拉操作的监听函数,获取个人资料的数据请求代码即放在此处构建。当数据获取成功后,个人信息管理模块会展示出用户最新个人信息。当用户需要修改个人信息时,则需要进入用户资料修改页面。用户修改项目后,可点击提交按钮发送修改请求。若服务器端返回码为200(即“ResultCode”的值为“200”),则证明资料修改成功,否则,提示“提交失败”信息,用户需重新提交数据请求。
获取资料接口为“http://www.URL.com:8080/api/user/{user_id}/get”,请求方式为GET,修改接口为“http://www.URL.com:8080/api/user/{user_id}/up”,请求方式为POST。
(2)历史数据查询模块设计
历史数据查询模块主要以图表的形式展示用户运动数据。设计使用MPAndroidChart开源图表库绘制相关数据,MPAndroidChart能够很好的支持多种常用图表,且与AChartEngine等其他图表库相比,该图表库更轻巧、更友好。此外,该图表库还支持数据高亮显示与图形缩放。
本模块由周报、月报、年报三部分组成,三个切换模块使用fragment实现。初始化完成后,会hide月报和年报fragment,show周报fragment,当点击事件触发相应的tab时,程序会hide其他fragment,show被点击的fragment。每个fragment中的图表均使用MPAndroidChart开源图表库绘制。
历史数据查询模块主要采用了两种图表显示形式:一种为平滑折线图,一种为柱状图。为更直观的表现不同数据的特征,设计使用平滑曲线图来展示能量消耗量等信息,使用柱状图来展示跑步步数等数据。获取所有数据的bean为AllData,ArrayList<T>中泛型T使用AllData代替,将ArrayList强制转换为自定义数据类型。mUserinfo为获取user信息的bean类,通过mUserinfo.getXXX()函数获取制定数据,也可以通过mUserinfo.setXXX()函数存储指定数据。图中各函数功能如表3。
表3历史数据查询各函数功能表
历史数据的查询接口为:
“http://www.URL.com:8080/api/user/data/{user_id}/up/{flag}”。其中,“{user_id}”为用户的ID,用来区分是哪个用户来查看历史数据,“{flag}”为查询哪种数据的标志量。若“flag”为“0”,则代表下载天气信息;若“flag”为“1”,则代表下载生理参数;若“flag”为“2”,则代表下载运动数据;若“flag”为“3”,则代表下载所有数据。设置“flag”为“3”,获取所以数据,结果如图12。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于Android平台的运动状态识别系统,其特征在于,包括:静态状态识别模块、行走状态识别模块、跑步状态识别模块;
其中静止状态识别模块执行以下操作:
步骤11、取连续十个相邻拐点差值的绝对值|Δavr|,如果该连续十个相邻拐点差值的绝对值|Δavr|均小于4.5714,则预判断当前状态为静止状态;否则步骤结束;
步骤12、如果连续十个相邻拐点差值的绝对值|Δavr|之间的时间间隔为0.6s以内,则判断当前状态为静止状态;如果连续十个相邻拐点差值的绝对值|Δavr|之间的时间间隔大于0.6s,则需要判断0.6s内所有|Δavr|是否均小于4.5714;如果是则判断当前状态为静止状态,否则判断当前状态为运动状态;
步骤13、获取步伐判断量|Δstep|,其最大值为1.2253,若此时计步阀值小于1.2253,则当前数据为抖动;
其中行走状态识别模块执行以下操作:通过以下参数判断当前状态是否为行走状态:
其中行走状态下三轴加速度传感器的三轴加速度值Aaccx、Aaccy、Aaccz均为非零值,其中X轴加速度值Aaccx在大小为236.0604的值附近上下波动,其中Y轴加速度值Aaccx在大小为220.197的数值附近上下波动,其中Z轴加速度值Aaccz在大小为239.6163的值附近上下波动;且加速度平均值mAvr在大小为229.0932的值附近上下波动;
如果连续m个相邻拐点差值的绝对值|Δavr|都大于56.274,且小于130.7574,则认为当前状态为行走状态;
其中跑步状态识别模块执行以下操作:通过以下参数判断当前状态是否为跑步状态:
如果连续m个相邻拐点差值的绝对值|Δavr|均大于130.7574,则认为当前状态为跑步状态;
其中所述系统还包括个人中心,所述个人中心连接所述静态状态识别模块、行走状态识别模块、跑步状态识别模块以接收并存储数据;其中所述个人中心包括:个人信息管理模块、历史数据查询模块;
个人信息管理模块用于查看和修改用户基本资料;当用户做下拉操作,且手指未离开触摸屏时,PullToRefreshListView的Header会提示用户下拉可获取最新个人资料;当用户完成下拉操作,即手指离开触摸屏时,会触发PullToRefreshListView的onPullDownToRefresh()函数,此函数为下拉操作的监听函数,获取个人资料的数据请求代码即放在此处构建;当数据获取成功后,个人信息管理模块会展示出用户最新个人信息;当用户需要修改个人信息时,则需要进入用户资料修改页面;用户修改项目后,可点击提交按钮发送修改请求;若服务器端返回码为200,则证明资料修改成功,否则,提示“提交失败”信息,用户需重新提交数据请求;
获取资料接口为“http://www.URL.com:8080/api/user/{user_id}/get”,请求方式为GET,修改接口为“http://www.URL.com:8080/api/user/{user_id}/up”,请求方式为POST;
其中历史数据查询模块用于以图表的形式展示用户运动数据;所述历史数据查询模块使用MPAndroidChart开源图表库绘制数据,以周报、月报、年报的形式生成报告;其中周报、月报、年报都使用fragment实现;初始化完成后,会hide月报和年报fragment,show周报fragment,当点击事件触发相应的tab时,程序会hide其他fragment,show被点击的fragment;每个fragment中的图表均使用MPAndroidChart开源图表库绘制;
历史数据查询模块利用平滑折线图或柱状图进行先似乎;其中平滑曲线图用来展示能量消耗量,柱状图用来展示跑步步数;其中获取所有数据的bean为AllData,ArrayList<T>中泛型T使用AllData代替,将ArrayList强制转换为自定义数据类型;mUserinfo为获取user信息的bean类,通过mUserinfo.getXXX()函数获取制定数据,也可以通过mUserinfo.setXXX()函数存储指定数据;其中所述历史数据查询模块包括以下函数:
initPullToRefresh(),用于初始化PullTorefresh下拉刷新菜单;
AnimlnitData(),用于Fragment初始化时触发数据请求;
getBarData(),用于获取柱状图数据,返回BarData;
showBarChart(),用于获取的BarData数据显示柱状图;
getLineData(),用于获取柱状图数据,返回LineData;
showLineChart(),用于根据获取的LineData数据显示柱状图;
showData(),用于显示数据库中的单个数据。
历史数据的查询接口为:
“http://www.URL.com:8080/api/user/data/{user_id}/up/{flag}”;其中,“{user_id}”为用户的ID,用来区分是哪个用户来查看历史数据,“{flag}”为查询哪种数据的标志量;若“flag”为“0”,则代表下载天气信息;若“flag”为“1”,则代表下载生理参数;若“flag”为“2”,则代表下载运动数据;若“flag”为“3”,则代表下载所有数据;设置“flag”为“3”,获取所以数据。
2.根据权利要求1所述的基于Android平台的运动状态识别系统,其特征在于,所述系统还包括:获取相邻拐点差值的绝对值|Δavr|进行;如果|Δavr|>4.5714则认为波形有效,否则将此波动作为噪声干扰。
3.根据权利要求1所述的基于Android平台的运动状态识别系统,其特征在于,所述系统还包括:创建模块、编辑模块、显示模块;
所述创建模块用于从运动方案数据库中调用预设的健身方案模板并通过所述显示模块显示给用户,其中所述健身方案模板中至少包括三个预设的运动方案:初级运动方案、中级运动方案、高级运动方案;其中每一预设的运动方案中包括预设的运动参数;且所述创建模块还用于根据用户输入对所述预设的方案进行调整并存储到运动方案数据库中;所述创建模块还用于提取空白运动模板以根据用户选择的运动参数生成自定义运动方案并存储到运动方案数据库;
所述编辑模块用于读取所述运动方案数据库中存储的运动方案并以列表通过显示模块进行显示,并根据用户选择的运动方案调用显示模块将该运动方案对应的运动参数显示给用户;还用于接收用户输入以对运动方案的运动参数进行修改或是删除运动方案,并相应更新运动方案数据库;
所述显示模块用于读取根据创建模块和编辑模块的数据进行显示;
其中所述运动参数至少包括以下的一种:目标计步值、运动项目、每一运动项目的目标值、目标总运动量、目标消耗量、运动时间段;
其中所述创建模块执行以下操作:
在PlanShowActivity界面顶部设置有一个创建按键以监听函数调用startActivityForResult()跳转到创建页面,创建页面利用ListView控件将健身方案模板中的设的运动方案以列表形式进行显示;且所述创建页面上有详情按键以被选中的运动方案的运动参数显示给用户;
在用户完成创建步骤时PlanShowActivity界面通过OnActivityResult()函数获取用户输入的数据存储到运动方案数据库;
在用户点击非详情按键的位置时ListView的点击监听函数会调用setResult()方法将选中运动方案的ID及信息返回给PlanShowActivity,并调用finish()方法销毁PlanCreateActivity界面;
其中所述编辑模块执行以下操作:
编辑模块调用显示模块的PlanShowActivity界面以将运动方案数据库中存储的运动方案以列表形式显示,当用户点击运动方案时ListView点击事件监听函数会调用startActivityForResult()函数跳转到PlanEditActivity界面,并调用运动方案数据库的查询函数来查询该运动方案的信息,然后调用ProgressBar显示该运动方案的完成度;
编辑模块在接收到用户点击开始训练按钮后,按钮点击事件监听函数会调用startActivity()函数将界面跳转至首页并等待用户开启训练,同时PlanEditActivity界面会调用finish()函数销毁界面;
编辑模块在接收到用户点击删除按钮后,按钮点击事件监听函数会调用运动方案数据库的删除方法删除数据,并调用finish()函数销毁界面,同时调用setResult()方法返回删除命令以指示显示界面删除该运动方案;
其中,所述显示模块执行以下操作:
通过PlanShowActivity界面初始化Listyiew控件,然后查询free_running.db数据库中用户自建的所有运动方案,最后将查询的方案显示在列表中;
当用户创建或删除运动方案时,PlanShowActivity界面调用OnActivityResult()函数接收目标Activity页面返回的信息,并根据返回的信息调整ListView函数的显示。
4.根据权利要求3所述的基于Android平台的运动状态识别系统,其特征在于,所述OnActivityResult()有三个参数:请求码requestCode、返回码resultCode、意图data;其中所述意图datat用于处理两个Activity页面之间的传值;其中利用data.getXXXExtra()方法获取Activity页面的返回数据,利用请求码requestCode发送请求的Activity页面,利用返回码resultCode区分返回信息属于哪个Activity页面;
其中PlanCreateActivity页面的resultCode为0,PlanEditActivity页面的resultCod为1;当显示模块接收到的resultCode为0时则将对应的运动方案添加到该页面的ListView列表中;而接收到的resultCode为1时则将对应的运动方案删除。
5.一种基于Android平台的运动状态识别方法,其特征在于,包括:静态状态识别步骤、行走状态识别步骤、跑步状态识别步骤;
其中静止状态识别步骤包括:
步骤11、取连续十个相邻拐点差值的绝对值|Δavr|,如果该连续十个相邻拐点差值的绝对值|Δavr|均小于4.5714,则预判断当前状态为静止状态;否则步骤结束;
步骤12、如果连续十个相邻拐点差值的绝对值|Δavr|之间的时间间隔为0.6s以内,则判断当前状态为静止状态;如果连续十个相邻拐点差值的绝对值|Δavr|之间的时间间隔大于0.6s,则需要判断0.6s内所有|Δavr|是否均小于4.5714;如果是则判断当前状态为静止状态,否则判断当前状态为运动状态;
步骤13、获取步伐判断量|Δstep|,其最大值为1.2253,若此时计步阀值小于1.2253,则当前数据为抖动;
其中行走状态识别步骤包括:通过以下参数判断当前状态是否为行走状态:
其中行走状态下三轴加速度传感器的三轴加速度值Aaccx、Aaccy、Aaccz均为非零值,其中X轴加速度值Aaccx在大小为236.0604的值附近上下波动,其中Y轴加速度值Aaccx在大小为220.197的数值附近上下波动,其中Z轴加速度值Aaccz在大小为239.6163的值附近上下波动;且加速度平均值mAvr在大小为229.0932的值附近上下波动;
如果连续m个相邻拐点差值的绝对值|Δavr|都大于56.274,且小于130.7574,则认为当前状态为行走状态;
其中跑步状态识别步骤包括:通过以下参数判断当前状态是否为跑步状态:
如果连续m个相邻拐点差值的绝对值|Δavr|均大于130.7574,则认为当前状态为跑步状态。
6.根据权利要求5所述的基于Android平台的运动状态识别方法,其特征在于,所述系统还包括:获取相邻拐点差值的绝对值|Δavr|进行;如果|Δavr|>4.5714则认为波形有效,否则将此波动作为噪声干扰。
7.根据权利要求5所述的基于Android平台的运动状态识别方法,其特征在于,所述方法还包括:创建步骤、编辑步骤、显示步骤;
所述创建模步骤用于从运动方案数据库中调用预设的健身方案模板并通过所述显示步骤显示给用户,其中所述健身方案模板中至少包括三个预设的运动方案:初级运动方案、中级运动方案、高级运动方案;其中每一预设的运动方案中包括预设的运动参数;且所述创建步骤还用于根据用户输入对所述预设的方案进行调整并存储到运动方案数据库中;所述创建步骤还用于提取空白运动模板以根据用户选择的运动参数生成自定义运动方案并存储到运动方案数据库;
所述编辑步骤用于读取所述运动方案数据库中存储的运动方案并以列表通过显示步骤进行显示,并根据用户选择的运动方案调用显示步骤将该运动方案对应的运动参数显示给用户;还用于接收用户输入以对运动方案的运动参数进行修改或是删除运动方案,并相应更新运动方案数据库;
所述显示步骤用于读取根据创建步骤和编辑步骤的数据进行显示;
其中所述运动参数至少包括以下的一种:目标计步值、运动项目、每一运动项目的目标值、目标总运动量、目标消耗量、运动时间段;
其中所述创建步骤执行以下操作:
在PlanShowActivity界面顶部设置有一个创建按键以监听函数调用startActivityForResult()跳转到创建页面,创建页面利用ListView控件将健身方案模板中的设的运动方案以列表形式进行显示;且所述创建页面上有详情按键以被选中的运动方案的运动参数显示给用户;
在用户完成创建步骤时PlanShowActivity界面通过OnActivityResult()函数获取用户输入的数据存储到运动方案数据库;
在用户点击非详情按键的位置时ListView的点击监听函数会调用setResult()方法将选中运动方案的ID及信息返回给PlanShowActivity,并调用finish()方法销毁PlanCreateActivity界面;
其中所述编辑步骤执行以下操作:
编辑步骤调用显示步骤的PlanShowActivity界面以将运动方案数据库中存储的运动方案以列表形式显示,当用户点击运动方案时ListView点击事件监听函数会调用startActivityForResult()函数跳转到PlanEditActivity界面,并调用运动方案数据库的查询函数来查询该运动方案的信息,然后调用ProgressBar显示该运动方案的完成度;
编辑步骤在接收到用户点击开始训练按钮后,按钮点击事件监听函数会调用startActivity()函数将界面跳转至首页并等待用户开启训练,同时PlanEditActivity界面会调用finish()函数销毁界面;
编辑步骤在接收到用户点击删除按钮后,按钮点击事件监听函数会调用运动方案数据库的删除方法删除数据,并调用finish()函数销毁界面,同时调用setResult()方法返回删除命令以指示显示界面删除该运动方案;
其中,所述显示步骤执行以下操作:
通过PlanShowActivity界面初始化Listview控件,然后查询free_running.db数据库中用户自建的所有运动方案,最后将查询的方案显示在列表中;
当用户创建或删除运动方案时,PlanShowActivity界面调用OnActivityResult()函数接收目标Activity页面返回的信息,并根据返回的信息调整ListView函数的显示。
8.根据权利要求7所述的基于Android平台的运动状态识别方法,其特征在于,所述OnActivityResult()有三个参数:请求码requestCode、返回码rssultCode、意图data;其中所述意图datat用于处理两个Activity页面之间的传值;其中利用data.getXXXExtra()方法获取Activity页面的返回数据,利用请求码requestCode发送请求的Activity页面,利用返回码resultCode区分返回信息属于哪个Activity页面;
其中PlanCreateActivity页面的resultCode为0,PlanEditActivity页面的resultCod为1;当显示步骤接收到的resultCode为0时则将对应的运动方案添加到该页面的ListView列表中;而接收到的resultCode为1时则将对应的运动方案删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710407200.2A CN108986883B (zh) | 2017-06-02 | 2017-06-02 | 一种基于Android平台的运动状态识别系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710407200.2A CN108986883B (zh) | 2017-06-02 | 2017-06-02 | 一种基于Android平台的运动状态识别系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108986883A true CN108986883A (zh) | 2018-12-11 |
CN108986883B CN108986883B (zh) | 2021-08-10 |
Family
ID=64502562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710407200.2A Active CN108986883B (zh) | 2017-06-02 | 2017-06-02 | 一种基于Android平台的运动状态识别系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108986883B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111077548A (zh) * | 2019-12-31 | 2020-04-28 | 重庆金康特智能穿戴技术研究院有限公司 | 一种基于Android系统的骑行定位数据优化方法 |
CN112539763A (zh) * | 2020-12-08 | 2021-03-23 | 歌尔科技有限公司 | 运动状态的分类方法、计步装置及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354265A (zh) * | 2008-08-19 | 2009-01-28 | 幻音科技(深圳)有限公司 | 计步方法、步幅校正方法、测距方法及计步装置 |
CN101894252A (zh) * | 2010-03-29 | 2010-11-24 | 天津大学 | 基于3轴加速度传感器信号的步行运动分类方法 |
JP2012098254A (ja) * | 2010-11-05 | 2012-05-24 | Lapis Semiconductor Co Ltd | 運動検出装置、電子機器、運動検出方法及びプログラム |
CN102654405A (zh) * | 2011-03-04 | 2012-09-05 | 美新半导体(无锡)有限公司 | 基于加速度传感器的计步方法及其装置 |
CN104713568A (zh) * | 2015-03-31 | 2015-06-17 | 上海帝仪科技有限公司 | 步态识别方法以及相应的计步器 |
CN105387870A (zh) * | 2014-08-22 | 2016-03-09 | 卡西欧计算机株式会社 | 信息处理装置、行进方向推断方法以及存储介质 |
WO2017024177A1 (en) * | 2015-08-04 | 2017-02-09 | Board Of Regents Of The Nevada System Of Higher Education,On Behalf Of The University Of Nevada,Reno | Immersive virtual reality locomotion using head-mounted motion sensors |
CN106491138A (zh) * | 2016-10-26 | 2017-03-15 | 歌尔科技有限公司 | 一种运动状态检测方法及装置 |
-
2017
- 2017-06-02 CN CN201710407200.2A patent/CN108986883B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354265A (zh) * | 2008-08-19 | 2009-01-28 | 幻音科技(深圳)有限公司 | 计步方法、步幅校正方法、测距方法及计步装置 |
CN101894252A (zh) * | 2010-03-29 | 2010-11-24 | 天津大学 | 基于3轴加速度传感器信号的步行运动分类方法 |
JP2012098254A (ja) * | 2010-11-05 | 2012-05-24 | Lapis Semiconductor Co Ltd | 運動検出装置、電子機器、運動検出方法及びプログラム |
CN102654405A (zh) * | 2011-03-04 | 2012-09-05 | 美新半导体(无锡)有限公司 | 基于加速度传感器的计步方法及其装置 |
CN105387870A (zh) * | 2014-08-22 | 2016-03-09 | 卡西欧计算机株式会社 | 信息处理装置、行进方向推断方法以及存储介质 |
CN104713568A (zh) * | 2015-03-31 | 2015-06-17 | 上海帝仪科技有限公司 | 步态识别方法以及相应的计步器 |
WO2017024177A1 (en) * | 2015-08-04 | 2017-02-09 | Board Of Regents Of The Nevada System Of Higher Education,On Behalf Of The University Of Nevada,Reno | Immersive virtual reality locomotion using head-mounted motion sensors |
CN106491138A (zh) * | 2016-10-26 | 2017-03-15 | 歌尔科技有限公司 | 一种运动状态检测方法及装置 |
Non-Patent Citations (4)
Title |
---|
WAN-YOUNG CHUNG: "Frequency Domain Approach for Activity Classification using Accelerometer", 《30TH ANNUAL INTERNATIONAL IEEE EMBS CONFERENCE》 * |
张义龙: "基于加速度传感器的人体运动状态监测的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
雷丽平: "基于多传感器的人体运动识别算法与应用研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
韩熙熙: "便携式运动检测仪的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111077548A (zh) * | 2019-12-31 | 2020-04-28 | 重庆金康特智能穿戴技术研究院有限公司 | 一种基于Android系统的骑行定位数据优化方法 |
CN112539763A (zh) * | 2020-12-08 | 2021-03-23 | 歌尔科技有限公司 | 运动状态的分类方法、计步装置及可读存储介质 |
CN112539763B (zh) * | 2020-12-08 | 2023-03-14 | 歌尔科技有限公司 | 运动状态的分类方法、计步装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108986883B (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107773214A (zh) | 一种最佳唤醒策略的方法、计算机可读介质和系统 | |
CN109166141A (zh) | 危险提醒方法、装置、存储介质及移动终端 | |
US20140099614A1 (en) | Method for delivering behavior change directives to a user | |
CN106581951B (zh) | 智能手表记录运动参数的方法和装置 | |
CN103270522A (zh) | 用于监测生命体征的姿势控制 | |
KR102089002B1 (ko) | 행동에 대한 피드백을 제공하는 웨어러블 디바이스 및 방법 | |
CN106210266B (zh) | 一种音频信号处理方法及音频信号处理装置 | |
CN107729092A (zh) | 一种用于电子书的自动翻页方法和系统 | |
CN108986883A (zh) | 一种基于Android平台的运动状态识别系统和方法 | |
WO2023040449A1 (zh) | 利用健身动作触发客户端操作指令 | |
CN107145219A (zh) | 一种显示调整的方法以及显示调整装置 | |
CN106310641A (zh) | 运动方案推荐方法及装置 | |
CN107395690A (zh) | 一种电子设备及其运动推荐方法、装置和存储介质 | |
CN108985533A (zh) | 一种基于Android平台的运动管理系统和方法 | |
CN110443145A (zh) | 基于传感器的分离式部署的人体行为识别健康管理系统 | |
KR20170076379A (ko) | 웨어러블 장치 및 웨어러블 장치와 연결 가능한 사용자 단말장치 | |
CN104216325B (zh) | 一种智能笔的智能化监控方法 | |
CN112603327B (zh) | 一种心电信号的检测方法、装置、终端以及存储介质 | |
KR101724115B1 (ko) | 피드백을 제공하기 위한 방법, 디바이스, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 | |
CN113856132B (zh) | 一种跳绳动作识别系统、方法及跳绳 | |
CN106525068A (zh) | 一种计步方法及终端 | |
KR101881028B1 (ko) | 운동 유형 인식 장치 및 방법 | |
KR102039616B1 (ko) | 운동 정보 관리 장치 및 방법 | |
CN110070340A (zh) | 一种健身管理方法、装置、设备及存储介质 | |
CN108897508A (zh) | 一种基于分屏显示的语音搜题方法及家教设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |