机器人动作生成方法和装置与流程

文档序号:11717024阅读:654来源:国知局
机器人动作生成方法和装置与流程

本发明涉及计算机应用技术领域,特别是涉及一种机器人动作生成方法和装置。



背景技术:

随着机器人的快速发展,机器人已经应用在各大领域中,例如,应用在工业领域和服务领域等。使机器人做出各种各样的动作是机器人提供优质服务的关键。

传统的控制机器人做出动作的方式是直接逐个控制机器人关节的动力装置的运转参数来实现的。当机器人关节较多时,动作设计过程繁琐,整体动作把控较难、直观性差。



技术实现要素:

基于此,有必要针对上述的问题,提供一种能够使机器人动作的生成更加简单直观的机器人动作生成方法和装置。

一种机器人动作生成方法,所述方法包括:

获取机器人模型读取指令,所述读取指令中携带模型标识;

响应于所述读取指令,在第一区域显示所述模型标识对应的机器人模型,其中,所述机器人模型中包括多个活动关节;

获取为所述活动关节设置的第一关节参数,根据所述第一关节参数控制所述机器人模型展示出与所述第一关节参数对应的第一姿态;

获取为所述活动关节设置的第二关节参数,根据所述第二关节参数控制所述机器人模型展示出与所述第二关节参数对应的第二姿态;

获取输入的时间信息,所述时间信息用于确定所述机器人模型自所述第一姿态运动到所述第二姿态所使用的时间;

根据所述第一关节参数、所述第二关节参数和所述时间信息生成机器人动作文件。

在一个实施例中,所述方法还包括:

当机器人模型显示出所述第一姿态时,获取对处于第一姿态的所述机器人模型的拍摄指令,得到第一图像,将所述第一图像显示在第二区域;

当机器人模型显示出所述第二姿态时,对处于第二姿态的所述机器人模型的拍摄指令,得到第二图像,将所述第二图像显示在所述第二区域。

在一个实施例中,所述方法还包括:

获取作用于所述第二区域的图像拖拽操作;

根据所述图像拖拽操作交换所述第二区域内显示的图像的位置,其中,所述图像的位置代表所述图像对应的姿态在生成的机器人动作中出现的顺序,所述图像的位置越靠前,所述图像对应的姿态越先出现。

在一个实施例中,在所述根据所述第一关节参数、第二关节参数和所述时间信息生成机器人动作文件的步骤之后,还包括:

获取机器人连接指令,查找可连接的机器人标识;

判断查找的所述机器人标识是否与所述机器人动作文件对应的模型标识匹配,若是,则连接所述机器人,并将所述机器人动作文件发送至所述机器人。

在一个实施例中,生成的所述机器人动作文件为多个,每个机器人动作文件对应一个动作块标识;所述方法还包括:

向所述机器人发送运行指令,所述运行指令中包括所述动作块标识排序和每个所述动作块标识的循环次数,以使所述机器人按照所述动作块排序标识信息和所述动作块标识的循环次数信息执行对应的机器人动作文件。

一种机器人动作生成装置,所述装置包括:

模型读取模块,用于获取机器人模型读取指令,所述读取指令中携带模型标识;

模型显示模块,用于响应于所述读取指令,在第一区域显示所述模型标识对应的机器人模型,其中,所述机器人模型中包括多个活动关节;

第一关节参数设置模块,用于获取为所述活动关节设置的第一关节参数,根据所述第一关节参数控制所述机器人模型展示出与所述第一关节参数对应的第一姿态;

第二关节参数设置模块,用于获取为所述活动关节设置的第二关节参数,根据所述第二关节参数控制所述机器人模型展示出与所述第二关节参数对应的第二姿态;

时间设定模块,用于获取输入的时间信息,所述时间信息用于确定所述机器人模型自所述第一姿态运动到所述第二姿态所使用的时间;

动作生成模块,用于根据所述第一关节参数、所述第二关节参数和所述时间信息生成机器人动作文件。

在一个实施例中,所述装置还包括:

第一图像显示模块,用于当机器人模型显示出所述第一姿态时,获取对处于第一姿态的所述机器人模型的拍摄指令,得到第一图像,将所述第一图像显示在第二区域;

第二图像显示模块,用于当机器人模型显示出所述第二姿态时,对处于第二姿态的所述机器人模型的拍摄指令,得到第二图像,将所述第二图像显示在所述第二区域。

在一个实施例中,所述装置还包括:

图像顺序交换模块,用于获取作用于所述第二区域的图像拖拽操作;

