具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
为了至少部分地解决上述问题,本发明实施例提供一种控制设备。该控制设备可以通过硬件或硬件与软件结合的方式,实现对多台待控制设备(包括机器人和/或运动控制部件)的同时管理和控制。本文描述的控制设备可以是任何合适的具备数据处理能力和/或指令执行能力的计算设备,其可以采用常规计算机实现。例如,控制设备可以是上位机、示教器等。示例性地,本文描述的控制设备可以通过显示器向用户提供控制界面,即人机交互界面,用户可以利用该控制界面实现对待控制设备和/或设备模型的控制。此外,示例性地,本文描述的控制设备还可以安装有控制软件,用于实现与控制界面相关的算法功能。
根据本发明实施例,可以用一台控制设备实现对多台待控制设备的同时管理和控制。与现有的一一对应方案相比,根据本发明实施例的方案至少具有以下优点: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中,每条运动参数的第一列数据,即“允许”这一列的数据即为参数有效性数据,当该数据为“tme”时代表该条运动参数是有效的,可以将其列入对应设备(机器人或机器人模型)的运动轨迹;当该数据为“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.see”。
根据本发明另一方面,提供一种用户交互方法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包括显示模块1610、第一接收模块1620、第二接收模块1630和分配模块1640。所述各个模块可分别执行上文中结合图15描述的用户交互方法的各个步骤/功能。以下仅对该控制设备1600的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
显示模块1610用于在人机交互界面上显示参数编辑窗口。
第一接收模块1620用于接收用户在参数编辑窗口中编辑的运动参数。
第二接收模块1630用于接收用户在参数编辑窗口中输入的参数分配指令。
分配模块1640用于将运动参数分配给参数分配指令所指示的指定设备。
图17示出了根据本发明一个实施例的控制设备1700的示意性框图。控制设备1700包括显示器1710、存储装置(即存储器)1720以及处理器1730。
所述显示器1710用于显示上述人机交互界面。
所述存储装置1720存储用于实现根据本发明实施例的用户交互方法1500中的相应步骤的计算机程序指令。
所述处理器1730用于运行所述存储装置1720中存储的计算机程序指令,以执行根据本发明实施例的用户交互方法1500的相应步骤。
示例性地,控制设备1700还可以包括输入装置,用于接收用户输入的指令。
示例性地,上述显示器和输入装置可以采用同一触摸屏实现。
在一个实施例中,计算机程序指令被处理器1730运行时用于执行以下步骤:在人机交互界面上显示参数编辑窗口;接收用户在参数编辑窗口中编辑的运动参数;接收用户在参数编辑窗口中输入的参数分配指令;以及将运动参数分配给参数分配指令所指示的指定设备。
此外,根据本发明又一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时使得所述计算机或处理器执行本发明实施例的上述用户交互方法的相应步骤。所述存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
本领域普通技术人员通过阅读上文关于用户交互方法的相关描述,可以理解上述控制设备和存储介质的具体实现方案,为了简洁,在此不再赘述。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的控制设备中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。