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