根据所述图像拖拽操作交换所述第二区域内显示的图像的位置,其中,所述图像的位置代表所述图像对应的姿态在生成的机器人动作中出现的顺序,所述图像的位置越靠前,所述图像对应的姿态越先出现。

在一个实施例中,所述装置还包括:

连接指令获取模块,用于获取机器人连接指令,查找可连接的机器人标识;

机器人连接模块,用于判断查找的所述机器人标识是否与所述机器人动作文件对应的模型标识匹配,若是,则连接所述机器人,并将所述机器人动作文件发送至所述机器人。

在一个实施例中,生成的所述机器人动作文件为多个,每个机器人动作文件对应一个动作块标识;所述装置还包括:

运行模块,用于向所述机器人发送运行指令,所述运行指令中包括所述动作块标识排序和每个所述动作块标识的循环次数,以使所述机器人按照所述动作块排序标识信息和所述动作块标识的循环次数信息执行对应的机器人动作文件

上述机器人动作生成方法和装置,预先构建机器人模型,构建的机器人模型包括多个活动关节,读取预先构建的机器人模型,并在页面的第一区域内显示该机器人模型,通过设置各活动关节的第一关节参数,以定义该机器人模型的第一姿态,第一区域内的机器人模型同步显示与关节参数对应的机器人姿态。同样的方式设置各活动关节的第二关节参数,以定义该机器人模型的第二姿态;然后设置自第一姿态的第一关节参数运转到第二姿态的第二关节参数的时间信息,即生成机器人的一个动作块,无需单独为每个关节配置旋转参数和运转时间,只需定义动作块的起始动作姿态和终止动作姿态即完成机器人动作的定义,动作的生成更加简单快捷。除此之外,第一区域模型的显示、以及模型与关节参数的随动特征可使动作的定义更加直观,以方便设计者进行机器人各种各样动作的设计。

附图说明

图1为一个实施例中机器人动作生成方法的应用环境图;

图2为一个实施例中机器人动作生成方法的流程图;

图3为另一个实施例中机器人动作生成方法的流程图;

图4为一个实施例中用于实现机器人动作生成的页面图;

图5为一个实施例中第二区域内图像拖拽的原理图;

图6为一个实施例中终端与机器人连接所涉及的流程图;

图7为终端用于操作机器人执行动作的控制页面图;

图8为一个实施例中机器人动作生成装置的结构框图;

图9为另一个实施例中机器人动作生成装置的结构框图;

图10为又一个实施例中机器人动作生成装置的结构框图;

图11为一个实施例中终端连接机器人所涉及的结构框图;

图12为一个实施例中终端控制机器人动作所涉及的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,在一个实施例中,提供了一种机器人动作生成方法的应用环境图,该应用环境图包括终端110和机器人120,终端110可与机器人120通过短距离通信技术进行文件传输,指令传输等。终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机中的至少一种,但并不局限于此。终端110用于生成机器人动作文件,机器人可执行该终端生成的机器人动作文件做出响应的动作。

如图2所示,在一个实施例中,提供了一种机器人动作生成方法,以应用到图1中的终端110中为例进行说明,该包括具体包括如下步骤:

步骤s202:获取机器人模型读取指令,该读取指令中携带模型标识。

终端中预存有多个机器人模型,每个机器人模型对应唯一的模型标识,如双足人形机器人、宠物机器人等。

在一个实施例中,可触发在终端页面中的读取按钮,触发读取指令。终端响应于该读取指令,以下拉框或者弹框的形式显示预存的所有模型标识,触发对显示的模型标识的选择操作,终端通过指令路径导入选择的模型标识对应的机器人模型。

步骤s204:响应于读取指令,在第一区域显示模型标识对应的机器人模型,其中,机器人模型中包括多个活动关节。

终端响应于获取的机器人模型读取指令,查找预存的与读取指令中的模型标识相对应的机器人模型,并在机器人动作编辑页面的主页面的第一区域显示该机器人模型。进一步的,第一区域为机器人动作编辑页面的主页面的中间区域。

机器人模型包括多个活动关节,这些活动关节可使机器人的活灵活现的做出各式地的动作。如通过手臂的关节做出手臂弯曲、以手臂根部为轴心的旋转等动作;通过腿部的关节做出腿部弯曲、抬起、转动等动作。

本实施例中,对如图1中的机器人120进行建模。由图1可见的,构建的机器人模型的每个手臂至少包括两个关节,其中,位于上端的关节用于控制机器人大臂运动,位于下端的关节用户控制机器人小臂的相对运行。机器人模型的至少包括两个关节,机器人腿部与脚部的连接处包括一个关节,机器人头部与机体的连接处包括一个关节。

