CN106774028B - 一种基于时间轴的机器人控制方法与装置 - Google Patents
一种基于时间轴的机器人控制方法与装置 Download PDFInfo
- Publication number
- CN106774028B CN106774028B CN201710127608.4A CN201710127608A CN106774028B CN 106774028 B CN106774028 B CN 106774028B CN 201710127608 A CN201710127608 A CN 201710127608A CN 106774028 B CN106774028 B CN 106774028B
- Authority
- CN
- China
- Prior art keywords
- operational order
- time
- robot
- operational
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Abstract
本发明实施例提供的一种基于时间轴的机器人控制方法与装置,属于机器人领域。该方法包括:获取用户输入的多个操作指令,每个操作指令对应一个动作执行模块;获取每个操作指令的起始时间节点和结束时间节点,当有多个操作指令对应一个动作执行模块时,对应该动作执行模块的多个操作指令中每相邻的两个操作指令中的前一个操作指令的结束时间节点早于后一个操作指令的起始时间节点;基于用户输入的执行指令,根据每个操作指令的起始时间节点将所有的操作指令进行排序以形成动作指令;根据动作指令控制机器人执行动作。本申请通过为每个动作执行模块设置一个起点和终点,使得多个动作执行模块在时间轴上形成动作指令,让用户能够方便的控制机器人。
Description
技术领域
本发明涉及机器人领域,具体而言,涉及一种基于时间轴的机器人控制方法与装置。
背景技术
随着科学技术的发展,机器人应用越来越贴近人们的日常生活,而且机器人的技术日新月异,在现代工业和日常生活发挥越来越大的作用,从汽车的生产线到家用的机器人玩具,机器人的应用领域正在不断的扩大,机器人的用户也从专业的操作人员、机器人爱好者普及到普通的使用者,机器人技术的发展已经代表着一个国家的高科技发展水平,随着机器人的普及,机器人的教育正成为越来越重要的问题。机器人技术是一门综合了机械工程,电子工程,传感器应用,信息技术,数学,物理以及人工智能等多种学科的技术,其控制程序需要由专业技术人员进行编写,但对于中小学生来说是机器人编程的软件复杂,使用不易学会,甚至有的要用到专业的编程语言对普通使用者及中小学生来说很难理解。因此,如何让更多的用户方便的控制机器人的行为是目前亟需解决的问题。
发明内容
本发明提供一种基于时间轴的机器人控制方法与装置,旨在改善上述问题。
本发明提供的一种基于时间轴的机器人控制方法,应用于机器人,所述机器人包括多个动作执行模块,所述方法包括:获取用户输入的多个操作指令,每个所述操作指令对应一个所述动作执行模块;获取每个所述操作指令的起始时间节点和结束时间节点,当有多个所述操作指令对应一个所述动作执行模块时,对应该动作执行模块的多个所述操作指令中每相邻的两个所述操作指令中的前一个所述操作指令的结束时间节点早于后一个所述操作指令的起始时间节点;基于用户输入的所述操作指令,根据每个所述操作指令的起始时间节点将所有的所述操作指令进行排序以形成动作指令;根据所述动作指令控制所述机器人执行动作。
本发明提供的一种基于时间轴的机器人控制装置,应用于机器人,所述机器人包括多个动作执行模块,所述装置包括:第一数据获取单元,用于获取用户输入的多个操作指令,每个所述操作指令对应一个所述动作执行模块;第二数据获取单元,用于获取每个所述操作指令的起始时间节点和结束时间节点,当有多个所述操作指令对应一个所述动作执行模块时,对应该动作执行模块的多个所述操作指令中每相邻的两个所述操作指令中的前一个所述操作指令的结束时间节点早于后一个所述操作指令的起始时间节点;动作指令生成单元,用于基于用户输入的所述操作指令,根据每个所述操作指令的起始时间节点将所有的所述操作指令进行排序以形成动作指令;执行单元,用于根据所述动作指令控制所述机器人执行动作。
上述本发明提供的一种基于时间轴的机器人控制方法与装置,本申请通过获取用户输入的多个操作指令以及每个操作指令的起始时间节点和结束时间节点,从而获取每个操作指令基于时间排序后在时间轴上形成的动作指令,进而通过所述动作指令使得用户通过时间轴的方式能够更加方便的控制机器人以及定制机器人的行为,使得机器人能够按照用户所输入的操作指令进行运动。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的机器人与本地终端交互的示意图;
图2为本发明实施例提供的本地终端的结构框图;
图3为本发明第一实施例提供的一种基于时间轴的机器人控制方法的流程图;
图4为本发明第一实施例提供的一种基于时间轴的机器人控制方法的第一操作界面示意图;
图5为本发明第一实施例提供的一种基于时间轴的机器人控制方法的第二操作界面示意图;
图6为本发明第一实施例提供的一种基于时间轴的机器人控制方法的第三操作界面示意图;
图7为本发明第一实施例提供的一种基于时间轴的机器人控制方法的第四操作界面示意图;
图8为本发明第一实施例提供的一种基于时间轴的机器人控制方法的第五四操作界面示意图;
图9为本发明第一实施例提供的一种基于时间轴的机器人控制方法中的操作指令在第一操作界面上的示意图;
图10为本发明第一实施例提供的一种基于时间轴的机器人控制方法的第六操作界面示意图;
图11为本发明第一实施例提供的一种基于时间轴的机器人控制方法的第七操作界面示意图;
图12为本发明第二实施例提供的一种基于时间轴的机器人控制装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,是本发明较佳实施例提供的机器人与本地终端进行交互的示意图。所述机器人通过网络与本地终端200进行通信连接,以进行数据通信或交互。所述本地终端200可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)等。在本实施例中,所述机器人100用于接收用户通过本地终端200发送的操作指令,从而通过操作指令控制机器人100执行与所述操作指令相应的动作。
如图2所示,为本发明实施例提供的一种本地终端的结构框图。其中,所述本地终端200包括基于时间轴的机器人控制装置201、存储器202、存储控制器203、处理器204、外设接口205、输入输出单元206、音频单元207和显示单元208。
所述存储器202、存储控制器203、处理器204、外设接口205、输入输出单元206、音频单元207和显示单元208各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述基于时间轴的机器人控制装置201包括至少一个可以软件或固件(firmware)的形式存储于所述存储器202中或固化在本地终端200设备的操作系统(operating system,OS)中的软件功能模块。所述处理器204用于执行存储器202中存储的可执行模块,例如所述基于时间轴的机器人控制装置201包括的软件功能模块或计算机程序。
其中,存储器202可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器202用于存储程序,所述处理器204在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的服务器所执行的方法可以应用于处理器204中,或者由处理器204实现。
处理器204可能是一种集成电路芯片,具有信号的处理能力。上述的处理器204可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述外设接口205将各种输入/输入装置耦合至处理器204以及存储器202。在一些实施例中,外设接口205、处理器204以及存储控制器203可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
输入输出单元206用于提供给用户输入数据实现用户与本地终端200的交互。所述输入输出单元206可以是,但不限于,鼠标和键盘等。
音频单元207向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示单元208在本地终端200与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元208可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器204进行计算和处理。
请参阅图3,是第一实施例提供的一种基于时间轴的机器人控制方法的流程图。下面将对图3所示的具体流程进行详细阐述。
步骤S301,获取用户输入的多个操作指令,每个所述操作指令对应一个所述动作执行模块。
在本实施例中,所述多个操作指令是指用于对机器人的每个动作进行操作的控制指令。例如,控制机器人的手臂运动的操作指令。
在本实施例中,所述动作执行模块是指机器人按照功能所区分的几个模块,包括运动模块、语音模块、传感器模块或显示模块等执行模块。所述运动模块是指机器人的手臂、头部、腿等能运动的部分。具体地,例如,如图4和图5所示,在操作界面中,所述动作执行模块中的底盘,即机器人的腿还对应着前进、后退、左转、右转、原地右转和原地左转等动作。例如,如图6所示,对于所述头部可执行的动作可以是摇头、左转头和右转头等。例如,如图7所示,所述手臂包括右手臂和左手臂,每个手臂又对应着各种执行动作,如摇动手臂、举起手臂、向前伸展、向下伸展或者向后伸展等。
在本实施例中,所述运动模块还可以包括表情模块。如图8所示,所述表情模块可以包括多个表情。例如,淡定、开心、喜欢、调皮、鄙视、愤怒、烦闷、悲伤、惊奇、正确或者是错误等多个表情。
在本实施例中,例如当所述运动执行模块为机器人的手臂时,当用户输入的操作指令为控制机器人的右手臂向下舞动2秒时,如图7所示,即用户将操作界面中右臂所对应的向下的执行动作拖拽到时间轴上,从而选定当前执行动作为右手臂向下舞动。当机器人接收到控制指令时便可以按照用户输入的操作指令进行右手臂的向下舞动,并且舞动2秒,2秒后结束舞动。
在本实施例中,语音模块包括了发声模块和拾音模块。发声模块用于发出声音。拾音模块用于采集声音。例如,用户输入一个操作指令为采集当前环境下的声音时并且采集时间为10秒,机器人根据用户输入的操作指令使得动作执行模块中的语音模块进行声音的采集,具体的,通过拾音模块采集当前环境下的声音并且采集声音的时间为10秒。其中,传感器模块包括距离传感器、光线传感器、湿度传感器、地磁传感器或加速度传感器等,在此不作具体限定。显示模块是用来展示机器人当前状态的模块,其中,所述显示模块可以是显示屏或者灯光等,在此不作具体限定。
在本实施例中,每个所述操作指令对应一个所述动作执行模块,即机器人根据一个操作指令只能执行一个动作。一个所述动作执行模块可以对应一个或多个操作指令。例如,所述运动执行模块中的运动模块,运动模块包括手臂、头部、腿等,所述操作指令可以是控制手臂运动,也可以是控制头部运动。例如,在t1时刻设置一个手臂转动的操作指令,在t2实时刻设置一个头部转动的操作指令,t2与t1在时间上不受限制,例如,t2与t1可以是同一时刻,也可以是不同时刻。
在本实施例中,可以操作指令是通过用户基于本地终端输入的操作指令。例如,如图4所示,用户可以通过操作界面将预先设置好的动作执行指令拖拽到时间轴上,从而生成基于时间轴的一个操作指令,即为预先设置好的动作执行指令设置一个执行的起始时间和结束时间。具体地,如图9所示,当用户将预先设置好的动作执行指令拖拽到时间轴上时,本地终端通过获取所述动作执行指令在操作界面上的横纵坐标,从而通过获取横坐标来获取该动作执行指令的起始时间节点或者是执行时间或者是结束时间节点等,通过获取纵坐标来获取该动作执行指令所表征的动作执行模块中的具体的动作执行模块。从而获取基于时间轴的一个操作指令。该操作指令包括动作执行时间以及动作执行模块。
步骤S302,获取每个所述操作指令的起始时间节点和结束时间节点,当有多个所述操作指令对应一个所述动作执行模块时,对应该动作执行模块的多个所述操作指令中每相邻的两个所述操作指令中的前一个所述操作指令的结束时间节点早于后一个所述操作指令的起始时间节点。
在本实施例中,通过预先建立以时间点为横轴和以动作执行模块为纵轴的二维坐标系,二维坐标系里分布有所述操作指令,所述操作指令的横坐标表示时间,所述操作指令的纵坐标表示运动执行模块;获取每个所述操作指令在所述横轴上所对应的时间点,从而将所述时间点作为该操作指令的起始时间节点。获取每个所述操作指令的执行时间,从而基于所述执行时间与所述起始时间节点之和获取该操作指令的结束时间节点。具体地获取每个所述操作指令的执行时间参数,基于所述执行时间参数获取执行时间,将所述执行时间与所述起始时间节点之和作为所述结束时间节点。
在本实施例中,所述基于所述执行时间参数获取执行时间可以是获取用户输入的执行时间参数获取相应的执行时间,也可以是获取用户所设置的动作执行模块预设的固定时间。所述固定时间是指动作本身所消耗的固定时间。例如,问候语,当机器人执行问候的时候是需要将问候语一次性说完的,因此说完问候语所对应的时间的固定的一个时间。
例如,用户将动作执行模块中的运动模块拖拽到坐标系上,通过坐标系获取所述运动模块在所述坐标系上的横纵坐标,从而获取该运动模块所执行的起始时间与结束时间。其中,每个动作执行模块中子模块之间相互独立,即运动模块、语音模块、传感器模块或显示模块等执行模块之间是相互独立的,均是可以单独控制的。例如,先拖拽一个运动模块到T3,再拖拽一个语音模块到T4,其中T4大于T3,运动模块的执行时间为2秒,语音模块的执行时间为3秒,T4的数值等于T3的数值加上1秒后的数值。当运动模块的执行1秒后,语音模块开始执行,当总执行时间为2秒时,运动模块执行完毕,此时语音模块仍需执行2秒后结束,因此此时运动模块与语音模块之间是互不相关的。
作为一种实施方式,可以通过获取用户将每个操作指令拖拽到坐标系上的横坐标所对应的参数获取每个操作指令的执行时间参数,从而基于所述执行时间参数获取执行时间。即预先为坐标系上的每个横坐标建立一个时间参数,从而通过预设的时间参数来获取操作指令所对应的执行时间。例如,如图4所示,在T1所对应的点设置一个时间参数,在T11所对应的点设置一个时间参数,从而通过获取T1所对应的时间与T11所对应时间来获取T1与T11之间的差值,从而获取操作指令1的执行时间。
作为另一种实施方式,可以通过获取用户输入的执行时间与该执行时间相对应的操作指令的起始时间节点的和,从而获取结束时间节点。例如,如图10和图11所示,用户先为淡定表情设置一个执行时间,然后通过将淡定表情拖拽到时间轴上,从而通过时间轴为淡定表情选定开始时间,即起始时间节点。
在本实施例中,所述的每相邻的两个所述操作指令是指基于时间轴上的两个相邻操作指令,即是指两个相邻时间点所对应的操作指令。如图4所示,例如T1时刻对应的操作指令1与T2时刻对应的操作指令2,T1与T2为相邻的两个时间点,因此操作指令1与操作指令2为两个相邻的操作指令。同理,又如T2时刻对应的操作指令2与T3时刻对应的操作指令也为两个相邻的操作指令。T1时刻对应的操作指令1与T3时刻对应的操作指令3则不为相邻的两个操作指令。
在本实施例中,所述早于是指一个所述动作执行模块对应有多个操作指令时,相邻两个操作指令中的前一个所述操作指令的结束时间节点与后一个所述操作指令的起始时间节点之间的时间间隔大于或等于零。例如,动作模块所对应的操作指令1与操作指令3,操作指令1的结束时间节点为T11,操作指令3的起始时间节点为T3,由于横轴上的时间节点是从小到大的顺序进行排序的,T11在横轴上位于T3之前,因此T3所对应的数值大于T11所对应的数值。即一个动作执行模块所对应的所述两个相邻操作指令中的前一个所述操作指令的结束时间节点早于后一个所述操作指令的起始时间节点。所述前一个操作指令即为操作指令1,后一个操作指令即为操作指令3。所述前与后是指按照时间先后顺序进行排序区分。
步骤S303,基于用户输入的所述操作指令,根据每个所述操作指令的起始时间节点将所有的所述操作指令进行排序以形成动作指令。
在本实施例中,所述操作指令是指执行用户输入的所有操作指令的一个指令。例如,获取用户通过点击本地终端上的开始按钮,从而触发的所述操作指令。
在本实施例中,当获取到用户输入的执行指令后,按照每个所述操作指令的起始时间节点将所有的所述操作指令进行排序以形成动作指令。其中,所述动作指令是指所有操作指令所集成在一起后的一连串动作所对应的指令。
在本实施例中,所述排序是指按照时间先后顺序进行排序。如图9所示,所述动作指令中的操作指令经过排序后的顺序为:操作指令1、操作指令2和操作指令3。
步骤S304,将所述动作指令中每相邻的两个所述操作指令之间使用预设字段进行分割并存储到本地。
作为一种实施方式,将每相邻的两个操作指令之间使用预设字段进行分割是指将两个操作指令进行区分,以使用户能够更加快速的从多个操作指令中获取其中任意一个操作指令。例如,通过竖线的形式将每相邻的两个操作指令进行分割,具体地,操作指令A|操作指令B|操作指令C。“|”表示竖线,即为预设字段。其中,所述预设字段还可以是顿号、或者是双竖线等,在此不作具体限定。
在本实施例中,将使用预设字段进行分割后的动作指令存储到本地。即通过先将每个动作指令之间使用预设字段进行分割,然后将所有的动作指令进行存储。以使其他用户可以通过使用所存储的动作指令使得其他机器人按照已经设置好了的动作指令继续执行,从而使得其他用户可以不用再浪费时间进行设置机器人的动作。具体的,通过将存储到本地的动作指令通过网络的形式发送给其他用户,以使存储在本地的动作指令可以得到重现与传播。其中,所述重现是指用户基于已经存储到本地的动作指令使得另外的机器人执行相应的动作,从而实现动作指令的重现。所述传播是指用户通过拷贝动作指令或者是通过网络传输的方式将存储在本地的动作指令发送给其他用户,以使其他用户能够通过所接收到的动作指令控制机器人继续执行动作。
作为一种实施方式,所述动作指令存储的格式可以参照表1。
表1
其中,#urlpath表示一个动作参数。每个动作参数即为一个操作指令。所述备注是指对与每个动作参数的一个解释说明。动作编号是指为每个动作参数设置的一个序号。如动作编号位0的表示动作参数#urlpath#volume。
步骤S305,根据所述动作指令控制所述机器人执行动作。
在本实施例中,获取用户输入的总执行时间;当所述总执行时间大于或等于所述动作指令的执行时间长度时,根据所述动作指令控制所述机器人执行所述动作指令所对应的动作;当所述总执行时间小于所述动作指令的执行时间长度时,基于所述总执行时间获取所述动作指令中需要执行的所有的所述操作指令;根据所述操作指令控制所述机器人执行动作。
在本实施例中,将所述动作指令发送给机器人,以使机器人按照所述动作指令以及所述执行指令进行执行与所述动作指令相应的动作。例如,当用户输入的动作指令的执行时间为20秒,即总执行时间为20秒,操作指令1的执行时间为10秒,操作指令2的执行时间为20秒,操作指令1与操作指令2之间间隔2秒,操作指令1与操作指令2对应一个动作执行模块,操作指令1的起始时间节点为0,即从坐标原点开始,结束时间节点为第1秒。操作指令2的起始时间节点为第12秒,结束时间节点为第32秒。操作指令3的执行时间为30秒,操作指令3的起始时间节点为第20秒,结束时间节点为第50秒。即操作指令3的起始时间是从第20秒开始执行。操作指令1、操作指令2和操作指令3均属于同一坐标系下。则动作指令所执行的结果为:操作指令1执行完成,操作指令2执行8秒后结束,操作指令3执行20秒后结束。由于操作指令1与操作指令2属于同一动作执行模块,操作指令3与操作指令1或操作指令2不属于同一动作执行模块,因此,操作指令3与操作指令1和操作指令2是相互独立的,因此操作指令3能够执行20秒。又如,当总执行时间为40秒时,操作指令1、操作指令2与操作指令3均能够在总执行时间内执行完毕。
请参阅图12,为本发明第二实施例提供的一种基于时间轴的机器人控制装置的功能模块示意图。所述基于时间轴的机器人控制装置600包括第一数据获取单元610、第二数据获取单元620、动作指令生成单元630、数据设置单元640和执行单元650。
第一数据获取单元610用于获取用户输入的多个操作指令,每个所述操作指令对应一个所述动作执行模块。
所述第二数据获取单620元用于获取每个所述操作指令的起始时间节点和结束时间节点,当有多个所述操作指令对应一个所述动作执行模块时,对应该动作执行模块的多个所述操作指令中每相邻的两个所述操作指令中的前一个所述操作指令的结束时间节点早于后一个所述操作指令的起始时间节点。
其中,所述的第二数据获取单元620还包括:数据建立单元621、数据获取子单元622和时间获取子单元623。
数据建立单元621,用于建立以时间点为横轴和以动作执行模块为纵轴的二维坐标系,二维坐标系里分布有所述操作指令,所述操作指令的横坐标表示时间,所述操作指令的纵坐标表示运动执行模块。
数据获取子单元622,用于获取每个所述操作指令在所述横轴上所对应的时间点,将所述时间点作为该操作指令的起始时间节点。
时间获取子单元623,用于获取每个所述操作指令的执行时间,将所述执行时间与所述起始时间节点之和作为该操作指令的所述结束时间节点。
其中,所述时间获取子单元623具体用于:获取每个所述操作指令的执行时间参数;基于所述执行时间参数获取执行时间;将所述执行时间与所述起始时间节点之和作为所述结束时间节点。
所述动作指令生成单元630用于基于用户输入的所述操作指令,根据每个所述操作指令的起始时间节点将所有的所述操作指令进行排序以形成动作指令。
所述数据设置单元640用于将所述动作指令中每相邻的两个所述操作指令之间使用预设字段进行分割并存储到本地。
所述执行单元650用于根据所述动作指令控制所述机器人执行动作。
其中,所述执行单元650还用于:获取用户输入的总执行时间;当所述总执行时间大于或等于所述动作指令的执行时间长度时,根据所述动作指令控制所述机器人执行所述动作指令所对应的动作;当所述总执行时间小于所述动作指令的执行时间长度时,基于所述总执行时间获取所述动作指令中需要执行的所有的所述操作指令;根据所述操作指令控制所述机器人执行动作。
综上所述,本发明提供一种基于时间轴的机器人控制方法与装置,本申请通过获取用户输入的多个操作指令以及每个操作指令的起始时间节点和结束时间节点,从而获取每个操作指令基于时间排序后在时间轴上形成的动作指令,进而通过所述动作指令使得用户通过时间轴的方式能够更加方便的控制机器人以及定制机器人的行为,使得机器人能够按照用户所输入的操作指令进行运动。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种基于时间轴的机器人控制方法,其特征在于,应用于机器人,所述机器人包括多个动作执行模块,所述方法包括:
获取用户输入的多个操作指令,每个所述操作指令对应一个所述动作执行模块;
获取每个所述操作指令的起始时间节点和结束时间节点,当有多个所述操作指令对应一个所述动作执行模块时,对应该动作执行模块的多个所述操作指令中每相邻的两个所述操作指令中的前一个所述操作指令的结束时间节点早于后一个所述操作指令的起始时间节点;
基于用户输入的所述操作指令,根据每个所述操作指令的起始时间节点将所有的所述操作指令进行排序以形成动作指令;
根据所述动作指令控制所述机器人执行动作。
2.根据权利要求1所述的方法,其特征在于,所述的获取每个所述操作指令的起始时间节点和结束时间节点的步骤包括:
建立以时间点为横轴和以动作执行模块为纵轴的二维坐标系,所述二维坐标系里分布有所述操作指令,所述操作指令的横坐标表示时间,所述操作指令的纵坐标表示运动执行模块;
获取每个所述操作指令在所述横轴上所对应的时间点,将所述时间点作为该操作指令的起始时间节点;
获取每个所述操作指令的执行时间,将所述执行时间与所述起始时间节点之和作为该操作指令的所述结束时间节点。
3.根据权利要求2所述的方法,其特征在于,所述的获取每个所述操作指令的执行时间,将所述执行时间与所述起始时间节点之和作为所述结束时间节点的步骤包括:
获取每个所述操作指令的执行时间参数;
基于所述执行时间参数获取执行时间;
将所述执行时间与所述起始时间节点之和作为所述结束时间节点。
4.根据权利要求1所述的方法,其特征在于,所述的基于用户输入的所述操作指令,根据每个所述操作指令的起始时间节点将所有的所述操作指令进行排序以形成动作指令的步骤之后,还包括:
将所述动作指令中每相邻的两个所述操作指令之间使用预设字段进行分割并存储到本地。
5.根据权利要求1所述的方法,其特征在于,所述的根据所述动作指令控制所述机器人执行动作的步骤包括:
获取用户输入的总执行时间;
当所述总执行时间大于或等于所述动作指令的执行时间长度时,根据所述动作指令控制所述机器人执行所述动作指令所对应的动作;
当所述总执行时间小于所述动作指令的执行时间长度时,基于所述总执行时间获取所述动作指令中需要执行的所有的所述操作指令;
根据所述操作指令控制所述机器人执行动作。
6.一种基于时间轴的机器人控制装置,其特征在于,应用于机器人,所述机器人包括多个动作执行模块,所述装置包括:
第一数据获取单元,用于获取用户输入的多个操作指令,每个所述操作指令对应一个所述动作执行模块;
第二数据获取单元,用于获取每个所述操作指令的起始时间节点和结束时间节点,当有多个所述操作指令对应一个所述动作执行模块时,对应该动作执行模块的多个所述操作指令中每相邻的两个所述操作指令中的前一个所述操作指令的结束时间节点早于后一个所述操作指令的起始时间节点;
动作指令生成单元,用于基于用户输入的所述操作指令,根据每个所述操作指令的起始时间节点将所有的所述操作指令进行排序以形成动作指令;
执行单元,用于根据所述动作指令控制所述机器人执行动作。
7.根据权利要求6所述的装置,其特征在于,所述的第二数据获取单元还包括:
数据建立单元,用于建立以时间点为横轴和以动作执行模块为纵轴的二维坐标系,所述二维坐标系里分布有所述操作指令,所述操作指令的横坐标表示时间,所述操作指令的纵坐标表示运动执行模块;
数据获取子单元,用于获取每个所述操作指令在所述横轴上所对应的时间点,将所述时间点作为该操作指令的起始时间节点;
时间获取子单元,用于获取每个所述操作指令的执行时间,将所述执行时间与所述起始时间节点之和作为该操作指令的所述结束时间节点。
8.根据权利要求7所述的装置,其特征在于,所述时间获取子单元具体用于:
获取每个所述操作指令的执行时间参数;
基于所述执行时间参数获取执行时间;
将所述执行时间与所述起始时间节点之和作为所述结束时间节点。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:数据设置单元;
所述数据设置单元,用于在所述动作指令生成单元之后将所述动作指令中每相邻的两个所述操作指令之间使用预设字段进行分割并存储到本地。
10.根据权利要求6所述的装置,其特征在于,所述执行单元具体用于:
获取用户输入的总执行时间;
当所述总执行时间大于或等于所述动作指令的执行时间长度时,根据所述动作指令控制所述机器人执行所述动作指令所对应的动作;
当所述总执行时间小于所述动作指令的执行时间长度时,基于所述总执行时间获取所述动作指令中需要执行的所有的所述操作指令;
根据所述操作指令控制所述机器人执行动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710127608.4A CN106774028B (zh) | 2017-03-06 | 2017-03-06 | 一种基于时间轴的机器人控制方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710127608.4A CN106774028B (zh) | 2017-03-06 | 2017-03-06 | 一种基于时间轴的机器人控制方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106774028A CN106774028A (zh) | 2017-05-31 |
CN106774028B true CN106774028B (zh) | 2019-02-15 |
Family
ID=58961073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710127608.4A Active CN106774028B (zh) | 2017-03-06 | 2017-03-06 | 一种基于时间轴的机器人控制方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106774028B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107414840B (zh) * | 2017-09-25 | 2023-11-07 | 常州机电职业技术学院 | 旋臂机械手控制方法及装置 |
CN112230572B (zh) * | 2019-06-30 | 2021-09-03 | 比亚迪股份有限公司 | 集成控制芯片及其控制方法,存储介质,车辆 |
CN112847340B (zh) * | 2020-12-25 | 2022-09-16 | 深圳市优必选科技股份有限公司 | 一种控制方法、控制装置及机器人 |
CN113312085B (zh) * | 2021-04-29 | 2023-02-03 | 华人运通(上海)云计算科技有限公司 | 一种指令块的处理方法、装置、设备及存储介质 |
EP4328743A1 (en) * | 2021-04-29 | 2024-02-28 | Human Horizons (Shanghai) Cloud Computing Technology Co., Ltd. | Instruction block processing method, apparatus and device, vehicle, and storage medium |
CN114428464B (zh) * | 2021-12-29 | 2023-12-15 | 深圳市优必选科技股份有限公司 | 机器人集群控制交互方法、装置、终端设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1412688A (zh) * | 2001-10-12 | 2003-04-23 | 嶺元政輝 | 多维编程装置和多维编程方法 |
JP2008183685A (ja) * | 2007-01-31 | 2008-08-14 | Denso Wave Inc | ロボット制御装置及びロボットの位置指令値修正方法 |
CN101964888A (zh) * | 2010-10-29 | 2011-02-02 | 深圳创维-Rgb电子有限公司 | 一种动态菜单的实现方法、系统及电视机 |
CN102950596A (zh) * | 2011-08-23 | 2013-03-06 | 松下电器产业株式会社 | 并联连杆机器人及其动作示教方法 |
CN106313052A (zh) * | 2016-10-20 | 2017-01-11 | 机器时代(北京)科技有限公司 | 机器人编程控制方法及装置 |
-
2017
- 2017-03-06 CN CN201710127608.4A patent/CN106774028B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1412688A (zh) * | 2001-10-12 | 2003-04-23 | 嶺元政輝 | 多维编程装置和多维编程方法 |
JP2008183685A (ja) * | 2007-01-31 | 2008-08-14 | Denso Wave Inc | ロボット制御装置及びロボットの位置指令値修正方法 |
CN101964888A (zh) * | 2010-10-29 | 2011-02-02 | 深圳创维-Rgb电子有限公司 | 一种动态菜单的实现方法、系统及电视机 |
CN102950596A (zh) * | 2011-08-23 | 2013-03-06 | 松下电器产业株式会社 | 并联连杆机器人及其动作示教方法 |
CN106313052A (zh) * | 2016-10-20 | 2017-01-11 | 机器时代(北京)科技有限公司 | 机器人编程控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106774028A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106774028B (zh) | 一种基于时间轴的机器人控制方法与装置 | |
CN104471521B (zh) | 用于针对改变用户界面对象的激活状态来提供反馈的设备、方法和图形用户界面 | |
CN104508618B (zh) | 用于针对在用户界面中执行的操作提供触觉反馈的设备、方法和图形用户界面 | |
CN104487927B (zh) | 用于选择用户界面对象的设备、方法和图形用户界面 | |
US8447428B2 (en) | Method for editing movements of a robot | |
JP6671483B2 (ja) | スマートデバイスを制御するための方法および装置、ならびにコンピュータ記憶媒体 | |
CN108161882A (zh) | 一种基于增强现实的机器人示教再现方法及装置 | |
CN109760042A (zh) | 编程辅助装置、机器人系统以及程序生成方法 | |
Kim et al. | EventHurdle: supporting designers' exploratory interaction prototyping with gesture-based sensors | |
WO2018054303A1 (zh) | 一种控制机器人的方法及装置 | |
US20150331415A1 (en) | Robotic task demonstration interface | |
TWI498693B (zh) | 多軸控制系統設定、調整功能支援裝置 | |
US9218064B1 (en) | Authoring multi-finger interactions through demonstration and composition | |
CN103853611A (zh) | 将应用程序间的文本进行快捷复制的方法及电子设备 | |
WO2014079289A1 (zh) | 一种触摸定位方法、装置及终端 | |
CN112862198A (zh) | 清洁设备的清洁路径获取方法、装置及存储介质 | |
JP2010218533A (ja) | 表示画面設計支援装置及びプログラム | |
CN104182171B (zh) | 一种信息处理方法及电子设备 | |
CN106980446A (zh) | 一种页面应用的状态控制方法及装置 | |
CN109426424A (zh) | 一种终端设备的操作方法、装置以及电子设备 | |
JP5788125B1 (ja) | システム構築支援装置、方法、および記録媒体 | |
CN110286827A (zh) | 一种元素缩放控制方法、装置、设备及存储介质 | |
JP5744363B1 (ja) | 作画ソフトウェア | |
JP2018036945A (ja) | シミュレータ連携装置、シミュレータ連携装置の制御方法、情報処理プログラム、および記録媒体 | |
TWI416295B (zh) | 機械裝置動作編輯系統及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |