CN113319853A - 机器人控制方法、装置、电子设备以及机器人系统 - Google Patents
机器人控制方法、装置、电子设备以及机器人系统 Download PDFInfo
- Publication number
- CN113319853A CN113319853A CN202110677898.6A CN202110677898A CN113319853A CN 113319853 A CN113319853 A CN 113319853A CN 202110677898 A CN202110677898 A CN 202110677898A CN 113319853 A CN113319853 A CN 113319853A
- Authority
- CN
- China
- Prior art keywords
- steering engine
- threshold range
- mechanical arm
- current
- value
- 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.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
Abstract
本申请实施例提供一种机器人控制方法、装置、电子设备以及机器人系统,所述方法包括:获取舵机的电流值;检测机械臂是否停止动作;在检测到所述机械臂未停止动作的情况下,判断所述电流值是否处于电流阈值范围,若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作。
Description
技术领域
本申请涉及机器人控制技术领域,特别涉及一种机器人控制方法、装置、电子设备以及机器人系统。
背景技术
现有技术中,机器人如迎宾机器人,通过舵机过热或过流保护的方式对舵机卸力,以保护舵机。然而,当舵机对机器人手臂施加力,使机器人手臂做动作(如迎宾动作)时,若有障碍物或人为阻碍机器人手臂做动作,则在舵机施加的力的作用下,机器人手臂与障碍物或人为阻力之间形成相互作用力,易使机器人手臂或关节损坏。如用户用手拉正在做动作的机器人手臂等,若此时控制舵机卸力,则可能会导致用户因失去支撑力而跌倒,或者被卸力后的机械臂伤到等,存在安全隐患。
发明内容
本申请提供了一种机器人控制方法、装置、电子设备以及机器人系统,若有障碍物或人为阻碍机器人手臂做动作,其能够防止发生机械臂与障碍物或人为阻力之间形成相互作用力的情况,避免损坏机械臂。
第一方面,本申请提供了一种机器人控制方法,应用于机器人系统,所述机器人系统包括舵机以及机械臂,所述方法包括:
获取所述舵机的电流值;
检测所述机械臂是否停止动作;
在检测到所述机械臂未停止动作的情况下,判断所述电流值是否处于电流阈值范围,若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作。
其中一种可能的实现方式中,所述方法还包括:
获取所述舵机的扭力值;
在检测到所述机械臂停止动作的情况下,判断所述扭力值是否处于扭力阈值范围,若所述扭力值不处于所述扭力阈值范围,则控制所述舵机卸力。
其中一种可能的实现方式中,所述舵机包括第一舵机、第二舵机、第三舵机以及第四舵机,所述电流阈值范围包括第一电流阈值范围、第二电流阈值范围、第三电流阈值范围以及第四电流阈值范围,所述若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作,包括:
若满足所述第一舵机的电流值不处于所述第一电流阈值范围、所述第二舵机的电流值不处于所述第二电流阈值范围、所述第三舵机的电流值不处于所述第三电流阈值范围以及所述第四舵机的电流值不处于所述第四电流阈值范围中的至少一种情况,则控制所述机械臂停止动作。
其中一种可能的实现方式中,所述舵机包括第一舵机、第二舵机、第三舵机以及第四舵机,所述扭力阈值范围包括第一扭力阈值范围、第二扭力阈值范围、第三扭力阈值范围以及第四扭力阈值范围,所述若所述扭力值不处于所述扭力阈值范围,则控制所述舵机卸力,包括:
若满足所述第一舵机的扭力值不处于所述第一扭力阈值范围、所述第二舵机的扭力值不处于所述第二扭力阈值范围、所述第三舵机的扭力值不处于所述第三扭力阈值范围以及所述第四舵机的扭力值不处于所述第四扭力阈值范围中的至少一种情况,则控制所述第一舵机、所述第二舵机、所述第三舵机以及所述第四舵机卸力。
其中一种可能的实现方式中,所述方法还包括:
响应于接收到的控制指令,控制所述机械臂执行动作。
其中一种可能的实现方式中,所述检测所述机械臂是否停止动作,包括:
检测所述舵机的转速;
判断所述舵机的转速是否等于零,根据判断结果确定所述机械臂是否停止动作。
第二方面,本申请提供一种机器人控制装置,所述机器人控制装置包括舵机以及机械臂,所述装置包括:
获取模块,用于获取所述舵机的电流值;
检测模块,用于检测所述机械臂是否停止动作;
控制模块,用于在检测到所述机械臂未停止动作的情况下,判断所述电流值是否处于电流阈值范围,若所述电流值不处于所述电流阈值范围,则控制所述舵机停止驱动所述机械臂动作。
第三方面,本申请提供一种机器人系统,所述机器人系统包括:
机械臂;
舵机,用于受控于控制装置,以驱动所述机械臂执行动作;
所述控制装置,包含:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述系统执行时,使得所述系统执行如第一方面所述的方法。
第四方面,本申请提供了一种电子设备,包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如第一方面所述的方法。
第五方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。
第六方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行第一方面所述的方法。
在一种可能的设计中,第六方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
附图说明
图1为本申请机器人控制方法一个实施例的方法示意图;
图2为本申请机器人控制方法一个实施例的流程示意图;
图3为本申请机器人控制方法一个实施例中电流变化示意图;
图4为本申请机器人控制方法一个实施例中不同舵机的电流阈值范围以及扭力阈值范围的示意图;
图5为本申请机器人控制装置一个实施例的结构示意图;
图6为本申请机器人系统一个实施例的结构示意图;
图7为本申请机器人系统一个实施例中多个舵机的结构示意图;
图8为本申请机器人系统一个实施例中的控制逻辑示意图;
图9为本申请电子设备一个实施例的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
现有技术中,机器人如迎宾机器人,通过舵机过热或过流保护的方式对舵机卸力,以保护舵机。然而,当舵机对机器人手臂施加力,使机器人手臂做动作(如迎宾动作)时,若有障碍物或人为阻碍机器人手臂做动作,则在舵机施加的力的作用下,机器人手臂与障碍物或人为阻力之间形成相互作用力,易使机器人手臂或关节损坏。如用户用手拉正在做动作的机器人手臂等,若此时控制舵机卸力,则可能会导致用户因失去支撑力而跌倒,或者被卸力后的机械臂伤到等,存在安全隐患。
为此,本申请提出一种机器人控制方法、装置、电子设备以及机器人系统,若有障碍物或人为阻碍机器人手臂做动作,其能够防止发生机械臂与障碍物或人为阻力之间形成相互作用力的情况,避免损坏机械臂。
举例地,所述机器人控制方法可以应用于机器人系统,如迎宾机器人等,机器人系统可以包括舵机以及机械臂(如双机械臂等,包含左机械臂和右机械臂),舵机用于驱动机械臂执行动作,如机械臂做迎宾动作等。再举例地,迎宾动作可以包括第一动作、第二动作以及第三动作,第一动作用于表示机械臂自然竖直放下;第二动作用于表示双机械臂抬起,作自然交叉状,放在机器人腹部两侧;第三动作用于表示右机械臂抬起向右侧作“请进”动作。
以迎宾机器人的右机械臂(如右手臂)为例,机械臂上可以安装多个舵机,如第一舵机、第二舵机、第三舵机以及第四舵机等,机械臂可以包括肩部、手肘、手肘关节等。第一舵机位于机械臂肩部,用于控制整个机械臂的前后抬起;第二舵机位于肩部,用于控制整个机械臂的上下抬起;第三舵机位于机械臂手肘上方,用于转动机械臂;第四舵机位于手肘关节处,用于控制机械臂手肘转动。
图1为本申请机器人控制方法一个实施例的方法示意图。如图1和图2所示,上述机器人控制方法可以包括:
S101、获取所述舵机的电流值。
举例地,舵机采用非接触式绝对式编码器无刷电机。在步骤S101中,可以通过串口发送检测指令至电机内存地址,以查询得到舵机的电流值、转速或扭力值等。
其中一种可能的实现方式中,所述方法还可以包括:
响应于接收到的控制指令,控制所述机械臂执行动作。
机器人系统以迎宾机器人为例,在接收到控制指令的情况下,控制舵机驱动机械臂执行动作,如迎宾动作等。例如,机器人系统在一定时间间隔内不停地向每个舵机发送指令,使每个舵机不停的配合转动,以驱动机械臂执行迎宾动作。
在步骤S101中,可以实时地获取每个舵机的电流值、转速和/或扭力值等。
需要指出的是,在舵机驱动机械臂执行动作的过程中,若机械臂额外受力(如有障碍物或人为阻碍机械臂动作等),会导致舵机的电流值或扭力值等的大小发生变化。因此,在步骤S101中,可以获取到在发生变化后的舵机的电流值和/或扭力值。
S102、检测所述机械臂是否停止动作。
在舵机驱动机械臂执行动作的过程中,如机械臂执行第二动作,在机械臂作自然交叉状,放在机器人腹部两侧后,所有舵机转速为0,机械臂停止动作(或停止移动等)。如机械臂执行第三动作,第一舵机转速为2000,第三舵机转速为1000,机械臂受舵机控制做动作(或处于移动状态等)。
其中一种可能的实现方式中,步骤S102可以包括:
S201、检测所述舵机的转速;
S202、判断所述舵机的转速是否等于零,根据判断结果确定所述机械臂是否停止动作。
也就是说,在检测到所有舵机的转速为零的情况下,机械臂处于停止动作的状态。在检测到任一个舵机的转速不为零的情况下,机械臂处于做动作(未停止动作)的状态。
S103、在检测到所述机械臂未停止动作的情况下,判断所述电流值是否处于电流阈值范围,若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作。
在步骤S103中,电流阈值范围可以根据舵机驱动机械臂执行动作过程中的电流变化设定。如图3所示,电流阈值范围可以包含最大电流阈值和最小电流阈值,例如,在舵机以不同转速驱动机械臂做动作(如抬起、放下或前后移动等)过程中,舵机的电流变化中的最大电流值用于确定最大电流阈值(如最大电流阈值大于最大电流值),舵机的电流变化中的最小电流值用于确定最小电流阈值(如最小电流阈值小于最小电流值)。
在舵机驱动机械臂执行动作的过程中,若舵机的电流值处于电流阈值范围内(如舵机的电流值小于最大电流阈值,且舵机的电流值大于最小电流阈值),则表示舵机正常驱动机械臂执行动作,无需控制机械臂停止动作。
在舵机驱动机械臂执行动作的过程中(如以竖直方向为0°,舵机驱动机械臂在0-90°之间来回摆动),若机械臂额外受力(如在机械臂向上摆动到70°-80°时,人施加一个阻力,如向下拉机械臂,以阻碍机械臂做动作),导致舵机的电流值不处于电流阈值范围内(如舵机的电流值大于或等于最大电流阈值,或舵机的电流值小于或等于最小电流阈值),则控制舵机停止驱动机械臂执行动作(如控制舵机停止转动等),使机械臂停止动作,以防止机械臂继续做动作,而发生机械臂与障碍物或人为阻力之间形成相互作用力,导致机械臂损坏的情况发生,从而实现对舵机或者机械臂的保护。
值得一提的是,在步骤S103中,在舵机的电流值不处于电流阈值范围的情况下,控制机械臂停止动作,而不是控制舵机卸力,使得舵机仍存在扭力,使得机械臂保持在停止位置上,因此避免了用户因失去支撑力而跌倒,或机械臂对用户造成损伤的情况发生。
其中一种可能的实现方式中,所述方法还包括:
S301、获取所述舵机的扭力值;
S302、在检测到所述机械臂停止动作的情况下,判断所述扭力值是否处于扭力阈值范围,若所述扭力值不处于所述扭力阈值范围,则控制所述舵机卸力。
在步骤S302中,扭力阈值范围可以根据舵机驱动机械臂执行动作过程中的受力变化等设定,受力变化过程受机械臂质量、臂长或静止最大力矩等影响。扭力阈值范围可以包含最大扭力阈值和最小扭力阈值,例如,在舵机以不同转速驱动机械臂做动作(如抬起、放下或前后移动等)过程中,考虑到机械臂的重力,在机械臂抬起或放下的过程中受力大小不同,使得舵机的扭力阈值也不同,如在机械臂抬起过程中受力最大值用于确定舵机的最大扭力阈值,在机械臂放下过程中受力最大值用于确定舵机的最小扭力阈值。
在舵机驱动机械臂停止动作的情况中,若舵机的扭力值处于扭力阈值范围内(如舵机的扭力值小于最大扭力阈值,且舵机的扭力值大于最小扭力阈值),则表示机械臂受力正常,无需控制舵机卸力。
在舵机驱动机械臂停止动作的过程中(如以竖直方向为0°,机械臂停止在70°左右的位置),若机械臂额外受力(如人施加一个阻力,如向下拉机械臂),导致舵机的扭力值不处于扭力阈值范围内(如舵机的扭力值大于或等于最大扭力阈值,或舵机的扭力值小于或等于最小扭力阈值),则控制舵机卸力,使机械臂自然竖直放下,以防止机械臂损坏。
举例地,在步骤S302中,在机械臂抬起并停止动作的情况下,舵机的转速为零,舵机存在扭力(扭力不为零),若人为拉机械臂,使舵机的扭力值不处于扭力阈值范围内,则可以发送卸力指令至舵机,使舵机卸力。如发送卸力指令到舵机的内存地址(如关闭扭矩开关),使舵机关闭扭矩,使得舵机施加扭力为零,舵机可自由转动,因此,人为施力不与机械臂形成相互作用力,以达到保护机械臂的效果。
其中一种可能的实现方式中,所述电流阈值范围包括第一电流阈值范围、第二电流阈值范围、第三电流阈值范围以及第四电流阈值范围,步骤S103可以包括:
若满足所述第一舵机的电流值不处于所述第一电流阈值范围、所述第二舵机的电流值不处于所述第二电流阈值范围、所述第三舵机的电流值不处于所述第三电流阈值范围以及所述第四舵机的电流值不处于所述第四电流阈值范围中的至少一种情况,则控制所述机械臂停止动作。
由于各个舵机的安装位置不同,每个舵机所对应的电流阈值范围也不同。例如,如图4所示,第一舵机对应的第一电流阈值范围为-450/mAh至+450/mAh,第二舵机对应的第二电流阈值范围为-350/mAh至+350/mAh,第三舵机对应的第三电流阈值范围为-300/mAh至+300/mAh,第四舵机对应的第四电流阈值范围为-300/mAh至+300/mAh。
当检测到任一个舵机的电流值不处于其对应的电流阈值范围的情况下,控制所有舵机停止驱动机械臂动作,如控制所有舵机的转速为零,并保持所有舵机存在扭力,使得整个机械臂保存在停止位置上。
其中一种可能的实现方式中,所述扭力阈值范围包括第一扭力阈值范围、第二扭力阈值范围、第三扭力阈值范围以及第四扭力阈值范围,步骤S302可以包括:
若满足所述第一舵机的扭力值不处于所述第一扭力阈值范围、所述第二舵机的扭力值不处于所述第二扭力阈值范围、所述第三舵机的扭力值不处于所述第三扭力阈值范围以及所述第四舵机的扭力值不处于所述第四扭力阈值范围中的至少一种情况,则控制所述第一舵机、所述第二舵机、所述第三舵机以及所述第四舵机卸力。
由于各个舵机的安装位置不同,每个舵机所对应的扭力阈值范围也不同。例如,如图4所示,以机械臂抬起方向为正,机械臂放下方向为负,第一舵机对应的第一扭力阈值范围为-120/Ncm至+400/Ncm,第二舵机对应的第二扭力阈值范围为-170/Ncm至+350/Ncm,第三舵机对应的第三扭力阈值范围为-200/Ncm至+188/Ncm,第四舵机对应的第四扭力阈值范围为-200/Ncm至+196/Ncm。
当检测到任一个舵机的扭力值不处于其对应的扭力阈值范围的情况下,控制所有舵机卸力,如控制所有舵机的扭力为零,使得整个机械臂自然竖直放下。
举例地,在接收到控制指令后,控制舵机驱动机械臂执行动作,在机械臂执行抬起作请进动作的过程中,检测到第三舵机的转速为1000,第一舵机的转速为2000。若人为向下拉机械臂,检测到第三舵机或第四舵机的电流值小于-300/mAh(不处于电流阈值范围内),则发送停止动作指令至所有舵机,使每个舵机停止转动,并且保持机械臂不动。
再举例地,在接收到控制指令后,控制舵机驱动机械臂执行动作,在机械臂停止在腹部两侧(停止动作)的情况下,检测到所有舵机的转速为0,第四舵机的扭力为60/Ncm。若人为向下拉机械臂,检测到第四舵机的扭力值大于300/Ncm(不处于扭力阈值范围内),则发送卸力指令至所有舵机,使每个舵机卸力,使机械臂自然竖直放下。
可以理解的是,上述实施例中的部分或全部步骤骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
图5所示为本申请机器人控制装置100一个实施例的结构示意图。如图5所示,上述机器人控制装置100包括舵机以及机械臂,所述装置100包括:
获取模块10,用于获取所述舵机的电流值;
检测模块20,用于检测所述机械臂是否停止动作;
控制模块30,用于在检测到所述机械臂未停止动作的情况下,判断所述电流值是否处于电流阈值范围,若所述电流值不处于所述电流阈值范围,则控制所述舵机停止驱动所述机械臂动作。
其中一种可能的实现方式中,
获取模块10,还用于获取所述舵机的扭力值;
控制模块30,还用于在检测到所述机械臂停止动作的情况下,判断所述扭力值是否处于扭力阈值范围,若所述扭力值不处于所述扭力阈值范围,则控制所述舵机卸力。
其中一种可能的实现方式中,所述舵机包括第一舵机、第二舵机、第三舵机以及第四舵机,所述电流阈值范围包括第一电流阈值范围、第二电流阈值范围、第三电流阈值范围以及第四电流阈值范围,所述控制模块30还用于:
若满足所述第一舵机的电流值不处于所述第一电流阈值范围、所述第二舵机的电流值不处于所述第二电流阈值范围、所述第三舵机的电流值不处于所述第三电流阈值范围以及所述第四舵机的电流值不处于所述第四电流阈值范围中的至少一种情况,则控制所述机械臂停止动作。
其中一种可能的实现方式中,所述舵机包括第一舵机、第二舵机、第三舵机以及第四舵机,所述扭力阈值范围包括第一扭力阈值范围、第二扭力阈值范围、第三扭力阈值范围以及第四扭力阈值范围,所述控制模块30还用于:
若满足所述第一舵机的扭力值不处于所述第一扭力阈值范围、所述第二舵机的扭力值不处于所述第二扭力阈值范围、所述第三舵机的扭力值不处于所述第三扭力阈值范围以及所述第四舵机的扭力值不处于所述第四扭力阈值范围中的至少一种情况,则控制所述第一舵机、所述第二舵机、所述第三舵机以及所述第四舵机卸力。
其中一种可能的实现方式中,所述控制模块30还用于:
响应于接收到的控制指令,控制所述机械臂执行动作。
其中一种可能的实现方式中,所述检测模块20还用于:
检测所述舵机的转速;
判断所述舵机的转速是否等于零,根据判断结果确定所述机械臂是否停止动作。
可以理解的是,图5所示实施例提供的机器人控制装置可用于执行本申请图1所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
应理解以上图5所示的机器人控制装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,控制模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。
图6为本申请机器人系统200一个实施例的结构示意图。如图6所示,机器人系统200可以包括机械臂210;控制装置220;舵机230,用于受控于控制装置,以驱动所述机械臂执行动作。
所述控制装置220,包含:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述系统执行时,使得所述系统执行以下步骤;
获取所述舵机的电流值;
检测所述机械臂是否停止动作;
在检测到所述机械臂未停止动作的情况下,判断所述电流值是否处于电流阈值范围,若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统还执行:
获取所述舵机的扭力值;
在检测到所述机械臂停止动作的情况下,判断所述扭力值是否处于扭力阈值范围,若所述扭力值不处于所述扭力阈值范围,则控制所述舵机卸力。
其中一种可能的实现方式中,所述舵机包括第一舵机、第二舵机、第三舵机以及第四舵机,所述电流阈值范围包括第一电流阈值范围、第二电流阈值范围、第三电流阈值范围以及第四电流阈值范围,当所述指令被所述系统执行时,使得所述系统执行所述若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作,包括:
若满足所述第一舵机的电流值不处于所述第一电流阈值范围、所述第二舵机的电流值不处于所述第二电流阈值范围、所述第三舵机的电流值不处于所述第三电流阈值范围以及所述第四舵机的电流值不处于所述第四电流阈值范围中的至少一种情况,则控制所述机械臂停止动作。
其中一种可能的实现方式中,所述舵机包括第一舵机、第二舵机、第三舵机以及第四舵机,所述扭力阈值范围包括第一扭力阈值范围、第二扭力阈值范围、第三扭力阈值范围以及第四扭力阈值范围,当所述指令被所述系统执行时,使得所述系统执行所述若所述扭力值不处于所述扭力阈值范围,则控制所述舵机卸力,包括:
若满足所述第一舵机的扭力值不处于所述第一扭力阈值范围、所述第二舵机的扭力值不处于所述第二扭力阈值范围、所述第三舵机的扭力值不处于所述第三扭力阈值范围以及所述第四舵机的扭力值不处于所述第四扭力阈值范围中的至少一种情况,则控制所述第一舵机、所述第二舵机、所述第三舵机以及所述第四舵机卸力。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统还执行:
响应于接收到的控制指令,控制所述机械臂执行动作。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行所述检测所述机械臂是否停止动作,包括:
检测所述舵机的转速;
判断所述舵机的转速是否等于零,根据判断结果确定所述机械臂是否停止动作。
也就是说,所述机器人系统200可以用于执行如图1所示实施例的机器人控制方法,其功能或原理可以参考上述图1所示实施例的机器人控制方法,在此不再赘述。
举例地,机械人系统可以包括迎宾机器人,舵机用于驱动机械臂执行动作,如机械臂做迎宾动作等。再举例地,迎宾动作可以包括第一动作、第二动作以及第三动作,第一动作用于表示机械臂自然竖直放下;第二动作用于表示双机械臂抬起,作自然交叉状,放在机器人腹部两侧;第三动作用于表示右机械臂抬起向右侧作“请进”动作。
如图7所示,以迎宾机器人的右机械臂(如右手臂)为例,机械臂上可以安装多个舵机,如第一舵机、第二舵机、第三舵机以及第四舵机等,第一舵机、第二舵机、第三舵机以及第四舵机依次连接。第一舵机位于机械臂肩部,用于控制整个机械臂的前后抬起;第二舵机位于肩部,用于控制整个机械臂的上下抬起;第三舵机位于机械臂手肘上方,用于转动机械臂;第四舵机位于手肘关节处,用于控制机械臂手肘转动。
如图8所示,控制装置还可以具有通信功能,用于与上位机通讯(如485通讯等),控制装置用于接收由上位机发送的控制指令,并响应于接收到的控制指令,修改舵机内存(如舵机位置、扭矩开关、舵机电流值、扭力值等),以控制舵机驱动机械臂执行动作。
举例地,在接收到控制指令后,控制装置220控制舵机驱动机械臂执行动作,在机械臂执行抬起作请进动作的过程中,检测到第三舵机的转速为1000,第一舵机的转速为2000。若人为向下拉机械臂,检测到第三舵机或第四舵机的电流值小于-300/mAh(不处于电流阈值范围内),则发送停止动作指令至所有舵机,使每个舵机停止转动,并且保持机械臂不动。
再举例地,在接收到控制指令后,控制装置220控制舵机驱动机械臂执行动作,在机械臂停止在腹部两侧(停止动作)的情况下,检测到所有舵机的转速为0,第四舵机的扭力为60/Ncm。若人为向下拉机械臂,检测到第四舵机的扭力值大于300/Ncm(不处于扭力阈值范围内),则发送卸力指令至所有舵机,使每个舵机卸力,使机械臂自然竖直放下。
应理解,本实施例机器人系统200可以包括其他不同类型的操作机构,以受控于所述控制装置,执行不同的操作,在此不受限制。
应理解,控制装置可以被实施为控制电路,控制装置中的处理器可以是片上系统SOC,该处理器中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等。
图9为本申请电子设备一个实施例的结构示意图,如图9所示,上述电子设备可以包括:一个或多个处理器;存储器;以及一个或多个计算机程序。
其中,上述电子设备可以为机器人,如迎宾机器人等,机器人中可以包含舵机以及机械臂。
其中上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行以下步骤:
获取所述舵机的电流值;
检测所述机械臂是否停止动作;
在检测到所述机械臂未停止动作的情况下,判断所述电流值是否处于电流阈值范围,若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作。
其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备还执行:
获取所述舵机的扭力值;
在检测到所述机械臂停止动作的情况下,判断所述扭力值是否处于扭力阈值范围,若所述扭力值不处于所述扭力阈值范围,则控制所述舵机卸力。
其中一种可能的实现方式中,所述舵机包括第一舵机、第二舵机、第三舵机以及第四舵机,所述电流阈值范围包括第一电流阈值范围、第二电流阈值范围、第三电流阈值范围以及第四电流阈值范围,当上述指令被上述设备执行时,使得上述设备执行所述若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作,包括:
若满足所述第一舵机的电流值不处于所述第一电流阈值范围、所述第二舵机的电流值不处于所述第二电流阈值范围、所述第三舵机的电流值不处于所述第三电流阈值范围以及所述第四舵机的电流值不处于所述第四电流阈值范围中的至少一种情况,则控制所述机械臂停止动作。
其中一种可能的实现方式中,所述舵机包括第一舵机、第二舵机、第三舵机以及第四舵机,所述扭力阈值范围包括第一扭力阈值范围、第二扭力阈值范围、第三扭力阈值范围以及第四扭力阈值范围,当上述指令被上述设备执行时,使得上述设备执行所述若所述扭力值不处于所述扭力阈值范围,则控制所述舵机卸力,包括:
若满足所述第一舵机的扭力值不处于所述第一扭力阈值范围、所述第二舵机的扭力值不处于所述第二扭力阈值范围、所述第三舵机的扭力值不处于所述第三扭力阈值范围以及所述第四舵机的扭力值不处于所述第四扭力阈值范围中的至少一种情况,则控制所述第一舵机、所述第二舵机、所述第三舵机以及所述第四舵机卸力。
其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备还执行:
响应于接收到的控制指令,控制所述机械臂执行动作。
其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备执行所述检测所述机械臂是否停止动作,包括:
检测所述舵机的转速;
判断所述舵机的转速是否等于零,根据判断结果确定所述机械臂是否停止动作。
图9所示的电子设备可以用于执行如图1所示实施例的机器人控制方法,其功能或原理可以参考上述图1所示实施例的机器人控制方法,在此不再赘述。
如图9所示,电子设备900包括处理器910和存储器920。其中,处理器910和存储器920之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器920用于存储计算机程序,该处理器910用于从该存储器920中调用并运行该计算机程序。
上述存储器920可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
上述处理器910可以和存储器920可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器920中存储的程序代码来实现上述功能。具体实现时,该存储器920也可以集成在处理器910中,或者,独立于处理器910。
除此之外,为了使得电子设备900的功能更加完善,该电子设备900还可以包括摄像头930、电源940、输入单元950等中的一个或多个。
可选地,电源950用于给电子设备中的各种器件或电路提供电源。
应理解,图9所示的电子设备900能够实现本申请图1所示实施例提供的方法的各个过程。电子设备900中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见本申请图1所示方法实施例中的描述,为避免重复,此处适当省略详细描述。
应理解,图9所示的电子设备900中的处理器910可以是片上系统SOC,该处理器910中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等。
总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器920中。
本申请还提供一种电子设备,所述设备包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现本申请图1所示实施例提供的方法。
以上各实施例中,涉及的处理器可以例如包括CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units;以下简称:NPU)和图像信号处理器(Image Signal Processing;以下简称:ISP),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请图1所示实施例提供的方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请图1所示实施例提供的方法。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种机器人控制方法,应用于机器人系统,所述机器人系统包括舵机以及机械臂,其特征在于,所述方法包括:
获取所述舵机的电流值;
检测所述机械臂是否停止动作;
在检测到所述机械臂未停止动作的情况下,判断所述电流值是否处于电流阈值范围,若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述舵机的扭力值;
在检测到所述机械臂停止动作的情况下,判断所述扭力值是否处于扭力阈值范围,若所述扭力值不处于所述扭力阈值范围,则控制所述舵机卸力。
3.根据权利要求1所述的方法,其特征在于,所述舵机包括第一舵机、第二舵机、第三舵机以及第四舵机,所述电流阈值范围包括第一电流阈值范围、第二电流阈值范围、第三电流阈值范围以及第四电流阈值范围,所述若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作,包括:
若满足所述第一舵机的电流值不处于所述第一电流阈值范围、所述第二舵机的电流值不处于所述第二电流阈值范围、所述第三舵机的电流值不处于所述第三电流阈值范围以及所述第四舵机的电流值不处于所述第四电流阈值范围中的至少一种情况,则控制所述机械臂停止动作。
4.根据权利要求2所述的方法,其特征在于,所述舵机包括第一舵机、第二舵机、第三舵机以及第四舵机,所述扭力阈值范围包括第一扭力阈值范围、第二扭力阈值范围、第三扭力阈值范围以及第四扭力阈值范围,所述若所述扭力值不处于所述扭力阈值范围,则控制所述舵机卸力,包括:
若满足所述第一舵机的扭力值不处于所述第一扭力阈值范围、所述第二舵机的扭力值不处于所述第二扭力阈值范围、所述第三舵机的扭力值不处于所述第三扭力阈值范围以及所述第四舵机的扭力值不处于所述第四扭力阈值范围中的至少一种情况,则控制所述第一舵机、所述第二舵机、所述第三舵机以及所述第四舵机卸力。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
响应于接收到的控制指令,控制所述机械臂执行动作。
6.根据权利要求5所述的方法,其特征在于,所述检测所述机械臂是否停止动作,包括:
检测所述舵机的转速;
判断所述舵机的转速是否等于零,根据判断结果确定所述机械臂是否停止动作。
7.一种机器人控制装置,所述机器人控制装置包括舵机以及机械臂,其特征在于,所述装置包括:
获取模块,用于获取所述舵机的电流值;
检测模块,用于检测所述机械臂是否停止动作;
控制模块,用于在检测到所述机械臂未停止动作的情况下,判断所述电流值是否处于电流阈值范围,若所述电流值不处于所述电流阈值范围,则控制所述机械臂停止动作。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1至6任一项所述的方法。
10.一种机器人系统,其特征在于,包括:
机械臂;
舵机,用于受控于控制装置,以驱动所述机械臂执行动作;
所述控制装置,包含:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述系统执行时,使得所述系统执行如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677898.6A CN113319853B (zh) | 2021-06-18 | 2021-06-18 | 机器人控制方法、装置、电子设备以及机器人系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677898.6A CN113319853B (zh) | 2021-06-18 | 2021-06-18 | 机器人控制方法、装置、电子设备以及机器人系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113319853A true CN113319853A (zh) | 2021-08-31 |
CN113319853B CN113319853B (zh) | 2022-11-22 |
Family
ID=77423830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110677898.6A Active CN113319853B (zh) | 2021-06-18 | 2021-06-18 | 机器人控制方法、装置、电子设备以及机器人系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113319853B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113894797A (zh) * | 2021-11-25 | 2022-01-07 | 乐聚(深圳)机器人技术有限公司 | 基于动态电流检测的机器人保护控制方法、装置、设备及存储介质 |
WO2024066063A1 (zh) * | 2022-09-30 | 2024-04-04 | 深圳市越疆科技有限公司 | 协作机械臂及其运动控制方法、碰撞检测方法、控制系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107775639A (zh) * | 2017-10-26 | 2018-03-09 | 广州市敏嘉机器人技术有限公司 | 一种基于电流法的机器人防碰撞方法与系统 |
CN107813345A (zh) * | 2017-11-28 | 2018-03-20 | 广东省智能制造研究所 | 机器人碰撞检测方法及装置 |
US20180311836A1 (en) * | 2015-10-30 | 2018-11-01 | Kawasaki Jukogyo Kabushiki Kaisha | Monitoring device of robot system |
US20200338735A1 (en) * | 2019-04-28 | 2020-10-29 | Xi'an Jiaotong University | Sensorless Collision Detection Method Of Robotic Arm Based On Motor Current |
CN112405524A (zh) * | 2020-10-20 | 2021-02-26 | 深圳拓邦股份有限公司 | 机器人碰撞检测方法、装置及机器人 |
-
2021
- 2021-06-18 CN CN202110677898.6A patent/CN113319853B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180311836A1 (en) * | 2015-10-30 | 2018-11-01 | Kawasaki Jukogyo Kabushiki Kaisha | Monitoring device of robot system |
CN107775639A (zh) * | 2017-10-26 | 2018-03-09 | 广州市敏嘉机器人技术有限公司 | 一种基于电流法的机器人防碰撞方法与系统 |
CN107813345A (zh) * | 2017-11-28 | 2018-03-20 | 广东省智能制造研究所 | 机器人碰撞检测方法及装置 |
US20200338735A1 (en) * | 2019-04-28 | 2020-10-29 | Xi'an Jiaotong University | Sensorless Collision Detection Method Of Robotic Arm Based On Motor Current |
CN112405524A (zh) * | 2020-10-20 | 2021-02-26 | 深圳拓邦股份有限公司 | 机器人碰撞检测方法、装置及机器人 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113894797A (zh) * | 2021-11-25 | 2022-01-07 | 乐聚(深圳)机器人技术有限公司 | 基于动态电流检测的机器人保护控制方法、装置、设备及存储介质 |
WO2024066063A1 (zh) * | 2022-09-30 | 2024-04-04 | 深圳市越疆科技有限公司 | 协作机械臂及其运动控制方法、碰撞检测方法、控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113319853B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113319853B (zh) | 机器人控制方法、装置、电子设备以及机器人系统 | |
CN109463979B (zh) | 一种炒菜机的控制方法和炒菜机 | |
CN110000815B (zh) | 一种碰撞检测方法、装置、电子设备及存储介质 | |
JP2011067017A (ja) | ロボット制御装置および制御方法 | |
JP6690626B2 (ja) | ロボットシステムおよびロボットの退避方法 | |
US9274516B2 (en) | Collision detection method for a drive unit | |
CN106272408A (zh) | 将机器人的控制器切换至手动引导运行模式的方法 | |
JP2010137312A5 (zh) | ||
CN104755233B (zh) | 用于控制机器人的方法和机器人驱动单元 | |
US11345025B2 (en) | Robot controlling method, system and warehouse-transport robot | |
JP6975632B2 (ja) | 半導体装置及びその回転異常検出方法 | |
CN104622407B (zh) | 一种洗碗机及其洗涤控制方法和系统 | |
CN109968377A (zh) | 机器人控制系统和控制机器人的方法 | |
CN111240311A (zh) | 扫地机器人的遇障处理方法、装置、设备及可读存储介质 | |
CN108161939B (zh) | 一种机械臂的柔性避障方法、系统及终端设备 | |
JPH033687A (ja) | サーボモータにより駆動される被駆動体の衝突破損防止方法 | |
JP2009538114A5 (zh) | ||
JP2022527059A (ja) | 衝突検出 | |
JP2012055981A (ja) | ロボット制御装置およびロボット制御方法 | |
JP7168011B2 (ja) | 動作モデル算出装置、制御装置、関節機構、動作モデル算出方法、プログラム | |
CN111891275A (zh) | 平衡车安全控制方法和装置 | |
JP2000166275A (ja) | 電流リプル検出によるサーボ制御装置 | |
JP6763286B2 (ja) | モータ制御システム | |
US20150012133A1 (en) | Working robot and robot system | |
CN110290901A (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 |