1.本公开涉及机器人领域,尤其涉及一种机器人系统以及控制方法。
背景技术:2.腹腔镜手术是被广泛运用的手术形式,具有创口小等优势。近年来,手术机器人使用运动臂实现更高稳定性和精确性的外科手术。手术中,运动臂将手术器械通过戳卡送入体内(例如人类或动物)的手术部位,实施外科手术。
3.目前,使用手术机器人实现的手术过程主要包括术前定位、术中操作和术后整理。在术前,通常需要由手术助理(例如助理医生或护师)根据手术类型及手术位姿将运动臂调整到合适的位姿,将运动臂与戳卡固定连接,然后在运动臂的末端设置手术器械,以使手术器械通过戳卡进入体内。运动臂的运动既可以由手术助理从其远端 (即靠近患者端处)手动调整,也可以由手术助理或医生通过操作在运动臂近端(即靠近医生控制端处)的控制装置来进行控制。然而,由于运动臂可能体积和重量较大,存在稳定性问题和碰撞风险,尤其在单孔手术中。因此,运动臂调整复杂且耗时。类似地,在术中、术后,运动臂的调整都存在以上问题。
技术实现要素:4.在一些实施例中,一种用于机器人系统的控制方法,所述机器人系统包括多个运动臂,所述控制方法包括:基于操作命令,确定所述多个运动臂中的一个或多个目标运动臂的运动方式;确定所述一个或多个目标运动臂的初始位姿;基于一个或多个所述目标运动臂的初始位姿和对应于运动方式的运动步长,执行一个或多个运动控制循环,其中,对于每个运动控制循环,确定所述一个或多个目标运动臂的目标位姿;以及控制所述一个或多个目标运动臂向所述目标位姿运动。
5.在一些实施例中,一种机器人系统,包括:多个运动臂;以及控制装置,所述控制装置被配置成执行本公开中的任一实施例所述的控制方法。
6.在一些实施例中,一种计算机可读存储介质,包括一个或多个指令,所述指令由处理器执行以执行本公开中的任一实施例所述的控制方法。
7.在一些实施例中,一种计算机系统,包括:存储器,用于存储至少一个指令;以及处理器,被配置为执行所述至少一个指令以执行本公开中的任一实施例所述的控制方法。
附图说明
8.为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单的介绍。下面描述中的附图仅仅示出本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本公开实施例的内容和这些附图获得其他的实施例。
9.图1示出了根据本公开一些实施例的机器人系统的结构框图;
10.图2示出了根据本公开一些实施例的机器人系统的立体结构示意图;
11.图3示出了根据本公开一些实施例的机器人系统的运动臂的结构示意图;
12.图4示出了根据本公开一些实施例的辅助连接装置的局部剖面图;
13.图5(a)示出了根据本公开一些实施例的用于机器人系统的控制方法的流程图;
14.图5(b)示出了根据本公开一些实施例的每个运动控制循环的控制方法的流程图;
15.图6示出了根据本公开一些实施例的机器人系统的另一结构框图;
16.图7示出了根据本公开一些实施例的用于确定运动臂的目标位姿的方法的流程图;
17.图8示出了根据本公开一些实施例的控制装置的架构示意图。
具体实施方式
18.为使本公开解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本公开实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本公开示例性实施例,而不是全部的实施例。
19.在本公开的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本公开的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“耦合”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连;可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。在本公开中,定义靠近操作者(例如医生)的一端为近端、近部或后端、后部,靠近手术患者的一端为远端、远部或前端、前部。本领域技术人员可以理解,本公开的实施例可以用于医疗器械或手术机器人,也可以用于其他非医疗装置。
20.图1示出了根据本公开一些实施例的机器人系统10的结构框图。如图1所示,机器人系统10可以包括控制装置11以及与控制装置11连接的多个运动臂。在一些实施例中,如图1所示,多个运动臂可以包括第一运动臂12a和第二运动臂12b。控制装置11可以用于控制第一运动臂12a和第二运动臂12b。例如,控制装置11可以调整第一运动臂12a和第二运动臂12b的运动、位姿、相互协调等。在一些实施例中,第一运动臂12a和第二运动臂12b在末端或远端处可以分别包括第一末端臂128a和第二末端臂128b。控制装置11可以控制第一运动臂12a或第二运动臂12b运动,以使第一末端臂128a或第二末端臂128b运动至期望的位置和姿态。
21.本公开文本为了便于简要说明,在图1以及后续附图中将示例性机器人系统10 示为包括两个运动臂。但是本领域的技术人应理解,机器人系统10还可以包括三个、四个或更多的运动臂。机器人系统10可以包括手术机器人系统,例如腔镜手术机器人系统。应当理解,机器人系统10还可以包括用于其他领域(例如,制造、机械等等) 的专用或通用机器人系统。
22.图2示出了根据本公开一些实施例的机器人系统10的立体结构示意图。如图2 所示,机器人系统10是手术机器人系统,可以包括手术台车13以及设置在手术台车 13上的第一运动臂12a和第二运动臂12b。在一些实施例中,手术台车13可以包括基座131和横梁132。在一些实施例中,第一运动臂12a和第二运动臂12b可以活动设置在横梁132上。应当理解,机器人系统10的多个运动臂也可以设置在多个手术台车上,例如,每个运动臂对应设置在一个手术台车上。或者一个运动臂设置在一个手术台车上,其余多个运动臂设置在另一手术台车上。这些实施例仍落在本公开的保护范围之内。
23.在一些实施例中,机器人系统10的每个运动臂(例如第一运动臂12a和第二运动臂12b)可以包括多根连杆以及多个关节。在一些实施例中,每个运动臂的每个关节可以包括电机,用于驱动相应的关节运动,进而带动相应的连杆转动。
24.图3示出了根据本公开一些实施例的机器人系统10的运动臂的结构示意图。如图 3所示,第二运动臂12b(或第一运动臂12a)可以包括关节1201b-1208b和连杆121b-128b。连杆121b的近端(在本公开中靠近横梁132的一端被定义为运动臂的近端)与横梁132连接,连杆121b-127b依次串连。其中关节1201b可以位于横梁132 与连杆121b的近端连接处,关节1202b可以位于连杆121b与第二连杆122b的连接处,关节1203b可以位于连杆122b与连杆123b的连接处,关节1204b可以位于连杆123b 与连杆124b的连接处,关节1205b可以位于连杆124b与连杆125b的连接处,关节 1206b可以位于连杆125b与连杆126b的连接处,关节1207b可以位于连杆126b与连杆127b的连接处,关节1208b可以位于连杆127b与连杆128b的连接处。连杆128b 作为第二运动臂12b的最远端的连杆,形成第二运动臂12b的第二末端臂128b。末端臂的位置和姿态的确定和表示需要前述每个关节共同决定。应当理解,连杆126b、127b 和128b,共同构成第二运动臂12b的远端运动中心机构(rcm机构)。
25.在一些实施例中,机器人系统10可以包括一个或多个手术器械。如图3所示,手术器械14a可以安装在第一运动臂12a的第一末端臂128a上,并且手术器械14b可以安装在第二运动臂12b的第二末端臂128b上。应当理解,手术器械14a和手术器械 14b可以包括但不限于用于实施手术的夹钳、电刀或用于进行照明成像的图像捕获设备(例如内窥镜工具)等等。手术器械14a和手术器械14b的一部分(例如臂体和设置在臂体远端的末端器械)可进入人类或动物的某个身体部位内以实施医疗操作,例如手术。
26.在一些实施例中,如图2所示,机器人系统10还可以包括辅助连接装置15,例如鞘套。辅助连接装置15可以安装在人体或动物体上(例如切口或开口中),一部分可以被定位在人类或动物需要进行手术的身体部位,另一部分用于与运动臂(例如与第一、第二运动臂12a、12b的第一、第二末端臂128a、128b)可拆卸地连接,以更好地为手术服务。
27.图4示出了根据本公开一些实施例的辅助连接装置15的局部剖面图。在一些实施例中,如图4所示,辅助连接装置15可以包括鞘管151和鞘管152。在一些实施例中,辅助连接装置15还可以包括至少两个连接部(例如连接部153和154)。连接部可以包括但不限于夹钳、卡合结构、粘合结构、插拔结构、吸合结构。连接部153和154 可以分别固定设置在鞘管151和152上。
28.在一些实施例中,每个运动臂(例如第一、第二运动臂12a、12b)上可以包括与连接部(例如连接部153和154)配合的连接件(例如图2所示的连接件1281a和1281b)。辅助连接装置15可以通过连接部153和154分别与第一、第二运动臂12a、12b的连接件1281a和1281b
可拆卸地固定连接。在一些实施例中,如图2所示,连接件1281a 和1281b可以分别固定设置在第一末端臂128a和第二末端臂128b上。连接件1281a 和1281b分别与连接部153和连接部154连接,以使辅助连接装置15与第一、第二运动臂12a、12b可拆卸固定连接。
29.应当理解,第一末端臂128a、第二末端臂128b、连接件1281a和1281b在笛卡尔坐标的空间位置和旋转坐标的姿态指向可以通过这些部件的坐标系的位姿表示。在一些实施例中,可基于当前手术类型或辅助连接装置的构型,例如,基于当前手术类型可以确定辅助连接装置的构型。基于辅助连接装置的构型,确定辅助连接装置的多个鞘管之间的形状和相对位姿关系,以确定多个运动臂的末端相对位姿。应该理解,运动臂的末端可以包括运动臂的末端臂、运动臂的远端运动中心机构(rcm机构)、或者运动臂上用于与辅助连接装置连接的部位。运动臂的末端的位姿可以包括运动臂的末端臂的位姿、运动臂的远端运动中心机构(rcm机构)的位姿、或者运动臂上用于与辅助连接装置连接的部位的位姿。
30.例如,可基于鞘管151和152的形状和相对位姿关系,可以确定第一运动臂12a 和第二运动臂12b的末端相对位姿关系。第一运动臂12a与第二运动臂12b之间的末端相对位姿关系可指示在世界空间坐标系下第一运动臂12a的末端相对于第二运动臂 12b的末端的位置关系和姿态关系。应当理解,末端相对位姿关系可以包括例如第一运动臂12a的第一末端臂128a和第二运动臂12b的第二末端臂128b之间形成的相对位姿关系。或者,末端相对位姿关系还可以包括安装在第一末端臂128a和第二末端臂 128b上的手术器械14a和14b之间形成的相对位姿关系。或者,末端相对位姿关系还可以包括固定设置在第一末端臂128a和第二末端臂128b上的连接件1281a和1281b 之间形成的相对位姿关系。在一些实施例中,末端相对位姿关系可以存储在相关联的相对位姿模型中,可以用于计算第一运动臂12a或第二运动臂12b的末端的目标位姿。由于连接件1281a和1281b分别固定在第一末端臂128a和第二末端臂128b上,因此在第一末端臂128a和第二末端臂128b符合末端相对位姿关系时,连接件1281a和 1281b可以分别与连接部153和154连接。
31.应当理解,第一运动臂12a运动至目标位姿,可以确定安装于第一运动臂12a末端的手术器械14a在世界坐标内的目标位姿,并且第二运动臂12b运动至目标位姿,可以确定安装于第二运动臂12b末端的手术器械14b在世界坐标内的目标位姿。运动臂或其一部分的姿态可以通过关节来实现。例如,在一些实施例中,每个运动臂上的固定部位(例如第一、第二末端臂128a、128b,以及固定设置的在第一、第二运动臂 12a、12b上的连接件1281a、1281b、安装在第一、第二运动臂12a、12b上的手术器械14a、14b)的目标空间位置可以通过相应运动臂所包括的多个关节中的一些关节实现。每个运动臂上的固定部位的目标空间姿态可以通过相应运动臂所包括的多个关节中的另一些关节实现。在一些实施例中,运动臂的末端(例如第一、第二末端臂128a、 128b)用于实现目标空间姿态的多个关节相对于该运动臂的用于实现目标空间位置的多个关节更靠近运动臂的远端。应当理解,实现运动臂的末端的目标空间姿态和目标空间位置的多个关节还可以包括其他设置方式,具体可以根据使用需求设置。
32.在一些实施例中,待手术器械安装到末端臂后,手术器械14a和14b可以通过辅助连接装置15的鞘管151和152,按预定的角度分别顺利穿过鞘管151和152,沿鞘管151和152运动进入人体内需要手术的相应位姿。在一些实施例中,辅助连接装置 15的鞘管151和152可以是柔性的,并且手术器械14a、14b延伸穿过辅助连接装置 15的部分也是柔性的,可以
便于在第一末端臂128a和第二末端臂128b大致符合末端相对位姿关系时,辅助连接装置15上的连接部153、154可以与每个运动臂上的连接件1281a、1281b连接,辅助连接装置15的柔性部分可以在末端臂的位姿具有一定误差的情况下,保证每个手术器械仍可以顺利通过鞘管进入手术区域。
33.应当理解,如图4所示的辅助连接装置15仅仅是示例性的。在一些实施例中,机器人系统10可以包括三个、四个或更多的运动臂,辅助连接装置15可包括三个、四个或更多的鞘管,每个鞘管上包括相应的连接部,以便用于每个鞘管与每个运动臂连接,并约束多个末端臂之间的末端相对位姿关系。
34.本公开提供了一种可以用于机器人系统的控制方法。图5(a)示出了根据本公开一些实施例的用于机器人系统(例如机器人系统10)的控制方法500的流程图。图6 示出了根据本公开一些实施例的机器人系统10的另一简化框图。如图5(a)和图6 所示,该方法500可以由机器人系统10的控制装置(例如控制装置11)来执行。控制装置11可以配置在计算设备上。方法500可以由软件、固件和/或硬件来实现。
35.如图5(a)所示,在步骤501,基于操作命令,确定多个运动臂中的一个或多个目标运动臂的运动方式。在一些实施例中,运动方式可以包括运动方向和运动模式。应当理解,运动模式可以包括但不限于一个或多个目标运动臂移动、旋转或俯仰,或者多个目标运动臂整体移动、整体旋转或整体俯仰(例如,整体平移和整体转动的组合)。例如,目标运动臂可以包括第一运动臂12a和第二运动臂12b。运动模式可以包括第一运动臂12a的末端(例如第一末端臂128a)和第二运动臂12b的末端(例如第二末端臂128b)相互靠近或相互远离地运动。或者,运动模式可以包括第一运动臂 12a的末端(例如第一末端臂128a)和第二运动臂12b的末端(例如第二末端臂128b) 的整体运动。应当理解,末端整体旋转可以包括绕预定点的俯仰转动或者水平转动。在一些实施例中,预定点可以为辅助连接装置15与入腹口的连接点,或者预定点可以包括沿运动臂的末端的延长线上的点,例如rcm(远程运动中心)点。
36.在一些实施例中,操作命令由用户通过用户接口输入。应当理解,用户接口可以包括但不限于输入装置。在一些实施例中,控制装置11可包括输入装置113。输入装置113被配置成可以用于接收来自用户的操作命令,或者接收来自用户的操作指示,以使控制装置11能够基于该操作指示而获取具体的操作命令。在一些实施例中,控制装置11可基于操作命令,确定第一运动臂12a的末端和第二运动臂12b的末端的运动方式。例如,在运动方式为整体平移的情况下,该操作命令可以是第一运动臂12a的第一末端臂128a和第二运动臂12b的第二末端臂128b作为整体一起平移的命令。在运动方式为整体转动的情况下,该操作命令可以是第一运动臂12a的第一末端臂128a 和第二运动臂12b的第二末端臂128b作为整体一起绕预定点或直线转动的命令。例如,第一运动臂12a的第一末端臂128a和第二运动臂12b的第二末端臂128b作为整体一起绕预定点俯仰转动或一起绕纵轴线转动。在运动方式为整体平移和整体转动的组合的情况下,该操作命令可以是第一运动臂12a的第一末端臂128a和第二运动臂12b的第二末端臂128b作为整体一起平移并转动的命令。
37.在一些实施例中,任选地,方法500还可以包括以下步骤:响应于不再接收到操作命令或接收到停止命令,控制一个或多个目标运动臂停止运动。例如,在操作者长按按钮以实时控制运动臂运动的情况下,如果操作者放开按钮,不再能接收到操作命令,则可以控制
一个或多个运动臂停止运动。或者,在操作者按压开始按钮,启动一个或多个运动臂的运动之后,按压停止按钮以发出停止命令,则可以控制一个或多个目标运动臂停止运动。
38.在步骤503,确定一个或多个目标运动臂的初始位姿。例如,可以通过传感器检测一个或多个目标运动臂的初始关节值,以确定一个或多个目标运动臂的初始位姿。
39.在一些实施例中,如图6所示,控制装置11可与各目标运动臂(例如,第一运动臂和第二运动臂12a、12b)通信连接。在一些实施例中,如图6所示,第一运动臂12a 还可以包括一个或多个传感器129a。关节1201-1208a的电机可以分别与多个传感器 129a耦合。第二运动臂12b还可以包括一个或多个传感器129b。关节1201-1208b的电机可以分别与多个传感器129b耦合。图6示例性地示出一个传感器,应当理解,图示的传感器129a和129b可以表示多个传感器。传感器129a和129b可以包括但不限于例如编码器或电位计。传感器可以用于获取对应运动臂的多个关节的数据,以测得相应关节的关节值。在一些实施例中,传感器可以包括延伸设置在运动臂上的光纤传感器,用于获得运动臂的位姿。
40.在一些实施例中,如图6所示,控制装置11可以包括一个或多个处理器111和存储器112。处理器111可以与第一运动臂12a的多个传感器129a通信连接,以通过多个传感器129a获得第一运动臂12a的各个关节1201-1208a的当前关节值。处理器111 可以与第二运动臂12b的多个传感器129b通信连接,以通过多个传感器129b获得第二运动臂12b的各个关节1201-1208b的当前关节值。
41.在一些实施例中,处理器111可以基于第一、第二运动臂12a、12b的正运动学模型,对各个关节的当前关节值进行解算,以得到第一运动臂12a和第二运动臂12b(例如第一运动臂的末端和第二运动臂的末端)的当前位姿。应当理解,当前位姿可以包括当前姿态和当前位置,当前位姿可以是任一时刻的位置和姿态。第一运动臂12a的正运动学模型可以预先设置并存储在存储器112中。运动臂的正运动学模型可以基于运动臂已知的所有关节变量(例如关节值),获得运动臂任意位置或任意部分的位姿 (例如第一、第二末端臂128a、128b,以及固定设置的在第一、第二运动臂12a、12b 上的连接件1281a、1281b、安装在第一、第二运动臂12a、12b上的手术器械14a、14b 的位姿)。
42.在步骤505,基于一个或多个目标运动臂的初始位姿和对应于运动方式的运动步长,执行一个或多个运动控制循环。应当理解,对于每个运动控制循环,对应于运动方式的运动步长可以是预先设定的。例如,可以基于一个或多个目标运动臂的初始位姿,控制对应的目标运动臂以运动步长运动,以执行至少一个运动控制循环。在一种是实现中,单个运动控制循环可以是80ms。在一些实施例中,运动步长可以包括在单个运动控制循环中多个目标运动臂的整体运动幅度或者各自的运动幅度。
43.图5(b)示出了根据本公开一些实施例的每个运动控制循环的控制方法500(b)的流程图。如图5(b)和图6所示,该方法500(b)可以由机器人系统10的控制装置 (例如控制装置11)来执行。控制装置11可以配置在计算设备上。方法500(b)可以由软件、固件和/或硬件来实现。
44.如图5(b)所示,在步骤507,对于每个运动控制循环,确定一个或多个目标运动臂的目标位姿。在一些实施例中,对于每个运动控制循环,确定目标运动臂的每个关节的当前关节值。在一些实施例中,基于当前位姿,确定一个或多个目标运动臂的每个关节的当前关节值,以及基于一个或多个目标运动臂的每个关节的当前关节值和关节步长,确定一个或
多个目标运动臂的每个关节在当前运动控制循环的目标关节值。对于每个目标运动臂,基于目标关节值,可以确定目标运动臂的目标位姿。本领域技术人员可以理解,在一些实施例中,运动臂的位姿(例如初始位姿、当前位姿、目标位姿等)可以由运动臂各个关节的关节值的集合表示。
45.在一些实施例中,对于每个运动控制循环,基于运动步长,确定每个目标运动臂所包含的每个关节的关节步长。在一些实施例中,每一关节的关节步长可以指示相应关节在每个运动控制循环可绕其关节轴移动的角度。运动臂的运动步长可以由运动臂的多个关节的关节步长的集合表示。
46.在一些实施例中,对于首个运动控制循环,可以基于一个或多个目标运动臂的初始位姿,确定一个或多个目标运动臂的每个关节的初始关节值,将目标运动臂的初始关节值作为当前关节值。基于一个或多个目标运动臂的每个关节的当前关节值和关节步长,确定一个或多个目标运动臂的每个关节在当前运动控制循环的目标关节值。
47.在一些实施例中,对于非首个运动控制循环的每个运动控制循环,可以确定一个或多个目标运动臂在当前运动控制循环的当前位姿。应当理解,目标运动臂在当前运动控制循环的当前位姿可以基于目标运动臂的当前关节值来确定。对于非第一个运动控制循环,目标运动臂在当前运动控制循环的当前位姿可以基于上一个运动控制循环的计算目标位姿确定,并且每个关节的当前关节值是上一个运动控制循环的目标位姿对应的每个关节的关节值。
48.在一些实施例中,任选地,方法500(b)还可以包括:对于每个运动控制循环,基于运动步长和当前手术类型或辅助连接装置的构型,确定多个目标运动臂的末端的目标位姿;以及基于多个目标运动臂的末端的目标位姿,确定多个目标运动臂的目标位姿。例如,多个目标运动臂可以包括第一运动臂12a和第二运动臂12b。基于当前手术类型或辅助连接装置(例如辅助连接装置15)的构型,可以确定第一运动臂12a 的末端(例如第一末端臂128a)和第二运动臂12b的末端(例如第二末端臂128b)之间的末端相对位姿关系。在一些实施例中,第一运动臂的第一末端与第二运动臂第二末端的末端相对位姿关系可以是预先确定的或者已知的。在一些实施例中,可以基于辅助连接装置的运动幅度,确定多个目标运动臂(例如目标运动臂的末端)的整体运动幅度,基于多个目标运动臂的初始位姿和整体运动幅度,可以确定多个目标运动臂的末端的目标位姿。
49.在一些实施例中,以第一运动臂12a作为示例,第一运动臂12a的第一末端的目标位姿可以包括以下中的一种:第一运动臂12a的第一末端臂128a的目标位置和目标姿态、第一运动臂12a的远端运动中心机构(rcm机构)的目标位置和目标姿态、第一运动臂12a用于与辅助连接装置15连接的末端(例如连接件1281a)的目标位置和目标姿态。基于第一运动臂12a的初始位姿和第一末端的目标位姿,确定第一运动臂 12a的目标位姿。应当理解,运动臂的位姿可以通过运动臂所包括的多个关节的关节值的集合表示。例如,可以通过安装在第一运动臂12a的各个关节处的传感器(例如传感器129a)获得第一运动臂12a的各个关节的初始关节值,利用第一运动臂12a的正运动学模型解算,以得到第一运动臂12a的初始位姿。在一些实施例中,可以通过如图7所示方法基于运动臂的当前位姿和末端的目标位姿,确定运动臂的目标位姿。
50.在一些实施例中,当前手术类型可以是当前需进行手术的类型,例如,手术类型可
以包括但不限于普外科手术、胸外科手术、泌尿外科手术、妇科手术等。在一些实施例中,辅助连接装置可以包括鞘套,鞘套的构型可以包括例如不同术式下的鞘套的规格和型号(规格和型号可以包括但不限于例如鞘套的长度、径向尺寸、孔径大小、鞘管数量、多个鞘管设置的相对位姿关系等)。多个鞘套中的每个与至少一个运动臂的相对位姿关系相关联,不同构型的鞘套与每个运动臂的相对位姿关系可以不同。在一些实施例中,输入装置113可用于接收来自用户的设置信息(例如当前手术类型、辅助连接装置的构型、相对位姿模型等的设置信息等)。
51.在步骤513,控制一个或多个目标运动臂向目标位姿运动。应当理解,通过一个或多个运动控制循环可以控制目标运动臂向目标位姿运动。在一些实施例中,任选地,方法500还可以包括步骤509。在步骤509,对于每个运动控制循环,基于约束关系和目标位姿,判断一个或多个目标运动臂之间或与其他运动臂之间是否发生干涉。在一些实施例中,方法500还可以包括判断一个或多个目标运动臂的所有的目标关节值是否都在相应关节的关节运动范围之内。响应于一个或多个目标运动臂的所有的目标关节值都在相应关节的关节运动范围之内,基于约束关系,判断一个或多个目标运动臂之间或与多个运动臂的其他运动臂之间是否会形成干涉。
52.在一些实施例中,方法500还可以包括步骤511。在步骤511,响应于一个或多个目标运动臂之间或与其他运动臂之间发生干涉,控制一个或多个目标运动臂停止运动或者发出警报信息。
53.在一些实施例中,例如,可以基于约束关系判断第一运动臂12a和第二运动臂12b 之间是否会形成干涉关系。基于约束关系被满足,确定第一运动臂12a和第二运动臂 12b之间不会发生干涉关系。基于约束关系不被满足,确定第一运动臂12a和第二运动臂12b之间会发生干涉关系。应当理解,约束关系可以通过干涉模型进行限定。
54.在一些实施例中,约束关系可以包括以下关系中的至少一种:第一运动臂12a与第二运动臂21b之间的相对位置顺序关系符合预定的相对位置顺序关系、同第一运动臂12a相关联的预定点与同第二运动臂12b相关联的预定点之间的距离大于预定安全距离、同第一运动臂12a相关联的预设线段与同第二运动臂12b相关联的预设线段之间的最小距离大于预定安全线段距离、或者第一运动臂12a的一个或多个关节的关节值与第二运动臂12b的相应关节的关节值之间的差值大于预定安全值。
55.在一些实施例中,预定的相对位置顺序关系可以包括但不限于多个运动臂之间按顺时针或逆时针顺序排序。多个运动臂之间的相对位置顺序关系可以通过运动臂的关节或连杆的相对位置顺序表示。例如,第一运动臂12a靠近横梁132的一个或多个关节(例如关节1202a和/或1203a)在每个运动控制循环的结束位置与相邻运动臂(例如第二运动臂12b)靠近横梁132的相应的一个或多个关节(例如关节1202b和/或1203b)在每个运动控制循环的结束位置的相对位置顺序符合顺时针或逆时针排序,可以确定第一运动臂12a与第二运动臂12b满足相对位置顺序关系的约束。反之,可以确定第一运动臂12a与第二运动臂12b之间不满足预定的相对位置顺序,可能导致第一运动臂12a与第二运动臂12b之间发生干涉关系。在一些实施例中,还可以通过判断第一运动臂12a的一个或多个连杆(例如连杆121a和/或122a)的末端与第二运动臂12b的相应连杆(例如连杆121b和/或122b)的末端的相对位置顺序是否符合预定的相对位置顺序关系(例如顺时针或逆时针排序),以确定第一运动臂
12a与第二运动臂12b之间的相对位置顺序关系是否符合预定的相对位置顺序关系。
56.在一些实施例中,多个运动臂之间的相对位置顺序关系还可以通过运动臂的关节或连杆相对于相同基准方向的运动角度表示。例如,基于初始位置顺序,确定第一运动臂12a的关节(例如关节1201a)相对于横梁132的转动角度小于第二运动臂12b 的关节(例如关节1201b)相对于横梁132的转动角度。响应于关节1201a相对于横梁132的转动角度小于关节1201b相对于横梁132的转动角度,可以确定第一运动臂 12a与第二运动臂12b满足预定的相对位置顺序关系的约束。反之,可以确定第一运动臂12a与第二运动臂12b之间不满足预定的相对位置顺序,可能导致第一运动臂12a 与第二运动臂12b之间发生干涉关系。
57.在一些实施例中,同运动臂相关联的预定点可以包括运动臂的连杆上的固定点、运动臂的关节或其他与运动臂相关的点。例如,同第一运动臂12a相关联的预定点可以为第一运动臂12a的预定关节(例如关节1203a),同第二运动臂12b相关联的预定点可以为第二运动臂12b的相应关节(例如关节1203b)。在一些实施例中,第一运动臂12a的关节1203a与第二运动臂12b的关节1203b之间的距离可以基于第一运动臂12a的关节1203a的关节轴线与第二运动臂12b的关节1203b的关节轴线来确定。在一些实施例中,同第一运动臂12a相关联的预定点可以为第一运动臂12a的预定连杆(例如连杆121a)上的固定点,同第二运动臂12b相关联的预定点可以为第二运动臂12b的相应连杆(例如连杆121b)或相邻连杆(例如123b)上的固定点。在一些实施例中,同第一运动臂12a相关联的预定点可以为第一运动臂12a中的预定连杆(例如,远端运动中心机构,rcm机构)上的固定点,同第二运动臂12b相关联的预定点可以为第二运动臂12b的连杆(例如连杆124b)的轴线在水平面上的投影点。例如,关节1203a与关节1203b的关节轴线的距离大于安全距离,或者第一运动臂12a和第二运动臂12b上的预定点之间的距离大于安全距离,可以确定第一运动臂12a与第二运动臂12b满足预定点安全距离关系的约束。反之,预定点之间的距离小于安全距离,确定第一运动臂12a和第二运动臂12b之间可能会发生干涉关系。应当理解,安全距离可以是预先设定的距离,例如可以包括但不限于135mm。应理解,安全距离还可以基于关节或连杆的尺寸设定。不同关节或连杆对应的预定点之间的安全距离可以不同。应当理解,同第一运动臂12a和同第二运动臂12b相关联的预定点可以包括但不限于上述实施例中示出的情况。
58.在一些实施例中,同运动臂相关联的预定线段可以包括运动臂的连杆的棱边或轴线、运动臂的关节轴线或其他与运动臂相关的线段。应理解,两个线段之间的最小距离是这两个线段的起点之间的距离与这两个线段的终点之间的距离之中较小的那个距离。例如,同第一运动臂12a相关联的预定线段可以为第一运动臂12b的预定连杆(例如连杆121a),同第二运动臂12b相关联的预定线段可以为第二运动臂12b的预定连杆(例如连杆122b)。在一些实施例中,同第一运动臂12a相关联的预定线段可以为第一运动臂12a的预定连杆(例如连杆125a),同第二运动臂12b相关联的预定线段可以为第二运动臂12b的预定连杆(例如远端运动中心机构(rcm机构)靠近连杆 125a的棱边,例如连杆126a靠近连杆125a的棱边)。在一些实施例中,同第一运动臂12a相关联的预定线段可以为第一运动臂12a的rcm点与第一运动臂12a的预定连杆(例如连杆128a)延长线上的点之间形成的线段,同第二运动臂12b相关联的预定线段可以为第二运动臂12b的预定连杆(例如连杆128b)靠近第一运动臂12a的棱边。在一些实施例中,同第一运动臂12a相关联的预定线段可以为第一运动臂12a的预定连杆(例如连杆124a)的棱边(例如靠近第二运动臂12b的棱边),并且同第二运动臂12b相关
联的预定线段可以为第二运动臂12b的相应连杆(例如连杆124b)的棱边 (例如靠近第一运动臂12a的棱边)。在一些实施例中,同第一运动臂12a相关联的预定线段可以为第一运动臂12a的关节轴线,同第二运动臂12b相关联的预定线段可以为第二运动臂12b的关节轴线。在一些实施例中,同第一运动臂12a相关联的预定线段可以为第一运动臂12a的关节轴线(例如关节1204a的轴线)和另一关节轴线(例如关节1205a的轴线)的交点与第一运动臂12a的连杆(例如连杆125a)远端之间的线段,同第二运动臂12b相关联的预定线段可以为第二运动臂12b的关节轴线(例如关节1204b的轴线)和另一关节轴线(例如关节1205b的轴线)的交点与第二运动臂 12b的连杆(例如连杆125b)远端之间的线段。例如,连杆121a与连杆122b之间的最小距离大于安全距离,或者连杆125a与第二运动臂12b的rcm机构靠近连杆125a 的棱边(例如连杆126b靠近连杆125a的棱边)之间的最小距离大于安全距离,或者第一运动臂12a的rcm点与连杆128a延长线上的点之间形成的线段与连杆128b靠近的第一运动臂12a的棱边之间的最小距离大于安全距离,或者连杆124a靠近第二运动臂12b的棱边与连杆124b靠近第一运动臂12a的棱边之间的最小距离大于安全距离,或者关节1204a和关节1205a的轴线交点与连杆125a远端形成的线段与关节1204b 和关节1205a的轴线交点与连杆125b远端形成的线段之间的最小距离大于安全距离,可以确定第一运动臂12a与第二运动臂12b满足预定线段安全距离关系的约束。反之,预定线段之间的距离小于安全距离,确定第一运动臂12a和第二运动臂12b之间可能会发生干涉关系。应当理解,安全距离例如可以包括但不限于135mm、120mm、60mm 等。应理解,安全距离还可以基于关节或连杆的尺寸设定。不同关节或连杆对应的预定点之间的安全距离可以不同。应当理解,同第一运动臂12a和同第二运动臂12b相关联的预定线段可以包括但不限于上述实施例中示出的情况。
59.在一些实施例中,第一运动臂12a的一个或多个关节的关节值(例如关节1203a 的关节值)与第二运动臂12b的相应关节的关节值(例如关节1203b的关节值)之间的差值大于预定安全值(例如安全角度),可以确定第一运动臂12a与第二运动臂12b 满足关节安全角度关系的约束。反之,关节值之间的差值小于预定安全值,确定第一运动臂12a和第二运动臂12b之间可能会发生干涉关系。
60.应当理解,在机器人系统包括三个、四个或更多个运动臂时,约束关系也可以用于彼此相邻的运动臂之间或者位置相近的运动臂之间的干涉判断。在一些实施中,约束关系的比较对象可以是相邻运动臂之间易于发生干涉的结构(例如同第一运动臂 12a相关联的预定线段与同第二运动臂12b相关联的预定线段、同第一运动臂12a相关联的预定点与同第二运动臂12b相关联的预定点、第一运动臂12a的一个或多个关节与第二运动臂12b的相应关节)。而多个运动臂之间必然不会发生干涉的结构可以被排除在约束关系的比较对象之外,不需要对相邻运动臂上的所有结构进行比较,可以减少约束关系的比较过程的运算量,提高系统的工作效率。
61.图7示出了根据本公开一些实施例的用于确定运动臂的目标位姿的方法700的流程图。在一些实施例中,方法700可以用于基于目标运动臂的初始位姿以确定目标运动臂的目标位姿。方法700可以由机器人系统10的控制装置(例如控制装置11)来执行。控制装置11可以配置在计算设备上。方法700可以由软件、固件和/或硬件来实现。
62.如图7所示,对于每个目标运动臂,在步骤701,选择目标运动臂的多个关节之一作为特征关节,设置特征关节的推荐目标关节值。在一些实施例中,以目标运动臂为第一运动
臂12a为例。可以选择第一运动臂12a的多个关节之一作为特征关节,并且特征关节的推荐目标关节值可以是预先确定的。在一些实施例中,运动臂的特征关节可以为多个关节中易于与相邻运动臂发生碰撞的关节。例如,所选的特征关节可以为第一运动臂12a的多个关节中容易与其他运动臂(例如第二运动臂12b)发生碰撞的关节,例如图3所示的关节1205a或1206a。应当理解,在机器人系统10包括多个运动臂(例如三个或四个运动臂)时,不同的运动臂的特征关节的推荐目标关节值可以不同。在一些实施例中,特征关节是预先确定的,因此方法700可以不包括选择目标运动臂的多个关节之一作为特征关节。在一些实施例中,特征关节是预先确定的,因此方法700可以不包括设置特征关节的推荐目标关节值。
63.在步骤703,基于目标运动臂的末端的目标位姿和推荐目标关节值,确定其他目标关节值。应当理解,基于选择的目标运动臂的末端的目标位姿和推荐目标关节值,对目标运动臂的逆运动学模型进行解算,以获得选择的目标运动臂的其他目标关节值。应理解,其他目标关节值包括目标运动臂的除特征关节外的所有其他关节的目标关节值。以选择的目标运动臂为第一运动臂12a为例。可以基于第一运动臂12a的第一末端臂128a的目标位姿和推荐关节(例如1205a)的推荐目标关节值,对第一运动臂12a 的逆运动学模型进行解算,以获得第一运动臂12a的其他目标关节值。应理解,也可以选择多个目标运动臂,通过步骤703所述方法,确定每个目标运动臂的其他目标关节值。
64.在一些实施例中,方法700还可以包括步骤705。对于每个目标运动臂,在步骤 705,判断其他目标关节值是否在相应关节的关节运动范围之内。应当理解,目标运动臂的每个关节具有一定的运动范围,每个关节的关节运动范围为相应关节的最小极限关节值和最大极限关节值之间的范围,并且该最小极限关节值以及该最大极限关节值不在该范围之内。例如而非作为限制,有的关节的运动范围在18度到45度之间,有的关节的运动范围在45度到90度之间,还有的关节的运动范围在-90度到-45度之间等等。
65.在一些实施例中,方法700还可以包括步骤707。在步骤707,将推荐目标关节值递增或递减预定的调整值,以调整运动臂的推荐目标关节值。例如,选择第一运动臂 12a作为目标运动臂。响应于第一运动臂12a的其他目标关节值中的至少一个不在相应关节的关节运动范围之内,将推荐目标关节值递增或递减预定的调整值,以调整第一运动臂12a的推荐目标关节值。在一些实施例中,可以将调整值设置为例如0.2
°
或 0.5
°
等等来调整推荐目标关节值。应理解,0.2
°
或0.5
°
仅作为示例,调整值还可以设置为其他值。递增或递减预定的调整值,遍历直到有解或者达到特征关节的关节运动范围(可以不包括关节极限值),例如有解可以表示推荐目标关节值在特征关节的关节运动范围之内。
66.在一些实施例中,方法700还可以包括以下步骤:判断调整后的推荐目标关节值是否在特征关节的关节运动范围之内。响应于调整后的推荐目标关节值在特征关节的关节运动范围之内,选取调整后的推荐目标关节值作为推荐目标关节值,并返回步骤 703。
67.在一些实施例中,方法700还可以包括步骤711。在步骤711,基于目标运动臂的推荐目标关节值和其他目标关节值,确定目标运动臂的目标位姿。例如,响应于目标运动臂(例如第一运动臂12a)的其他目标关节值都在相应关节的关节运动范围之内,基于第一运动臂12a的推荐目标关节值和其他目标关节值,确定第一运动臂12a的目标位姿。例如,可以选择推荐目标关节值和其他目标关节的集合作为第一运动臂12a 的目标关节值。通过确定第一运动臂12a的目标关节值,可以确定第一运动臂12a的目标位姿。应当理解,多个运动臂
的其他运动臂也可以通过方法700以确定运动臂的目标位姿。
68.在一些实施例中,任选地,方法700还可以包括步骤709。在步骤709,判断目标运动臂与其他运动臂之间是否会形成干涉关系。例如,选择第一运动臂12a为目标运动臂。响应于第一运动臂12a的所有的其他目标关节值都在相应关节的关节运动范围之内,基于约束关系,判断第一运动臂12a与相邻运动臂(例如第二运动臂12b)之间是否会形成干涉关系。在一些实施例中,响应于多个运动臂之间不会形成干涉关系,执行步骤711。例如,响应于第一运动臂12a与第二运动臂12b之间不会形成干涉关系,基于第一运动臂12a的推荐目标关节值和其他目标关节值,确定第一运动臂12a 的目标位姿。在一些实施例中,响应于选择的目标运动臂与其他运动臂之间会形成干涉关系,重新执行步骤707。例如,响应于第一运动臂12a与第二运动臂12b之间会形成干涉关系,将第一运动臂12a的推荐目标关节值递增或递减预定的调整值,以调整第一运动臂12a的推荐目标关节值。
69.在一些实施例中,在推荐目标关节值和其他目标关节值有多组满足条件的解(例如有多组满足条件的第一运动臂12a的目标关节值)时,可以选择第一运动臂12a的各关节最不会与第二运动臂12b发生干涉的一组解作为唯一解输出,作为第一运动臂 12a的目标关节值。
70.图8示出了根据本公开的实施例的包括在机器人系统10中的控制装置11的架构示意图。在一些实施例中,如图8所示,该控制装置11可包括输入装置113、输出装置114、一个或多个存储器112、一个或多个处理器111以及通信接口115。在一些实施例中,控制装置11也可不包括输出装置。
71.在一些实施例中,输入装置113可以包括但不限于按钮、键盘、触摸屏、话筒等装置。输入装置可以被配置成用于直接接收来自用户的操作命令,或者接收来自用户的操作指示使得控制装置能够基于该操作指示而获取具体的操作命令。操作命令可以包括例如命令第二末端臂128b与第一末端臂128a保持末端相对位姿关系不变运动的命令。在一些实施例中,输入装置113还可用于接收来自用户的设置信息,例如当前手术类型、辅助连接装置的构型、相对位姿模型等的设置信息等。
72.在一些实施例中,输出装置114可以包括但不限于显示器、扬声器和指示灯等,其可被配置成用于指示机器人系统10的各个组成部分的状态、输出警报信号等等。
73.在一些实施例中,存储器112中可存储可在处理器111上执行的计算机程序。处理器111在执行计算机程序时实现上述实施例中描述的控制方法。存储器112和处理器111的数量可以为一个或多个。通信接口115用于在该控制装置11(例如控制装置 11的处理器111)和外部设备之间进行通信。在本公开中,控制装置11可例如通过通信接口115与设置在各运动臂(例如第一运动臂12a、第二运动臂12b)的各个关节中的电机进行通信,从而指令各运动臂运动到相应的目标位置,控制装置11还可例如通过通信接口115与运动臂的各个关节处的传感器进行通信,以接收运动臂的各个关节的关节值。在本公开的一个示例中,该通信接口115可以为can总线通信接口,其使得控制装置11能够通过can总线与设置在各关节的电机以及传感器连接通信。
74.如图8所示,输入装置113、输出装置114、存储器112、处理器111和通信接口 115可通过总线相互连接,以完成相互间的通信。总线可以是工业标准体系结构(isa, industry standard architecture)总线,外部设备互连(pci,peripheral component)总线或扩展工
业标准体系结构(eisa,extended industry standard component)总线等等。
75.在一些实施例中,处理器111可以为中央处理器(cpu)、数字信号处理器(dsp) 等各种类型通用处理器,在此不做限定。
76.在一些实施例中,控制装置11可以与基座131集成在一起并位于基座131内(例如基座131下方),以便节约空间。但是在实际应用中,控制装置11还可以与基座 131分开设置,或者控制装置11可部分与基座131集成在一起,另一部分与基座131 分开。或者控制装置11也可采用其他设置方式,与各个运动臂通信连接并能对各运动臂进行控制。
77.在一些实施例中,本公开提供了一种计算机可读存储介质,计算机可读存储介质可以包括一个或多个指令,一个或多个指令由处理器执行以执行以上任何实施例中的控制方法。
78.在一些实施例中,本公开提供了一种计算机系统,可以包括存储器和至少一个处理器,存储器用于存储至少一个指令。处理器被配置为执行至少一个指令以将处理器配置为执行以上任何实施例中的控制方法。
79.在一些实施例中,计算机可读存储介质或存储器可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质或存储器例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。
80.在一些实施例中,计算机可读取存储介质或存储器可以包括但不限于:便携式计算机盘、硬盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)、闪存或其他固态存储器技术、 cd-rom、数字多功能盘(dvd)、hd-dvd、蓝光(blue-ray)或其他光存储设备、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质,其上存储有计算机可执行指令,计算机可执行指令在机器(例如计算机设备) 中运行时,使得机器执行本公开的控制方法。应当理解,计算机设备可以包括个人计算机、服务器或者网络设备等。
81.本公开的一些实施例,能够有助于优化术前准备过程中运动臂的摆位。可以实时控制一个或多个运动臂,并在运动过程中能够有效地避免各运动臂之间不发生干涉,从而使得目标运动臂能够精确、快速、安全地到达目标位姿,从而实现高效安全的手术术前准备。
82.本公开的一些实施例,多个运动臂的末端以整体方式运动,并在运动过程中能够保持多个运动臂的末端的相对位姿关系不变,以快速准确地实现多个运动臂的运动。在术中,通过多个运动臂整体运动,还可以实现安装于多个运动臂上的手术器械的位姿快速调整,可以降低用户(例如医生)的操作难度,以提高术前或术中的工作效率。
83.上述仅为本公开的示例性实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。