具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
为了至少部分地解决上述问题,本发明实施例提供一种控制设备。该控制设备可以通过硬件或硬件与软件结合的方式,实现对多台待控制设备(包括机器人和/或运动控制部件)的同时管理和控制。本文描述的控制设备可以是任何合适的具备数据处理能力和/或指令执行能力的计算设备,其可以采用常规计算机实现。例如,控制设备可以是上位机、示教器等。示例性地,本文描述的控制设备可以通过显示器向用户提供控制界面,即人机交互界面,用户可以利用该控制界面实现对待控制设备和/或设备模型的控制。此外,示例性地,本文描述的控制设备还可以安装有控制软件,用于实现与控制界面相关的算法功能。
根据本发明实施例,可以用一台控制设备实现对多台待控制设备的同时管理和控制。与现有的一一对应方案相比,根据本发明实施例的方案至少具有以下优点:1、节约操作时间,不同待控制设备之间的同步性更好;2、对机器人或运动控制部件的控制更容易,可以实现对每个关节或轴的精确控制;3、由于可以实现对多台机器人同时控制,对多台机器人的动作编程更容易;4、由于可以实现对不同机器人的同时控制,机器人之间的不同动作的相互配合更容易实现,更容易组成复杂的运动系统。
应理解,虽然本发明实施例提供的控制设备具有能够对多台待控制设备同时进行管理和控制的能力,但这并非对本发明的限制,该控制设备同样可以应用于控制设备和待控制设备一一对应的控制方案中。
对于上述控制设备,本发明实施例提供一种可应用于其的参数编辑方法。该方法使得用户能够在通过运动控制窗口对指定设备(或其指定对象)进行运动控制时,随时根据需要将任意一条运动参数添加到运动参数序列中,方便用户对指定设备(或其指定对象)进行运动控制和轨迹规划。
根据本发明实施例的参数编辑方法和控制设备并不局限于对机器人的控制。例如,运动控制部件可以用于控制和驱动运动部件(例如电机等),而运动部件既可以用在机器人产品上,也可以用在非机器人产品上。例如,流水线上的传输带是用许多电机实现驱控的,运动控制部件可以实现对这类电机的驱控,进一步地,根据本发明实施例的参数编辑方法和控制设备可以用于对该流水线领域的运动控制部件进行管理和控制。总之,根据本发明实施例的参数编辑方法和控制设备可以应用于任意机器人或采用与机器人类似的工作方式的设备或其他具有运动部件的设备的控制领域。
在下文的描述中,结合根据本发明实施例的参数编辑方法的应用环境,即运动控制系统,来描述本发明。本文描述的运动控制系统可以包括控制设备和待控制设备。如上所述,控制设备可以包括例如上位机、示教器等。待控制设备可以包括例如机器人、用于驱动机器人运动的运动控制部件等。机器人可以是四轴机器人、H2型平面门架机器人等各种构型的机器人,运动控制部件可以是单轴驱控器、多轴驱控器等各种类型的驱控器。本文描述的运动部件可以仅仅是电机,也可以是电机结合减速器,还可以是电机结合丝杠等。
本文描述的机器人可以是自动执行工作的机器装置。机器人可以包括机器人本体、末端执行器(或称为工具)。本体可以包括多个关节,例如基座、大臂、小臂、腕等。末端执行器例如是一个可以开合的夹爪/物体夹持部,也可以是其他操作工具。末端执行器由控制设备控制按照相应路线运动并完成预定的动作。具体例如,末端执行器受控制设备的操控,实现在三维的空间中运动,并且在指定的位置执行相关动作,例如抓取、释放或其他动作。
以电机配合减速器为例,电机配合减速器是机械臂(或称为机械手、多轴机器人、多关节机器人等)的主要运动执行部件,机械臂主要是根据预定的路线从一个初始位置夹取目标物体到目标位置,适用于诸多工业领域的机械自动化作业。
现在市场上的机械臂主要包括四轴机器人(具有四个关节)和六轴机器人(具有六个关节),它们均包括有基座、手臂和末端的物体夹持部,手臂上关节的多少决定了机器人的“轴”的数量,每一个关节都是由一个电机的转动来驱动、以实现关节的运动。
下面结合图1描述根据本发明实施例的运动控制系统,以帮助理解根据本发明实施例的参数编辑方法的示例性应用环境。图1示出根据本发明一个实施例的运动控制系统100的示意性框图。需注意,本发明实施例提供的参数编辑方法可以在其他与运动控制系统100相似的系统上实现,并不局限于图1所示的具体示例。
如图1所示,运动控制系统100可以包括人机交互单元(即控制设备)110、控制器局域网络(CAN)数据线120、运动控制部件130和电机(即运动部件)140。运动控制部件130包括CAN数据收发单元1302、缓存1304、解算单元1306、波表1308、PWM波形发生器1310和电机驱动单元1312。
用户在使用运动控制部件(例如驱控器)130控制电机140时,可以通过人机交互单元110编辑运动参数。人机交互单元110经由CAN数据线120将用户编辑的运动参数发送给运动控制部件130,运动控制部件130对接收到的运动参数进行解算,得到波表数据,然后生成PWM波形,驱动电机运动。
具体地,运动控制部件130中的解算单元1306可以读取运动参数,然后将读取的运动参数利用解算公式进行插补解算等处理,将运动参数转换为波表数据,存储在波表1308中。
波表1308可以采用DDR存储器等实现,用于存储波表数据,可以根据设计需要设置波表1308的存储深度的大小。
PWM波形发生器1310用于根据波表1308中存储的波表数据生成对应的PWM波形数据。PWM波形有时也可以称为脉冲波形,具有高低电平两个状态,在运动控制领域可以通过调节PWM波形的占空比达到控制电机转速、电磁阀开关状态等目的。PWM波形发生器1310可以采用现有的各种PWM波形发生器实现,例如采用直接数字频率合成(DDS)信号发生技术实现的PWM波形发生器、采用数字计数技术实现的PWM波形发生器等。
因此,解算单元1306将用户设置的实际运动参数转换为产生PWM波形的波表数据,PWM波形发生器1310根据波表数据产生对应的PWM波形数据,再经过数模转换、放大滤波等处理后,发送给电机驱动单元1312来驱动电机140运动。
电机驱动单元1312用于根据PWM波形驱动电机140运动,可以利用各类电机驱动芯片实现。
在图1所示的示例中,仅示出了与控制设备100连接的一个运动控制部件130。下面描述一个控制设备控制多个运动控制部件的示例。图2示出根据本发明另一个实施例的运动控制系统200的示意性框图。如图2所示,运动控制系统200包括控制设备201、网关202、N个运动控制部件203、N个运动部件204以及N个传感器205。N可以是大于1的整数。
控制设备201用于实现人机交互,例如是安装有控制软件的计算机。用户可以在控制设备201提供的人机交互界面上设置机器人或运动控制部件的各种参数,实现对机器人的控制。
网关202用于实现控制设备201和运动控制部件203的数据交换。网关202可以例如采用上述CAN数据线120实现。
运动控制部件203用于对控制设备201发送来的运动参数进行解算,基于用户编辑的运动参数产生控制和驱动运动部件204运动的驱动电流,以驱动运动部件204运动,进而带动对应的运动体(例如机器人的关节)运动。每个运动控制部件203可以采用与上述运动控制部件130类似的结构实现。
运动部件204可以是电机,每个电机可以用于驱动机器人的一个关节。
传感器205用于实时检测运动体的运动位置,其可以是编码器、角度传感器、光电开关、机器视觉系统等。有些机器人可以没有传感器。
如图2所示,可以有多个运动控制部件203同时连接到控制设备201,控制设备201可以同时对这些运动控制部件203进行管理和控制。
下面简单介绍在控制设备上实现的人机交互方案,以帮助更好地理解本发明。
根据本发明实施例,可以预先建立若干设备模型,这些设备模型可以存储在模型库中。可选地,模型库可以存储在服务器上,由不同控制设备下载和使用。可选地,模型库可以由用户在当前的控制设备上建立获得。本文描述的设备模型可以是机器人模型,也可以是运动控制部件模型。在人机交互界面上,用户可以选择和编辑这些设备模型,并且可以建立设备模型与实际连接的待控制设备之间的关联关系。建立关联关系之后,可以通过针对设备模型设置的运动参数来控制待控制设备的运动。
建立设备模型的好处有很多。例如,不同机器人的运动控制部件的类型可能是相同的,采用这种方案可以无需一一识别实际连接的机器人,只需识别运动控制部件并将其与机器人模型关联即可。此外,这种方案使得整个控制设备的可扩展性很好。例如,如果开发了一种新的机器人构型,则无需开发新的控制设备,只需在控制设备所采用的模型库中增加一个新的机器人模型即可。
因此,在控制设备的人机交互界面上,除与控制设备连接的待控制设备之外,还可以显示模型库中的设备模型,以供用户控制。
图3示出根据本发明一个实施例的控制设备上的人机交互界面的示意图。需注意,图3所示的人机交互界面的布局方式仅是示例而非对本发明的限制。
如图3所示,人机交互界面可以包括以下四个显示区域中的一个或多个:工程窗口(工程区域)、机器人窗口(机器人区域)、编辑窗口(编辑区域)和设备窗口(设备区域)。每个窗口可以视为一个区域,其位置可以是固定的,也可以是可调的。例如,可以由用户通过拖动等方式对人机交互界面进行重新布局,调整每个窗口所在的位置。此外,上述四个窗口中的任一窗口可以根据需要打开、关闭、缩放(例如最小化、最大化)等。此外,人机交互界面还可以包括其他窗口,例如,在图3所示的人机交互界面最下方还有一个记录输出窗口。在一个示例中,编辑窗口可以是位置固定且用户无权关闭的,其他三个窗口可以是位置固定但用户有权关闭的。
工程窗口:用于管理当前所有的文件资源,例如显示与工程文件相关的文件列表。图4示出根据本发明一个实施例的工程窗口的示意图。如图4所示,在工程窗口中,显示了工程文件“1212.prj(即文件名为1212,扩展名为prj)”所管理文件的文件列表。工程文件的文件列表可以包括属于当前工程的所有文件的文件名。控制设备的控制软件可以生成多种格式的文件,包括但不限于:工程文件(扩展名为prj)、场景文件(扩展名为sce)、机器人运动文件(扩展名为mc)、电机运动文件(扩展名为pvt)、设置文件(扩展名为stp)等。
在本文的描述中,工程文件可以理解为在控制软件中建立一个工程(project)时所生成的文件,其可以用于整合和管理该工程下的其他文件,例如场景文件、电机运动文件等。场景文件可以理解为在控制软件中建立一个场景(即本文描述的控制场景)时所生成的文件。在任一场景中可以添加(可称为激活)设备模型,也可以添加与控制设备连接的待控制设备,并且可以对添加的设备模型或待控制设备进行一些参数编辑等操作,对场景中的设备进行操作时,场景文件可以记录这些操作的信息。示例性地,可以在控制软件中设置如下规则:在工程窗口中通过新建或导入等方式生成并唤醒(即选中)场景文件之后,用户才能在机器人窗口中选择需要的设备模型进行激活及随后的参数编辑等操作。
机器人运动文件可以是包含与机器人的运动轨迹相关的信息(例如机器人的运动参数)的文件。电机运动文件可以是包含与电机的运动轨迹相关的信息(例如电机的运动参数)的文件。
设置文件可以是包含待控制设备或设备模型的配置信息的文件。在待控制设备是运动控制部件或设备模型是运动控制部件模型的情况下,所述配置信息可以包括运动控制部件或运动控制部件模型的以下信息中的一项或多项:基本信息、各个轴的电机参数、运动轨迹规划参数、触发器参数、IO接口参数等。所述基本信息可以包括例如型号、版本号、标识符(ID)等。所述电机参数可以包括例如电机尺寸、步距角、最大值、编码器信息等。所述运动轨迹规划参数可以包括在运动参数中插值所采用的插值方式、插值曲线占空比、零位位置、急停方式等。在本文的描述中,运动轨迹规划参数是用于对待控制设备或设备模型的运动轨迹进行规划的参数,其与运动参数包含不同的内容。
在待控制设备是机器人或设备模型是机器人模型的情况下,所述配置信息可以包括机器人或机器人模型的以下信息中的一项或多项:基本信息、各个关节与运动控制部件的轴的对应关系、在运动参数中插值所采用的步长、零位位置等。所述基本信息可以包括例如型号、版本号、标识符(ID)等。
机器人窗口:用于显示预先建立的各种设备模型的标识信息。机器人窗口显示的设备模型可以包括机器人模型和/或运动控制部件模型。机器人窗口所显示的所有设备模型所组成的集合可以称为第一模型集合。示例性地,设备模型的标识信息可以包括设备模型的型号和/或图标。图5示出根据本发明一个实施例的机器人窗口的示意图。如图5所示,机器人窗口中显示了多个设备模型的标识信息,其中MRX表示机器人类型的模型。在当前场景文件或说当前控制场景处于可编辑状态(例如用户选中当前场景文件)的情况下,用户可以选择需要激活的设备模型,随后该模型在当前场景文件或说当前控制场景中被激活并显示在编辑窗口中。在本文的描述中,在某一场景文件中激活设备模型与在该场景文件所对应的控制场景中激活设备模型具有相同的含义。返回参考图3,其中编辑窗口即显示了场景“3.sce”中的多个机器人模型。
设备窗口:用于显示可编辑设备的标识信息。示例性地,可编辑设备可以包括第二模型集合中的所有设备模型和/或与控制设备建立连接的至少一个待控制设备。第二模型集合可以包括在至少一个控制场景中激活的所有设备模型。与控制设备建立连接的至少一个待控制设备可以是例如图2所示的连接到控制设备201上的所有运动控制部件203。
用户将控制设备与待控制设备通过总线(例如CAN总线可以连接多达100台设备)连接在一起后,设备窗口可以显示待控制设备列表,该列表可以包括所有已连接的待控制设备的标识信息。在待控制设备是运动控制部件的情况下,待控制设备列表还可以包括该运动控制部件的每个轴的标识信息。图6示出根据本发明一个实施例的设备窗口的示意图。如图6所示,设备窗口中显示了一个型号为MRQ-M2305的运动控制部件(一种五轴驱控器)的标识信息,还显示了该运动控制部件的五个轴的标识信息,分别用CH1-CH5表示。
在接收到用户输入的指示激活某一设备模型的激活指令时,设备窗口可以显示被激活的设备模型的标识信息。返回参考图3,在设备窗口中显示了在场景文件“3.sce”中激活的三个机器人模型的标识信息MRX-AS、MRX-AS、MRX-T4,还显示了在场景文件“11111.sce”中激活的四个机器人模型的标识信息MRX-AS、MRX-T4、MRX-DT、MRX-H2Z。
编辑窗口:用于编辑控制场景。在编辑窗口中可以向用户提供用于编辑当前控制场景的界面。在编辑窗口中进行的操作相当于对场景文件的操作,例如,在编辑窗口中添加一个设备模型相当于在当前控制场景中激活该设备模型,场景文件可以记录该激活操作的相关信息。在接收到用户输入的指示激活某一设备模型的激活指令时,编辑窗口可以显示被激活的设备模型的标识信息。
需注意,在不同窗口中显示的标识信息的形式可以相同,也可以不同。例如,机器人窗口和编辑窗口显示的设备模型的标识信息可以均包含型号和图标,而设备窗口显示的设备模型的标识信息可以仅包括型号。
用户可以在编辑窗口或设备窗口中选择某个可编辑设备,该可编辑设备可以是待控制设备,也可以是设备模型,随后用户可以查看和/或编辑该可编辑设备的各项信息,例如上述配置信息或运动参数等。
图7示出根据本发明一个实施例的运动控制部件的配置窗口以及在该配置窗口的部分区域显示的配置信息的示意图。图7所示的配置信息是型号为MRQ-M2304的运动控制部件的基本信息。如图7所示,配置窗口的左侧区域显示有若干控件,“信息”、“CH1”、“CH2”、“CH3”、“CH4”、“输入”、“输出”、“SEN.”、“系统”等,这些控件可以是按钮控件,用户可以通过单击的方式选择其中的任一控件。用户选择左侧区域中的“信息”这一控件,即可在右侧区域显示当前可编辑设备的基本信息。用户可以查看该基本信息,并在需要时也可以编辑该基本信息。
图8示出根据本发明另一个实施例的运动控制部件的配置窗口以及在该配置窗口的部分区域显示的配置信息的示意图。如图7所示,配置窗口的左侧区域显示有若干控件,“信息”、“Axes1”(与图7所示的“CH1”控件作用相似)、“Axes2”(与图7所示的“CH2”控件作用相似)、“Axes3”(与图7所示的“CH3”控件作用相似)、“Axes4”(与图7所示的“CH4”控件作用相似)、“输入/输出”(与图7所示的“输入”和“输出”控件作用相似)、“传感器”(与图7所示的“SEN.”控件作用相似)、“系统”等,这些控件可以是按钮控件,用户可以通过单击的方式选择其中的任一控件。图8所示的配置信息是型号为MRQ-M2304的运动控制部件的第一个轴(Axes1)的电机参数。用户选择左侧区域中的“Axes1”、“Axes2”等各个轴的对应控件,即可在右侧区域显示当前可编辑设备的各个轴的电机参数。用户可以查看电机参数,并在需要时也可以编辑电机参数。其余配置信息的显示和编辑方式类似,不再赘述。
在本文的描述中,运动参数是指用于指示待控制设备或设备模型的运动轨迹的参数。本领域技术人员可以理解,每个运动轨迹可以由多个包含位置、时间等信息的点组成,每个点可以对应一条运动参数。可以将包括多条运动参数的运动参数序列视为一个运动轨迹。在待控制设备是机器人或设备模型是机器人模型的情况下,运动参数可以是机器人或机器人模型的末端执行器的运动参数,也可以是机器人或机器人模型的至少一个关节中的每个关节的运动参数。在待控制设备是运动控制部件或设备模型是运动控制部件模型的情况下,运动参数可以是运动控制部件或运动控制部件模型的至少一个轴中的每个轴的运动参数。
运动参数的内容可以根据运动部件(例如电机)的实际构成不同而有所不同。示例性地,运动参数可以包括位置数据、速度数据和时间数据中的一项或多项。所述位置数据可以是空间直角坐标系中的坐标数据,也可以是旋转角度或其他与位置相关的数据。位置数据是空间直角坐标系中的坐标数据的情况下,运动参数可以称为LVT参数。位置数据是旋转角度的情况下,运动参数可以称为PVT参数。LVT参数可以包括空间直角坐标系中的坐标(可以称为X、Y、Z)和到达相应坐标点的时间(可以称为T)。PVT参数可以包括旋转角度(可以称为P)、旋转速度(可以称为V)、旋转时间(可以称为T)。
可选地,每条运动参数的位置数据可以表示目标位置(可以视为绝对位置),也可以表示一段运动距离或旋转角度(可以视为相对位置)。可选地,每条运动参数的时间数据可以是到达目标位置的时间(是一个时间点,可以视为绝对时间),也可以是经过位置数据所指示的运动距离或旋转角度所消耗的时间(是一个时间段,可以视为相对时间)。
在一个示例中,用户可以逐条设置运动参数,每次设置一条运动参数之后,控制设备可以根据该运动参数实时控制待控制设备或设备模型运动。在另一个示例中,用户可以一次性设置多条运动参数,控制设备获得该多条运动参数之后,可以在任意时刻(该时刻可以由用户设定或控制设备自动确定)控制待控制设备或设备模型沿多条运动参数组成的运动轨迹运动。
根据本发明一方面,提供一种设备管理方法。图9示出根据本发明一个实施例的设备管理方法900的示意性流程图。如图9所示,设备管理方法900包括步骤S910、S920、S930。
在步骤S910,与至少一个待控制设备建立连接,其中,至少一个待控制设备包括至少一个机器人和/或至少一个运动控制部件。在本文的描述中,“至少一个”可以与“一个或多个”等同。
如上所述,控制设备可以通过总线(例如CAN总线)与至少一个待控制设备建立连接。
在步骤S920,基于用户输入的激活指令激活目标设备模型,目标设备模型是机器人模型或运动控制部件模型。
目标设备模型的激活可以是将目标设备模型添加到当前控制场景中,使得目标设备模型由不可编辑状态转变为可编辑状态。用户输入激活指令可以通过将目标设备模型的标识信息从机器人窗口拖动到编辑窗口或者在机器人窗口中对目标设备模型的标识信息进行点击等方式来实现。可选地,所述点击可以是双击。控制设备在接收到用户执行上述操作时输入的操作信息(即接收到激活指令)时,就可以将目标设备模型设定为可编辑状态。在激活之后,用户可以进一步在人机交互界面上对目标设备模型进行配置信息编辑、运动参数编辑、与待控制设备关联等操作。
在步骤S930,基于用户输入的关联指令,建立目标设备模型与至少一个待控制设备中的对应待控制设备之间的关联关系。
设备模型是虚拟设备,待控制设备是与控制设备实际连接的设备。同时,设备模型是某种型号的机器人或运动控制部件的模型,而待控制设备本身可以是某种型号的机器人或者是用于驱动某种型号的机器人的运动控制部件。因此,某些设备模型可以与某些待控制设备对应关联起来。当然,可能存在某些设备模型不存在能够与其关联的待控制设备,也有可能存在某些待控制设备不存在能够与其关联的设备模型。
当需要时,可以将某一设备模型与某一待控制设备关联起来,这样,用户可以编辑该设备模型的运动参数,并将运动参数发送给与之关联的待控制设备,以实际驱动该待控制设备运动。
目标设备模型可以是任意一个设备模型,其可以可选地由用户选择。例如,用户可以在编辑窗口或设备窗口点击任一设备模型的标识信息,以选择该设备模型作为目标设备模型。可选地,所述点击可以是双击。
在本文的描述中,用户是指与控制设备进行交互的人,其可以是同一个人,也可以是不同的人。例如,步骤S920的激活指令与步骤S930的关联指令可以来自不同的用户。
应注意,根据本发明实施例的设备管理方法的各步骤并不局限于图9所示的执行顺序,其可以具有其他合理的执行顺序。例如,步骤S920可以在步骤S910之前或与其同时执行。
根据本发明实施例的设备管理方法,可以将预先建立的设备模型与对应的待控制设备关联起来,这样,便于用户通过设备模型对实际连接的待控制设备进行控制。这种方法有利于提高控制设备的管理效率,因为其使得控制设备可以无需一一识别实际连接的机器人,只需识别运动控制部件并将其与机器人模型关联即可。此外,这种方法使得整个控制设备的可扩展性很好。
根据本发明实施例,方法900还可以包括:在人机交互界面上显示至少一个设备模型的标识信息;其中,目标设备模型是至少一个设备模型之一。
根据本发明实施例,人机交互界面可以包括机器人窗口,在人机交互界面上显示至少一个设备模型的标识信息可以包括:在机器人窗口中显示至少一个设备模型的标识信息。
如上所述,人机交互界面可以包括机器人窗口,在该窗口中可以显示若干设备模型的标识信息,以供用户查看。所述标识信息可以包括设备模型的型号和/或图标。机器人窗口显示的设备模型属于第一模型集合,该集合可以来自模型库。上文已经结合图3和图5描述了机器人窗口的布局方式及其包含的内容,此处不再赘述。
应理解,机器人窗口仅是示例,第一模型集合所包括的设备模型的标识信息可以以其他方式显示,例如,可以在菜单栏中通过列表控件的方式显示。
在人机交互界面上显示至少一个设备模型(即第一模型集合),可以方便用户随时选择需要的设备模型进行运动参数编辑等操作。
根据本发明实施例,人机交互界面还可以包括编辑窗口,基于用户输入的激活指令激活目标设备模型(步骤S920)可以包括:响应于用户在机器人窗口中对目标设备模型的标识信息的点击操作或者将目标设备模型的标识信息从机器人窗口拖动到编辑窗口的拖动操作,激活目标设备模型;其中,激活指令包括点击操作或拖动操作对应的指令。
上文已经结合图3描述了编辑窗口的布局方式及其包含的内容,此处不再赘述。
如上文所述,用户可以对机器人窗口所显示的任一设备模型的标识信息进行点击或将其拖动到编辑窗口。在用户针对目标设备模型执行上述点击操作或拖动操作时,响应于这些操作,激活目标设备模型,即将目标设备模型由不可编辑状态设定为可编辑状态。此外,可选地,响应于上述点击操作或拖动操作,可以在编辑窗口和/或设备窗口显示目标设备模型的标识信息。所述点击操作可以是单击操作。此外,所述点击操作可以是在当前控制场景下执行,即在当前场景文件处于可编辑状态的情况下执行。这样,目标设备模型可以是在当前控制场景而非其他控制场景下激活。
编辑窗口和/或设备窗口所显示的设备模型属于第二模型集合。第二模型集合可以理解为是已激活的设备模型的集合,第一模型集合可以理解为是可被激活的设备模型的集合,第二模型集合是第一模型集合的子集。
根据本发明实施例,在与至少一个待控制设备建立连接之后,方法900还可以包括:生成包含至少一个待控制设备的标识信息的待控制设备列表;在人机交互界面上显示待控制设备列表。
示例性地,人机交互界面可以包括设备窗口,在人机交互界面上显示待控制设备列表可以包括:在设备窗口中显示待控制设备列表。
如上所述,人机交互界面可以包括设备窗口,在该窗口中可以显示若干可编辑设备的标识信息,以供用户查看。所述标识信息可以包括可编辑设备的型号和/或图标。上文已经结合图3和图6描述了设备窗口的布局方式及其包含的内容,此处不再赘述。
可编辑设备可以包括第二模型集合中的所有设备模型和/或与控制设备建立连接的至少一个待控制设备。设备窗口可以显示待控制设备列表,与控制设备建立连接的至少一个待控制设备的标识信息可以通过待控制设备列表显示。此外,设备窗口还可以显示设备模型列表,第二模型集合中的设备模型的标识信息可以通过设备模型列表显示。
应理解,设备窗口仅是示例,可编辑设备的标识信息可以以其他方式显示,例如,可以在菜单栏中通过列表控件的方式显示。
根据本发明实施例,在基于用户输入的激活指令激活目标设备模型(步骤S920)之后,方法900还可以包括:在人机交互界面的编辑窗口和/或设备窗口中显示目标设备模型的标识信息。
上文已经描述了在编辑窗口和/或设备窗口显示目标设备模型的标识信息的实施例,此处不再赘述。
根据本发明实施例,在基于用户输入的关联指令,建立目标设备模型与至少一个待控制设备中的对应待控制设备之间的关联关系(步骤S930)之前,方法900还可以包括:响应于用户对编辑窗口或设备窗口所显示的目标设备模型的标识信息的点击操作,在人机交互界面上显示目标设备模型的配置窗口;响应于用户对配置窗口上的关联界面选择控件的点击操作,显示用于输入关联指令的关联信息设置窗口,其中,关联界面选择控件是用于控制关联信息设置窗口的开启和关闭的按钮控件。
可选地,用户对编辑窗口或设备窗口所显示的目标设备模型的标识信息的点击可以是双击。可选地,用户对配置窗口上的关联界面选择控件的点击可以是单击。
图10示出根据本发明一个实施例的MRX-T4机器人模型的配置窗口以及在该配置窗口的部分区域显示的关联信息设置窗口的示意图。示例性地,配置窗口可以显示在编辑窗口中。用户对编辑窗口或设备窗口所显示的MRX-T4机器人模型的标识信息进行一次双击,可以弹出如图10所示的配置窗口。
如图10所示,配置窗口可以划分为两个区域,左侧区域可以称为控件显示区域,用于显示“信息”、“详细信息”、“选项”、“零位”、“属性”等控件,右侧区域用于显示当前选中的控件所对应的窗口。如图10所示,当前选中控件为“选项”控件,显示的是右侧的关联信息设置窗口,即该“选项”控件即为所述关联界面选择控件。图10所示的控件显示区域的各个控件是按钮控件。用户对任一按钮控件进行一次单击,可以在配置窗口的右侧区域显示该控件所对应的设置界面。
根据本发明实施例,目标设备模型是机器人模型,对应待控制设备是包含至少一个轴的运动控制部件,基于用户输入的关联指令,建立目标设备模型与至少一个待控制设备中的对应待控制设备之间的关联关系(步骤S930)可以包括:对于目标设备模型的任一关节,接收用户输入的用于指示对应待控制设备的、与该关节相对应的对应轴的关节轴关联指令;根据关节轴关联指令将该关节与对应待控制设备的对应轴关联起来。
步骤S930所涉及的关联指令可以包括与机器人模型的所有关节对应的所有关节轴关联指令。当将机器人模型与实际连接的机器人或将运动控制部件模型与实际连接的运动控制部件关联时,可以直接关联。当将机器人模型与实际连接的运动控制部件关联时,可以选择将机器人模型的各个关节与运动控制部件的各个轴一一对应地关联起来。为此,可以为机器人模型的每个关节指定与其对应的运动控制部件的轴,用户输入的用于指示该轴是哪个轴的指令为关节轴关联指令。
示例性地,在基于用户输入的关联指令,建立目标设备模型与至少一个待控制设备中的对应待控制设备之间的关联关系(步骤S930)之前,方法900还可以包括:对于目标设备模型的任一关节,在人机交互界面上显示与该关节相对应的关节轴关联控件,关节轴关联控件是文本框控件或者列表控件;对于目标设备模型的任一关节,接收用户输入的用于指示对应待控制设备的、与该关节相对应的对应轴的关节轴关联指令可以包括:对于目标设备模型的任一关节,接收用户在对应的关节轴关联控件中输入的、对应待控制设备的对应轴的标识信息;或者接收用户从对应的关节轴关联控件中选择对应待控制设备的对应轴的标识信息的选择指令;其中,目标设备模型的任一关节所对应的关节轴关联指令包括用户针对该关节所对应的关节轴关联控件所执行的输入或选择操作所对应的指令。
目标设备模型可以是机器人模型,机器人具有多个关节,而对应待控制设备可以是具有多个轴的运动控制部件。在这种情况下,可以建立机器人的每个关节与运动控制部件的每个轴之间的一一对应关系。
如上所述,当用户双击编辑窗口或设备窗口中目标设备模型的标识信息时,在人机交互界面上可以弹出,即显示目标设备模型的配置窗口。配置窗口中包括若干控件,例如“信息”、“详细信息”、“选项”、“零位”、“属性”等。其中“选项”所对应的控件是关联界面选择控件,其可以是按钮控件。当用户单击该“选项”控件时,可以弹出,即显示关联信息设置窗口,机器人模型的关节与运动控制部件的轴的对应关系可以在机器人模型的关联信息设置窗口进行设置。
继续参考图10,在关联信息设置窗口中,将MRX-T4机器人模型的Basement(基座)对应设置为运动控制部件devicel的轴1(即CH1),MRX-T4机器人模型的Big Arm(大臂)对应设置为运动控制部件devicel的轴2(即CH2),MRX-T4机器人模型的Little Arm(小臂)设置为运动控制部件devicel的轴3(CH3),MRX-T4机器人模型的Wrist(腕)设置为运动控制部件devicel的轴4(CH4),MRX-T4机器人模型的Hand(机械手)设置为运动控制部件devicel的轴5(CH5)。
通过以上方式,可以将机器人模型的每个关节与对应的运动控制部件的每个轴关联起来。在一个示例中,用户可以编辑或导入机器人模型的末端执行器的运动参数,由控制设备将该运动参数换算为机器人模型的各关节的运动参数。在另一个示例中,用户可以直接编辑或导入机器人模型的各关节的运动参数。随后,可以将这些运动参数根据已建立的关联关系传送给对应运动控制部件的各个轴,进而驱动该运动控制部件实际控制的机器人运动。
在待控制设备为运动控制部件且与实际存在的机器人相连的情况下,目标机器人模型的运动参数可以用于驱动该实际存在的机器人运动。比较可取的是,实际存在的机器人与目标机器人模型的构型相同,例如都是MRX-T4机器人。
根据本发明另一方面,提供一种运动控制方法。图11示出根据本发明一个实施例的运动控制方法1100的示意性流程图。如图11所示,运动控制方法1100包括步骤S1110、S1120、S1130。
在步骤S1110,在人机交互界面上显示与目标设备模型相关的参数编辑窗口,目标设备模型是机器人模型或运动控制部件模型。
示例性地,可以基于用户输入的与目标设备模型对应的参数编辑指令,在人机交互界面上显示与目标设备模型相关的参数编辑窗口。例如,用户可以点击(双击或单击)编辑窗口或设备窗口显示的目标设备模型的标识信息。响应于用户的点击操作,可以弹出参数编辑窗口。
对于不同类型的设备来说,参数编辑窗口显示的内容可以不同。图12示出根据本发明一个实施例的参数编辑窗口的示意图。图13示出根据本发明另一个实施例的参数编辑窗口的示意图。图12所示的参数编辑窗口中参与编辑的运动参数是LVT参数,其可以是机器人或机器人模型的末端执行器的运动参数。图13所示的参数编辑窗口中参与编辑的运动参数是PVT参数,其可以是运动控制部件或运动控制部件模型的任意一个轴的运动参数。
目标设备模型可以是任意一个设备模型,其可以可选地由用户选择。例如,用户可以在编辑窗口或设备窗口点击任一设备模型的标识信息,以选择该设备模型作为目标设备模型。可选地,所述点击可以是双击。
在步骤S1120,接收用户在参数编辑窗口中编辑的运动参数。
参照图12,用户可以在每行输入一条运动参数的数据,包括时间数据、坐标数据、夹爪位移数据等。坐标数据是指末端执行器上的固定点的坐标,例如机械爪的某一中心点的坐标。任一运动参数的坐标数据用于指示末端执行器在该运动参数所指示的时间(即时间数据)应当到达的位置。任一运动参数的时间数据用于指示末端执行器上的固定点到达该运动参数所指示的位置(即坐标数据)的时间。夹爪位移数据是指末端执行器的两个夹爪横向移动的距离。夹爪位移数据是可选的。示例性而非限制性地,末端执行器可以具有能够开合,即能够在横向方向上发生位移的夹爪。在这种情况下,末端执行器可以具有夹爪位移数据。该夹爪位移数据在图12所示的示例中用h(单位为mm)表示。
此外,示例性地,每条运动参数还可以包括参数有效性数据和/或插值有效性数据。任一运动参数的参数有效性数据是用于指示该条运动参数是否有效的数据。例如,在图12中,每条运动参数的第一列数据,即“允许”这一列的数据即为参数有效性数据,当该数据为“true”时代表该条运动参数是有效的,可以将其列入对应设备(机器人或机器人模型)的运动轨迹;当该数据为“false”时代表该条运动参数是无效的,不将其列入对应设备的运动轨迹,即忽略该条运动参数。任一运动参数的插值有效性数据是用于指示是否在该条运动参数与下一条运动参数之间执行插值的数据。例如,在图12中,每条运动参数的第八列数据,即“插值方式”这一列的数据即为插值有效性数据,当该数据为“true”时代表在该条运动参数和下一条运动参数之间执行插值;当该数据为“false”时代表不在该条运动参数和下一条运动参数之间执行插值。
在图13所示的示例中,运动参数的形式与图12不同。图13所示的运动参数包括参数有效性数据、时间数据、位置数据和速度数据。所述位置数据是旋转角度。
用户可以在参数编辑窗口中编辑一条或多条运动参数,并且可以根据需要在编辑好的运动参数中进行插值,以生成数量更大的运动参数。对于运动参数中的任意一种数据,可以用文本框、列表框或其他类型的控件作为该数据的编辑接口。用户可以在该编辑接口中通过输入、选择、点击等方式设置该数据的值。
在步骤S1130,将运动参数发送给与目标设备模型关联的对应待控制设备,以控制对应待控制设备运动,对应待控制设备是与控制设备建立连接的机器人或运动控制部件。
如上所述,可以将目标设备模型与待控制设备关联起来,关联方式可以参考上文描述。用户编辑运动参数之后,可以将运动参数发送给对应待控制设备。对应待控制设备是机器人的情况下,该机器人可以基于运动参数运动。对应待控制设备是运动控制部件的情况下,该运动控制部件可以基于运动参数生成PWM波形,进而驱动与该运动控制部件连接的机器人运动。
根据本发明实施例的运动控制方法,可以与用户交互,利用用户针对目标设备模型编辑的运动参数控制与控制设备实际连接的待控制设备运动。这种方式使得通过不同类型的设备模型灵活方便地对不同待控制设备进行控制成为可能。
根据本发明实施例,在在人机交互界面上显示与目标设备模型相关的参数编辑窗口(步骤S1110)之前,方法1100还可以包括:建立当前控制场景;以及基于用户输入的激活指令在当前控制场景中激活目标设备模型。
示例性地,建立当前控制场景可以包括:生成用于表示当前控制场景的场景文件。上文已经描述了生成场景文件,建立控制场景的方式,可以参考上文描述理解本实施例,此处不再赘述。
根据本发明实施例,人机交互界面可以包括机器人窗口,方法1100还可以包括:在机器人窗口中显示第一模型集合中的每个设备模型的标识信息;其中,第一模型集合包括至少一个设备模型,目标设备模型属于第一模型集合。
上文已经结合图3和图5描述了机器人窗口的布局方式及其包含的内容,可以参考上文描述理解本实施例,此处不再赘述。
根据本发明实施例,人机交互界面还可以包括用于编辑控制场景的编辑窗口,基于用户输入的激活指令在当前控制场景中激活目标设备模型可以包括:响应于用户在机器人窗口中对目标设备模型的标识信息的点击操作或者将目标设备模型的标识信息从机器人窗口拖动到编辑窗口的拖动操作,激活目标设备模型;以及在编辑窗口中显示目标设备模型的标识信息;其中,激活指令是点击操作或拖动操作对应的指令。
上文已经描述了用户输入激活指令激活目标设备模型的实现方式,可以参考上文描述理解本实施例,此处不再赘述。
根据本发明实施例,建立当前控制场景可以包括:生成用于表示当前控制场景的场景文件;在建立当前控制场景之前,方法1100还可以包括:生成工程文件,工程文件用于管理至少一个控制场景的场景文件。
上文已经描述了工程文件包含的内容及其作用,可以参考上文描述理解本实施例,此处不再赘述。
根据本发明实施例,方法1100还可以包括:对工程文件进行分组,以获得与至少一个控制场景一一对应的至少一个子工程文件。
返回参考图3和图4,可以看到工程窗口中显示了两个子工程Untitled_0和Untitled_1。这两个子工程对应着两个子工程文件,用于分别管理两个控制场景的场景文件“3.sce”和“11111.sce”。这种方式可以实现对不同控制场景的分组管理,便于用户查看和操作。
示例性地,对工程文件进行分组的操作可以基于用户输入的分组指令执行,也可以由控制设备自动执行。
根据本发明实施例,方法1100还可以包括:接收用户在参数编辑窗口中输入的参数分配指令;以及将运动参数分配给参数分配指令所指示的指定设备。
用户编辑的运动参数可以发送给与目标设备模型关联的对应待控制设备,也可以分配给其他指定设备。在指定设备是与控制设备实际连接的待控制设备的情况下,分配的运动参数可以控制指定设备产生实际的运动。在指定设备是设备模型的情况下,分配的运动参数可以用于模拟运动,不一定会产生实际的运动。这样,用户编辑的运动参数可以灵活地分配给一个或多个可编辑设备,这有利于实现对不同可编辑设备的同步控制。
示例性地,参数编辑窗口可以包括设备指定控件,设备指定控件是文本框控件或者列表控件,接收用户在参数编辑窗口中输入的参数分配指令可以包括:接收用户在设备指定控件中输入的、指定设备的标识信息;或者接收用户从设备指定控件中选择指定设备的标识信息的操作信息;其中,参数分配指令包括用户针对设备指定控件所执行的输入或选择操作所对应的指令。
返回参考图12,示出了设备指定控件。在图12中,用虚线框标示出了设备指定控件。图12所示的设备指定控件是列表控件。在列表控件中,可以显示与可编辑设备中的所有设备一一对应的标识信息以供用户选择。示例性地,列表控件中所显示的任一设备的标识信息可以包括以下信息:对应设备的型号、对应设备所属的控制场景的场景名称。
在图12所示的示例中,当前选中的选项是“MRX-AS@3.sce”,其中,MRX-AS表示机器人模型的型号,3.sce表示该机器人模型属于“3.sce”这一控制场景。因此,该选项表示运动参数被分配给“3.sce”这一控制场景中的MRX-AS机器人模型。
可选地,设备指定控件是文本框控件的情况下,用户可以直接在文本框中输入指定设备的标识信息。
根据本发明实施例,指定设备是可编辑设备之一,可编辑设备包括第二模型集合中的所有设备模型和/或与控制设备建立连接的至少一个待控制设备,第二模型集合包括至少一个设备模型,目标设备模型属于第二模型集合。
根据本发明实施例,第二模型集合包括在至少一个控制场景中激活的所有设备模型。
上文已经描述了可编辑设备和第二模型集合的含义及其包含的内容,可以参考上文描述理解本实施例,此处不再赘述。
根据本发明另一方面,提供一种用户交互方法。图14示出根据本发明一个实施例的用户交互方法1400的示意性流程图。如图14所示,用户交互方法1400包括步骤S1410、S1420、S1430。
在步骤S1410,显示人机交互界面,人机交互界面包括工程窗口、机器人窗口、设备窗口和编辑窗口中的一项或多项,工程窗口用于显示与工程文件相关的文件列表,机器人窗口用于显示第一模型集合中的每个设备模型的标识信息,设备窗口用于显示可编辑设备的标识信息,编辑窗口用于编辑控制场景,可编辑设备包括第二模型集合中的所有设备模型和/或与控制设备建立连接的至少一个待控制设备,至少一个待控制设备包括至少一个机器人和/或至少一个运动控制部件,第一模型集合和第二模型集合分别包括至少一个设备模型,每个设备模型是机器人模型或运动控制部件模型。
上文已经结合图3-6描述了人机交互界面上的各种窗口的布局方式和包含的内容,在此不再赘述。
在步骤S1420,接收用户在人机交互界面上输入的指令。
用户在人机交互界面上输入的指令可以包括但不限于上述激活指令、关联指令、参数编辑指令、运动控制指令等等。用户与人机交互界面的交互可以通过控制设备的交互装置或独立的交互装置实现。可选地,交互装置可以包括输入装置和输出装置。用户可以通过输入装置输入指令,控制设备可以通过输出装置显示人机交互界面以及其他相关信息以供用户查看。输入装置可以包括但不限于鼠标、键盘、触摸屏中的一项或多项。输出装置可以包括但不限于显示器。在一个示例中,交互装置包括触摸屏,其可以同时实现输入装置和输出装置的功能。
在步骤S1430,基于用户输入的指令执行对应的操作。
例如,在接收到用户输入的激活指令时,相应地,可以激活目标设备模型。又例如,在接收到用户输入的发送运动参数的发送指令时,可以将编辑好的运动参数发送给待控制设备。
根据本发明实施例的用户交互方法,可以在人机交互界面上显示设备模型和/或与控制设备实际连接的待控制设备,用户可以针对这些设备模型和/或待控制设备进行运动参数编辑等操作。这种交互方式方便用户对至少一个待控制设备进行管理和控制,并且方便用户对机器人或运动控制部件进行模拟、测试等。
根据本发明实施例,基于用户输入的指令执行对应的操作(步骤S1430)可以包括:基于用户输入的场景建立指令或场景导入指令,建立当前控制场景;以及在编辑窗口中向用户提供用于编辑当前控制场景的界面。
示例性地,用户可以点击菜单栏的“文件”这一菜单命令,从中选择“新建场景文件”控件,响应于用户的上述操作,控制设备可以新建一个场景文件并且可以在编辑窗口中提供编辑该场景文件所对应的控制场景的界面。示例性地,用户还可以点击菜单栏的“文件”这一菜单命令,从中选择“导入场景文件”控件,响应于用户的上述操作,控制设备可以导入用户选择的已有场景文件并且可以在编辑窗口中提供编辑该场景文件所对应的控制场景的界面。
根据本发明实施例,基于用户输入的指令执行对应的操作(步骤S1430)可以包括:基于用户输入的激活指令在当前控制场景中激活第一模型集合中的目标设备模型。
根据本发明实施例,基于用户输入的激活指令在当前控制场景中激活第一模型集合中的目标设备模型可以包括:响应于用户在机器人窗口中对目标设备模型的标识信息的点击操作或者将目标设备模型的标识信息从机器人窗口拖动到编辑窗口的拖动操作,激活目标设备模型;以及在编辑窗口中显示目标设备模型的标识信息;其中,激活指令是点击操作或拖动操作对应的指令。
上文已经描述了用户输入激活指令激活目标设备模型的实现方式,可以参考上文描述理解本实施例,此处不再赘述。
根据本发明实施例,第二模型集合可以包括在至少一个控制场景中激活的所有设备模型。
根据本发明实施例,基于用户输入的指令执行对应的操作(步骤S1430)可以包括:基于用户输入的与可编辑设备中的指定设备对应的参数编辑指令,在人机交互界面上显示与指定设备相关的参数编辑窗口;接收用户在参数编辑窗口中编辑的运动参数;以及将运动参数分配给指定设备。
上文已经描述了显示参数编辑窗口的方式以及用户与其交互的方式,可以参考上文描述理解本实施例,此处不再赘述。
根据本发明实施例,参数编辑窗口可以在编辑窗口中显示。返回参考图12和图13,在弹出参数编辑窗口时,可以用该窗口的界面替换编辑窗口中用于编辑当前控制场景的界面。
根据本发明实施例,基于用户输入的与可编辑设备中的指定设备对应的参数编辑指令,在人机交互界面上显示与指定设备相关的参数编辑窗口可以包括:响应于用户在设备窗口中对指定设备的标识信息的点击操作,在人机交互界面上显示参数编辑窗口。
上文已经描述了与用户交互显示参数编辑窗口的实现方式,可以参考上文描述理解本实施例,此处不再赘述。
根据本发明实施例,文件列表可以包括分别用于表示至少一个控制场景的至少一个场景文件的标识信息。
在工程窗口中显示的信息可以视为一个文件列表。文件列表可以包括一种或多种类型的文件的标识信息,例如工程文件的标识信息、电机运动文件的标识信息、场景文件的标识信息等。返回参考图4,文件列表包括工程文件1212的标识信息“1212.prj”、电机运动文件a的标识信息“a.pvt”、场景文件3和11111的标识信息“3.sce”和“11111.sce”。
根据本发明另一方面,提供一种用户交互方法1500。图15示出根据本发明一个实施例的用户交互方法1500的示意性流程图。如图15所示,用户交互方法1500包括步骤S1510、S1520、S1530、S1540。
在步骤S1510,在人机交互界面上显示参数编辑窗口。
示例性地,可以基于用户输入的与任一可编辑设备对应的参数编辑指令,在人机交互界面上显示与该可编辑设备相关的参数编辑窗口。例如,用户可以点击(双击或单击)编辑窗口或设备窗口显示的目标设备模型的标识信息。响应于用户的点击操作,可以弹出该目标设备模型对应的参数编辑窗口。用户可以在该参数编辑窗口中编辑运动参数,并将运动参数重新分配给任一指定设备。
示例性地,用户可以点击菜单栏的“文件”这一菜单命令,从中选择“新建机器人运动文件”或“导入机器人运动文件”控件,响应于用户的操作,控制设备可以弹出用于编辑机器人或机器人模型的末端执行器的运动参数的参数编辑窗口(参见图12)。
示例性地,用户可以点击菜单栏的“文件”这一菜单命令,从中选择“新建电机运动文件”或“导入电机运动文件”控件,响应于用户的操作,控制设备可以弹出用于编辑机器人或机器人模型的某个关节的运动参数或者用于编辑运动控制部件或运动控制部件模型的某个轴的运动参数的参数编辑窗口(参见图13)。
在参数编辑窗口所示出的运动参数为机器人或机器人模型的末端执行器的运动参数的情况下,可以将用户编辑后的运动参数存储在机器人运动文件中。在参数编辑窗口所示出的运动参数为机器人或机器人模型的某个关节的运动参数或者运动控制部件或运动控制部件模型的某个轴的运动参数的情况下,可以将用户编辑后的运动参数存储在电机运动文件中。这种存储方案不受限于参数编辑窗口的弹出方式。
在步骤S1520,接收用户在参数编辑窗口中编辑的运动参数。
在步骤S1530,接收用户在参数编辑窗口中输入的参数分配指令。
在步骤S1540,将运动参数分配给参数分配指令所指示的指定设备。
上文已经结合图12和图13描述了用户编辑运动参数以及将运动参数分配给指定设备的实现方式,可以参考上文描述理解本实施例,此处不再赘述。
根据本发明实施例,指定设备是可编辑设备之一,可编辑设备包括第二模型集合中的所有设备模型和/或与控制设备建立连接的至少一个待控制设备,至少一个待控制设备包括至少一个机器人和/或至少一个运动控制部件,第二模型集合包括至少一个设备模型,每个设备模型是机器人模型或运动控制部件模型。
根据本发明实施例,方法1500还可以包括:建立至少一个控制场景;以及基于用户输入的激活指令在至少一个控制场景中激活至少一个设备模型,以获得第二模型集合。
上文已经描述了建立控制场景以及激活设备模型的实现方式,可以参考上文描述理解本实施例,此处不再赘述。
根据本发明实施例,参数编辑窗口包括设备指定控件,设备指定控件是文本框控件或者列表控件,接收用户在参数编辑窗口中输入的参数分配指令(步骤S1530)可以包括:接收用户在设备指定控件中输入的、指定设备的标识信息;或者接收用户从设备指定控件中选择指定设备的标识信息的操作信息;其中,参数分配指令包括用户针对设备指定控件所执行的输入或选择操作所对应的指令。
在运动参数分配给指定设备整体的情况下,用户可以仅向控制设备指示向哪个设备分配运动参数。例如,如果需要将机器人运动文件包含的运动参数分配给机器人或机器人模型,则用户通过设备指定控件指定该机器人或机器人模型即可。
根据本发明实施例,在设备指定控件是列表控件的情况下,设备指定控件用于显示与可编辑设备中的所有设备一一对应的标识信息以供用户选择;其中,可编辑设备包括第二模型集合中的所有设备模型和/或与控制设备建立连接的至少一个待控制设备,至少一个待控制设备包括至少一个机器人和/或至少一个运动控制部件,第二模型集合包括至少一个设备模型,每个设备模型是机器人模型或运动控制部件模型。
根据本发明实施例,可编辑设备中的任一设备的标识信息可以包括以下信息:对应设备的型号、对应设备所属的控制场景的场景名称。
根据本发明实施例,指定设备是包含至少一个轴的运动控制部件或运动控制部件模型,将运动参数分配给参数分配指令所指示的指定设备(步骤S1540)可以包括:将运动参数分配给参数分配指令所指示的指定设备的指定轴。
根据本发明实施例,参数编辑窗口包括设备指定控件和轴指定控件,设备指定控件是文本框控件或者列表控件,轴指定控件是文本框控件或者列表控件,接收用户在参数编辑窗口中输入的参数分配指令可以包括设备指定操作和轴指定操作,其中,设备指定操作包括:接收用户在设备指定控件中输入的、指定设备的标识信息;或者接收用户从设备指定控件中选择指定设备的标识信息的操作信息;轴指定操作包括:接收用户在轴指定控件中输入的、指定设备的指定轴的标识信息;或者接收用户从设备指定控件中选择指定设备的指定轴的标识信息的操作信息;其中,参数分配指令包括设备指定操作和轴指定操作所对应的指令。
在指定设备为运动控制部件或运动控制部件模型的情况下,运动参数可以分配给指定设备的任一个轴,此时用户可以向控制设备指示向哪个设备的哪个轴分配运动参数。例如,如果需要将电机运动文件包含的运动参数分配给运动控制部件或运动控制部件模型的某个轴,则用户可以通过设备指定控件指定该运动控制部件或运动控制部件模型,并通过轴指定控件指定该运动控制部件或运动控制部件模型上的一个轴。
返回参考图13,示出了设备指定控件和轴指定控件。图12所示的设备指定控件和轴指定控件是列表控件。在设备指定控件中,可以显示与可编辑设备中的所有设备一一对应的标识信息以供用户选择。在轴指定控件中,可以显示与指定设备的所有轴一一对应的标识信息以供用户选择。例如,指定设备是型号为MRQ-M2305的运动控制部件(一种五轴驱控器)的情况下,可以在轴指定控件中显示五个轴的标识符“CH1”、“CH2”、“CH3”、“CH4”、“CH5”。
根据本发明实施例,在设备指定控件是列表控件的情况下,设备指定控件用于显示与可编辑设备中的所有设备一一对应的标识信息以供用户选择;在轴指定控件是列表控件的情况下,轴指定控件用于显示与指定设备的所有轴一一对应的标识信息以供用户选择;其中,可编辑设备包括第二模型集合中的所有设备模型和/或与控制设备建立连接的至少一个待控制设备,至少一个待控制设备包括至少一个机器人和/或至少一个运动控制部件,第二模型集合包括至少一个设备模型,每个设备模型是机器人模型或运动控制部件模型。
根据本发明一方面,提供一种运动控制方法。图16示出根据本发明一个实施例的运动控制方法1600的示意性流程图。如图16所示,运动控制方法1600包括步骤S1610、S1620、S1630。
在步骤S1610,在人机交互界面上显示与指定设备相关的运动控制窗口,所述指定设备是机器人、运动控制部件、机器人模型和运动控制部件模型之一。
示例性地,指定设备是可编辑设备之一,可编辑设备包括模型集合(即上述第二模型集合)中的所有设备模型和/或与控制设备建立连接的至少一个待控制设备,至少一个待控制设备包括至少一个机器人和/或至少一个运动控制部件,模型集合包括至少一个设备模型,每个设备模型是机器人模型或运动控制部件模型。
上文已经描述了可编辑设备和第二模型集合的含义及其包含的内容,可以参考上文描述理解本实施例,此处不再赘述。待控制设备与控制设备建立连接时,控制设备可以首先读取待控制设备的信息,例如待控制设备的型号、待控制设备的各个轴的信息等。随后,可以在上述设备窗口显示已连接的待控制设备的标识信息。用户激活设备模型之后,被激活的设备模型的标识信息也可以显示在设备窗口。可以可选地建立被激活的设备模型与已连接的待控制设备之间的关联关系。对于设备窗口的任一待控制设备或设备模型,可以调出运动控制窗口进行运动控制。
指定设备是机器人或运动控制部件的情况下,用户可以利用运动控制窗口设置指定设备的运动参数,以控制指定设备实际运动。指定设备是机器人模型或运动控制部件模型的情况下,可以对指定设备的运动进行仿真,用户可以利用运动控制窗口设置指定设备的运动参数,以控制仿真过程中的指定设备运动。指定设备是机器人模型或运动控制部件模型的情况下,用户还可以利用运动控制窗口设置指定设备的运动参数,以控制与指定设备关联的待控制设备运动。
图17示出根据本发明一个实施例的运动控制窗口的示意图。图17所示的运动控制窗口是与型号为MRX-T4的机器人模型相关的运动控制窗口。如图17所示,运动控制窗口可以包括一些与机器人模型的各个关节对应的滑动条控件、文本框控件等,这些滑动条控件、文本框控件可以接收用户输入的运动控制指令,基于接收的运动控制指令确定各关节的运动参数。
在步骤S1620,基于用户在运动控制窗口输入的运动控制指令,确定至少一个对象各自的运动参数,其中,至少一个对象包括以下项之一:指定设备的末端执行器、指定设备的至少一个关节、指定设备的至少一个轴。
示例性地,步骤S1620中的至少一个对象可以包括指定设备的所有对象。所述对象可以是末端执行器、关节或轴。在指定设备是机器人或机器人模型的情况下,至少一个对象可以是末端执行器或至少一个关节。至少一个对象是至少一个关节的情况下,每个对象是一个关节。在指定设备是运动控制部件或运动控制部件模型的情况下,至少一个对象可以是至少一个轴,每个对象是一个轴。
在步骤S1630,将至少一个对象各自的运动参数分别分配给至少一个对象,以控制至少一个对象运动。可以将至少一个对象的运动参数一一对应地分配给至少一个对象。
在一个示例中,至少一个对象中的每个对象的运动参数用于指示该对象在当前时刻之后的预设时间内运动预设距离或到达目标位置。运动控制窗口设置的运动参数可以是用于实时控制对应对象运动的参数。例如,用户可以在如图17所示的运动控制窗口中,拖动与基座(Basement)相对应的滑动条控件上的滑块。用户每执行一次从按下滑块、拖动滑块到释放滑块的过程,可以视为一次滑动操作。参见图17,用户每在基座所对应的滑动条控件上执行一次滑动操作,机器人模型的基座就可以相应地或称同步地运动一次。也就是说,用户每执行一次滑动操作,控制设备可以相应获得一条运动参数,指定设备可以相应运动一次。可选地,用户在运动控制窗口设置的任意一条运动参数可以添加到如图12或13所示的参数编辑窗口所显示的运动参数序列中。
根据本发明实施例的运动控制方法,可与用户交互来确定指定设备(机器人、运动控制部件、机器人模型或运动控制部件模型)的运动参数,这种方法方便用户对实际连接的机器人或运动控制部件进行运动控制,并且方便用户对机器人模型或运动控制部件模型进行运动模拟、测试等。
运动控制界面可以称为“APP”,对于机器人或运动控制部件可以开发很多种形式的APP,满足各种不同的应用需求。不同构型的机器人或不同构型的运动控制部件的APP可以各有不同,甚至用户也可以自己开发APP来实现对机器人或运动控制部件的操控。
下面描述运动控制窗口的示例性调出方式。
根据本发明一个实施例,在在人机交互界面上显示与指定设备相关的运动控制窗口(步骤S1610)之前,方法1600还可以包括:在人机交互界面上显示指定设备或至少一个对象的标识信息;在人机交互界面上显示与指定设备相关的运动控制窗口(步骤S1610)可以包括:响应于用户对指定设备或至少一个对象的标识信息的第一点击操作,显示运动控制窗口。
示例性而非限制性地,第一点击操作可以是左键双击操作。示例性地,可以在如上所述的设备窗口中显示指定设备的标识信息。此外,可选地,还可以在如上所述的设备窗口中显示指定设备的任一对象的标识信息。在一个示例中,用户可以对指定设备的标识信息进行第一点击操作,以调出用于设置至少一个对象的运动参数的运动控制窗口。在另一个示例中,用户可以对至少一个对象的标识信息进行第一点击操作,以调出用于设置至少一个对象的运动参数的运动控制窗口。示例性地,对于至少一个对象中的每一个,用户可以对该对象的标识信息进行第一点击操作,以调出用于设置该对象的运动参数的运动控制窗口。
返回参考图6,示出了型号为MRQ-M2305的运动控制部件以及该运动控制部件的五个轴的标识信息。用户可以用鼠标左键在任一个轴的标识信息上双击,例如在CH1上双击,则随后可以显示用于设置该轴的运动参数的运动控制窗口。图18示出根据本发明一个实施例的用于设置图6所示的运动控制部件的第一个轴的运动参数的运动控制窗口的示意图。如图18所示,显示的是用于设置CH1这一个轴的运动参数的运动控制窗口。
在一个示例中,用户用鼠标左键在任一机器人或机器人模型的标识信息上双击后,可以随后显示用于设置该机器人或机器人模型的所有关节的运动参数的运动控制窗口(如图17所示)。
示例性地,所述人机交互界面包括设备窗口,所述在人机交互界面上显示指定设备或至少一个对象的标识信息可以包括:在所述设备窗口中显示指定设备或至少一个对象的标识信息。上文已经描述了在设备窗口中显示待控制设备或设备模型的标识信息的实施例,可以结合上文描述理解在设备窗口中显示指定设备的标识信息的实施例,不再赘述。此外,在设备窗口中还可以显示指定设备的至少一个对象的标识信息。返回参考图6,可以在设备窗口中显示运动控制部件的所有轴的标识信息。此外,虽然在附图未示出,但是在设备窗口中可以显示机器人或机器人模型的所有关节的标识信息。
通过对设备窗口中显示的任一指定设备的标识信息或任一指定设备的至少一个对象的标识信息的第一点击操作,可以调出运动控制窗口。这种调出方式比较简单便捷,方便用户快速调出所需的运动控制窗口。
根据本发明实施例,在在人机交互界面上显示与指定设备相关的运动控制窗口(步骤S1610)之前,方法1600还可以包括:在人机交互界面上显示指定设备或至少一个对象的标识信息;在人机交互界面上显示与指定设备相关的运动控制窗口(步骤S1610)可以包括:响应于用户对指定设备或至少一个对象的标识信息的第二点击操作,显示菜单窗口,菜单窗口包括用于控制运动控制窗口的打开和关闭的运动控制菜单项;响应于用户对运动控制菜单项的第三点击操作,显示运动控制窗口。
示例性而非限制性地,第二点击操作可以是右键单击操作。示例性地,菜单窗口可以是弹出式的菜单窗口,其可以在用户对指定设备或至少一个对象的标识信息进行第二点击操作时弹出。菜单窗口可以以列表的形式示出一个或多个菜单项,其中可以包括用于控制运动控制窗口的打开和关闭的运动控制菜单项。
示例性而非限制性地,第三点击操作可以是左键单击操作。当用户对菜单窗口的任一菜单项进行点击时,可以弹出相应的窗口(例如所述运动控制窗口)或执行其他对应操作。
根据本发明实施例,运动控制窗口包括参数设置控件,基于用户在运动控制窗口输入的运动控制指令,确定至少一个对象各自的运动参数(步骤S1620)可以包括:基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数,其中,运动控制指令包括用户针对参数设置控件执行的操作所对应的指令。
参数设置控件可以包括任何合适类型的可操作控件,该控件可以与用户交互。基于用户对参数设置控件的操作,控制设备可以确定一个或多个对象的运动参数。示例性地,上述可操作控件可以是滑动条控件、文本框控件等。不同对象所对应的可操作控件可以是相同类型的控件,也可以是不同类型的控件。例如,至少一个对象中的第一部分对象所对应的可操作控件是滑动条控件,第二部分对象所对应的可操作控件是文本框控件,第三部分对象所对应的可操作控件包括滑动条控件和文本框控件。
根据本发明实施例,参数设置控件包括与第一对象集合中的对象一一对应的至少一个滑动条控件,第一对象集合包括至少一个对象中的至少部分对象,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数可以包括:对于第一对象集合中的任一对象,接收用户对该对象所对应的滑动条控件上的滑块执行滑动操作的操作信息;基于该对象所对应的滑动条控件上的滑块在滑动过程中的结束位置和/或起始位置与结束位置之间的位置差,确定该对象的运动参数中的位置数据;和/或基于用户按下位于起始位置的滑块的时刻与释放位于结束位置的滑块的时刻之间的时间差,确定该对象的运动参数中的时间数据;其中,位置数据表示目标位置、旋转角度或运动距离,时间数据表示到达位置数据所指示的目标位置或经过位置数据所指示的旋转角度或运动距离消耗的时间。
在滑动条控件上拖动滑块,可以控制对应对象的运动。例如,将滑块从一个位置拖动到另一个位置的距离越长,可以表示对应对象的运动距离/旋转角度越大,将滑块从一个位置拖动到另一个位置并释放所用的时间越短,可以表示对应对象运动所用的时间越少,向左或向右拖动滑块可以表示所期望的对应对象的运动方向。拖动滑块可以通过按住鼠标左键并移动鼠标的方式拖动,也可以通过转动鼠标的滚轮来拖动。
继续参见图17,示出了与型号为MRX-T4的机器人模型的五个关节(基座、大臂、小臂、腕、机械手)分别对应的五个滑动条控件。用户可以拖动任一关节所对应的滑动条控件,控制设备可以相应确定该关节的运动参数的大小。
在运动参数的位置数据表示目标位置的情况下,该位置数据可以基于一次滑动操作的过程中滑块的结束位置确定。在运动参数的位置数据表示旋转角度或运动距离的情况下,该位置数据可以基于一次滑动操作的过程中滑块的起始位置和结束位置确定。可以理解,起始位置是在一次滑动操作中用户按下滑块时滑块所在的位置,结束位置是在一次滑动操作中用户释放滑块时滑块所在的位置。示例性地,位置数据的大小可以与滑块在滑动过程中的起始位置与结束位置之间的位置差的大小成正比。
示例性地,位置数据的大小可以包括位置数据的绝对值和位置数据的符号,滑块的起始位置和结束位置之间的位置差的大小可以包括位置差的绝对值和位置差的符号。当位置差的符号为正时,例如滑块向右滑动时,位置数据的符号可以为第一符号,用于指示对应对象沿第一方向运动。当位置差的符号为负时,位置数据的符号可以为第二符号,用于指示对应对象沿第二方向运动。示例性地,第一符号可以为正号,第一方向可以为顺时针方向。示例性地,第二符号可以为负号,第二方向可以为逆时针方向。
示例性地,时间数据的大小可以等于用户按下位于起始位置的滑块的时刻与释放位于结束位置的滑块的时刻之间的时间差。用户将滑块拖动相同的距离,可以花费不同的时间。例如,用户可以使滑块在滑动条控件的任一位置处停留任意时间。用户在按下滑块之后一直保持不松手,保持的时间越长,对应对象的运动参数中的时间数据越大,可以使得对应对象运行得越慢。因此,在设置相同大小的位置数据的情况下,用户可以根据需要选择设置不同长度的时间数据。
滑动条控件是一种简单、操作性强的交互工具,用户通过滑动条控件可以比较简单方便地设置运动参数。
根据本发明实施例,运动控制窗口还可以包括与第二对象集合中的对象一一对应的至少一个当前参数显示区域,第二对象集合是第一对象集合的子集,对于第二对象集合中的任一对象,该对象所对应的当前参数显示区域用于实时显示该对象所对应的滑动条控件上的滑块在滑动过程中,该对象当前到达的位置的预测值和/或该对象的运动参数中的时间数据的预测值。
继续参考图17,在每个滑动条控件上方均示出当前参数显示区域A1(作为示例,图17仅用虚线框标出了基座所对应的A1)。每个当前参数显示区域包括两个标签,分别表示当前到达的位置的预测值(单位为°)和从起始位置至当前到达的位置所消耗的时间的预测值(单位为ms)。在运动参数中的位置数据表示目标位置的情况下,当前参数显示区域显示的当前到达的位置的预测值即为位置数据的预测值。当前参数显示区域显示的从起始位置至当前到达的位置所消耗的时间的预测值即为运动参数中的时间数据的预测值。滑动条控件上方显示的位置和时间的预测值可以是实时改变的。在用户拖动滑块的过程中,该位置和时间的预测值随着滑块当前位置的变化而变化。
例如,附图17中显示目前基座在40°这个位置,如果用户按下鼠标向左拖动滑块运动到-114°、且一直保持不松手,保持12378ms,那么这个过程就可以表示:使基座从40°用时12378ms逆时针(基座顺时针旋转角度为正,逆时针旋转角度为负)旋转到-114°。在图17中,基座所对应的当前位置显示区域显示的460ms是上一次滑动操作所确定的时间数据。
当前参数显示区域的布局位置可以是任意的,本发明不对此进行限制。例如,任一对象所对应的当前参数显示区域还可以设置在该对象所对应的滑动条控件的下方、左方、右方等,不同对象所对应的当前参数显示区域的布局位置可以是相同的,也可以是不同的。
实时显示位置和时间的预测值,可以使得用户及时获知设置的运动参数是否满足要求,便于用户对运动参数进行设置和调整,这种方式可以大大提高用户体验。
根据本发明实施例,参数设置控件包括与第三对象集合中的对象一一对应的至少一组文本框控件,每组文本框控件包括至少一个文本框控件,第三对象集合包括至少一个对象中的至少部分对象,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数可以包括:对于第三对象集合中的任一对象,接收用户在该对象所对应的一组文本框控件中输入的该对象的运动参数中的位置数据和/或时间数据,其中,位置数据表示目标位置、旋转角度或运动距离,时间数据表示到达位置数据所指示的目标位置或经过位置数据所指示的旋转角度或运动距离消耗的时间。
可选地,所述至少一组文本框控件中的任一文本框控件可以是带有数字加减功能的文本框控件(如图17所示)。
示例性地,与第三对象集合中的对象一一对应的至少一组文本框控件中的每组文本框控件可以包括用于接收用户输入的位置数据的位置文本框控件。继续参考图17,在每个滑动条控件的左侧,还示出一个文本框控件。该文本框控件可以用于接收用户输入的位置数据。用户可以在每个滑动条控件左侧的文本框控件中输入任一目标位置的坐标,控制设备可以控制指定设备接下来运动到该目标位置。用户还可以在每个滑动条控件左侧的文本框控件中输入任一预设距离或预设角度,控制设备可以控制指定设备接下来运动该预设距离或旋转该预设角度。
在一个示例中,与第三对象集合中的对象一一对应的至少一组文本框控件中的每个文本框控件可以包括用于接收用户输入的时间数据的时间文本框控件。用户可以在每个时间文本框控件中输入时间数据,控制设备可以控制指定设备在时间数据所指示的时间内运动到目标位置、运动预设距离或旋转预设角度。在另一个示例中,参数设置控件可以包括单一的时间文本框控件。该时间文本框控件可以用于接收用户输入的第三对象集合中的所有对象的时间数据,即,第三对象集合中的所有对象的时间数据可以是相同的,它们可以利用同一时间文本框控件统一设置。例如,参见图17,在“Step”一栏中示出有标签为“Time(s)”的文本框控件,该文本框控件用于统一设置五个关节的时间数据。
运动控制窗口可以采用任意合适的布局方式且可以包括任意合适的控件,其并不局限于图17所示的示例。例如,图19示出根据本发明另一个实施例的运动控制窗口的示意图。下面描述与图19所示的运动控制窗口相关的用户交互方式。
根据本发明实施例,在至少一个对象包括指定设备的末端执行器的情况下,参数设置控件包括六个按钮控件,六个按钮控件分为与空间直角坐标系的三个坐标轴一一对应的三对按钮控件,每对按钮控件中的两个按钮控件分别对应两个相反的方向,六个按钮控件中的每个按钮控件用于指示末端执行器在该按钮控件所对应的坐标轴上沿着该按钮控件所对应的方向运动,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数可以包括:接收用户对六个按钮控件中的至少部分按钮控件执行点击操作的操作信息;基于用户对至少部分按钮控件的操作信息,确定末端执行器的运动参数中的位置数据。
参见图19,在运动控制窗口的右侧,示出一块区域A2,该区域包括六个按钮控件“∧”、“∨”、“<”、“>”、“+”、“-”,其中,“∧”、“∨”可以分别对应XYZ坐标系中的Z轴正向和Z轴负向,“<”、“>”可以分别对应XYZ坐标系中的Y轴负向和Y轴正向,“+”、“-”可以分别对应XYZ坐标系中的X轴正向和X轴负向。例如,用户每点击一次“<”控件,可以控制机器人的末端执行器沿着Y轴负向运动预设距离。该预设距离可以视为步长。可选地,用户可以利用步长设置控件设置步长的值。可选地,步长的值可以等于默认值。
利用图19所示的六个按钮控件,可以控制机器人或机器人模型的末端执行器沿着XYZ坐标系中的任意坐标轴运动,从而实时控制末端执行器在空间中的运动。比较可取的是,指定设备是与控制设备实际连接的机器人,这样可以控制机器人产生实际运动。
此外,在运动控制窗口的左侧,示出一块区域A3,该区域包括四个文本框控件,在这些本文框控件中可以直接设置末端执行器的位置数据和时间数据。位置数据可以包括三个坐标值,分别为X、Y、Z轴上的坐标值。用户可以在这三个文本框控件中输入坐标值,用于指示末端执行器接下来所要到达的目标位置。用户还可以在区域A3中最上方的文本框控件输入时间数据,用于指示到达目标位置消耗的时间。上文已经描述了用文本框控件设置运动参数的实施例,不再赘述。
根据本发明实施例,参数设置控件还包括步长设置控件,用于指示六个按钮控件中的每个按钮控件点击一次末端执行器的运动距离,步长设置控件是文本框控件。
可选地,步长设置控件可以是带有数字加减功能的文本框控件。参见图19,在区域A2下方示出区域A4,该区域包括两个文本框控件,其中下面的标签为“Step(mm)”的文本框控件即为步长设置控件。用户可以在步长设置控件中输入数值和/或用控件右侧的加减按钮调整数值的大小,进而获得步长值。六个按钮控件中的每个按钮控件点击一次所对应的末端执行器的运动距离可以等于步长设置控件中设置的步长值。当前设置的步长值为20mm,意味着用户每次点击六个按钮控件中的任一按钮控件时,控制设备可以控制末端执行器沿着该按钮控件所对应的方向运动20mm。
根据本发明实施例,参数设置控件还可以包括时间设置控件,用于指示六个按钮控件中的每个按钮控件点击一次末端执行器的运动时间,时间设置控件是文本框控件。
可选地,时间设置控件可以是带有数字加减功能的文本框控件。继续参见图19,区域A4所包括的标签为“t(s)”的文本框控件即为时间设置控件。用户可以在时间设置控件中输入数值和/或用控件右侧的加减按钮调整数值的大小,进而获得时间数据。六个按钮控件中的每个按钮控件点击一次末端执行器的运动时间可以等于时间设置控件中设置的时间数据。当前设置的时间数据为1s,意味着用户每次点击六个按钮控件中的任一按钮控件时,控制设备可以控制末端执行器沿着该按钮控件所对应的方向运动预设距离(即上述步长),且经过该预设距离的时间为1s。
根据本发明实施例,参数设置控件包括与第四对象集合中的对象一一对应的至少一个分立归零控件,第四对象集合包括至少一个对象中的至少部分对象,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数包括:对于第四对象集合中的任一对象,响应于用户对该对象所对应的分立归零控件的点击操作,将该对象的运动参数设置为预设初始值。
返回参考图17,每个对象所对应的用于设置位置数据的文本框控件上方,均示出一个“Zero”控件,该控件即为分立归零控件。用户点击任一分立归零控件,可以将该控件对应的对象的运动参数归零,使其回复到预设初始值。例如,用户点击基座所对应的分立归零控件,可以将基座的运动参数归零。
根据本发明实施例,参数设置控件包括整体归零控件,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数包括:响应于用户对整体归零控件的点击操作,将至少一个对象的运动参数分别设置为各自的预设初始值。
返回参考图17,在运动窗口上半部分,示出了“To Zero”控件,该控件即为整体归零控件。用户点击该整体归零控件,可以将机器人的所有关节的运动参数一起归零,即一起回复到各自的预设初始值。
根据本发明实施例,指定设备是机器人或机器人模型,运动控制窗口包括当前位置显示区域,用于实时显示指定设备的末端执行器当前到达的位置所对应的位置数据。
参考图17和图19,均用虚线框标出了当前位置显示区域。在指定设备是机器人或机器人模型的情况下,其具有末端执行器。无论设置一个或多个关节的运动参数还是设置末端执行器的运动参数,末端执行器均会产生对应的运动。可选地,可以实时监测末端执行器的位置,并实时显示当前到达位置的坐标。这种方式方便用户查看指定设备的运动情况,以获知指定设备是否正确运行,同时还方便用户在需要时将理想的位置点添加到指定设备的运动参数序列,方便对指定设备进行轨迹规划。
根据本发明实施例,运动控制窗口包括分配控件,将至少一个对象各自的运动参数分别分配给至少一个对象(步骤S1630)可以包括:响应于用户对分配控件执行的点击操作,将至少一个对象各自的运动参数分别分配给至少一个对象。
参考图19,在区域A3中示出了分配控件,当用户点击该控件时,可以将区域A3的文本框控件中设置的运动参数分配给末端执行器,以驱动末端执行器运动。可以理解,在图17所示的运动控制窗口中也可以设置类似的分配控件,不再赘述。
对于本文描述的第一对象集合、第二对象集合、第三对象集合、第四对象集合等对象集合来说,除有特殊说明(例如第二对象集合是第一对象集合的子集)以外,任意两个集合可以包括一个或多个共同对象,也可以不包括任何共同对象。
根据本发明另一方面,提供一种参数编辑方法。图20示出根据本发明一个实施例的参数编辑方法2000的示意性流程图。如图20所示,参数编辑方法2000包括步骤S2010和S2020。
在步骤S2010,在人机交互界面上显示与指定设备相关的运动控制窗口,其中,指定设备是机器人、运动控制部件、机器人模型和运动控制部件模型之一,运动控制窗口包括参数添加控件。
上文已经结合图17-19描述了运动控制窗口的形式及其包含的内容,此处不再赘述。
在步骤S2020,响应于用户对参数添加控件的操作,将待添加运动参数添加到指定设备的指定对象的运动参数序列中,指定对象是末端执行器、关节或者轴。
在指定设备是机器人或机器人模型的情况下,指定对象可以是末端执行器或者任意一个关节。在指定设备是运动控制部件或运动控制部件模型的情况下,指定对象可以是任意一个轴。
示例性而非限制性地,参数添加控件可以是按钮控件,步骤S2020中对参数添加控件的操作可以是点击操作,例如鼠标左键单击。
返回参考图19,在区域A3中示出了参数添加控件1,在运动控制窗口的上半部分示出了参数添加控件2。当用户点击参数添加控件1时,响应于用户的点击操作,可以将区域A3的文本框控件中设置的运动参数添加到末端执行器的运动参数序列中。上文已经描述了运动参数序列的作用和意义,此处不再赘述。当用户点击参数添加控件2时,响应于用户的点击操作,可以将末端执行器的当前运动参数添加到末端执行器的运动参数序列中。当前运动参数的含义将在下文描述。
在用户对指定设备进行实时运动控制的过程中,可以随时将理想的一条运动参数添加到指定设备的指定对象的运动参数序列中,方便对指定对象进行轨迹规划。例如,当前机器人的末端执行器运动到位置P处,用户认为是一个比较关键的点,则可以点击如图19所示的参数添加控件2,随后控制设备可以基于位置P的坐标数据获得一条运动参数(即待添加运动参数),并将该运动参数添加到末端执行器的运动参数序列中。运动参数序列可以初始包括一条或多条运动参数。将待添加运动参数添加到运动参数序列之后,运动参数序列得到更新,获得新的运动参数序列。在随后的任一时刻,控制设备可以将新的运动参数序列发送给机器人的末端执行器,以控制末端执行器沿着新的运动参数序列所对应的轨迹运动。
根据本发明实施例的参数编辑方法,运动控制窗口可以与用户交互,使得用户能够在通过运动控制窗口对指定设备(或其指定对象)进行运动控制时,随时根据需要将任意一条运动参数添加到运动参数序列中,方便用户对指定设备(或其指定对象)进行运动控制和轨迹规划。
根据本发明实施例,参数添加控件可以包括用于指示将指定对象的当前运动参数添加到运动参数序列的第一按钮控件,待添加运动参数包括当前运动参数。
当前运动参数可以包括与指定对象当前到达的位置相对应的位置数据。
继续参考图19,参数添加控件2即为第一按钮控件,点击该控件时,可以将当前位置显示区域所显示的坐标作为当前运动参数中的位置数据。例如,假设当前位置显示区域所显示的X、Y、Z值分别为100、50、0,则可以将(X:100;Y:50;Z:0)作为当前运动参数中的位置数据。
当前运动参数中的时间数据可以是默认值,也可以由用户设定。例如,当前运动参数中的时间数据可以默认为0。这样,所获得的当前运动参数可以为(X:100;Y:50;Z:0;T:0)。
用户可以随时观察当前位置显示区域所显示的坐标,当认为当前到达的位置是比较关键的点时,可以点击参数添加控件,将当前位置作为一个轨迹点添加到运动参数序列中。这种运动参数序列的编辑方式无需用户手动设置运动参数的数据,可以一定程度上减少用户的工作量。
根据本发明实施例,参数添加控件包括用于指示将指定对象的用户设置运动参数添加到运动参数序列的第二按钮控件,待添加运动参数包括用户设置运动参数。
继续参考图19,参数添加控件1即为第二按钮控件,点击该控件时,可以将用户所设置的运动参数添加到运动参数序列中。
根据本发明实施例,运动控制窗口包括参数设置控件,在响应于用户对参数添加控件的操作,将待添加运动参数添加到指定设备的指定对象的运动参数序列中(步骤S2020)之前,方法2000还可以包括:基于用户对参数设置控件执行的操作,确定用户设置运动参数。
方法2000所涉及的参数设置控件与上文结合图16-19所描述的运动控制方法1600所涉及的参数设置控件相同,可以参考上文描述理解参数设置控件的形式及其操作方法,此处不再赘述。用户可以通过上述滑动条控件、文本框控件等控件手动设置运动参数的数据,这种方式方便用户设置并调整运动参数的大小,从而有利于获得比较精准的运动参数。
根据本发明实施例,参数设置控件包括至少一个文本框控件,基于用户对参数设置控件执行的操作,确定用户设置运动参数包括:接收用户在至少一个文本框控件中输入的用户设置运动参数中的位置数据和/或时间数据。
根据本发明实施例,在指定对象是末端执行器的情况下,参数设置控件包括六个按钮控件,六个按钮控件分为与空间直角坐标系的三个坐标轴一一对应的三对按钮控件,每对按钮控件中的两个按钮控件分别对应两个相反的方向,六个按钮控件中的每个按钮控件用于指示末端执行器在该按钮控件所对应的坐标轴上沿着该按钮控件所对应的方向运动,基于用户对参数设置控件执行的操作,确定用户设置运动参数包括:接收用户对六个按钮控件中的至少部分按钮控件执行点击操作的操作信息;基于用户对至少部分按钮控件的操作信息,确定用户设置运动参数中的位置数据。
根据本发明实施例,参数设置控件还包括步长设置控件,用于指示六个按钮控件中的每个按钮控件点击一次末端执行器的运动距离,步长设置控件是文本框控件。
根据本发明实施例,参数设置控件还包括时间设置控件,用于指示六个按钮控件中的每个按钮控件点击一次末端执行器的运动时间,时间设置控件是文本框控件。
根据本发明实施例,指定设备是机器人或机器人模型,运动控制窗口包括当前位置显示区域,用于实时显示指定设备的末端执行器当前到达的位置所对应的位置数据。上文已经描述了当前位置显示区域包含的内容及其作用,此处不再赘述。
根据本发明实施例,运动控制窗口包括图像显示区域,方法2000还可以包括:接收指定设备的实时图像;以及在图像显示区域显示实时图像。
可以采用控制设备的摄像头或单独的摄像头采集指定设备的实时图像。控制设备可以接收采集到的实时图像,并在人机交互界面上显示出来,以供用户查看。通过这种方式,用户可以直观地、一目了然地查看指定设备的运动情况,可以获知指定设备是否正确运行,并且可以获知哪个位置点是适于添加到运动参数序列中的点,以及时、准确地编辑运动参数序列,更好地控制指定设备(或其指定对象)运动。
根据本发明实施例,方法2000还可以包括:在人机交互界面上显示参数编辑窗口;接收用户在参数编辑窗口中编辑的运动参数,以获得运动参数序列。上文已经描述了参数编辑窗口包含的内容及其显示方式,此处不再赘述。
根据本发明实施例,方法2000还可以包括:在参数编辑窗口中显示运动参数序列;在响应于用户对参数添加控件的操作,将待添加运动参数添加到指定设备的指定对象的运动参数序列中(步骤S2020)之后,方法2000还包括:将待添加运动参数作为运动参数序列中的选定运动参数的下一行或者运动参数序列中的最后一行运动参数的下一行,显示在参数编辑窗口中。
示例性地,将待添加运动参数添加到运动参数序列可以包括将待添加运动参数添加到运动参数序列的预定位置。该预定位置可以任意设定,包括但不限于:将待添加运动参数作为运动参数序列中的选定运动参数的下一行或者运动参数序列中的最后一行运动参数的下一行,添加到运动参数序列,其中,运动参数序列中的运动参数按照时间数据从小到大排序。在这种情况下,待添加运动参数的时间数据可以设置为默认值,例如0,随后可以由用户在参数编辑窗口中对该时间数据进行修改,如下所述。
示例性地,将待添加运动参数添加到运动参数序列可以包括按照时间数据的排序将待添加运动参数添加到运动参数序列。在这种情况下,待添加运动参数的时间数据可以由用户在添加之前设置好。
选定运动参数可以是当前光标选中的运动参数。例如,返回参考图13,假设当前光标选中的是第四行(序号为3)的运动参数,则待添加运动参数添加到运动参数序列时,可以默认插入到第四行与第五行之间,并按照插入后的顺序显示在如图13所示的参数编辑窗口中。
在另一个示例中,无论当前光标选中的运动参数是哪个,均可以将待添加运动参数默认插入到运动参数序列的最后一行之后,并按照插入后的顺序显示在如图13所示的参数编辑窗口中。
根据本发明实施例,待添加运动参数包括位置数据,方法2000还可以包括:响应于用户对参数添加控件的操作,将待添加运动参数的时间数据设置为默认值。默认值可以根据需要任意设定,本发明不对此进行限制,例如,默认值可以是0、1、2等。
根据本发明实施例,在将待添加运动参数作为运动参数序列中的选定运动参数的下一行或者运动参数序列中的最后一行运动参数的下一行,显示在参数编辑窗口中之后,方法2000还可以包括:响应于用户在参数编辑窗口中对待添加运动参数的时间数据的修改操作,对待添加运动参数的时间数据进行修改。
如图12和13所示的参数编辑窗口所显示的运动参数中的至少部分参数是可以编辑和修改的。例如,待添加运动参数的时间数据默认为0并显示在参数编辑窗口之后,用户可以将其修改为5。
根据本发明实施例,参数编辑窗口可以包括添加功能开关控件,添加功能开关控件是用于控制添加功能的开启和关闭的按钮控件,将待添加运动参数添加到指定设备的指定对象的运动参数序列中的步骤(步骤S2020)在添加功能开启的情况下执行。
返回参考图12和13,示出了添加功能开关控件,该控件可以是按钮控件。示例性地,用户可以用鼠标左键单击该添加功能开关控件,第一次单击可以开启添加功能,第二次单击可以关闭添加功能,第三次单击可以再次开启添加功能,以此类推。在如图12或13的添加功能开启的情况下,才可以将上述待添加运动参数添加到如图12或13所示的运动参数序列,否则无法添加。
用户可以根据需要打开或关闭添加功能,这种方案可以向用户提供更多的自主权,并且有利于减少用户在参数编辑时的误操作。
根据本发明另一方面,提供一种运动控制方法。图21示出根据本发明一个实施例的运动控制方法2100的示意性流程图。如图21所示,运动控制方法2100包括步骤S2110、S2121、S2130。
在步骤S2110,在人机交互界面上显示与指定设备相关的运动控制窗口,其中,指定设备是机器人、运动控制部件、机器人模型和运动控制部件模型之一,运动控制窗口包括参数设置控件。
在步骤S2120,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数,其中,至少一个对象包括以下项之一:指定设备的末端执行器、指定设备的至少一个关节、指定设备的至少一个轴。
在步骤S2130,将至少一个对象各自的运动参数分别分配给至少一个对象,以控制至少一个对象运动。
根据本发明实施例,参数设置控件包括与第一对象集合中的对象一一对应的至少一个滑动条控件,第一对象集合包括至少一个对象中的至少部分对象,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数(步骤S2120)可以包括:对于第一对象集合中的任一对象,接收用户对该对象所对应的滑动条控件上的滑块执行滑动操作的操作信息;基于该对象所对应的滑动条控件上的滑块在滑动过程中的结束位置和/或起始位置与结束位置之间的位置差,确定该对象的运动参数中的位置数据;和/或基于用户按下位于起始位置的滑块的时刻与释放位于结束位置的滑块的时刻之间的时间差,确定该对象的运动参数中的时间数据;其中,位置数据表示目标位置、旋转角度或运动距离,时间数据表示到达位置数据所指示的目标位置或经过位置数据所指示的旋转角度或运动距离消耗的时间。
根据本发明实施例,时间数据的大小等于时间差。
根据本发明实施例,位置数据的大小与位置差的大小成正比。
根据本发明实施例,运动控制窗口还包括与第二对象集合中的对象一一对应的至少一个当前参数显示区域,第二对象集合是第一对象集合的子集,对于第二对象集合中的任一对象,该对象所对应的当前参数显示区域用于实时显示该对象所对应的滑动条控件上的滑块在滑动过程中,该对象当前到达的位置的预测值和/或该对象的运动参数中的时间数据的预测值。
根据本发明实施例,参数设置控件包括与第三对象集合中的对象一一对应的至少一组文本框控件,每组文本框控件包括至少一个文本框控件,第三对象集合包括至少一个对象中的至少部分对象,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数(步骤S2120)包括:对于第三对象集合中的任一对象,接收用户在该对象所对应的一组文本框控件中输入的该对象的运动参数中的位置数据和/或时间数据,其中,位置数据表示目标位置、旋转角度或运动距离,时间数据表示到达位置数据所指示的位置或经过位置数据所指示的旋转角度或运动距离消耗的时间。
根据本发明实施例,参数设置控件包括与第四对象集合中的每个对象分别对应的至少一个分立归零控件,第四对象集合包括至少一个对象中的至少部分对象,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数(步骤S2120)包括:对于第四对象集合中的任一对象,响应于用户对该对象所对应的分立归零控件的点击操作,将该对象的运动参数设置为预设初始值。
根据本发明实施例,参数设置控件包括整体归零控件,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数(步骤S2120)包括:响应于用户对整体归零控件的点击操作,将至少一个对象的运动参数分别设置为各自的预设初始值。
运动控制方法2100所涉及的参数设置控件与运动控制方法1600所涉及的参数设置控件相同,可以基于上文描述理解运动控制方法2100所涉及的参数设置控件的形式及其操作方式,不再赘述。
根据本发明实施例,参数设置控件包括与第五对象集合中的对象一一对应的至少一组按钮控件,每组按钮控件包括与两个相反的方向分别对应的两个按钮控件,每个对象所对应的一组按钮控件中的每个按钮控件用于指示该对象沿着该按钮控件所对应的方向运动,第五对象集合包括至少一个对象中的至少部分对象,基于用户对参数设置控件执行的操作,确定至少一个对象各自的运动参数(步骤S2120)包括:对于第五对象集合中的任一对象,接收用户对该对象所对应的一组按钮控件中的至少部分按钮控件执行点击操作的操作信息;基于用户对至少部分按钮控件的操作信息,确定该对象的运动参数中的位置数据。
返回参考图17,在机器人模型的每个关节所对应的滑动条控件右侧,还示出一组按钮控件。每组按钮控件包括两个按钮控件“<”、“>”,分别对应两个方向,例如顺时针方向和逆时针方向。示例性地,点击与基座对应的“>”按钮控件,可以控制基座接下来顺时针旋转预设角度。该预设角度的大小可以利用下述步长设置控件进行设置。
根据本发明实施例,参数设置控件还包括至少一个步长设置控件,每个步长设置控件与第五对象集合中的至少部分对象相关联,至少一个步长设置控件中的每一个用于指示与该步长设置控件相关联的任一对象所对应的一组按钮控件中的每个按钮控件点击一次该对象的旋转角度或运动距离,步长设置控件是文本框控件。
参考图17,用虚线框标示出步长设置控件,每个关节当前设置的步长为1,表示点击一次右侧的按钮控件,关节顺时针或逆时针旋转1°。在一个示例中,可以针对第五对象集合中的每个对象,分别配置一个步长设置控件,每个步长设置控件用于设置关联对象的步长,即关联对象所对应的每个按钮控件点击一次该对象的旋转角度或运动距离。例如,五个关节可以配置五个步长设置控件。在另一个示例中,可以针对第五对象集合中的所有对象,仅配置一个步长设置控件,该步长设置控件用于设置与该控件相关联的所有对象的步长,即每个关联对象所对应的每个按钮控件点击一次该对象的旋转角度或运动距离。例如,五个关节可以配置一个步长设置控件。此外,还可以选择其他的步长设置控件配置方式,例如五个关节配置三个步长设置控件,第一个和第二个步长设置控件分别用于设置两个关节的步长,第三个步长设置控件用于设置一个关节的步长。
根据本发明实施例,参数设置控件还包括至少一个时间设置控件,每个时间设置控件与第五对象集合中的至少部分对象相关联,至少一个时间设置控件中的每一个用于指示与该时间设置控件相关联的任一对象所对应的一组按钮控件中的每个按钮控件点击一次该对象的运动时间,时间设置控件是文本框控件。
参考图17,用虚线框标示出时间设置控件,当前设置的时间为1,表示点击一次五个关节的任一按钮控件,对应关节顺时针或逆时针旋转预设角度,所用时间为1秒(s)。时间设置控件与上述步长设置控件的配置方式类似,即可以配置任意合适数目的时间设置控件,每个时间设置控件用于设置一个或多个对象的运动时间。图17所示的示例中仅示出一个时间设置控件,用于设置五个关节的运动时间。
示例性地,每个按钮控件点击一次对应对象的运动时间还可以是默认值。
根据本发明实施例,第一对象集合和第五对象集合包括至少一个共同对象,方法还包括:对于至少一个共同对象中的任一对象,基于用户对该对象所对应的一组按钮控件中的至少部分按钮控件的操作信息,同步调整该对象所对应的滑动条控件上的滑块的位置。
继续参考图17,假设用户点击一次与基座对应的按钮控件“<”,基座的滑动条控件上的滑块可以对应向左滑动预设距离。按钮控件点击一次滑块滑动的预设距离的大小可以基于按钮控件点击一次对应对象的步长(旋转角度或运动距离)确定,按钮控件点击一次对应对象的步长可以采用上文描述的步长设置控件设置。可选地,按钮控件点击一次对应对象的步长还可以是默认值。
基于按钮控件的操作同步调整滑块位置的方式,可以使滑块随对象运动而变化,保持滑块处于正确位置,这有利于用户结合按钮控件和滑动条控件对指定设备进行运动控制。
根据本发明实施例,指定设备是机器人或机器人模型,运动控制窗口包括当前位置显示区域,用于实时显示指定设备的末端执行器当前到达的位置所对应的位置数据。上文已经描述了当前位置显示区域包含的内容,此处不再赘述。
根据本发明另一方面,提供一种控制设备。图22示出根据本发明一个实施例的控制设备2200的示意性框图。
如图22所示,根据本发明实施例的控制设备2200包括显示模块2210和添加模块2220。所述各个模块可分别执行上文中结合图20描述的参数编辑方法的各个步骤/功能。以下仅对该控制设备2200的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
显示模块2210用于在在人机交互界面上显示与指定设备相关的运动控制窗口,其中,指定设备是机器人、运动控制部件、机器人模型和运动控制部件模型之一,运动控制窗口包括参数添加控件。
添加模块2220用于响应于用户对参数添加控件的操作,将待添加运动参数添加到指定设备的指定对象的运动参数序列中,指定对象是末端执行器、关节或者轴。
图23示出了根据本发明一个实施例的控制设备2300的示意性框图。控制设备2300包括显示器2310、存储装置(即存储器)2320以及处理器2330。
显示器2310用于显示上述人机交互界面。
所述存储装置2320存储用于实现根据本发明实施例的参数编辑方法2000中的相应步骤的计算机程序指令。
所述处理器2330用于运行所述存储装置2320中存储的计算机程序指令,以执行根据本发明实施例的参数编辑方法2000的相应步骤。
示例性地,控制设备2300还可以包括输入装置,用于接收用户输入的指令。
示例性地,上述显示器和输入装置可以采用同一触摸屏实现。
根据本发明另一方面,提供一种运动控制系统,包括控制设备和至少一个指定设备,控制设备用于执行根据本发明实施例的参数编辑方法2000,以获得用于控制至少一个指定设备的对象运动的运动参数序列,至少一个指定设备的对象用于基于对应的运动参数序列运动。示例性地,至少一个指定设备中的每一个是与控制设备连接的机器人或运动控制部件。
此外,根据本发明又一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时使得所述计算机或处理器执行本发明实施例的上述参数编辑方法2000的相应步骤。所述存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
本领域普通技术人员通过阅读上文关于参数编辑方法200的相关描述,可以理解上述控制设备和存储介质的具体实现方案,为了简洁,在此不再赘述。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。