在一个实施例中,使用舵机作为每个关节的连接部分,它可以完成每个关节的定位和运动。舵机具有控制信号相对简单,控制精度高,反应速度快,而且比伺服电机省电等优点。

步骤s206:获取为活动关节设置的第一关节参数,根据第一关节参数控制机器人模型展示出与第一关节参数对应的第一姿态。

在一个实施例中,在机器人动作编辑页面设置有与机器人活动关节数量相同的滑动控件,每个滑动控件控制机器人的一个关节,通过拖动滑动控件可调整活动关节的状态,以使第一区域内的机器人模型做出不同的动作。

进一步的,每个滑动控件包括滑动条和数字框,滑动条中滑动块的位置与数字框的数值均表征对应的活动关节的状态。两者具有联动关系,拖动滑动块,相应的数字框中的数值也会发生变化。同样的,修改数字框中的数值,滑动块也会做响应的移动至与数字框中的数值对应的位置。

在一个实施例中,预先定义零位位置。具体的,在主页面点击零点设置按钮,终端显示各关节的零位值。如机器人立正状态下对应的各关节舵机的旋转角度为各关节的零位值。可以是,立正状态下,各关节的零位值均为0。能够理解的是,滑动控件调整的是各关节舵机相对于零位位置的旋转角度。

这里的第一关节参数包括机器人所有关节的关节参数,是一组关节参数。

随着对滑动控件拖动或者对数值框数值的修改,显示于第一区域内的机器人模型的状态也会随之变化,如调整手臂关节处的滑动控件,机器人模型的手臂的状态会相应修改。也就是,显示的机器人模型的姿态与设置的关节参数实时对应。基于上述属性,设计人员可以在可直观观察机器人状态的情况下不断调整第一关节参数直至机器人模型展现出想要的状态。

第一关节参数对应的第一姿态为机器人的一个固定的姿势。如机器人左臂向前伸直,左腿向右侧侧伸30°。

步骤s208:获取为活动关节设置的第二关节参数,根据第二关节参数控制机器人模型展示出与第二关节参数对应的第二姿态。

第二关节参数中至少一个关节参数与第一关节参数不相同。容易得到的是,第二姿态不同于第一姿态。

步骤s210:获取输入的时间信息,该时间信息用于确定机器人模型自第一姿态运动到第二姿态所使用的时间。

终端获取用户输入的时间信息,该时间信息为自上述的第一姿态(对应第一关节参数)运动到第二姿态(对应第二关节参数)所使用的时间。更加具体的,输入的时间为各关节的舵机从第一关节参数指定的旋转角度旋转到第二关节参数指定的旋转角度的时间。

举例来说,用户输入的时间为1s。机器人模型包括2个关节,第一关节参数中关节a的角度为20°,关节b的角度为0°。第二关节参数中关节b的角度为90°,关节b的角度为90°。生成的机器人动作文件可使机器人执行的动作为:在1s的时间内,关节a匀速的从20°转动到90°,同时,关节b匀速的从0°转动到90°。

本实施例中,通过定义第一姿态和第二姿态,定义了动作的两个节点。通过设置时间,机器人的动作由一个节点平稳匀速运动到另一个节点,机器人动作平滑自然。

步骤s212:根据第一关节参数、第二关节参数和时间信息生成机器人动作文件。

根据第一关节参数、第二关节参数和时间信息即可生成能够指导机器人动作的机器人动作文件。

本实施例中,在进行动作节点定义时,可直观看到与关节参数随动的机器人模型,动作的设计更加直观。此外,本实施例中机器人动作的生成不是基于分割的每个关节,而是将所有关节作为一个整体,定义动作的起始点和终止点,且通过统一时间的设定,使动作的定义更加简单快捷。

在一个实施例中,还可以按照设置第一姿态和第二姿态相同的方法,设置更多的姿态,即设置多个动作节点,每增加一个动作节点,设置一个时间信息。例如,还设置了第三姿态和第二时间信息,该第二时间信息是自第二姿态运动到第三姿态的所使用的时间。

将上述生成的机器人动作叫做动作块,则每个动作块可包括多个动作节点。

在一个实施例中,如图3所示,机器人动作生成方法包括如下步骤:

步骤s302:获取机器人模型读取指令,读取指令中携带模型标识。

步骤s304:响应于读取指令,在第一区域显示模型标识对应的机器人模型,其中,机器人模型中包括多个活动关节。

