首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

来个算法题:判断医院病床上是否有病人?该如何解决

2012-03-20 
来个算法题:判断医院病床上是否有病人?RT,最近在做一个医院的项目,硬件那边已经做好了,在病床上绑定了无线

来个算法题:判断医院病床上是否有病人?
RT,最近在做一个医院的项目,硬件那边已经做好了,在病床上绑定了无线传感器,我这边需要接收数据。数据接收我已经完成了,现在就想根据接受的这些数据判断病床上是否有人,给出相应的信息,请各位大神给点好的思路,自己写了一个但是觉得不好。
接收的数据格式如下:
一、数据格式
(1)协议格式:
AA55信号通道(1)位 数据长度(1)位 数据… 校验位(1)位
包头 数据长度 = 数据 + 累加和 可以为空 前面所有和

AA 55 02 01 02 为例:
02表示命令,01表示数据长度,由于没有数据,因此其长度为1(校验位),最后02是前面所有的和

(2)在协议当中,默认是16进制。如11 表示10进制的17
(3)后面在命令中存在符号N1,表示信号通道,目前只有31,32两个通道。


二.从终端到监控软件的数据
(1)传输数据
AA 55 N1 0A ………… BB
0x0A 表示,通讯数据字节数,后紧跟压力数据,每个数据分为2个字节,低字节在前,高字节在后, BB为效验码,N1表示信号通道信号。

(2)当前命令执行完毕: AA55 01 01 01
(3)接收到命令,执行错误:AA55 02 01 02



 主要实现:10个数据(高低位),低位在前,高位在后以16进制表示,就根据接收的10个数据来判断床上是否有人?

[解决办法]
呵呵,要求供应商提供函数嘛,直接返回床上是否有人
[解决办法]

探讨
呵呵,要求供应商提供函数嘛,直接返回床上是否有人

[解决办法]
硬件通讯没有协议?要自己开发?
[解决办法]
是测重量的传感器?

那直接让传床的重量。
[解决办法]
应该是定时传的吧,第一次不算,后面每传一次都减去前一次的,得到差值,大于某个值就算是有人。

每一次传的值最好隔一段时间就用数据库保存着,以方便后面查看。

至于你这个数据结构,应该和弄那个传感器的人交流交流,他既然是测重量的,就应该有保存重量的数据位。
[解决办法]
楼主能不能爆一下,

什么压力感应器?什么发射器?

什么接收器?

感觉泄密的话就不勉强了

[解决办法]
你这帖子就写能接收数据,不提供其他信息,怎么给算法
[解决办法]
检查床垫压力,如果压力没有变化或变化过小,表示有人躺着,如果压力面积小于一半,则人是坐着,如果压力一下有一下没有,可能是病人正在床上运动。
[解决办法]
死人算不算人,小孩,2个人嘿咻,货物呢?

我一直好奇车上的安全带报警器。副驾上不坐人,放很重的东西也不会报警,但是坐一个小孩就会。难道是红外的?
[解决办法]
有几个传感器???
[解决办法]
这也要问别人,你自己就不能先拿出一个方案吗?

床上放了一个10公斤的东西,算是有人吗?床上放了一个300公斤的东西,算是有人吗?床上放了一个80公斤的东西,算是有人吗?
[解决办法]
探讨

我们可以连续采集10个点10000压力数据,然后打印出曲线图——系统做工图来。你可以看看两个嘿咻的模式是什么。我想每一种事件发生大概都会有一种独特的系统做工图。

[解决办法]
探讨
引用:

我们可以连续采集10个点10000压力数据,然后打印出曲线图——系统做工图来。你可以看看两个嘿咻的模式是什么。我想每一种事件发生大概都会有一种独特的系统做工图。
非常规姿势呢?

[解决办法]
我擦,判断医院的床上是否有人,都考虑嘿咻了,策划书里你敢这样写吗?
[解决办法]
应该有一个临界值 无人时压力:min 有人时压力max:
比较是否处于该值中
楼上所考虑的如果有货物或者其它东西 从实际出发 医院病床上也不可能
放很重的东西 若果是一些水果 鲜花 食物等等 可以考虑异常压力值范围

[解决办法]
探讨
引用:

应该有一个临界值 无人时压力:min 有人时压力max:
比较是否处于该值中
楼上所考虑的如果有货物或者其它东西 从实际出发 医院病床上也不可能
放很重的东西 若果是一些水果 鲜花 食物等等 可以考虑异常压力值范围

重量数据随时都在传过来都在变,最大值、最小值怕是行不通

