技术领域
[0001] 本发明关于人工智能及助行器,特别是一种应用人工智能模型的助行器及其辅助系统。
相关背景技术
[0002] 现有的助行器只有提供支撑的功能。当使用者移动的时候,需要自行出力以变更助行器的位置。即使某些具有移动能力的助行器,仍只能在特定地形,如斜坡上,提供增加马力的功能。这种助行器的辅助效果过于制式化,没有办法依据地形起伏给予相对应的辅助动力。整体而言,对于行动不便的使用者,现有的助行器无法提供适合的服务。
具体实施方式
[0032] 以下在实施方式中详细叙述本发明的详细特征以及特点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的内容、权利要求书及附图,任何本领域技术人员可轻易地理解本发明相关的构想及特点。以下的实施例为进一步详细说明本发明的观点,但非以任何观点限制本发明的范畴。
[0033] 图1是依据本发明一实施例的助行器10的方块架构图。如图1所示,助行器10包括本体11、感测组件12、存储装置13、处理装置14以及动力输出装置15,其中本体11供设置感测组件12、存储装置13、处理装置14及动力输出装置15。
[0034] 本体11为在使用者行走时提供支撑以保持平衡的结构,例如但不限为具有左右把手、支撑结构、及容置空间的壳体,并配置移动用滚轮的复合设备。在一实施例中,感测组件12包括惯性测量单元(Inertial Measurement Unit,IMU)P0及距离感测器P1。惯性测量单元P0用于侦测本体11的三轴角度,因此可以得到助行器10所处地形的起伏状况,例如可以得到当下的坡度信息。图2是依据本发明一实施例的惯性测量单元P0设置位置的示意图。如图2所示,惯性测量单元P0设置于本体11中央的机身。在另一实施例中,可以采用加速度计和陀螺仪实现惯性测量单元P0的功能。
[0035] 距离感测器P1用于侦测本体11与感测目标的距离,感测目标例如为助行器10的使用者。在一范例中,距离感测器P1可采用红外线感测器。本发明不限制距离感测器P1的数量。实务上,增加距离感测器P1的数量,可以更完整地掌握感测目标相对于助行器10的位置关系。例如:设置两个以上的距离感测器可以评估助行器10的转弯操作,设置三个以上的距离感测器允许容错性,当其中一个距离感测器被噪声(如日照)干扰时,还有另外两个距离感测器可供使用。
[0036] 在一实施例中,距离感测器的数量为三个,分别是第一距离感测器、第二距离感测器和第三距离感测器。图3是依据本发明一实施例的第一距离感测器、第二距离感测器及第三距离感测器设置位置的示意图。如图3所示,第二距离感测器P2及第三距离感测器P3分别设置于本体11,且位于第一距离感测器P1的两侧。第一距离感测器P1用于侦测本体11与感测目标的第一距离。第二距离感测器P2用于侦测本体11与感测目标的第二距离。第三距离感测器P3用于侦测本体11与感测目标的第三距离。第一距离感测器P1、第二距离感测器P2及第三距离感测器P3均电性连接处理装置14以传送感测到的距离。
[0037] 存储装置13用于存储人工智能模型。在一实施例中,存储装置13可以采用下列范例中的一者:快闪(flash)存储器、硬盘(HDD)、固态硬盘(SSD)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或其他非挥发性存储器。但本发明不以这些范例为限制。
[0038] 处理装置14电性连接感测组件12及存储装置13。处理装置14用于执行人工智能模型以依据感测组件12提供的输入参数组计算建议速度值。在一实施例中,处理装置14可以采用下列范例中的一者:中央处理单元(central processor unit,CPU)、微控制器(microcontroller,MCU)、应用处理器(application processor,AP)、现场可编程门阵列(field programmable gate array,FPGA)、特殊应用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、系统芯片(system‑on‑a‑chip,SOC)、深度学习加速器(deep learning accelerator)。但本发明不以这些范例为限制。
[0039] 输入参数组的内容依据感测组件12的构成而不同。例如:当感测组件12包括一个距离感测器P1和惯性测量单元P0时,输入参数组包括距离及三轴角度。当感测组件12包括三个距离感测器P1、P2及P3和惯性测量单元P0时,输入参数组包括第一距离、第二距离、第三距离以及三轴角度。
[0040] 动力输出装置15电性连接处理装置14。动力输出装置15依据建议速度值产生动力源,让助行器10的本体11依据动力源移动。在一实施例中,动力输出装置15包括马达控制器、马达及车轮。马达控制器依据建议速度值计算马达的转速,然后通过马达驱动车轮,让助行器10移动。
[0041] 以下说明感测组件12的另外两种实施方式:在一实施例中,除了距离感测器P1和惯性测量单元P0,感测组件12还包括温度感测器、计时器以及速度侦测器。温度感测器设置于本体11且电性连接处理装置14。温度感测器用于取得气温。计时器设置于本体11且电性连接处理装置14。计时器用于计算助行器10的运作时间。速度侦测器虽属于感测组件,但其设置位置较佳邻近于动力输出装置15,藉此取得动力源的速度(如马达的实际转速)。在一实施例中,速度侦测器可采用霍尔感测器(hall sensor)。因此,输入参数组还包括气温及运作时间。于其他实施例中,当前速度可作为训练数据。
[0042] 在一实施例中,除了距离感测器P1和惯性测量单元P0,感测组件12还包括输入装置。输入装置设置于本体11且电性连接处理装置14。输入装置用于接收关联于感测目标的行动能力设定值。因此,输入参数组还包括行动能力设定值。输入装置例如是按钮、指拨开关、触摸屏,或是任何用于输入数字或代号的电子元件,本发明对此不予限制。行动能力设定值参考总体运动功能分类系统(Gross Motor Function Classification System)的分类标准。等级1为可以在平坦地面上跑跳。等级2为可以在平坦地面上行走,在不平坦地面放手行走相当吃力。等级3为行走时需要扶着稳定的东西,或是需要扶着别人才能走。等级4为无法跨步行走,坐一般靠背高度有扶手椅子上可以大略维持坐姿。等级5为坐在一般靠背高度有扶手的椅子会东倒西歪,无法维持坐姿。因此,使用者可以通过输入装置自行输入等级数值,藉此让人工智能模型依据使用者的行动能力输出适合的建议速度值。
[0043] 上述为感测组件12的两种实施方式。图4是整合上述实施方式的助行器的方块架构图。如图4所示,感测组件12包括多个感测元件:惯性测量单元P0、第一距离感测器P1、第二距离感测器P2、第三距离感测器P3、温度感测器P4、计时器P5、速度侦测器P6以及输入装置P7。图4所示的这些感测元件P0~P7可以根据实际需求选择性地设置,且本发明不以上述范例限制感测组件12中的元件种类及数量。
[0044] 图5是依据本发明另一实施例的助行器的方块架构图。在此实施例中,助行器10’可还包括通信电路16。通信电路16设置于本体11且电性连接处理装置14。通信电路16用于接收速度设定值或修正速度值。处理装置14在接收修正速度值之后,以修正速度值作为建议速度值并发送至动力输出装置15。在一实施例中,通信电路16使用的通信标准可以采用下列范例中的一者:蓝芽、WiFi、ZigBee以及行动网络。但本发明不以这些范例为限制。于另一实施例中,处理装置14通过通信电路16接收行动能力设定值。
[0045] 人工智能模型的训练流程可以包括下列第一至第七阶段。
[0046] 第一阶段,收集数据。在基于多种地形、多种气温、多种运作时间等条件组合而成的使用场景中,由使用者操作助行器10’,并由使用者本身或看护者自行调整助行器10’的速度设定值,选择适合的速度设定。处理装置14在此期间将速度设定和通过感测组件12取得的感测数据记录在存储装置13中。
[0047] 第二阶段,准备数据。在收集大量数据后,从中挑选可以用来判断的特征,例如:通过惯性测量单元P0量测到的三轴角度反映出的地形、连续使用的时间长度、使用者与助行器10之间的距离,以及使用者的行动能力设定值。如下方表格一是单笔训练数据的范例:
[0048] 表格一
[0049]地形(坡度) 3.2度、4度、3.5度、3.6度、4.2度
使用时间 18分钟
使用者距离 25公分、22公分、24公分
行动能力设定值 等级2
助行器速度 45每分钟转速(rpm)
[0050] 在一实施例中,地形的训练数据来自惯性测量单元P0的三轴角度中的绕着横轴(Transverse axis)旋转的角度,使用最近五次量到的数据进行平均,当有新的一笔数据回传,就会将原本五笔数据中最旧的移除,用新的那笔取代,并计算这五笔的平均值。这些角度数据反映地形的坡度。在一实施例中,使用者距离为同一时刻,三个距离感测器P1、P2及P3量测到的平均值,每当三个距离感测器P1、P2及P3产生新的数据,就计算三个距离感测值的平均。在一实施例中,行动能力设定值可分为三种等级:等级1,可在平面跑跳;等级2,上下坡吃力;以及等级3,需辅助工具才能行走。在一实施例中,助行器速度指的是在助行器10使用期间的平均每分钟转速。
[0051] 第三阶段,选择模型。在一实施例中人工智能模型可以采用下列范例中的一个,人工神经网络(Artificial Neural Network,ANN),循环神经网络(recurrent neural networks,RNN)。但本发明不以这些范例为限制。
[0052] 第四阶段,训练模型。训练模型:利用K折交叉验证(K‑fold Cross‑Validation),让每笔数据轮流作为验证数据一次,其余数据则作为训练数据。输入数据包括使用者的行动能力、坡度(地形)、连续使用的时间长度,距离感测器量测到的助行器10与使用者之间的距离。输出数据则为速度值。
[0053] 在一实施例中,在人工智能模型进行训练之前,为避免输入数据或输出数据的变化范围大小不一,造成不对等的问题,可先将训练数据正规化。假设x为原始数据,y为正规化后的数据,正规化的计算方式如下方式一:
[0054]
[0055] 其中,ymax代表结果的最大值,ymin代表结果的最小值。将所有数据设置在0到1之间,所以ymax=1、ymin=0。代入数值的几个范例如下:范例一,地形(度):xmax=7、xmin=‑7。假设目前地形为3度,经由公式可计算得到y=0.714。
[0056] 范例二,连续使用时间长度(分钟):xmax=180、xmin=0。假设目前连续使用时间为45分钟,经由公式可计算得到y=0.25。
[0057] 范例三,使用者与机台之间的距离(公分):xmax=80、xmin=0。假设目前量测到的数值为24cm,经由公式可计算得到y=0.3。
[0058] 范例四,使用者的行动能力:分为可在平面跑跳y=1、上下坡吃力y=0.67以及需辅助工具才能行走y=0.33等三种等级。
[0059] 第五阶段,计算人工智能模型的预测值与实际值之间的误差。在一实施例中,采用平均绝对误差(Mean Absolute Error)。
[0060] 第六阶段,调整参数。依据第五阶段的计算结果,调整人工智能模型中的超参数以达到更好的预测结果。在一实施例中,超参数包括:调整激活函数(Activation function)、隐藏层数量以及神经元数量等。于一实施例中,可使用贝叶斯优化(Bayesian Optimization)找出最佳化的超参数,于其他实施例中,可配合反向传播法调整超参数以找出更好的预测结果。于其他实施例中,第四阶段、第五阶段及第六阶段反复执行,直到平均绝对误差小于阈值,例如阈值为0.5。
[0061] 第七阶段,预测推论。将训练好的人工智能模型运用在实际操作中,根据不同情况,提供使用者合适的速度。处理装置14将每次接收到的数据(输入参数)输入至已训练完成的人工智能模型,人工智能模型依据每次输入的数据,计算并更新速度值。
[0062] 以下列举人工智能模型训练时的多个实施数据范例。
[0063] 实施例1
[0064]
[0065]
[0066] 实施例2,当机台进入斜坡时,使用者行走会比较吃力,输出的速度值也会较慢。
[0067] 地形(坡度) 3.2度、4度、3.5度、3.6度、4.2度使用时间 18分钟
使用者距离 25公分、22公分、24公分
行动能力设定值 等级2
温度 24℃
助行器速度 35rpm
[0068] 实施例3,当连续使用的时间长度越长时,使用者的体力会消耗越多,因此输出的速度值也会较慢。
[0069]地形(坡度) 0.2度、0.4度、0.5度、0度、0.2度
使用时间 28分钟
使用者距离 25公分、22公分、24公分
行动能力设定值 等级2
温度 24℃
助行器速度 35rpm
[0070] 实施例4,当机台与使用者之间的距离越远时,代表速度可能过快,因此输出的速度值也会较慢。
[0071] 地形(坡度) 0.2度、0.4度、0.5度、0度、0.2度使用时间 28分钟
使用者距离 52公分、55公分、54公分
行动能力设定值 等级2
温度 24℃
助行器速度 35rpm
[0072] 实施例5,当人员长时间使用后进入斜坡时,代表人员在消耗体力之后进入更费力的上坡路段,因此输出的速度值会变得更慢。
[0073]地形(坡度) 3.2度、4度、3.5度、3.6度、4.2度
使用时间 28分钟
使用者距离 25公分、22公分、24公分
行动能力设定值 等级2
温度 24℃
助行器速度 30rpm
[0074] 实施例6,当温度高于室温时,代表使用者的体力状况较差,因此输出的速度值也会较慢。
[0075] 地形(坡度) 3.2度、4度、3.5度、3.6度、4.2度使用时间 28分钟
使用者距离 25公分、22公分、24公分
行动能力设定值 等级2
温度 32℃
助行器速度 35rpm
[0076] 图6是依据本发明一实施例的助行器的运作方法的流程图。此方法适用于图1所示的助行器10及图4所示的助行器10’。
[0077] 步骤S1,感测组件产生输入参数组。步骤S1包括下列操作中的一个或多个:惯性测量单元P0侦测本体11的三轴角度;第一距离感测器P1侦测本体11与感测目标的距离;第二距离感测器P2侦测本体11与感测目标的第二距离;第三距离感测器P3侦测本体11与感测目标的第三距离;温度感测器取得气温;计时器计算助行器10的运作时间;以及输入装置接收关联于感测目标的行动能力设定值。在一实施例中,处理器14周期性地从感测组件12取得输入参数组。本发明不限制输入参数组中每个参数的取样频率,例如距离感测器P0可以每3秒产生一个距离感测值,惯性测量单元P0可以每1秒产生三轴角度;请注意,上述数值仅为说明而非用于限制本发明。
[0078] 步骤S2,处理装置14从存储装置13载入人工智能模型并执行,以依据输入参数组计算建议速度值。
[0079] 步骤S3,动力输出装置15依据建议速度值产生动力源。
[0080] 步骤S4,本体11依据动力源移动。
[0081] 图7是依据本发明另一实施例的助行器的运作方法的流程图。此方法适用于图5所示的助行器10’。相较于图6,图7所示的流程还包括步骤S5及S6。步骤S5,通信电路16接收修正速度值。步骤S6,在处理装置接收修正速度值之后,以修正速度值作为建议速度值并发送至动力输出装置。
[0082] 图7适用的一个场景为:在使用者操作助行器10’时,若助行器10’的速度太快,看护者可以降低助行器10’的速度。若助行器10’的速度太慢,看护者可以提高助行器10’的速度。若助行器10’即将撞到障碍物,看护者可以控制助行器10’停止或旋转,以避开障碍物。
[0083] 在上述应用场景中,看护者可通过助行器辅助系统中的可携式装置实现对助行器10’的控制。图8是依据本发明一实施例的助行器辅助系统的方块架构图。如图8所示,此系统100包括图5的助行器10’。请注意,在此将助行器10’中的处理装置及通信电路分别称为第一处理装置14及第一通信电路16。可携式装置20包括输入电路21、第二通信电路22、显示器23、第二处理装置24。在一实施例中,可携式装置20可以采用下列范例中的一者:智能手机、平板电脑、笔记本电脑或任何适合看护者手持使用的电子装置。
[0084] 助行器10’中的第一通信电路16用于发送助行器状态。助行器状态例如包括:助行器10’当前的建议速度值,当前的气温、感测目标的行动能力设定值等。本发明对此不予限制。
[0085] 输入电路21用于接收关联于修正速度值的输入信号。输入电路21可参考前述助行器10的输入装置的实作方式。
[0086] 第二通信电路22通信连接第一通信电路16。在一实施例中,第二通信电路22用于接收助行器状态及发送修正速度值。在另一实施例中,第二通信电路22更用于发送停止指令。于其他实施例中,输入电路21用于接收行动能力设定值,第二通信电路22发送行动能力设定值,第一处理装置14通过第一通信电路16接收关联于感测目标的行动能力设定值,第一处理装置14将最新获得的行动能力设定值加入至输入参数组。
[0087] 显示器23用于呈现关联于助行器状态的画面。
[0088] 第二处理装置24电性连接输入电路21以接收输入信号,电性连接第二通信电路22以取得助行器状态并依据输入信号控制第二通信电路22发送修正速度值或行动能力设定值,电性连接显示器23以控制显示器23呈现画面。
[0089] 图9是依据本发明一实施例的助行器辅助系统的运作方法的流程图。此方法适用于图8所示的助行器辅助系统100。在图9所示的流程中,步骤S1至步骤S4与图6所示的本发明一实施例的助行器的运作方法基本上相同。
[0090] 步骤S7,助行器10’的第一通信电路16发送助行器状态至可携式装置20的第二通信电路22。
[0091] 步骤T1,在第二处理装置24通过第二通信电路取得助行器状态之后,控制显示器23呈现关联于助行器状态的画面。步骤T2,输入电路21接收关联于修正速度值的输入信号。
输入信号为看护者通过输出电路21产生。步骤T3,第二处理装置24依据输入信号控制第二通信电路22发送修正速度值至助行器10’的第一通信电路16。
[0092] 步骤S5,第一通信电路16接收修正速度值。步骤S6,第一处理装置14以修正速度值作为建议速度值并发送至动力输出装置15。藉由上述流程以及本发明一实施例的助行器辅助系统100,实现了由看护者手动调整助行器10’速度的效果。
[0093] 综上所述,本发明提出一种助行器、助行器辅助系统及其两者的运作方法。通过感测组件和软体的配合,实现让助行器因应各种地形与环境状态,提供使用者最为适合的辅助行动的动力。本发明应用人工智能模型学习位移策略,通过将使用者的行动能力、使用助行器的时间长度、当下的坡度、温度以及使用者与助行器之间的距离等输入参数组输入事先训练好的人工智能模型,让人工智能模型推测出助行器当前合适的行驶速度。
[0094] 虽然本发明以前述的实施例揭露如上,然其并非用以限定本发明。在不脱离本发明的精神和范围内,所作出的修改与修饰,均属本发明的专利保护范围。关于本发明所界定的保护范围请参考所附的权利要求书。