步骤s306:获取为活动关节设置的第一关节参数,根据第一关节参数控制机器人模型展示出与第一关节参数对应的第一姿态。

步骤s308:获取对处于第一姿态的机器人模型的拍摄指令,得到第一图像,将第一图像显示在第二区域。

这里的第一图像与第一关节参数具有关联关系,点击第二区域内的第一图像,将在滑动控件中显示第一关节参数。可通过调整滑动控件,修改第一关节参数,进而修改机器人模型的第一姿态,修改完成后,拍摄修改后的机器人模型,得到修改后的第一图像。

如图4所示,拍摄位于中间区域(第一区域)内的机器人模型的第一图像后,在左侧的第二区域内显示第一图像。

步骤s310:获取为活动关节设置的第二关节参数,根据第二关节参数控制机器人模型展示出与第二关节参数对应的第二姿态。

步骤s312:获取对处于第二姿态的机器人模型的拍摄指令,得到第二图像,将第二图像显示在第二区域。

同样的,调整关节参数得到机器人模型的第二姿态,拍摄第一区域内的机器人模型的第二姿态,得到第二图像,并将得到的第二图像显示在第二区域。其中,在第二区域内,第二图像位于第一图像的下方。同理,若有第三图像,则第三图像在第二图像的下方。

步骤s314:获取输入的时间信息,该时间信息用于确定机器人模型自第一姿态运动到第二姿态所使用的时间。

步骤s316:根据第一关节参数、第二关节参数和时间信息生成机器人动作文件。

本实施例中,获取处于动作节点位置的第一姿态和第二姿态的图像,并将节点处的图像显示于第二区域,可更加直观的观看动作效果,且对动作的修改更加方便。

在一个实施例中,还可以对第二区域内的图像进行拖拽操作,以更改动作节点的时序。具体的,终端获取作用于第二区域的图像的拖拽操作,并根据获取的拖拽操作的拖拽轨迹,交换图像的位置。图像的位置代表图像对应的姿态在生成的机器人动作中出现的顺序,图像的位置越靠前,图像对应的姿态越先出现。

例如,通过拖拽操作交换第一关节参数对应的第一图像和第二关节参数对应的第二图像的位置,生成的机器人动作则由从第一图像对应的第一姿态运动到第二图像对应的第二姿态更改为由第二姿态运动到第一姿态,即生成的动作发生了改变。需要说明的是,图像位置的变换只更改动作中图像出现的顺序,时间信息不变。如图5所示,拖拽a交换了图像1和图像2的位置,交换后生成的动作为先展示图像2所指示的动作,然后在t1时间从图像2的动作节点运动到图像1的动作节点,再在t2时间从图像1的动作节点运动到图像3的动作节点。拖拽b与拖拽a的原理相同。

在一个实施例中,从一节点运动到下一节点的时间可根据设定的音乐节拍而定。交换节点的顺序,但不改变时间信息,可使调整后的动作也能够与设定的音乐节拍对应,可使机器人跟着音乐节拍有节奏的翩翩起舞。

进一步的,还可以通过拖拽操作删除第二区域中的图像。具体的,终端获取作用于第二区域的拖拽操作,判断该拖拽操作是否是将任意图像拖拽到指定位置,若是,则删除该图像。

如将显示于第二区域内的图像拖拽到第二区域内的垃圾箱内,即完成对图像的删除。被删除的图像将不再出现在生成的动作中。

对第二区域内的图像进行位置更改或者删除某些图像后,终端根据更改后的图像(对应节点参数)生成机器人动作文件。

在一个实施例中,如图6所示,在步骤s212:根据第一关节参数、第二关节参数和时间信息生成机器人动作文件的步骤之后,还包括如下步骤:

步骤s402:获取机器人连接指令,查找可连接的机器人标识。

步骤s404:判断查找的机器人标识是否与机器人动作文件对应的模型标识匹配,若是,则连接机器人,并将机器人动作文件发送至机器人。

在一个实施例中,可通过wi-fi技术、蓝牙技术、zigbee技术等短距离无线通信技术与机器人设备建立连接。

在与机器人设备建立连接的过程中,终端可能查找到多个可连接的机器人广播的连接信息,通过该连接信息可获取机器人标识,终端根据当前生成的机器人动作文件所对应的机器人模型标识确定与机器人模型标识相匹配的机器人标识,连接该机器人标识对应的机器人。机器人设备中的控制器只能识别基于其对应的模型生成的动作,因此,连接机器人时,需要保证连接的机器人与机器人模型对应。

