背景技术
在运动控制领域,电机等运动部件是实现运动控制的核心部件,比如机器人的运行就需要电机配合丝杠或减速器等作为运动执行部件来带动机器人运动。
以电机配合减速器为例,电机配合减速器是多关节机器人(或称为多关节机械手、多轴机器人、机械臂等)的主要运动执行部件,多关节机器人主要是根据预定的路线从一个初始位置夹取目标物体到目标位置,适用于诸多工业领域的机械自动化作业。
现在市场上的多关节机器人主要包括四轴机器人(具有四个关节)和六轴机器人(具有六个关节)等等,他们均包括有基座、手臂和末端的物体夹持部,手臂上关节的多少决定了机器人的“轴”的数量,每一个关节都是由一个电机的转动来驱动、以实现关节的运动。
目前,用户需要通过人机交互设备(如电脑、示教器等)实现对多关节机器人的参数设定和控制,目前市场上的人机交互设备大都是针对机器人整体而设计,用户一般通过编辑每个关节的运动参数实现对机器人的运动控制,所述的运动参数实际上是控制运动部件(如电机)的运动参数,用户编辑机器人的运动参数后,发送给机器人本体的运动控制部件(或称为驱控器等),运动控制部件对接收到的运动参数进行解算后控制运动部件运动,如专利申请号为201710438383.4的中国专利申请即公开了一种多关节机器人。
结合参考附图1,附图1示出了一种多关节机器人100,机器人100是一种四关节机器人,机器人100包括有底座1、大臂2、小臂3,小臂3上还可以连接有腕(附图1中未示出),腕上可以有爪(末端执行器)、以实现对物体的抓取等功能,例如专利申请号为201710381661.7的中国专利申请公开了一种物体夹持部,该物体夹持部可以作为爪安装在腕关节上。
在机器人100的各个关节上分别设置有运动部件(电机和减速器),例如在底座1的外壳内设置有一套电机和减速器,减速器的输出轴连接底座1的上盖;底座1的上盖安装大臂2,大臂2的底部设置有另一套电机4和减速器5,减速器5的输出轴连接大臂2的本体;在大臂2的上部设置有另一套电机和减速器,减速器的输出轴连接小臂3的本体;在小臂3的前端还可以设置有另一套电机和减速器,减速器的输出轴连接腕的本体;腕上可以安装各种末端执行器,例如专利申请号为201710381661.7公开的物体夹持部。
底座1内的电机旋转运动可以带动底座1的上盖沿水平方向360度旋转运动、进而带动机器人100的大臂2、小臂3等沿水平方向360度旋转;电机4的旋转运动可以带动大臂2沿S1方向俯向下运动、或沿S2方向后仰向上运动,进而带着小臂3等沿S1或S2方向运动;大臂2上部的电机旋转运动可以带动小臂3进行旋转运动,进而带着腕等旋转运动;小臂3的另一端的电机旋转运动可以带动腕进行旋转运动,进而带着末端执行器进行旋转运动;末端执行器上的电机还可以带动末端执行器进行夹取物体等操作。
通过不同的运动参数控制上述多个电机按用户设定的运动路线运动,就可以实现对机器人100的精确控制,使机器人100完成用户设定的各种功能。
对各个电机(例如电机4)的控制是通过运动控制部件实现的,运动控制部件可以单独设置在机器人100的外部、通过连接线与机器人100上的各个电机连接;运动控制部件也可以安装在机器人100的本体外壳内。
对于机器人100,每个运动部件的运动都可以带动对应的运动体运动,例如做1内的电机旋转运动可以带动底座1的上盖、大臂2、小臂3等组成的运动体沿水平方向进行360度旋转运动;大臂2对应的电机4的旋转运动可以带动大臂2、小臂3等组成的运动体沿S1或S2(S1与S2的旋转方向相反)进行旋转运动;小臂3处的电机(附图1中未示出)的旋转运动可以带动小臂3等组成的运动体沿小臂3的旋转轴旋转运动。
结合参考附图2,附图2示出了运动控制系统200(例如机器人)的电路原理,运动控制系统200包括有机器人控制器201、网关202、运动控制部件203、运动部件204、传感器205等,运动控制系统200可以包括有多个运动部件204(例如机器人100中设置有4个或5个电机),也可以仅包括有一个运动部件204;当运动控制系统200包括有多个运动部件204时,每个运动部件204可以分别对应有各自的运动控制部件203,也可以采用同一个多轴的运动控制部件203同时控制和驱动多个运动部件204。
所述机器人控制器201可以是示教器,还可以是安装有上位机软件的电脑,还可以是安装有APP的手机/Pad等,以实现人机交互,使得用户可以通过机器人控制器201配置运动参数、控制运动部件204的运行状态、显示运动曲线等功能。
网关202是连通机器人控制器201和运动控制部件203的部件,例如可以是USB转CAN网关、RS232转CAN网关等,可以将用户通过机器人控制器201设置的运动参数转换为运动控制部件203可读格式的数据、并发送给运动控制部件203,还可以将运动控制部件203产生的各种反馈数据转换为机器人控制器201可读格式的数据、并发送给机器人控制器201。
运动控制部件203实现对机器人控制器201发送来的运动参数的解算,将用户设置的运动参数产生控制和驱动运动部件运动的驱动电流,以驱动运动部件204运动,进而带动对应的运动体运动。
在运动控制系统200中,运动部件204可以仅仅是电机,也可以是电机结合减速器,还可以是电机结合丝杠等。例如在机器人100上的基座1、大臂2、小臂3、腕等关节上均需要设置一组电机+减速器作为各自的运动部件。
传感器205用于实时检测机器人的运动体的运动位置,可以是编码器、角度传感器、光电开关、机器视觉系统等,以编码器为例,编码器可以设置在运动部件204的输出端的转轴上、检测运动部件204的实际运动数据。编码器可以直接设置在电机和/或减速器的输出轴上,当电机和/或减速器通过传动机构(例如皮带等)连接有其他转轴时、编码器也可以设置在其他转轴上,编码器还可以设置在丝杠上检测丝杠的滑块的实际运动数据,等等。
传感器205跟随运动体运动,检测运动体的实际运动数据,将检测到的实际运动数据转换为运动体的位置信息,可以实时得到运动控制系统200中的各个运动体的位置信息。
在机器人100实际使用时,通常预设一个零位作为机器人100的初始位置,例如附图1中机器人100的底座1固定后,可以设置零位为:大臂2与地平面垂直、小臂3与大臂2呈90度垂直(即小臂3与地平面平行)、大臂2和小臂3面向纸面的右侧为机器人100的初始零位,也可以单独设置某一个关节的零位,例如可以仅仅将大臂2垂直于地平面作为零位,而小臂3、小臂3和大臂2面向的方向不设零位。
设置零位的目的是便于用户设置机器人100的运动路线,例如在三维坐标系中,用户需要机器人100完成从一个点抓取一个物体、并将该物体运送到另一个点,那么就需要根据上述需求设置对应的运动参数,可以仅通过设置机器人的末端执行器的焦点的空间三维参数来控制机器人的运动,即设置被抓取的目标物体的空间坐标和放置物体的空间坐标,运动控制部件203即可解算为各个电机的运动数据、规划出运动路线;也可以通过设置机器人100的每个关节的运动参数的方式实现动作,例如可以拆解整个动作为多个分动作,先设置底座1的旋转的角度、时间等参数,再设置大臂2的旋转角度、时间等参数,再设置小臂3和末端执行器的旋转角度/长度、时间等参数,只需要注意各个分动作之间的时序关系就好,设置好上述运动参数后发送给运动控制部件203,也可以实现机器人100对目标物体的抓取和放置。
上述方法依赖于机器人100的初始零位的准确度,一旦机器人100的初始零位不准确,那么解算出的机器人100的各个电机的运动数据就会出现偏差,造成机器人100的定位精确降低,不能很好的完成抓取物体等动作。
机器人100因电机、减速器等的齿轮上的齿本身存在一定的可活动空间,因此机器人100在从一个点向另一个点运动过程中本身就存在一定的间隙误差,因此机器人100在从某一个位置回到初始零位时会存在误差,使得机器人100的零位不准确,进而影响机器人100的定位精度。
发明内容
为了解决上述问题,本发明提供了一种具有精确回零位功能的机器人,可以降低机器人运动过程中的间隙误差,提高机器人回初始零位的准确性。
本发明所述的具有精确回零位功能的机器人,包括有运动控制部件、运动部件、位置检测传感器,
所述运动控制部件,用于根据运动参数驱动所述运动部件运动,以带动机器人本体上的运动体运动;
所述位置检测传感器,用于实时检测所述运动体的位置;
所述运动控制部件内还预存储有第一预设参数和第二预设参数,且所述第一预设参数和所述第二预设参数使所述运动体的运动方向相反;
所述运动控制部件接收到一个回零位命令、读取所述第一预设参数作为所述运动参数;
当所述位置检测传感器检测到所述运动体的运动位置到达一个预设位置、产生第一触发信号,所述运动控制部件对所述第一触发信号敏感、读取所述第二预设参数作为新的运动参数;
当所述位置检测传感器检测到所述运动体的运动位置再次到达所述预设位置、产生第二触发信号,所述运动控制部件对所述第二触发信号敏感、控制所述运动体停止运动。
作为一种举例说明,本发明所述的机器人中,所述运动控制部件接收到一个回零位命令、读取所述第一预设参数作为所述运动参数后,驱动所述运动部件运动、以带动所述运动体按第一运动方向做匀速运动。
作为又一种举例说明,本发明所述的机器人中,所述运动控制部件对所述第一触发信号敏感、读取所述第二预设参数作为新的运动参数后,驱动所述运动部件运动、以带动所述运动体按与所述第一运动方向相反的第二运动方向做匀速运动,且所述第二运动速度小于所述第一运动速度。
作为又一种举例说明,本发明所述的机器人中,所述运动控制部件读取所述第二预设参数作为新的运动参数之前,还驱动所述运动部件带动所述运动体做减速停止运动。
作为又一种举例说明,本发明所述的机器人中,所述运动控制部件对所述第二触发信号敏感、控制所述运动部件停止运动是驱动所述运动部件带动所述运动体急停。
为了解决上述问题,本发明还提供了一种精确回零位方法,可以降低机器人运动过程中的间隙误差,提高机器人回初始零位的准确性。
本发明所述的精确回零位方法,应用于上述机器人中,所述方法包括:
依据一个回零位命令、读取第一预设参数,使所述机器人的运动体沿第一运动方向运动;
当所述运动体运动到一个零位位置、产生第一触发信号;
依据所述第一触发信号、读取第二预设参数,使所述机器人的运动体沿第二运动方向运动,所述第二运动方向与所述第一运动方向相反;
当所述运动体再次运动到所述零位位置、产生第二触发信号;
依据所述第二触发信号、使所述运动体停止运动。
作为一种举例说明,本发明所述的精确回零位方法中,所述机器人的运动体沿第一运动方向运动是按第一运动速度做匀速运动。
作为又一种举例说明,本发明所述的精确回零位方法中,所述机器人的运动体沿第二运动方向运动是按第二运动速度做匀速运动,且所述第二运动速度小于所述第一运动速度。
作为又一种举例说明,本发明所述的精确回零位方法中,依据所述第一触发信号、读取第二预设参数,使所述机器人的运动体沿第二运动方向运动包括:
依据所述第一触发信号、使所述机器人的运动体减速停止;
然后再使所述运动体沿所述第二运动方向运动。
作为又一种举例说明,本发明所述的精确回零位方法中,依据所述第二触发信号、使所述运动体停止运动是使所述运动体急停。
为了解决上述问题,本发明还提供一种具有精确回零位功能的运动控制系统,所述运动控制系统包括有上述具有精确回零位功能的机器人,可以降低机器人运动过程中的间隙误差,提高机器人回初始零位的准确性。
为了解决上述问题,本发明还提供了一种存储有计算机程序的计算机可读介质,所述计算机程序供一个或多个处理器运动以执行本发明所述的精确回零位方法,可以降低机器人运动过程中的间隙误差,提高机器人回初始零位的准确性。
为了解决上述问题,本发明提供了一种具有零位功能的机器人,可以降低机器人运动过程中的间隙误差,提高机器人回初始零位的准确性。
本发明所述的具有零位功能的机器人包括有运动控制部件、运动部件、位置检测传感器,
所述运动控制部件,用于依据运动控制命令驱动运动部件运动;
所述运动部件,用于带动机器人本体上的运动体运动;
所述位置检测传感器,用于实时检测在运动部件带动下的运动体的位置;
当所述运动控制命令为回零位命令:
所述运动控制部件依据所述回零位命令驱动所述运动部件带动所述运动体按第一运动方向运动;
当所述位置检测传感器检测到所述运动体运动到一个预设零位时、产生第一触发信号;
所述运动控制部件对所述第一触发信号敏感、驱动所述运动部件带动所述运动体按与第一运动方向相反的第二运动方向运动;
当所述位置检测传感器检测到所述运动体再次运动到所述预设零位时、产生第二触发信号;
所述运动控制部件对所述第二触发信号敏感、驱动所述运动部件带动所述运动体停止运动。
作为一种举例说明,本发明所述的机器人中,所述运动控制部件依据所述回零位命令驱动所述运动部件带动所述运动体按第一运动方向运动中,所述运动体是按第一运动速度做匀速运动。
作为又一种举例说明,本发明所述的机器人中,所述运动控制部件对所述第一触发信号敏感、驱动所述运动部件带动所述运动体按与第一运动方向相反的第二运动方向运动中,所述运动体是按第二运动速度做匀速运动,且所述第二运动速度小于所述第一运动速度。
作为又一种举例说明,本发明所述的机器人中,所述运动控制部件对所述第一触发信号敏感、驱动所述运动部件带动所述运动体按与第一运动方向相反的第二运动方向运动包括:所述运动控制部件对所述第一触发信号敏感、首先驱动所述运动部件带动所述运动体减速停止,然后再驱动所述运动部件带动所述运动体按第二运动方向运动。
作为又一种举例说明,本发明所述的机器人中,所述运动控制部件对所述第二触发信号敏感、驱动所述运动部件带动所述运动体停止运动是驱动所述运动部件带动所述运动体急停。
作为又一种举例说明,本发明所述的机器人中,当所述机器人为多关节机器人,所述机器人本体上的运动体为多关节机器人的关节,所述关节在所述运动部件的带动下沿转轴做旋转运动;所述第一运动方向和所述第二运动方向为沿转轴的两个相反的旋转方向。
作为又一种举例说明,本发明所述的机器人中,当所述机器人为直线型机器人,所述机器人本体上的运动体为沿直线导轨运动的滑块,所述滑块在运动部件的带动下做直线往复运动;所述第一运动方向和所述第二运动方向为沿所述直线导轨的相对的两个运动方向。
为了解决上述技术问题,本发明还提供一种机器人的回零位方法,所述方法包括有:
预设一个零位位置;
依据一个回零位命令、使机器人的运动体沿第一运动方向运动;
当所述运动体沿所述第一运动方向运动到所述零位位置时、产生第一触发信号;
依据所述第一触发信号、使所述运动体沿与所述第一运动方向相反的第二运动方向运动;
当所述运动体沿所述第二运动方向再次运动到所述零位位置时、产生第二触发信号;
依据所述第二触发信号、使所述运动体停止运动。
作为一种举例说明,本发明所述的机器人的回零位方法中,所述机器人的运动体沿第一运动方向运动具体是所述运动体按第一运动速度做匀速运动。
作为又一种举例说明,本发明所述的机器人的回零位方法中,所述机器人的运动体沿第二运动方向运动具体是所述运动体按第二运动速度做匀速运动,且所述第二运动速度小于第一运动速度。
作为又一种举例说明,本发明所述的机器人的回零位方法中,依据所述第一触发信号、使所述运动体沿与所述第一运动方向相反的第二运动方向运动包括:依据所述第一触发信号、使所述运动体减速停止;然后再使所述运动体沿所述第二运动方向运动。
作为又一种举例说明,本发明所述的机器人的回零位方法中,依据所述第二触发信号、使所述运动体停止运动具体是使所述运动体急停。
为了解决上述问题,本发明还提供一种具有回零位功能的运动控制系统,所述运动控制系统包括有上述具有回零位功能的机器人,可以降低机器人运动过程中的间隙误差,提高机器人回初始零位的准确性。
为了解决上述问题,本发明还提供一种存储有计算机程序的计算机可读介质,所述计算机程序供一个或多个处理器运行以执行所述机器人的回零位方法,可以降低机器人运动过程中的间隙误差,提高机器人回初始零位的准确性。
为了解决上述问题,本发明还提供另一种具有回零位功能的机器人,所述机器人包括有一个或多个处理器,存储有计算机程序的存储器,当所述计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述机器人的回零位方法,可以降低机器人运动过程中的间隙误差,提高机器人回初始零位的准确性。
本发明提供的机器人在回零位时,首先驱动机器人的运动体沿一个方向运动、直到第一次找打零位位置,然后控制运动体停止,此时由于存在信号延时,运动体停在的位置偏离了实际零位较多,因此在此驱动运动体向相反的方向运动,此时可以控制运动体的运动速度,当在此找到零位时、控制运动体急停,此时找到的零位位置偏离实际零位的距离较小,经过上述过程后、运动体停在了一个距离零位相对较近的位置上,降低了机器人的回零位误差,提高了机器人的定位准确度。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
作为一个具体实施例,结合参考附图1和附图2,附图1示出了一种多关节机器人100的结构,附图2示出了一种运动控制系统200的原理,在本实施例中运动控制系统200包括有多关节机器人100,运动控制系统200具体包括有机器人控制器201、网关202、运动控制部件203、运动部件204、位置检测传感器205等运动部件204是机器人100中的电机,机器人100是一款四关节机器人,4个关节和末端执行器可以采用5个电机分别驱动,那么运动控制系统200中的运动部件204的数量为5个。
机器人控制器201通过网关202连接到机器人100中的运动控制部件203,共同构成了运动控制系统200,用户可以通过机器人控制器201设置参数、发送命令等、以实现对机器人100的控制和驱动。
所述机器人控制器201可以是示教器,还可以是安装有上位机软件的电脑,还可以是安装有APP的手机/Pad等,以实现人机交互,使得用户可以通过机器人控制器201配置运动参数、控制运动部件204(电机)的运行状态、显示运动曲线等功能。
网关202是连通机器人控制器201和运动控制部件203的部件,例如可以是USB转CAN网关、RS232转CAN网关等,可以将用户通过机器人控制器201设置的运动参数转换为运动控制部件203可读格式的数据、并发送给运动控制部件203,还可以将运动控制部件203产生的各种反馈数据转换为机器人控制器201可读格式的数据、并发送给机器人控制器201。
运动控制部件203实现对机器人控制器201发送来的运动参数的解算,将用户设置的运动参数产生控制和驱动运动部件运动的驱动电流,以驱动运动部件204运动,进而带动对应的运动体运动。
运动控制部件203可以是单轴运动控制部件,也可以是多轴运动控制部件。单轴运动控制部件仅可以实现对一个运动部件的驱控,机器人100中的每个电机均需要连接一个单轴运动控制部件;多轴运动控制部件可以同时实现对多个运动部件的驱控,机器人100中的5个电机可以仅用一个多轴运动控制部件同时控制;机器人100中的5个电机还可以由单轴运动控制部件和多轴运动控制部件组合控制。
在运动控制系统200中,运动部件204可以仅仅是电机,也可以是电机结合减速器等。
位置检测传感器205用于实时检测机器人的运动体的运动位置,可以是编码器、角度传感器、光电开关、机器视觉系统等,以编码器为例,编码器可以设置在运动部件204的输出端的转轴上、检测运动部件204的实际运动数据。编码器可以直接设置在电机和/或减速器的输出轴上,当电机和/或减速器通过传动机构(例如皮带等)连接有其他转轴时、编码器也可以设置在其他转轴上,编码器还可以设置在丝杠上检测丝杠的滑块的实际运动数据,等等。
附图1示出的多关节机器人100包括有底座1、大臂2、小臂3,小臂3上还可以连接有腕(附图1中未示出),腕上可以有爪(末端执行器)、以实现对物体的抓取等功能。
在机器人100的各个关节上分别设置有运动部件(电机和减速器),例如在底座1的外壳内设置有一套电机和减速器,减速器的输出轴连接底座1的上盖;底座1的上盖安装大臂2,大臂2的底部设置有另一套电机4和减速器5,减速器5的输出轴连接大臂2的本体;在大臂2的上部设置有另一套电机和减速器,减速器的输出轴连接小臂3的本体;在小臂3的前端还可以设置有另一套电机和减速器,减速器的输出轴连接腕的本体;腕上可以安装各种末端执行器,例如专利申请号为201710381661.7公开的物体夹持部。
底座1内的电机旋转运动可以带动底座1的上盖沿水平方向360度旋转运动、进而带动机器人100的大臂2、小臂3等沿水平方向360度旋转;电机4的旋转运动可以带动大臂2沿S1方向俯向下运动、或沿S2方向后仰向上运动,进而带着小臂3等沿S1或S2方向运动;大臂2上部的电机旋转运动可以带动小臂3进行旋转运动,进而带着腕等旋转运动;小臂3的另一端的电机旋转运动可以带动腕进行旋转运动,进而带着末端执行器进行旋转运动;末端执行器上的电机还可以带动末端执行器进行夹取物体等操作。
通过不同的运动参数控制上述多个电机按用户设定的运动路线运动,就可以实现对机器人100的精确控制,使机器人100完成用户设定的各种功能。
对各个电机(例如电机4)的控制是通过运动控制部件实现的,运动控制部件可以单独设置在机器人100的外部、通过连接线与机器人100上的各个电机连接;运动控制部件也可以安装在机器人100的本体外壳内。
对于机器人100,每个运动部件的运动都可以带动对应的运动体运动,例如做1内的电机旋转运动可以带动底座1的上盖、大臂2、小臂3等组成的运动体沿水平方向进行360度旋转运动;大臂2对应的电机4的旋转运动可以带动大臂2、小臂3等组成的运动体沿S1或S2(S1与S2的旋转方向相反)进行旋转运动;小臂3处的电机(附图1中未示出)的旋转运动可以带动小臂3等组成的运动体沿小臂3的旋转轴旋转运动。
在机器人100上,位置检测传感器可以由安装在减速器(例如减速器5)输出轴上的旋转编码器实现,也可以由安装在机器人本体上的角度传感器实现,均可以实时检测机器人100的各个关节的位置信息。
用户在使用机器人100完成某些动作时,可以通过机器人控制器201设置机器人的各项运动参数,运动参数可以包括有位移(旋转角度等)、时间(或时刻)、速度等,机器人控制器201将用户配置的运动参数通过网关202传输给各个运动控制部件203,每个运动控制部件203对应接收相关运动参数,并解算为一组控制电机运行的数据,以驱动电机运行,进而带动机器人100的各个关节按照用户需要的路径运动。
当用户在使用机器人100完成上述动作前,通常还需要将机器人100回零位、使机器人首先到达一个标准零位,例如附图1中机器人100的大臂2垂直于地平面、小臂3平行于地平面(即小臂3与大臂2垂直)、大臂2和小臂3组成的臂的朝向为向右(面向纸张看)可以作为机器人100的初始零位,当然用户也可以根据自身的需求设置其他机器人的位姿作为初始零位。
因此,用户可以首先通过机器人控制器201设置一个回零位命令,然后通过网关202将所述回零位命令发送给运动控制部件203,运动控制部件203接收到回零位命令后、驱动所述运动部件204(即机器人100中的电机和减速器)带动各自的运动体按某个第一运动方向运动。例如底座1中的电机可以带动底座1的上盖、大臂2、小臂3等组成的运动体沿顺时针或逆时针进行旋转运动;大臂2中的电机带动大臂2、小臂3等组成的运动体以大臂2的旋转轴(是大臂3的减速器5的输出轴)为中心沿S1方向或S2方向旋转运动;小臂3中的电机带动小臂3等组成的运动体以小臂3的旋转轴为中心顺时针或逆时针旋转运动。
需要说明的是,用户可以仅仅设置某一个关节的零位、且仅控制该关节回零位,用户也可以设置多个关节、乃至机器人100的所有运动关节(包括末端执行器)均同时回零位。
运动控制部件203驱动对应的运动体沿某个方向运动的过程中,肯定会回到一个预设的零位,当位置检测传感器205检测到运动体运动到该预设的零位时产生一个第一触发信号,告知运动控制部件203其驱动的运动体到达了预设零位。
运动控制部件203对上述第一触发信号敏感、驱动所述运动部件204带动对应的运动体按与之前第一运动方向相反的第二运动方向运动,因此运动体肯定会再次经过预设的零位。
位置检测传感器205可以再次检测到所述运动体运动到零位、并产生一个第二触发信号,告知运动控制部件203其驱动的运动体再次到达了预设零位。
运动控制部件203对第二触发信号敏感、驱动运动部件204带动运动体停止运动,即该运动体达到了零位。
经过上述处理,机器人100最终回到的零位是经过了修正后的零位,即经过了正反两次运动回到的零位,降低了因机器人100的结构间隙带来的误差,使得机器人100回到的零位与预设的零位距离更近,回零位的效果更好,回到的零位更准确。
经过上述回零位的处理后,用户可以将通过机器人控制器100设置的运动参数发送给运动控制部件203,以驱动机器人100进行实际的抓取等动作,完成用户想要的功能。
作为一种举例说明,所述运动控制部件203在驱动所述运动部件204沿第一运动方向运动实际是按照第一运动速度做匀速运动,匀速运动可以降低机器人100加减速带来的更多误差。
作为一种变形,所述运动控制部件203在驱动所述运动部件204沿第一运动方向运动也可以是变速运动,也可以达到运动到零位的目的。
作为又一种举例说明,所述运动控制部件203对所述第一触发信号敏感、驱动所述运动部件204带动所述运动体按与第一运动方向相反的第二运动方向运动中,所述运动体是按第二运动速度做匀速运动,且所述第二运动速度小于所述第一运动速度。
匀速运动易于控制,且可以尽量减少加减速带来的更多误差,第二运动速度小于第一运动速度使得本发明回零位更精准,因为电机驱动的运动体的运动速度越小,运动到停止所需要的实际距离越小,运动体实际达到的零位和预设的零位之间的误差越小,回到的零位越准确。
作为一种变形,所述运动控制部件203对所述第一触发信号敏感、驱动所述运动部件204带动所述运动体按与第一运动方向相反的第二运动方向运动中,所述运动体也可以做变速运动,也可以达到回零位的目的。
作为又一种举例说明,所述运动控制部件203对所述第一触发信号敏感、驱动所述运动部件204带动所述运动体按与第一运动方向相反的第二运动方向运动包括:
所述运动控制部件203对所述第一触发信号敏感、首先驱动所述运动部件204带动所述运动体减速停止,然后再驱动所述运动部件204带动所述运动体按第二运动方向运动。
在所述运动体沿第一运动方向运动切换到沿第二运动方向运动的过程中,运动体首先需要停止,然后再运动。采用减速停止的方法可以降低因机器人100的惯性带来的各种问题,使机器人100的停止过程平缓、逐步减速至停止,降低了运动部件204的停止带来的机械损害以及反向电流带来的危害。
作为一种变形,所述运动控制部件203对所述第一触发信号敏感、驱动所述运动部件204带动所述运动体按与第一运动方向相反的第二运动方向运动包括:
所述运动控制部件203对所述第一触发信号敏感、首先驱动所述运动部件204带动所述运动体急停,再驱动所述运动部件204带动所述运动体按第二运动方向运动。
为了降低机器人100急停带来的各种问题,用户可以设置机器人100的第一运动速度为尽量小,更小的运动速度可以带来更小的损害。
作为又一种举例说明,所述运动控制部件203对所述第二触发信号敏感、驱动所述运动部件204带动所述运动体停止运动是驱动所述运动部件204带动所述运动体急停。此时运动部件204带动的运动体的运动速度较小,急停带来的各种危害较小,且急停可以使得机器人100最终停到的零位更准确。
作为又一种变形,所述运动控制部件203对所述第二触发信号敏感、驱动所述运动部件204带动所述运动体停止运动是驱动所述运动部件204带动所述运动体做减速停止,此时对机器人100带来的损害更小。
作为一种具体实施例,为了使得机器人100回零位更方便,还可以在运动控制部件203内与存储有第一预设参数和第二预设参数,所述第一预设参数可以驱动运动体沿第一运动方向运动,第二预设参数可以驱动运动体沿第二运动方向运动。
因此,当运动控制部件203接收到所述回零位命令时,可以直接读取所述第一预设参数、使所述运动部件204带动对应的运动体沿第一运动方向运动,当运动体运动到预设的零位、位置检测传感器205产生第一触发信号,运动控制部件203对第一触发信号敏感、控制运动部件204停止;然后再读取第二预设参数作为新的运动参数,使所述运动部件204带动运动体沿第二运动方向运动,当运动体再次运动到预设的零位、位置检测传感器205产生第二触发信号,运动控制部件203控制运动体停止运动,机器人100回到零位。
本发明的机器人100经过正反两次回零位,最终到达的零位与预设的零位的误差较小,回零位的精确较高。
作为又一种具体实施例,本申请在2017年5月24日提交了专利申请号为201710381661.7、发明名称为“物体加持部和机器人”的发明专利申请,结合参考附图3,本申请公开了一种物体加持部101,物体加持部101可以与机器人100组合在一起,将物体加持部101安装在小臂3的末端,组成一个完整的机器人、实现对物体的抓取。物体加持部101一方面可以在一个单独的电机的驱动下沿小臂3上的某个转轴做旋转运动、也可以在其单独的电机的带动下抓取物体。
物体加持部101包括有电机6、蜗杆7、两组传动机构、光耦挡片10、光电检测器11,第一组传动机构包括涡轮8.1、曲柄8.2、连杆8.3、末端卡块8.4,等,第二组传动机构包括涡轮9.1、曲柄9.2、连杆9.3、末端卡块9.4等。
其中所述电机6安装在物体加持部的本体上,所述电机6的输出轴与所述蜗杆7固定设置,使得所述蜗杆7的轴向与所述电机6的输出轴的轴向在一条直线上,所述涡轮8.1和涡轮9.1对称设置在所述蜗杆7的两侧、且与蜗杆7配合设置,所述涡轮8.1、涡轮9.1与蜗杆7通过齿的交错设置构成了齿轮结构。
所述第一组传动机构中,所述涡轮8.1通过第一转轴与所述本体转动连接、所述涡轮8.1可以第一转轴为中心在所述蜗杆7的带动下转动;所述涡轮8.1还与所述曲柄8.2的一端固定连接,固定方式可以采用如螺钉、铆钉等各种现有技术,所述曲柄8.2在所述涡轮8.1转动时、在所述涡轮8.1的带动下同样以所述第一转轴为中心转动;所述曲柄8.2的另一端通过第二转轴与所述末端卡块8.4第一连接部转动连接,所述连杆8.3的一端通过第三转轴与本体转动连接、另一端通过第四转轴与所述末端卡块8.4的第二连接部转动连接,且所述第一转轴、第二转轴、第三转轴、第四转轴在轴向的投影构成了一个平行四边形。
与所述第一组传动机构类似,第二组传动机构中,所述涡轮9.1通过第一转轴与所述本体转动连接、所述涡轮9.1可以第一转轴为中心在所述蜗杆7的带动下转动;所述涡轮9.1还与所述曲柄9.2的一端固定连接,固定方式可以采用如螺钉、铆钉等各种现有技术,所述曲柄9.2在所述涡轮9.1转动时、在所述涡轮9.1的带动下同样以第一转轴为中心转动;所述曲柄9.2的另一端通过第二转轴与所述末端卡块9.4第一连接部转动连接,所述连杆9.3的一端通过第三转轴与本体转动连接、另一端通过所述第四转轴与所述末端卡块9.4的第二连接部转动连接,且所述第一转轴、第二转轴、第三转轴1、第四转轴在轴向的投影构成了一个平行四边形。
物体加持部中,两组传动机构共同构成了物体加持部的运动体。
在末端执行器(物体加持部101)的本体上还安装有一个光电检测器11,在其中一个连杆(连杆8.3或连杆9.3)上固定设置有与光电检测器11对应的光耦挡片10,光耦挡片10与光电检测器11共同配合构成了光电开关,可以检测物体加持部101是否运动到初始零位,光耦挡片10和光电检测器11构成了物体加持部101的位置检测传感器。
当用户需要物体加持部运动到初始零位时,可以通过机器人控制器201设置回零位命令,运动控制部件203可以驱动电机6转动,电机6的转动带动蜗杆7转动,蜗杆7的转动带动涡轮8.1和涡轮9.1转动、进而带动末端卡块8.4和9.4向内收紧或向外扩展,可以设置向内收紧运动或向外扩展运动之一为第一运动方向、另一个为第二运动方向;因此当运动控制部件203接收到使末端执行器回零位的命令时,可以首先驱动电机6向一个方向转动、进而带动末端卡块8.4和9.4收紧(或扩展),在此过程中当光耦挡片10到达光电检测器11、产生第一触发信号,运动控制部件203对第一触发信号敏感、控制电机6停止转动,物体加持部101停止,然后再驱动电机6按相反的方向转动、进而带动末端卡块8.4和9.4向外扩展(或向内收紧),当带动光耦挡片10再次运动到光电检测器11、再次产生第二触发信号,运动控制部件203对第二触发信号敏感、控制电机6停止转动,物体加持部101停止,此时物体加持部101停止到零位。
作为又一个具体实施例,运动控制系统200还可以采用直线型机器人实现,此时机器人包括有电机、丝杠、直线导轨、在丝杠驱动下沿直线导轨运动的滑块,在滑块上可以安装光耦挡片、在机器人本体上安装光电检测器,光耦挡片和光电检测器构成位置检测传感器,此时滑块是机器人的运动体,滑块上可以安装其他的部件、在电机驱动下沿直线导轨往复运动。
同样的,用户在使用直线型机器人时,也可以先将滑块运动到零位位置,然后再设置滑块的具体运动动作。
作为又一个具体实施例,结合附图4,本发明还提供了一种机器人的回零位方法S400,机器人可以是多关节机器人100,可以是直线型机器人,还可以仅仅是末端执行器等等,本实施例以多关节机器人100为例进行说明,所述方法S400包括:
步骤S401:预设一个零位位置;
在使用机器人完成某些动作前,通常需要将机器人回零位、使机器人首先到达一个标准零位,然后再驱动机器人运动,例如附图1中的机器人100大臂2垂直于地平面、小臂3平行于地平面(即小臂3与大臂2垂直)、大臂2和小臂3组成的臂的朝向为向右(面向纸张看)可以作为机器人100的初始零位,当然用户也可以根据自身的需求设置其他机器人的位姿作为初始零位。
需要说明的是,用户可以仅仅设置某一个关节的零位、且仅控制该关节回零位,用户也可以设置多个关节、乃至机器人100的所有运动关节(包括末端执行器)均同时回零位。
步骤S402:依据一个回零位命令、使机器人的运动体沿第一运动方向运动;
设置初始零位后,用户可以设置一个回零位命令,根据回零位命令开始回零位动作。
本步骤首先使机器人的运动体沿第一运动方向运动,例如底座1中的电机可以带动底座1的上盖、大臂2、小臂3等组成的运动体沿顺时针或逆时针进行旋转运动;大臂2中的电机带动大臂2、小臂3等组成的运动体以大臂2的旋转轴(是大臂3的减速器5的输出轴)为中心沿S1方向或S2方向旋转运动;小臂3中的电机带动小臂3等组成的运动体以小臂3的旋转轴为中心顺时针或逆时针旋转运动。
步骤S403:当所述运动体沿所述第一运动方向运动到所述零位位置时、产生第一触发信号;
运动体沿第一运动方向运动的过程中,肯定会回到预设的零位位置,当检测到运动体运动到该预设的零位时产生一个第一触发信号。
步骤S404:依据所述第一触发信号、使所述运动体沿与所述第一运动方向相反的第二运动方向运动,因此运动体肯定会再次经过预设的零位。
步骤S405:当所述运动体沿所述第二运动方向再次运动到所述零位位置时、产生第二触发信号;当运动体沿第二运动方向运动过程中,可以再次检测到所述运动体运动到零位、并产生一个第二触发信号,告知运动体再次到达了预设零位。
步骤S406:依据所述第二触发信号、使所述运动体停止运动,即该运动体达到了零位。
经过上述步骤,机器人最终回到的零位是经过了修正后的零位,即经过了正反两次运动回到的零位,降低了因机器人的结构间隙带来的误差,使得机器人回到的零位与预设的零位距离更近,回零位的效果更好,回到的零位更准确。
作为又一种具体实施例,结合参考附图5,本发明还提供了一种精确回零位方法S500,应用于机器人中,本实施例以多关节机器人100为例进行说明,精确回零位方法S500包括:
步骤S501:依据一个回零位命令、读取第一预设参数,使所述机器人100的运动体沿第一运动方向运动;
在使用机器人完成某些动作前,通常需要将机器人回零位、使机器人首先到达一个标准零位,然后再驱动机器人运动,例如附图1中的机器人100大臂2垂直于地平面、小臂3平行于地平面(即小臂3与大臂2垂直)、大臂2和小臂3组成的臂的朝向为向右(面向纸张看)可以作为机器人100的初始零位,当然用户也可以根据自身的需求设置其他机器人的位姿作为初始零位。
需要说明的是,用户可以仅仅设置某一个关节的零位、且仅控制该关节回零位,用户也可以设置多个关节、乃至机器人100的所有运动关节(包括末端执行器)均同时回零位。
设置初始零位后,用户可以设置一个回零位命令,根据回零位命令开始回零位动作。
本步骤首先使机器人的运动体沿第一运动方向运动,例如底座1中的电机可以带动底座1的上盖、大臂2、小臂3等组成的运动体沿顺时针或逆时针进行旋转运动;大臂2中的电机带动大臂2、小臂3等组成的运动体以大臂2的旋转轴(是大臂3的减速器5的输出轴)为中心沿S1方向或S2方向旋转运动;小臂3中的电机带动小臂3等组成的运动体以小臂3的旋转轴为中心顺时针或逆时针旋转运动。
步骤S502:当所述运动体运动到一个零位位置、产生第一触发信号;
当运动体运动到预设零位位置时,位置检测传感器205检测到该情况、产生第一触发信号。
步骤S503:依据所述第一触发信号、读取第二预设参数,使所述机器人的运动体沿第二运动方向运动,所述第二运动方向与所述第一运动方向相反,因此运动体肯定会再次经过预设的零位。
本步骤中运动控制部件203对所述第一触发信号敏感、控制运动部件204首先停止运动,然后再读取第二预设参数,使机器人100的运动体沿第二运动方向进行反向运动。
步骤S504:当所述运动体再次运动到所述零位位置、位置检测传感器205会检测到运动体再次到达零位位置,并产生第二触发信号,告知运动控制部件203运动体再次到达了预设零位。
步骤S505:依据所述第二触发信号、运动控制部件203使所述运动体停止运动,即该运动体达到了零位。
经过上述步骤,机器人最终回到的零位是经过了修正后的零位,即经过了正反两次运动回到的零位,降低了因机器人的结构间隙带来的误差,使得机器人回到的零位与预设的零位距离更近,回零位的效果更好,回到的零位更准确。
作为一种示例性实施例,本发明还提供一种存储有计算机程序的计算机可读介质,所述计算机程序供一个或多个处理器运行,可以执行本发明所述的机器人的回零位方法S400。
作为又一种示例性实施例,本发明还提供一种具有回零位功能的机器人,所述机器人包括有一个或多个处理器、存储有计算机程序的存储器,当所述计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现所述机器人的回零位方法S400。
作为又一种示例性实施例,本发明还提供又一种存储有计算机程序的计算机可读介质,所述计算机程序供一个或多个处理器运行,以执行本发明所述的精确回零位方法S500。
本发明提供的机器人以及回零位方法通过驱动机器人对应的运动体进行两次回零位,即首先使运动体向一个方向运动到零位、并停在零位附近,然后再使运动体反向运动到零位,然后使运动体停止在零位,可以降低机器人的间隙误差的影响,使机器人最终回到的零位位置与预设的理论零位位置更靠近,回零位的精确度更高,提高了机器人的定位准确度。以上所述的仅为本发明的具体实施例,所应理解的是,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,并不用于限定本发明的保护范围,凡在本发明的思想和原则之内所做的任何修改、等同替换等等,均应包含在本发明的保护范围之内。