[解决办法]
1-3楼不见了.四楼正解.

既然你能接收数据.那么你把所有情况下发生的数据接下来一比较不就清楚了么.
空床:
AA 55 02 01 02
小孩:
AA 55 26 01 27
成人:
AA 55 30 01 31


这些数据一贴上来就知道规律啦
[解决办法]
个人感觉,根据压力判断有没有人本身就是不能确定的事情。
压力与床上是否有人,应该是没有必然联系,但是有很强的依赖性。

所以,程序应该自动拟合出一个函数来,根据压力得出有人的可能性有多大。

函数曲线,很有特点。就是两头平缓(压力小没人,压力大有人),中间陡峭(有人没人主要取决于采集到的压力,一般的人,咋说也有几十斤)。
对于多点传感器,压力分布明显不均。


[解决办法]
不知道是不是我理解的问题,直到26楼才明白楼主的真正意图。
建议楼主如下信息参考:
小孩 躺着 站着 翻身 走动 体重 身高
大人 躺着 站着 翻身 走动 体重 身高
老人 躺着 站着 翻身 走动 体重 身高
水果篮 躺着 站着 翻身 走动 体重 身高
…… …… …… ……
等各种情况下的样本数据,然后再分析,我觉得这样更实际一些。
[解决办法]
我以前做过类似的上位机程序
一般软件和硬件之间定义了一套详细的通讯协议
软件在收、发数据时,都需要组帧或解帧

组帧:将业务数据按格式组成命令,比如查询病床上是否有人,软件需要向硬件发送命令AA 02 01 02(随便写的,别当真)
解帧:软件接收到数据后,对命令进行解析,以业务数据的格式(比如某种类实例)返回给软件上层调用方。

当然,如果命令的类型很少,组帧或解帧可以简化掉,软件扩展性会有损失。



[解决办法]
单纯4个压力传感器很难实现你的功能。很难分辨或几乎不能分辨出一个小孩和一个花篮。只能设定一个基数,比如10KG,大于10KG的有人,小于则代表没人。

压力传感器+辐射热流传感器 可解决这个问题
[解决办法]
把压力传感器绑定在床脚?这又是项目经理的方案?
我相信这四个传感器读出的值相差无几
[解决办法]
首先,根据传输内容,无法精确判断,只能判断床上有多少负载,我们只能根据负载的多少来判断是否是一个人,一块石头和一个人其实在数据面前是没有分别的。
[解决办法]
一看是算法题赶紧过来凑凑热闹.
我感觉 因此其长度为1(校验位)这句有问题,校验怎能只是长度呢?建议你尝试随便发几个错误指令看是不是一样的错误.
注意检查校验位吧.

看后边回答的帖子,貌似我理解错了.
给你一个建议"压力传感" 还不如用温感控制呢,有一种节能控制灯,就是用人的体温来判断人是否在指定区域的.
[解决办法]
基本上不牵涉到算法的问题,而只是流程的问题。
有没有人在数据库就是一个bit字段而已,ture就是有人,false就是无人,至于怎么做,可以在病床旁边弄个按钮,让医务人员操作,直接传回数据库,这样最简单,最直接。如果不嫌麻烦可以在床板上弄个压力传感器,返回一个结果即可。
[解决办法]
这问题没必要太复杂化,如果你们是要判断病人是否趟在床上还是跑了的话,以现在的技术条件基本上做不到,无论是压力传感或图形识别、温度识别都不行,他可能蒙着被子睡,可能戴面具,可能在床上放了一个重物然后蒙了被子,也可能找个人来掉包了,无限种可能……
[解决办法]
我们可能偏离的LZ的意图。
也许LZ是想要得到是类似于22楼和38楼那样的“算法”。

但LZ的硬件条件很难,或不能达到这样的要求。更艹蛋的是,居然把4个压力传感器装到床的四个角上,稍微有点常识的人都知道,如果这样做的话,就算一个人坐在床边上,那这四个压力传感器的值也相差无几,LZ的经验已经说明了这个问题。所以没有函数曲线,没有所谓的嘿咻模式。

作为同行,我想说的是,先把自己能做的做完,你能做的是,去检测压力,能分辨出床上有物体和床上没有物体,不管这个物体是不是人。然后你的项目至少能结束一个节点。至于更精准的,在老板心情好的时候,跟他说,那个鬼东西其实实现不了,人和物的区分,想区分的话,得增加投资的,但我能暂时实现蒙蔽医院的。
[解决办法]
就单纯的压力变送器很难判断床上的是人还是其他物体.来2木头人或铁人怎么样?

热点排行