在一个实施例中,使用modbus协议进行终端与机器人设备之间的信息的发送和接收。modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

当在同一modbus网络上通信时,此协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用modbus协议发出。在其它网络上,包含了modbus协议的消息转换为在此网络上使用的帧或包结构。

向机器人传送的信息包括如下数据包结构:报头文部分+功能码+存储地址+具体的数据(机器人动作文件)。这里的功能码传输的数据的类型,可以是动作编辑类型、程序编辑类型,零位设置类型等。

数据的发送使用寄存器方法发送。

在一个实施例中,终端可生成多个机器人动作文件,执行该机器人动作文件可使机器人做出相应的动作。控制机器人连续执行多个动作文件,可使机器人做出一连串动作。

具体的控制机器人动作的方法包括:与机器人建立通信连接,并将生成的机器人动作文件发送至机器人,每个机器人动作文件对应一个数据块,终端预先定义每个动作块对应的动作块标识,在传输机器人动作文件时携带预先分配的动作块标识。

终端向连接的机器人发送运行指令,该运行执行包括待运行的动作块标识顺序信息和每个动作块的循环次数。举例来说,动作块标识包括动作1、动作2和动作3,动作顺序为:动作1-动作2-动作3,其中动作1循环1次,动作2循环1次,动作3循环2次。机器人根据该指令进行相应的动作。

在另一个实施例中,终端可预先生成上述的动作程序数据(包括动作顺序和循环次数),并将生成的动作程序数据发送至机器人,终端和机器人预先约定好每个动作程序的标识,如动作程序1、动作程序2。终端设置运行界面,并在运行界面中设置多个运行按钮,每个运行按钮对应一个动作程序,该按钮上表明动作程序标识,如图7所示。

获取用户对动作程序按钮的触发操作,响应于该触发操作生成运行指令,该运行指令中携带该运行程序按钮关联的动作程序标识,终端将该运行指令通过预先建立的连接发送至机器人,机器人根据动作程序标识查找到相应的动作程序数据,根据动作程序数据指导机器人做出相应的动作。

在一个实施例中,如图8所示,提供了一种机器人动作生成装置,该装置包括:

模型读取模块510,用于获取机器人模型读取指令,读取指令中携带模型标识。

模型显示模块520,用于响应于读取指令,在第一区域显示模型标识对应的机器人模型,其中,机器人模型中包括多个活动关节。

第一关节参数设置模块530,用于获取为活动关节设置的第一关节参数,根据第一关节参数控制机器人模型展示出与第一关节参数对应的第一姿态。

第二关节参数设置模块540,用于获取为活动关节设置的第二关节参数,根据第二关节参数控制机器人模型展示出与第二关节参数对应的第二姿态。

时间设定模块550,用于获取输入的时间信息,时间信息用于确定机器人模型自第一姿态运动到第二姿态所使用的时间。

动作生成模块560,用于根据第一关节参数、第二关节参数和时间信息生成机器人动作文件。

在一个实施例中,如图9所示,机器人动作生成装置还包括:

第一图像显示模块531,用于当机器人模型显示出第一姿态时,获取对处于第一姿态的机器人模型的拍摄指令,得到第一图像,将第一图像显示在第二区域。

第二图像显示模块541,用于当机器人模型显示出第二姿态时,对处于第二姿态的机器人模型的拍摄指令,得到第二图像,将第二图像显示在第二区域。

在一个实施例中,如图10所示,机器人动作生成装置还包括:

图像顺序交换模块542,用于获取作用于第二区域的图像拖拽操作;

根据图像拖拽操作交换第二区域内显示的图像的位置,其中,图像的位置代表图像对应的姿态在生成的机器人动作中出现的顺序,图像的位置越靠前,图像对应的姿态越先出现。

在一个实施例中,如图11所示,机器人动作生成装置还包括:

连接指令获取模块610,用于获取机器人连接指令,查找可连接的机器人标识。

机器人连接模块620,用于判断查找的机器人标识是否与机器人动作文件对应的模型标识匹配,若是,则连接机器人,并将机器人动作文件发送至机器人。

在一个实施例中,如图12所示,生成的机器人动作文件为多个,每个机器人动作文件对应一个动作块标识;机器人动作生成装置还包括:

运行模块630,用于向机器人发送运行指令,运行指令中包括动作块标识排序和每个动作块标识的循环次数,以使机器人按照动作块排序标识信息和动作块标识的循环次数信息执行对应的机器人动作文件。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1