CN114161413B - 控制方法、开发方法、控制设备及机器人系统 - Google Patents
控制方法、开发方法、控制设备及机器人系统 Download PDFInfo
- Publication number
- CN114161413B CN114161413B CN202111460342.8A CN202111460342A CN114161413B CN 114161413 B CN114161413 B CN 114161413B CN 202111460342 A CN202111460342 A CN 202111460342A CN 114161413 B CN114161413 B CN 114161413B
- Authority
- CN
- China
- Prior art keywords
- state
- treatment
- class
- robot
- logic
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 334
- 238000011161 development Methods 0.000 title claims abstract description 45
- 230000009471 action Effects 0.000 claims abstract description 69
- 230000006870 function Effects 0.000 claims description 82
- 230000033001 locomotion Effects 0.000 claims description 25
- 210000003141 lower extremity Anatomy 0.000 claims description 24
- 239000000725 suspension Substances 0.000 claims description 10
- 238000002620 method output Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 9
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 230000003993 interaction Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000002560 therapeutic procedure Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明提供了一种控制方法、开发方法、控制设备及机器人系统。其中,所述控制方法用于控制机器人,包括:设置多个工作状态;为每个所述工作状态设置M个预设控制指令序列;以及,获取预设操作指令,根据状态参数,输出对应的所述工作状态下的对应的所述预设控制指令序列驱使所述机器人完成预设动作并改写所述状态参数。如此配置,以工作状态作为控制所述机器人动作的依据,所述预设动作内化到每个所述工作状态当中,使得所述控制方法在开发阶段具有逻辑清晰、便于多人开发协作、可维护性高以及可阅读性高的有益效果,解决了现有技术中以判断语句进行控制时存在的容易出错、维护成本高、职责不明和代码不易阅读等问题。
Description
技术领域
本发明涉及机器人技术领域,特别涉及一种控制方法、开发方法、控制设备及机器人系统。
背景技术
在对机器人进行控制时,一般使用if else或者switch语句实现状态调整。
以使用if else条件判断语句为例,流程如下:建立状态变量,将所有的状态列举在一个枚举变量中,并将状态变量初始化为初始状态。使用if else语句判断当前的状态,根据不同的状态对不同的指令(使用if else语句)做不同的处理。整个程序代码融合在通一个函数中,容易出错。维护时,如果需要添加新的状态或者功能,几乎所有的分支里都需要添加或者修改代码,非常容易造成遗漏或者错误,并且这样的也不利于多人协同开发,职责不清楚,代码也不便于阅读。
综上,现有技术中使用判断语句对机器人进行控制时,存在容易出错、维护成本高、职责不明和代码不易阅读等问题。
发明内容
本发明的目的在于提供一种控制方法、开发方法、控制设备及机器人系统,以解决现有技术中使用判断语句对机器人进行控制时,存在的容易出错、维护成本高、职责不明和代码不易阅读等问题。
为了解决上述技术问题,根据本发明的第一个方面,提供了一种控制方法,用于控制机器人,所述机器人用于响应多个预设操作指令并执行预设动作,所述机器人响应所述多个预设操作指令中的至少一个时,在不同的运行工况下执行至少两种不同的所述预设动作;所述控制方法包括:设置多个工作状态,所述工作状态与所述机器人的所述运行工况一一对应;为每个所述工作状态设置M个预设控制指令序列,M个所述预设控制指令序列与所述预设操作指令一一对应,M为所述预设操作指令的数量,所述预设控制指令序列包括空序列;以及,获取所述预设操作指令,根据状态参数,输出对应的所述工作状态下的对应的所述预设控制指令序列驱使所述机器人完成所述预设动作;所述预设动作完成后,根据预设逻辑改写所述状态参数,所述状态参数用于表征所述工作状态。
为了解决上述技术问题,根据本发明的第二个方面,提供了一种开发方法,用于开发或者维护执行上述的控制方法的程序,包括:设置一个状态基类,所述状态基类中设置有M个函数的声明,所述函数与所述预设操作指令一一对应;设置多个状态类,所述状态类与所述工作状态一一对应,所述状态类均继承于所述基类,基于所述预设动作在每个所述状态类中实现至少一部分的所述函数,实现后的所述函数包括所述预设控制指令序列的输出逻辑,和/或,所述状态参数的改写逻辑;以及,设置调用方法,使得所述控制方法在接收到所述预设操作指令时,根据所述状态参数调用对应的所述状态类的对应的所述函数。
可选的,所述状态基类中设置的所述函数为纯虚函数,至少一部分的所述函数在对应的所述状态类中留空。
可选的,所述开发方法还包括:当增加新的所述预设操作指令时,在所述状态基类中添加新的所述函数的声明,新的所述函数与新的所述预设操作指令对应;在至少一部分的所述状态类中实现新的所述函数;和/或,当增加新的所述运行工况时,设置新的所述状态类并继承所述状态基类,新的所述状态类与新的所述运行工况对应,在新的所述状态类中实现至少一部分的所述函数。
可选的,所述机器人为下肢康复机器人;所述函数包括:回零方法、放腿方法、微调方法、开始治疗方法、暂停治疗方法、停止治疗方法、结束治疗方法、报警方法和解除报警方法中的至少一者。
可选的,所述机器人为下肢康复机器人;所述状态类包括:初始状态类、回零状态类、放腿状态类、微调状态类、治疗状态类、暂停治疗状态类、停止治疗状态类和错误状态类中的至少一者。
可选的,所述机器人为下肢康复机器人;所述函数包括:回零方法、放腿方法、微调方法、开始治疗方法、暂停治疗方法、停止治疗方法、结束治疗方法、报警方法和解除报警方法中的至少一者。
所述状态类包括:初始状态类、回零状态类、放腿状态类、微调状态类、治疗状态类、暂停治疗状态类、停止治疗状态类和错误状态类中的至少一者。
所述基于所述预设动作在每个所述状态类中实现至少一部分的所述函数的步骤包括以下中的至少一者:
在所述初始状态类中实现所述回零方法,使得所述回零方法的输出逻辑为输出控制指令使得所述机器人的机械臂运行至回零位置,所述回零方法的改写逻辑为改写所述状态参数为对应于所述回零状态类;在所述初始状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述初始状态类中实现剩余的所述函数为无动作。
在所述回零状态类中实现所述放腿方法,使得所述放腿方法的输出逻辑为输出控制指令使得所述机器人的机械臂运行至放腿位置,所述放腿方法的改写逻辑为改写所述状态参数为对应于所述放腿状态类;在所述回零状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述回零状态类中实现剩余的所述函数为无动作。
在所述放腿状态类中实现所述微调方法,使得所述微调方法的输出逻辑为基于输入的微调指令输出控制指令使得所述机器人的机械臂按照所述微调指令的操作意图运动,所述微调方法的改写逻辑为改写所述状态参数对应于所述微调状态类;所述微调指令属于所述预设操作指令;在所述放腿状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述放腿状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述放腿状态类中实现剩余的所述函数为无动作。
在所述微调状态类中实现所述微调方法,使得所述微调方法的输出逻辑为基于所述微调指令输出控制指令使得所述机器人的机械臂按照所述微调指令的操作意图运动,所述微调方法的改写逻辑为保持当前的所述状态参数;在所述微调状态类中实现所述开始治疗方法,使得所述开始治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂按照预设治疗模式中的一种进行运动,所述开始治疗方法的改写逻辑为改写所述状态参数为对应于所述治疗状态类;在所述微调状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行所述结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述微调状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述微调状态类中实现剩余的所述函数为无动作。
在所述治疗状态类中实现所述暂停治疗方法,使得所述暂停治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂暂停当前运动,所述暂停治疗方法的改写逻辑为改写所述状态参数为对应于所述暂停治疗状态类;在所述治疗状态类中实现所述停止治疗方法,使得所述停止治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂停止当前运动,所述停止治疗方法的改写逻辑为改写所述状态参数为对应于所述停止治疗状态类;在所述治疗状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行所述结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述治疗状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述治疗状态类中实现剩余的所述函数为无动作。
在所述暂停治疗状态类中实现所述开始治疗方法,使得所述开始治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂继续暂停之前的所述预设治疗模式运动,所述开始治疗方法的改写逻辑为改写所述状态参数为对应于所述治疗状态类;在所述暂停治疗状态类中实现所述停止治疗方法,使得所述停止治疗方法的输出逻辑为空序列,所述停止治疗方法的改写逻辑为改写所述状态参数为对应于所述停止治疗状态类;在所述暂停治疗状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述暂停治疗状态类中实现剩余的所述函数为无动作。
在所述停止治疗状态类中实现所述开始治疗方法,使得所述开始治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂按照所述预设治疗模式中的一种进行运动,所述开始治疗方法的改写逻辑为改写所述状态参数为对应于所述治疗状态类;在所述停止状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行所述结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述停止状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述微调状态类中实现剩余的所述函数为无动作。
在所述错误状态类中实现所述解除报警方法,使得所述解除警报方法进行判断,若判断结果为能够解除警报,则所述解除警报方法的输出逻辑为空序列,所述解除警报方法的改写逻辑为改写所述状态参数为上一个历史状态参数;若判断结果为无法解除警报,则所述解除警报方法输出重启指令驱使所述机器人进行重启流程或者输出关机指令驱使所述机器人关闭。
为了解决上述技术问题,根据本发明的第三个方面,提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序运行时执行上述的控制方法,或者所述程序基于上述的开发方法得到。
为了解决上述技术问题,根据本发明的第四个方面,提供了一种控制设备,所述控制设备包括通讯连接的处理器以及上述的可读存储介质,所述处理器用于执行所述可读存储介质上的程序。
为了解决上述技术问题,根据本发明的第五个方面,提供了一种机器人系统,包括机器人和上述的控制设备,所述控制设备用于控制所述机器人。
可选的,所述机器人为下肢康复机器人,所述下肢康复机器人包括机械臂,所述机械臂用于牵引康复对象实现康复动作。
与现有技术相比,本发明提供的一种控制方法、开发方法、控制设备及机器人系统中,所述控制方法用于控制机器人,包括:设置多个工作状态,所述工作状态与所述机器人的运行工况一一对应;为每个所述工作状态设置M个预设控制指令序列,M个所述预设控制指令序列与所述机器人的预设操作指令一一对应;以及,获取所述预设操作指令,根据状态参数,输出对应的所述工作状态下的对应的所述预设控制指令序列驱使所述机器人完成预设动作;所述预设动作完成后,根据预设逻辑改写所述状态参数。如此配置,以工作状态作为控制所述机器人动作的依据,所述预设动作内化到每个所述工作状态当中,使得所述控制方法在开发阶段具有逻辑清晰、便于多人开发协作、可维护性高以及可阅读性高的有益效果,解决了现有技术中以判断语句进行控制时存在的相关问题。
附图说明
本领域的普通技术人员将会理解,提供的附图用于更好地理解本发明,而不对本发明的范围构成任何限定。其中:
图1是本发明一实施例的控制方法的流程示意图;
图2是本发明一实施例的开发需求的示意图;
图3是图2所示的开发需求在现有技术中实现的控制方法的逻辑流程示意图;
图4是本发明一实施例的开发方法的流程示意图;
图5是本发明一实施例的机器人系统的示意图。
附图中:
10-机械臂;11-康复对象;12-控制装置;13-基座。
具体实施方式
为使本发明的目的、优点和特征更加清楚,以下结合附图和具体实施例对本发明作进一步详细说明。需说明的是,附图均采用非常简化的形式且未按比例绘制,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
如在本发明中所使用的,单数形式“一”、“一个”以及“该”包括复数对象,术语“或”通常是以包括“和/或”的含义而进行使用的,术语“若干”通常是以包括“至少一个”的含义而进行使用的,术语“至少两个”通常是以包括“两个或两个以上”的含义而进行使用的,此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者至少两个该特征,“一端”与“另一端”以及“近端”与“远端”通常是指相对应的两部分,其不仅包括端点,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。此外,如在本发明中所使用的,一元件设置于另一元件,通常仅表示两元件之间存在连接、耦合、配合或传动关系,且两元件之间可以是直接的或通过中间元件间接的连接、耦合、配合或传动,而不能理解为指示或暗示两元件之间的空间位置关系,即一元件可以在另一元件的内部、外部、上方、下方或一侧等任意方位,除非内容另外明确指出外。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的核心思想在于提供一种控制方法、开发方法、控制设备及机器人系统,以解决现有技术中使用判断语句对机器人进行控制时,存在的容易出错、维护成本高、职责不明和代码不易阅读等问题。
以下参考附图进行描述。
请参考图1至图4,其中,图1是本发明一实施例的控制方法的流程示意图;图2是本发明一实施例的开发需求的示意图;图3是图2所示的开发需求在现有技术中实现的控制方法的逻辑流程示意图;图4是本发明一实施例的开发方法的流程示意图;图5是本发明一实施例的机器人系统的示意图。
本实施例提供了一种控制方法,用于控制机器人,所述机器人用于响应多个预设操作指令并执行预设动作,所述机器人响应所述多个预设操作指令中的至少一个时,在不同的运行工况下执行至少两种不同的所述预设动作。
例如,请参考图5,一康复机器人包括一机械臂10。所述预设操作指令包括开始治疗指令。当所述机械臂10处于合理的位置并且康复对象11(也即患者的下肢)与所述机械臂10相对固定时(不妨将这种情况设定为运行工况一),所述康复机器人接收到所述开始治疗指令时,应当按照康复逻辑进行运动,从而牵引所述康复对象11实现康复动作,所述康复动作可以包括拉伸运动、圆周运动等。当所述机械臂10不处于合理位置(例如尚未展开时),或者患者的下肢尚未与所述机械臂10相对固定时(不妨将这种情况设定为运行工况二),所述康复机器人接收到所述开始治疗指令时,应当不动作,以避免发生安全事故。基于上述例子,所述预设操作指令是指用户或者上位机发送的操作指令,所述预设动作是指按照预先设定的逻辑所执行的动作,所述运行工况根据所述机器人可能出现的运行场景进行分类和设置,在不同的业务逻辑下,所述运行工况不同,但是对于一个确定的机器人,其任何时刻处于何种运行工况是可以根据逻辑程序进行确定的。“在不同的运行工况下执行至少两种不同的所述预设动作”是指,所述预设操作指令相同、所述运行工况不同、对应的所述预设动作不同。正如前文所述的运行工况一和运行工况二。
如图1所示,所述控制方法包括:S10设置多个工作状态,所述工作状态与所述机器人的所述运行工况一一对应。
S20为每个所述工作状态设置M个预设控制指令序列,M个所述预设控制指令序列与所述预设操作指令一一对应,M为所述预设操作指令的数量,所述预设控制指令序列包括空序列。所述预设控制指令序列可以是开环控制指令序列或者闭环控制指令序列,可以以运动的目标位置(即绝对位置)或者以运动的行程、方向、角度等(即相对位置)为控制目标。在本说明书中,为了统一逻辑,所述机器人不动作也视为一种所述预设动作。空序列视为一种预设控制指令序列。
以及,S30获取所述预设操作指令,根据状态参数,输出对应的所述工作状态下的对应的所述预设控制指令序列驱使所述机器人完成所述预设动作;所述预设动作完成后,根据预设逻辑改写所述状态参数,所述状态参数用于表征所述工作状态。需理解,“预设操作指令”的概念对应于一种概括性的操作指令,例如:开始治疗指令、放腿指令等;“预设控制指令序列”的概念对应于具体的控制指令序列,例如:“第一电机正转90°-第二电机反转80°”,或者“第一电机正转至第一预设角度-第二电机反转至第二预设角度”等。
上述的控制方法,有利于在开发时理清思路,便于开发和维护,能够解决现有技术中存在的容易出错、维护成本高、职责不明和代码不易阅读等问题。为了便于理解,以下肢康复机器人为例,说明所述控制方法和现有技术之间的区别。
在一实施例中,所述下肢康复机器人的控制方法具体通过如下方法实现:
启动,程序处理为:1、给各个变量赋初值,比如命令码为0,模式编号为0等;2、计算末端的位置,如果末端的位置在待机位即零位,则机械臂切换到回零状态,如果机械臂末端的位置不在零位,反馈给上位机(人机交互界面程序),人机交互界面程序发送回零指令给下位机(机械臂算法程序),机械臂回到零位(也就是机械臂收拢的位置),然后切换到回零状态。在回零状态收到人机交互界面程序发送的运行到放腿位置(也就是机械臂展开的位置),在放腿状态下:1、可以结束治疗(在人机交互界面上点击结束治疗按钮),即该患者由于身体不适等原因不愿意在进行治疗,这种情况下可结束治疗,结束治疗机械臂再次回到零位,即一个患者治疗结束后机械臂一定回到零位,然后再关机;2、在放腿状态下,可以微调,机械臂是展开的状态,患者的腿放在机械臂上,为了让患者的腿跟机械臂的末端贴合,即让患者的脚和小腿更好的贴合在机械臂的末端放脚和小腿的结构上,按情况进行微调,如果一开始患者的腿贴合的很好,也可不用微调,微调(不管实际有没有进行微调)完毕后,机械臂切换到微调状态;在微调状态下:1、同放腿状态,可以结束治疗(在人机交互界面上点击结束治疗按钮),即该患者由于身体不适等原因不愿意在进行治疗,这种情况下可结束治疗,结束治疗机械臂再次回到零位,即一个患者治疗结束后机械臂一定回到零位,切换到回零状态,然后再关机;2、可以开始治疗,接收人机交互界面的开始治疗按钮发送开始治疗指令,机械臂切换到治疗状态;在治疗状态:1、同放腿状态和微调状态可以结束治疗,切换到回零状态;2、可以暂停治疗(人机交互界面发送指令),切换到暂停治疗状态;3、可以停止治疗(人机交互界面发送停止治疗指令),切换到停止治疗状态;在暂停治疗状态下:1、可以开始治疗(人机交互界面点击继续治疗按钮,发送开始治疗指令),切换到治疗状态;2、可以停止治疗(人机交互界面点击停止治疗按钮,发送停止治疗指令),切换到停止治疗状态;在停止治疗状态:1、可以开始治疗(人机交互界面点击继续治疗按钮,发送开始治疗指令),切换到治疗状态;2、同放腿状态和微调状态可以结束治疗,切换到回零状态;错误状态:不管在什么状态下如果发生错误,比如上位机报警,触碰到安全触边,按下急停开关,电机异常等错误,机械臂切换到错误状态,在错误状态下,算法程序解决错误,或者提示界面让使用者解除错误操作,错误清除,回到报错误之前的状态。
上述方法的流程如图2所示,值得强调的是,本实施例所提供的下肢康复机器人的控制实现方法中已经体现了发明人的创造性劳动,包括如下两个方面:第一,根据下肢康复的实际需要,发明人开发了完整的需求内容;第二,在描述需求时,已经按照本发明所包含的设计思想进行了内容上的编排和完善,使得本领域技术人员根据以上描述进行开发时,能够实现本发明中所提及的开发方法或者控制方法。
针对上述的流程,现有技术中会设计出如图3所示的控制方法,如图3所示的控制方法需要进行多重判断才能确定当前的目标动作,并且,当需要对控制逻辑进行修改时,也很难找到合适的添加位置,容易造成遗漏或者造成修改错误。对于图3所示的控制方法的细节并非是本说明书需要着重描述的对象,因此请参考图3本身进行理解,在此不进行展开描述。
需理解,基于上述的控制方法的内部逻辑,可以基于多种编程范式进行程序的开发,其中,较优的一种方式是利用类和继承的方式进行开发。
因此,请参考图4,本实施例还提供了一种开发方法,用于开发或者维护执行上述的控制方法的程序,包括:
S40设置一个状态基类,所述状态基类中设置有M个函数的声明,所述函数与所述预设操作指令一一对应。
S50设置多个状态类,所述状态类与所述工作状态一一对应,所述状态类均继承于所述基类,基于所述预设动作在每个所述状态类中实现至少一部分的所述函数,实现后的所述函数包括所述预设控制指令序列的输出逻辑,和/或,所述状态参数的改写逻辑。在本申请中,用“函数”指代程序开发领域的“function”术语,应当理解为一种专门称呼,不应当进行广义地理解扩充。
以及,S60设置调用方法,使得所述控制方法在接收到所述预设操作指令时,根据所述状态参数调用对应的所述状态类的对应的所述函数。
需理解,基于不同的编程语言的语法,有些内容可以省略。例如有的语言中,声明一个变量的方式为“int a=3”,另一种语言中可能为“a=3”,不能认为后一种语言的开发者在使用过程中“没有声明变量的类型”。实际中,变量的类型已经被声明,只是隐式的声明。因此,基于不同的语法,在针对某个所述函数的实现过程中,若开发者的操作是不输入任何代码,或者,函数的内容为空,不能认为是“没有实现该函数”,事实上该函数会在编译过程中被编译器补充完整,具体的效果视不同的语言语法而定,应当理解为本说明所描述的保护范围。
通过类与继承的方式,一方面,在多人协作开发过程中,所有开发者都可以根据基类的内容对当前的开发内容进行整体地了解,并能让不同的开发者对不同的子类进行并行开发;另一方面,子类在开发过程中若出现错误,例如拼写错误等,会导致编译错误,从而被提前发现而规避错误。此外,多个子类之间代码不容易互相干扰;对于后续的新增功能的补充也较为容易。可以理解的,类与继承是指一种面向对象的开发范式,其中包括创建基类和子类,并使子类继承于基类;由于子类的相关函数与基类的相关函数产生了联系和制约,从而产生了上述的有益效果。
较优地,所述状态基类中设置的所述函数为纯虚函数,至少一部分的所述函数在对应的所述状态类中留空。通过纯虚函数的方式将所有的所述函数都仅与子类相关,进一步减少了各状态之间的耦合程度,减少出错的可能以及方法运行的自由度。另外,在每个状态类中也便于开发其他功能,例如开发交互界面时,可以在每个状态类中设定交互界面的相关内容,便于交互界面的开发。
进一步地,所述开发方法还包括:当增加新的所述预设操作指令时,在所述状态基类中添加新的所述函数的声明,新的所述函数与新的所述预设操作指令对应;在至少一部分的所述状态类中实现新的所述函数。以及,当增加新的所述运行工况时,设置新的所述状态类并继承所述状态基类,新的所述状态类与新的所述运行工况对应,在新的所述状态类中实现至少一部分的所述函数。通过如上的功能新增的方式,减轻了维护成本。
针对图2所示的需求,在一实施例中,所述机器人为下肢康复机器人,所述下肢康复机器人的机械臂具有一个、两个或者多个运动自由度,所述机械臂用于和患者的下肢的一部分相对固定,通过自身的运动带动患者的下肢一起运动。所述状态基类为ArmState,所述函数包括:回零方法ReturnZero、放腿方法RunToPutLeg、微调方法FineTune、开始治疗方法StartTreatment、暂停治疗方法PauseTreatment、停止治疗方法StopTreatment、结束治疗方法EndTreatment、报警方法CallAlarm和解除报警方法RemoveAlarm。上述方法分别与回零指令(即图2中的指令1)、放腿指令(即图2中的指令2)、微调指令(即图2中的指令3)、开始治疗指令(即图2中的指令4)、暂停治疗指令(即图2中的指令5)、停止治疗指令(即图2中的指令6)、结束治疗方法指令(即图2中的指令7)、报警指令(即图2中的上位机报警指令,触摸,急停,电机错误等情况下会触发的指令)和解除报警指令(未图示)一一对应。上述指令均为所述预设操作指令,通过交互界面、输入设备等获取,或者来自于上位机。
需理解,在其他的实施例中,所述函数也可以包括上述方法中的一者或者一部分。
在本实施例中,所述状态类包括:初始状态类InitialState、回零状态类ZeroState、放腿状态类PutLegState、微调状态类FineTuneState、治疗状态类TreatmentState、暂停治疗状态类PauseTreatmentState、停止治疗状态类StopTreatmentState和错误状态类ErrorState。上述这些类分别与初始状态、回零状态、放腿状态、微调状态、治疗状态、暂停治疗状态、停止治疗状态和错误状态一一对应。上述状态类均继承于ArmState类。
需理解,在其他的实施例中,所述状态类也可以包括上述类中的一者或者一部分。
所述基于所述预设动作在每个所述状态类中实现至少一部分的所述函数的步骤包括:
在所述初始状态类中实现所述回零方法,使得所述回零方法的输出逻辑为输出控制指令使得所述机器人的机械臂运行至回零位置,所述回零位置根据机器人的具体结构进行配置,为令机器人占据空间较小的位置。所述机械臂运行至所述回零位置可以是按照预定的轨迹运动,也可以是根据传感器的信号实时地选择不同的轨迹运动。所述回零方法的改写逻辑为改写所述状态参数为对应于所述回零状态类;所述状态参数的实现方式可以例如是枚举值。在所述初始状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述初始状态类中实现剩余的所述函数为无动作。实现所述函数为无动作的方式为留白,即不写入代码,但是在其他的实施例中也可以采用其他的符合语法规则的方式实现。后续内容中也可以按照这个思路进行理解。
在所述回零状态类中实现所述放腿方法,使得所述放腿方法的输出逻辑为输出控制指令使得所述机器人的机械臂运行至放腿位置,所述放腿位置是指所述机械臂相对于所述机器人的主体向外扩展,并使得患者可以较为舒适地放置下肢的位置。所述放腿方法的改写逻辑为改写所述状态参数为对应于所述放腿状态类;在所述回零状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述回零状态类中实现剩余的所述函数为无动作。
在所述放腿状态类中实现所述微调方法,使得所述微调方法的输出逻辑为基于输入的微调指令输出控制指令使得所述机器人的机械臂按照所述微调指令的操作意图运动,所述微调方法的改写逻辑为改写所述状态参数对应于所述微调状态类;所述微调指令属于所述预设操作指令;所述微调指令可以是一个或者多个。在一示范性的实施例中,所述机械臂可以相对于所述机器人的基座上、下、左、右运动,则所述微调指令包括向上运动指令、向下运动指令、向左运动指令和向右运动指令。在所述放腿状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行结束治疗动作,在一个示范性的实施例中,所述结束治疗动作为将所述机械臂移动至回零状态。所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述放腿状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述放腿状态类中实现剩余的所述函数为无动作。
在所述微调状态类中实现所述微调方法,使得所述微调方法的输出逻辑为基于所述微调指令输出控制指令使得所述机器人的机械臂按照所述微调指令的操作意图运动,所述微调方法的改写逻辑为保持当前的所述状态参数;在所述微调状态类中实现所述开始治疗方法,使得所述开始治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂按照预设治疗模式中的一种进行运动。所述预设治疗模式为根据康复目标设定的运动模式,例如,所述机械臂的末端做圆周运动,所述机械臂的末端做摆动等。在设计阶段,会有至少两种预设治疗模式,所述开始治疗方法根据用户选择的所述预设治疗模式控制所述机械臂,用户如何选择所述预设治疗模式的流程可以根据公知常识进行设置,在此不进行描述。所述开始治疗方法的改写逻辑为改写所述状态参数为对应于所述治疗状态类;在所述微调状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行所述结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述微调状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述微调状态类中实现剩余的所述函数为无动作。
在所述治疗状态类中实现所述暂停治疗方法,使得所述暂停治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂暂停当前运动,暂停时,可以停留在当前位置,也可以移动至预设暂停位置中的一个,例如,总是移动至所述机械臂呈水平状态。所述暂停治疗方法的改写逻辑为改写所述状态参数为对应于所述暂停治疗状态类;在所述治疗状态类中实现所述停止治疗方法,使得所述停止治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂停止当前运动,所述停止治疗方法的改写逻辑为改写所述状态参数为对应于所述停止治疗状态类;在所述治疗状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行所述结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述治疗状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述治疗状态类中实现剩余的所述函数为无动作。
在所述暂停治疗状态类中实现所述开始治疗方法,使得所述开始治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂继续暂停之前的所述预设治疗模式运动,所述开始治疗方法的改写逻辑为改写所述状态参数为对应于所述治疗状态类;在所述暂停治疗状态类中实现所述停止治疗方法,使得所述停止治疗方法的输出逻辑为空序列,所述停止治疗方法的改写逻辑为改写所述状态参数为对应于所述停止治疗状态类;在所述暂停治疗状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述暂停治疗状态类中实现剩余的所述函数为无动作。
在所述停止治疗状态类中实现所述开始治疗方法,使得所述开始治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂按照所述预设治疗模式中的一种进行运动,所述开始治疗方法的改写逻辑为改写所述状态参数为对应于所述治疗状态类;在所述停止状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行所述结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述停止状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述微调状态类中实现剩余的所述函数为无动作。
在所述错误状态类中实现所述解除报警方法,使得所述解除警报方法进行判断,若判断结果为能够解除警报,则所述解除警报方法的输出逻辑为空序列,所述解除警报方法的改写逻辑为改写所述状态参数为上一个历史状态参数;若判断结果为无法解除警报,则所述解除警报方法输出重启指令驱使所述机器人进行重启流程或者输出关机指令驱使所述机器人关闭。判断当前能够解除警报的逻辑,可以根据本领域公知常识以及具体需要进行设置,在此不进行展开描述。
在其他实施例中,也可以包括上述步骤中的一者或者一部分。
这种基于工作状态的架构的好处是,每个状态一个类,这样职责清楚,在什么状态下能做哪些功能,如果以后给机械臂添加功能也特别容易,比如根据临床需求需要添加机械臂痉挛检测功能,首先在基类ArmState中添加痉挛检测方法,然后每个状态类中实现所述痉挛检测方法,根据每个状态该行为有不同的实现方式。这样代码逻辑清晰方便易懂,也清楚的明白哪里不需要改变,哪里需要改变,实现较优的设计模式。
同时,也可以方便加入一个新的状态,比如要添加治疗准备状态,只需要给该状态建立一个类,同样继承于ArmState类,然后实现类里的方法。
需理解,上述的开发方法所得到的程序,仅是所述程序的初始版本,基于初始版本进行改动得到的后续版本,应当视为所述开发方法结合维护流程所得到的程序。
为了便于上述的开发方法和控制方法得以应用,本实施例还提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序运行时执行上述的控制方法,或者所述程序基于上述的开发方法得到。
以及,本实施例提供了一种控制设备,所述控制设备包括通讯连接的处理器以及上述的可读存储介质,所述处理器用于执行所述可读存储介质上的程序。
以及,本实施例提供了一种机器人系统,包括机器人和上述的控制设备,所述控制设备用于控制所述机器人。
请参考图5,所述机器人为下肢康复机器人,所述下肢康复机器人包括机械臂10和基座13,所述机械臂10可相对于所述基座13转动,所述机械臂10用于牵引康复对象11实现康复动作。所述康复对象11为患者的下肢。用户通过所述控制设备12输入所述预设操作指令对所述下肢康复机器人进行控制。在图5中,所述机械臂10为两个自由度的机械臂,在其他的实施例中,所述机械臂10的自由度可以为一个、三个、四个、五个以及更多。
上述的可读存储介质、处理器和机器人系统也同样解决了现有技术中使用判断语句对机器人进行控制时,存在的容易出错、维护成本高、职责不明和代码不易阅读等问题。
综上所述,本实施例提供的一种控制方法、开发方法、控制设备及机器人系统中,所述控制方法用于控制机器人,包括:设置多个工作状态,所述工作状态与所述机器人的运行工况一一对应;为每个所述工作状态设置M个预设控制指令序列,M个所述预设控制指令序列与所述机器人的预设操作指令一一对应;以及,获取所述预设操作指令,根据状态参数,输出对应的所述工作状态下的对应的所述预设控制指令序列驱使所述机器人完成预设动作;所述预设动作完成后,根据预设逻辑改写所述状态参数。如此配置,以工作状态作为控制所述机器人动作的依据,所述预设动作内化到每个所述工作状态当中,使得所述控制方法在开发阶段具有逻辑清晰、便于多人开发协作、可维护性高以及可阅读性高的有益效果,解决了现有技术中以判断语句进行控制时存在的相关问题。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于本发明技术方案的保护范围。
Claims (10)
1.一种开发方法,其特征在于,用于开发或者维护一程序,所述程序用于执行一控制方法,所述控制方法用于控制机器人,所述机器人用于响应多个预设操作指令并执行预设动作,所述机器人响应所述多个预设操作指令中的至少一个时,在不同的运行工况下执行至少两种不同的所述预设动作;所述控制方法包括:
设置多个工作状态,所述工作状态与所述机器人的所述运行工况一一对应;
为每个所述工作状态设置M个预设控制指令序列,M个所述预设控制指令序列与所述预设操作指令一一对应,M为所述预设操作指令的数量,所述预设控制指令序列包括空序列;以及,
获取所述预设操作指令,根据状态参数,输出对应的所述工作状态下的对应的所述预设控制指令序列驱使所述机器人完成所述预设动作;所述预设动作完成后,根据预设逻辑改写所述状态参数,所述状态参数用于表征所述工作状态;
所述开发方法包括:
设置一个状态基类,所述状态基类中设置有M个函数的声明,所述函数与所述预设操作指令一一对应;
设置多个状态类,所述状态类与所述工作状态一一对应,所述状态类均继承于所述状态基类,基于所述预设动作在每个所述状态类中实现至少一部分的所述函数,实现后的所述函数包括所述预设控制指令序列的输出逻辑,和/或,所述状态参数的改写逻辑;以及,
设置调用方法,使得所述控制方法在接收到所述预设操作指令时,根据所述状态参数调用对应的所述状态类的对应的所述函数。
2.根据权利要求1所述的开发方法,其特征在于,所述状态基类中设置的所述函数为纯虚函数,至少一部分的所述函数在对应的所述状态类中留空。
3.根据权利要求1所述的开发方法,其特征在于,所述开发方法还包括:
当增加新的所述预设操作指令时,在所述状态基类中添加新的所述函数的声明,新的所述函数与新的所述预设操作指令对应;在至少一部分的所述状态类中实现新的所述函数;和/或,
当增加新的所述运行工况时,设置新的所述状态类并继承所述状态基类,新的所述状态类与新的所述运行工况对应,在新的所述状态类中实现至少一部分的所述函数。
4.根据权利要求1~3中任一项所述的开发方法,其特征在于,所述机器人为下肢康复机器人;所述函数包括:回零方法、放腿方法、微调方法、开始治疗方法、暂停治疗方法、停止治疗方法、结束治疗方法、报警方法和解除报警方法中的至少一者。
5.根据权利要求1~3中任一项所述的开发方法,其特征在于,所述机器人为下肢康复机器人;所述状态类包括:初始状态类、回零状态类、放腿状态类、微调状态类、治疗状态类、暂停治疗状态类、停止治疗状态类和错误状态类中的至少一者。
6.根据权利要求1~3中任一项所述的开发方法,其特征在于,所述机器人为下肢康复机器人;所述函数包括回零方法、放腿方法、微调方法、开始治疗方法、暂停治疗方法、停止治疗方法、结束治疗方法、报警方法和解除报警方法中的至少一者;
所述状态类包括初始状态类、回零状态类、放腿状态类、微调状态类、治疗状态类、暂停治疗状态类、停止治疗状态类和错误状态类中的至少一者;
所述基于所述预设动作在每个所述状态类中实现至少一部分的所述函数的步骤包括以下中的至少一者:
在所述初始状态类中实现所述回零方法,使得所述回零方法的输出逻辑为输出控制指令使得所述机器人的机械臂运行至回零位置,所述回零方法的改写逻辑为改写所述状态参数为对应于所述回零状态类;在所述初始状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述初始状态类中实现剩余的所述函数为无动作;
在所述回零状态类中实现所述放腿方法,使得所述放腿方法的输出逻辑为输出控制指令使得所述机器人的机械臂运行至放腿位置,所述放腿方法的改写逻辑为改写所述状态参数为对应于所述放腿状态类;在所述回零状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述回零状态类中实现剩余的所述函数为无动作;
在所述放腿状态类中实现所述微调方法,使得所述微调方法的输出逻辑为基于输入的微调指令输出控制指令使得所述机器人的机械臂按照所述微调指令的操作意图运动,所述微调方法的改写逻辑为改写所述状态参数对应于所述微调状态类;所述微调指令属于所述预设操作指令;在所述放腿状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述放腿状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述放腿状态类中实现剩余的所述函数为无动作;
在所述微调状态类中实现所述微调方法,使得所述微调方法的输出逻辑为基于所述微调指令输出控制指令使得所述机器人的机械臂按照所述微调指令的操作意图运动,所述微调方法的改写逻辑为保持当前的所述状态参数;在所述微调状态类中实现所述开始治疗方法,使得所述开始治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂按照预设治疗模式中的一种进行运动,所述开始治疗方法的改写逻辑为改写所述状态参数为对应于所述治疗状态类;在所述微调状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行所述结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述微调状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述微调状态类中实现剩余的所述函数为无动作;
在所述治疗状态类中实现所述暂停治疗方法,使得所述暂停治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂暂停当前运动,所述暂停治疗方法的改写逻辑为改写所述状态参数为对应于所述暂停治疗状态类;在所述治疗状态类中实现所述停止治疗方法,使得所述停止治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂停止当前运动,所述停止治疗方法的改写逻辑为改写所述状态参数为对应于所述停止治疗状态类;在所述治疗状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行所述结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述治疗状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述治疗状态类中实现剩余的所述函数为无动作;
在所述暂停治疗状态类中实现所述开始治疗方法,使得所述开始治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂继续暂停之前的所述预设治疗模式运动,所述开始治疗方法的改写逻辑为改写所述状态参数为对应于所述治疗状态类;在所述暂停治疗状态类中实现所述停止治疗方法,使得所述停止治疗方法的输出逻辑为空序列,所述停止治疗方法的改写逻辑为改写所述状态参数为对应于所述停止治疗状态类;在所述暂停治疗状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述暂停治疗状态类中实现剩余的所述函数为无动作;
在所述停止治疗状态类中实现所述开始治疗方法,使得所述开始治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂按照所述预设治疗模式中的一种进行运动,所述开始治疗方法的改写逻辑为改写所述状态参数为对应于所述治疗状态类;在所述停止治疗状态类中实现所述结束治疗方法,使得所述结束治疗方法的输出逻辑为输出控制指令使得所述机器人的机械臂执行所述结束治疗动作,所述结束治疗方法的改写逻辑为改写所述状态参数为对应于回零状态类;在所述停止治疗状态类中实现所述报警方法,使得所述报警方法的输出逻辑为输出空序列,所述报警方法的改写逻辑为改写所述状态参数为对应于所述错误状态类;在所述微调状态类中实现剩余的所述函数为无动作;
在所述错误状态类中实现所述解除报警方法,使得所述解除报警方法进行判断,若判断结果为能够解除报警,则所述解除报警方法的输出逻辑为空序列,所述解除报警方法的改写逻辑为改写所述状态参数为上一个历史状态参数;若判断结果为无法解除报警,则所述解除报警方法输出重启指令驱使所述机器人进行重启流程或者输出关机指令驱使所述机器人关闭。
7.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序基于权利要求1~6中任一项所述的开发方法得到。
8.一种控制设备,其特征在于,所述控制设备包括通讯连接的处理器以及如权利要求7所述的可读存储介质,所述处理器用于执行所述可读存储介质上的程序。
9.一种机器人系统,其特征在于,包括机器人以及如权利要求8所述的控制设备,所述控制设备用于控制所述机器人。
10.根据权利要求9所述的机器人系统,其特征在于,所述机器人为下肢康复机器人,所述下肢康复机器人包括机械臂,所述机械臂用于牵引康复对象实现康复动作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111460342.8A CN114161413B (zh) | 2021-12-02 | 2021-12-02 | 控制方法、开发方法、控制设备及机器人系统 |
PCT/CN2022/122401 WO2023098270A1 (zh) | 2021-12-02 | 2022-09-29 | 控制方法、开发方法、可读存储介质、控制设备及机器人系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111460342.8A CN114161413B (zh) | 2021-12-02 | 2021-12-02 | 控制方法、开发方法、控制设备及机器人系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114161413A CN114161413A (zh) | 2022-03-11 |
CN114161413B true CN114161413B (zh) | 2024-01-23 |
Family
ID=80482426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111460342.8A Active CN114161413B (zh) | 2021-12-02 | 2021-12-02 | 控制方法、开发方法、控制设备及机器人系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114161413B (zh) |
WO (1) | WO2023098270A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114161413B (zh) * | 2021-12-02 | 2024-01-23 | 上海神泰医疗科技有限公司 | 控制方法、开发方法、控制设备及机器人系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105744434A (zh) * | 2016-02-25 | 2016-07-06 | 深圳市广懋创新科技有限公司 | 一种基于手势识别的智能音箱控制方法及系统 |
CN108602190A (zh) * | 2016-02-05 | 2018-09-28 | Abb瑞士股份有限公司 | 使用交互式命令控制工业机器人 |
CN108994840A (zh) * | 2018-08-23 | 2018-12-14 | 北京云迹科技有限公司 | 故障机器人救助方法及装置 |
CN111419644A (zh) * | 2020-06-09 | 2020-07-17 | 上海神泰医疗科技有限公司 | 康复机器人的操作方法、康复机器人及可读存储介质 |
CN112306472A (zh) * | 2020-10-27 | 2021-02-02 | 深圳市元征科技股份有限公司 | 一种程序接口传参方法、系统及相关设备 |
CN113359611A (zh) * | 2021-06-18 | 2021-09-07 | 乐聚(深圳)机器人技术有限公司 | 机器人手柄的控制方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3077183B2 (ja) * | 1990-10-11 | 2000-08-14 | ソニー株式会社 | ロボット数値制御装置の非常停止装置 |
CN104816299B (zh) * | 2015-05-27 | 2016-09-14 | 苏州荣威工贸有限公司 | 一种多台机器人和冲床联动的控制系统 |
CN109789549B (zh) * | 2016-10-12 | 2022-02-25 | Abb瑞士股份有限公司 | 用于控制机器人的装置和方法 |
CN110142757A (zh) * | 2019-04-04 | 2019-08-20 | 深兰科技(上海)有限公司 | 一种控制机器人运动的方法、装置及下位机 |
CN111767116B (zh) * | 2020-06-03 | 2023-09-05 | 江苏中科重德智能科技有限公司 | 面向机械臂程序开发编程语言的虚拟机及对汇编文件的运行方法 |
CN114161413B (zh) * | 2021-12-02 | 2024-01-23 | 上海神泰医疗科技有限公司 | 控制方法、开发方法、控制设备及机器人系统 |
-
2021
- 2021-12-02 CN CN202111460342.8A patent/CN114161413B/zh active Active
-
2022
- 2022-09-29 WO PCT/CN2022/122401 patent/WO2023098270A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108602190A (zh) * | 2016-02-05 | 2018-09-28 | Abb瑞士股份有限公司 | 使用交互式命令控制工业机器人 |
CN105744434A (zh) * | 2016-02-25 | 2016-07-06 | 深圳市广懋创新科技有限公司 | 一种基于手势识别的智能音箱控制方法及系统 |
CN108994840A (zh) * | 2018-08-23 | 2018-12-14 | 北京云迹科技有限公司 | 故障机器人救助方法及装置 |
CN111419644A (zh) * | 2020-06-09 | 2020-07-17 | 上海神泰医疗科技有限公司 | 康复机器人的操作方法、康复机器人及可读存储介质 |
CN112306472A (zh) * | 2020-10-27 | 2021-02-02 | 深圳市元征科技股份有限公司 | 一种程序接口传参方法、系统及相关设备 |
CN113359611A (zh) * | 2021-06-18 | 2021-09-07 | 乐聚(深圳)机器人技术有限公司 | 机器人手柄的控制方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114161413A (zh) | 2022-03-11 |
WO2023098270A1 (zh) | 2023-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Konolige | Colbert: A language for reactive control in sapphira | |
US20070093940A1 (en) | Extensible task engine framework for humanoid robots | |
CN114161413B (zh) | 控制方法、开发方法、控制设备及机器人系统 | |
JPH10207700A (ja) | プログラム可能な医療用イメージング・システム | |
JP2005530238A (ja) | 動的モデル/コード結合を提供するシステム、方法、および媒体 | |
US10705850B2 (en) | Stack frame unwinding for exception handling | |
CN111309292B (zh) | 一种基于MATLAB/Simulink的全模型可执行程序构建方法 | |
JPH10232767A (ja) | スクリプト作成システム | |
JPH10232921A (ja) | セル・オーバーラップ検出及び補正方法 | |
Soma et al. | An approach to develop a smart and intelligent wheelchair | |
US20190121854A1 (en) | Voice-controlled system | |
Flake et al. | Towards UML-based analysis and design of multi-agent systems | |
CN113397708B (zh) | 粒子穿刺手术机器人导航系统 | |
CN114939866A (zh) | 机器人监视装置以及机器人系统 | |
Zubrycki | Behavior Tree Based Controller for a Soft Rehabilitation Device Stretchbox | |
Yang et al. | Automatic translation from combined B and CSP specification to Java programs | |
Babaei et al. | Solving the RoboSoccer challenge problem with UML-RT and Papyrus-RT | |
CN106965181B (zh) | 基于ros和orocos的机器人控制方法和系统 | |
Robertson et al. | The grava self-adaptive architecture: history; design; applications; and challenges | |
CN105511344B (zh) | 高压直流输电测控装置图形化逻辑互锁功能的实现方法 | |
Wakita et al. | Customize function of single switch user interface for robot arm to help a daily life | |
CN221865962U (zh) | 经自然通道手术机器人装置 | |
Daw et al. | Integrating model checking and UML based model-driven development for embedded systems | |
Zyubin et al. | Using Process-Oriented Structured Text for IEC 61499 Function Block Specification | |
Cabrera-Gámez et al. | CoolBOT: A component-oriented programming framework for robotics |
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 |