WO2020155178A1 - 机器人示教编程的方法和装置、机器人控制器和计算机可读介质 - Google Patents
机器人示教编程的方法和装置、机器人控制器和计算机可读介质 Download PDFInfo
- Publication number
- WO2020155178A1 WO2020155178A1 PCT/CN2019/074695 CN2019074695W WO2020155178A1 WO 2020155178 A1 WO2020155178 A1 WO 2020155178A1 CN 2019074695 W CN2019074695 W CN 2019074695W WO 2020155178 A1 WO2020155178 A1 WO 2020155178A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- end effector
- angle
- target
- target angle
- adjusted
- Prior art date
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
Definitions
- the invention relates to the technical field of robot teaching and programming, in particular to a robot teaching and programming method and device, as well as a robot controller and a computer readable medium.
- Robots are increasingly widespread in industrial workshops and factories.
- the actions of the robot are completed under program control, and there are currently two main technologies for robot programming: teach-in technologies and offline programming technologies.
- robot arm robot arm or manipulator
- the data on how the user controls is recorded by the controller of the robot.
- the robot repeats these actions based on the recorded data.
- step S201 the user drags the robotic arm 20 (for example, drags the end 201 of the robotic arm 20) so that the end effector 202 is moved to the target Position 401 (such as the top center of a workpiece 70), or use a robot teaching programming device 60 (such as a teaching pendant or other auxiliary tools) to control the movement of the robot arm 20 through the controller 50, and then move the end effector 202 To the target location 401.
- the target Position 401 such as the top center of a workpiece 70
- a robot teaching programming device 60 such as a teaching pendant or other auxiliary tools
- step S202 the user 10 uses the robot teaching and programming device 60 or other auxiliary tools to adjust the angle of the end effector 202.
- step S203 the user 10 determines whether the target angle 402 has been adjusted. If the target angle 402 has been adjusted (Y), the teaching process ends; if the target angle 402 (N) has not been adjusted, then return to step S201.
- the adjustment of the angle usually takes a lot of time, and the user often needs many attempts to adjust to the target angle 402, and the adjustment of the angle may also lead to the adjustment of the position of the end effector 202, from It can be seen from FIG. 2 that steps S201 to S203 are often repeated multiple times. In addition, sometimes the user needs to be very close to the robot or even enter between the mechanical equipment to adjust the angle, which also poses a threat to the user's personal safety.
- a method and device for teaching and programming of a robot are used to quickly and accurately adjust the end effector connected to the robot arm during the teaching and programming process of the robot arm Target angle.
- a method for teaching and programming a robot is provided.
- the method can be executed by a controller of a robotic arm, where the controller drives the robotic arm to move the end effector connected to the robotic arm to a target position, and then determines the target angle to which the end effector needs to be adjusted, and then The mechanical arm is driven so that the angle is adjusted to the target angle under the condition that the position of the end effector remains unchanged.
- the controller first determines the target angle to which the end effector connected to a robotic arm needs to be adjusted, and then drives the robotic arm to adjust the angle of the end effector to the target angle; and then drives the robotic arm so that The end effector moves to a target position without changing the angle.
- another method of robot teaching and programming is provided, which can be executed by a robot teaching and programming device, wherein the robot teaching and programming device controls a robot arm to move the end effector connected to the robot arm to A target position; then determine the target angle to which the end effector needs to be adjusted; and then send the determined target angle to the controller of the robotic arm. Furthermore, the controller controls the mechanical arm so that the angle is adjusted to the target angle when the position of the end effector remains unchanged. Or, the robot teaching and programming device determines the target angle to which the end effector connected to a robot arm needs to be adjusted; then sends the determined target angle to the controller of the robot arm, where the controller drives the robot arm. The mechanical arm adjusts the angle of the end effector to the target angle, and moves to the target position without changing the angle of the end effector.
- a controller including: a driving module for driving a robotic arm to move an end effector connected to the robotic arm to a target position; and a processing module for determining the end effector The target angle to which the actuator needs to be adjusted; the driving module is also used to drive the mechanical arm so that the angle is adjusted to the target angle when the position of the end effector remains unchanged.
- the processing module is used to determine the target angle to which the end effector connected to a mechanical arm needs to be adjusted; the driving module is used to drive the mechanical arm to adjust the angle of the end effector to the desired angle. The target angle, and driving the mechanical arm so that the end effector moves to a target position without changing the angle.
- a robot teaching and programming device including: a control module for controlling a robotic arm to move an end effector connected to the robotic arm to a target position; and a processing module for determining The target angle to which the end effector needs to be adjusted; a sending module for sending the target angle determined by the processing module to the controller of the robotic arm, wherein the controller controls the robotic arm so that The angle is adjusted to the target angle when the position of the end effector is unchanged.
- the processing module is used to determine the target angle to which the end effector connected to a mechanical arm needs to be adjusted; the sending module is used to send the target angle determined by the processing module to the mechanical arm The controller, wherein the controller drives the mechanical arm to adjust the angle of the end effector to the target angle, and moves to the target position without the angle of the end effector .
- a robot control device including: at least one memory for storing computer-readable codes; at least one processor for executing the computer-readable codes stored in the memory and executing the aforementioned first The method of the aspect or the second aspect.
- a computer-readable medium stores computer-readable code, and when the computer-readable code is executed by at least one processor, it executes the aforementioned first or second aspect. method.
- the target angle to be adjusted by the robot arm is preset, and when the target angle and target position are determined, the robot arm is driven to move automatically to adjust to the target angle. Avoid the reciprocation in the previous adjustment process, and improve the efficiency of the robot arm teaching.
- the angle set by the user is used as the target angle to which the end effector needs to be adjusted; or the end effector is to be operated and the position of the workpiece to be operated is determined.
- the target angle to which the end effector needs to be adjusted Achieved the determination of the target angle.
- the target position is determined according to the operation to be performed by the end effector and the pose of the workpiece to be operated. Achieve the determination of the target location.
- Figure 1 is a schematic diagram of the robot teaching and programming process.
- Figure 2 shows the current flow of common robot teaching programming.
- 3 to 8 are flowcharts of various robot teaching and programming methods provided by embodiments of the present invention.
- FIG. 9 is a schematic structural diagram of a controller of a robotic arm provided by various embodiments of the invention.
- FIG. 10 is a schematic structural diagram of a robot teaching and programming device provided by various embodiments of the present invention.
- Fig. 11 is a schematic structural diagram of a robot control device provided by various embodiments of the present invention.
- the controller 50 drives the robotic arm 20 to move the end effector 202 to a target position 401
- the controller 50 determines the target angle to which the end effector 202 needs to be adjusted 402
- the controller 50 drives the mechanical arm 20 to adjust the angle to the target angle 402 when the position of the end effector 202 remains unchanged
- the controller 50 determines the target angle to which the end effector 202 needs to be adjusted 402
- the controller 50 drives the robotic arm 20 to adjust the angle of the end effector 202 to the target angle 402
- the controller 50 drives the robotic arm 20 so that the end effector 202 moves to the target position 401 without changing the angle
- the robot teaching and programming device 60 controls the robot arm 20 to move the end effector 202 to the target position 401
- the robot teaching and programming device 60 determines the target angle 402 to which the end effector 202 needs to be adjusted
- the robot teaching and programming device 60 sends the determined target angle 402 to the controller 50 of the robot arm 20
- the robot teaching and programming device 60 determines the target angle 402 to which the end effector 202 needs to be adjusted
- the robot teaching and programming device 60 sends the determined target angle 402 to the controller 50 of the robot arm 20
- Processing module 603 Sending module 80: Robot control device
- Memory 801 Memory 802: Processor
- the process of adjusting the angle of the robotic arm is time-consuming, and it often takes many attempts to adjust to the target angle.
- the target angle to be adjusted by the mechanical arm is preset, and when the target angle and the target position are determined, the mechanical arm is driven to automatically move to adjust to the target angle. Avoid the reciprocation in the previous adjustment process, and improve the efficiency of the robot arm teaching.
- 3 to 8 are flowcharts of various robot teaching and programming methods provided by embodiments of the present invention.
- the process shown in Figure 3 may include the following steps:
- S302 Determine the target angle 402 to which the end effector 202 needs to be adjusted.
- FIG. 3 may include but is not limited to the following two:
- Method 1 User 10 drags the robotic arm 20 and sets the angle
- the user 10 can drag the end effector 202 by hand to move it to the target position 401.
- the robot arm 20 may be provided with a control structure that is convenient for the user 10 to operate.
- the control mechanism may be provided on the end 201 of the robot arm 20 for the user 10 to operate, and the control structure is connected to the controller 50.
- the control structure can be operated, and the controller 50 connected to the control mechanism receives a position confirmation signal indicating that the end effector 202 has moved to the target position 401 .
- the user 10 can set the target angle 402 through the robot teaching and programming device 60 and confirm the set target angle 402.
- the controller 50 controls the manipulator 20 to adjust the angle to the target angle 402 without the position of the end effector 202 unchanged.
- Method 2 The user 10 operates the robot teaching and programming device 60 to move the end effector 202 and set the angle
- step S301 the user 10 can operate on the robot teaching and programming device 60 to move the end effector 202 to the target position 401.
- step S302 the user 10 inputs the target angle 402 on the robot teaching and programming device 60.
- step S303 after receiving the target angle 402, the controller 50 determines that the end effector 202 has reached the target position 401, and controls the robotic arm 20 so that the position of the end effector 202 remains unchanged.
- the process shown in Figure 4 may include the following steps:
- FIG. 4 may also include but not limited to the following two:
- Method 1 User 10 sets the angle and drags the end effector 202
- step S401 the user 10 can set the target angle 402 through the robot teaching and programming device 60 and confirm it.
- step S402 after receiving the angle confirmation signal for confirming the target angle 402 and the target angle 402, the controller 50 controls the manipulator 20 to adjust the angle to the target angle 402 without the position of the end effector 202 unchanged.
- step S403 the user 10 can drag the end effector 202 by hand to move it to the target position 401. During the drag process, the controller 50 controls the robot arm 20 so that the angle of the end effector 202 does not change.
- Method 2 The user 10 operates the robot teaching and programming device 60 to set the angle and move the end effector 202
- step S401 the user 10 can input the target angle 402 on the robot teaching and programming device 60.
- step S402 after receiving the target angle 402, the controller 50 controls the robot arm 20 to adjust the end effector 202 to the target angle 402.
- step S403 the user 10 operates the robot arm 20 on the robot teaching and programming device 60 so that the end effector 202 is moved to the target position 401.
- the controller 50 controls the robot arm 20 so that the angle of the end effector 202 does not change.
- FIGS. 5 to 8 show the processing procedures of the controller 50 in the flow shown in Figure 3;
- Figure 6 shows the processing process of the controller 50 in the flow shown in Figure 4;
- Figure 7 shows the robot teaching programming The processing procedure of the device 60 in the flow shown in FIG. 3;
- FIG. 8 shows the processing procedure of the robot teaching and programming device 60 in the flow shown in FIG. 4.
- the process shown in Figure 5 may include the following steps:
- the controller 50 drives the robot arm 20 to move the end effector 202 to a target position 401.
- the controller 50 determines the target angle 402 to which the end effector 202 needs to be adjusted.
- the controller 50 drives the mechanical arm 20 to adjust the angle to the target angle 402 when the position of the end effector 202 remains unchanged.
- step S501 the controller 50 can drive the movement of the manipulator 20 under the drag of the user 10 (as shown in the first mode in the flow of FIG. 3), or drive the manipulator 20 under the control of the robot teaching and programming device 60 Move (the second method in the process shown in Figure 3).
- step S502 the controller 50 receives the target angle 402 set by the user 10 through the robot teaching and programming device 60.
- step S503 the controller 50 drives the robot arm 20 to adjust the angle to the target angle 402 when the position of the end effector 202 does not change.
- the process shown in Figure 6 may include the following steps:
- the controller 50 determines the target angle 402 to which the end effector 202 needs to be adjusted.
- the controller 50 drives the robot arm 20 to adjust the angle of the end effector 202 to the target angle 402.
- the controller 50 drives the robot arm 20 so that the end effector 202 moves to the target position 401 under the condition that the angle remains unchanged.
- step S601 the controller 50 receives the target angle 402 set by the user 10 through the robot teaching and programming device 60.
- step S602 the controller 50 drives the robot arm 20 so that the angle of the end effector 202 is adjusted to the target angle 402.
- step S603 the controller 50 can drive the movement of the manipulator 20 under the drag of the user 10 (as shown in the first mode in the flow of FIG. 5), or drive the manipulator 20 under the control of the robot teaching and programming device 60 (Method 2 in the process shown in FIG. 5), so that the end effector 202 is moved to the target position 401 without the angle of the end effector.
- the process shown in Figure 7 may include the following steps:
- the robot teaching and programming device 60 controls the robot arm 20 to move the end effector 202 to the target position 401.
- the robot teaching and programming device 60 determines the target angle 402 to which the end effector 202 needs to be adjusted.
- the robot teaching and programming device 60 sends the determined target angle 402 to the controller 50 of the robot arm 20.
- step S701 the robot teaching and programming device 60 controls the movement of the robot arm 20 under the operation of the user 10.
- step S702 the robot teaching and programming device 60 determines the angle input by the user 10 as the target angle 402 to which the end effector 202 needs to be adjusted.
- step S703 the robot teaching and programming device 60 sends the target angle 402 to the controller 50. Then, the controller 50 controls the robot arm 20 so that the angle of the end effector 202 is adjusted to the target angle 402 when the position is unchanged.
- the process shown in Figure 8 may include the following steps:
- the robot teaching and programming device 60 determines the target angle 402 to which the end effector 202 needs to be adjusted.
- the robot teaching and programming device 60 sends the determined target angle 402 to the controller 50 of the robot arm 20.
- step S801 the robot teaching and programming device 60 determines the angle input by the user 10 as the target angle 402 to which the end effector 202 needs to be adjusted.
- step S802 the robot teaching and programming device 60 sends the target angle 402 to the controller 50.
- the controller 50 drives the robot arm 20 so that the end effector 202 is moved to the target position 401 with the same angle.
- the user 10 operates the robot teaching and programming device 60, and under the control of the robot teaching and programming device 60, the controller 50 drives the robot arm 20 so that the end effector 202 is moved to the target position 401 with the same angle.
- the target position 401 and the target angle 402 may refer to the coordinate system of the workpiece 70 to be processed or the coordinate system of the robot arm 20.
- the coordinate system of the workpiece 70 is taken as an example to describe the method of calculating the angle of the end effector 202 by the controller 50 of the robot arm 20 in the above process.
- the controller 50 continuously adjusts the angle of the end effector 202 to reach the target angle 402.
- the controller 50 can use the following Jacbian Marix to calculate the angle or position q i to which each joint (joint 1, 2,...i,...,n) needs to be adjusted, so that the end effector 202 can be adjusted to Target angle 402 and target position 401:
- Fig. 9 is a schematic structural diagram of a robot arm controller provided by various embodiments of the present invention.
- the controller 50 may include a processing module 502, which is used to perform the processing operations of the controller in the foregoing process steps, such as: determining the target angle 402 to which the end effector 202 needs to be adjusted, and the end effector 202 To reach the target position 401 and so on.
- the controller 50 may also include a driving module 501, which is used to drive the movement of the mechanical arm 20 so as to adjust the position and angle of the end effector 202.
- FIG. 10 is a schematic structural diagram of a robot teaching and programming device provided by various embodiments of the present invention.
- the robot teaching and programming device 60 may include a control module 601 for controlling the movement of the robot arm 20; a processing module 602 for performing various processing operations, such as determining the end effector 202 The adjusted target position 401, target angle 402, etc.; a sending module is used to send a signal to the controller 50 of the robotic arm 20, the signal may include the target angle 402, target position 401, etc. that the end effector 202 needs to be adjusted to .
- Fig. 11 is a schematic structural diagram of a robot control device provided by various embodiments of the present invention.
- the control device 80 can be the aforementioned controller 50 of the robotic arm 20 or a robot teaching and programming device 60.
- the control device 80 may include at least one memory 801 for storing computer-readable codes; at least one processor 802 for executing the computer-readable codes stored in the memory 801, so as to execute the method procedures in FIGS. 3 to 8.
- the modules shown in FIGS. 9 and 10 can be regarded as program modules written by computer readable codes stored in the memory 801, and when these program modules are called by the processor 802, the foregoing method flow can be executed.
- an embodiment of the present invention also provides a computer-readable medium that stores computer-readable code, and when the computer-readable code is executed by at least one processor, the computer-readable code shown in FIGS. 3 to 8 is implemented. Methods.
- system structure described in the foregoing embodiments may be a physical structure or a logical structure, that is, some modules may be implemented by the same physical entity, or some modules may be implemented by at least two physical entities, or at least Some components in two independent devices are implemented together.
- the hardware unit can be implemented mechanically or electrically.
- a hardware unit may include permanent dedicated circuits or logic (such as dedicated processors, Field-Programmable Gate Array (FPGA) or Application Specific Integrated Circuits (ASIC), etc.). Complete the corresponding operation.
- the hardware unit may also include programmable logic or circuits (such as general-purpose processors or other programmable processors), which may be temporarily set by software to complete corresponding operations.
- the specific implementation mode mechanical means, or dedicated permanent circuit, or temporarily set circuit
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
Abstract
机器人示教编程技术领域,尤其涉及一种机器人示教编程方法和装置,以及机器人控制器和计算机可读介质,用于在机械臂的示教编程过程中,能够使得机械臂所连接的末端执行器能够快速准确地被调整到目标角度。一个机器人示教编程方法包括:驱动(S501)一个机械臂(20)使所述机械臂(20)所连接的末端执行器(202)移动到一个目标位置(401);确定(S502)所述末端执行器(202)需要调整到的目标角度(402);驱动(S503)所述机械臂(20)使得在所述末端执行器(202)位置不变的情况下角度调整到所述目标角度(402)。其中,预先设定机械臂要调整的目标角度,在目标角度和目标位置确定的情况下,驱动机械臂自动移动以调整到目标角度。避免以往调整过程中的往复,提高了机械臂示教的效率。
Description
本发明涉及机器人示教编程技术领域,尤其涉及一种机器人示教编程方法和装置,以及机器人控制器和计算机可读介质。
机器人(robot)在工业车间和工厂中的日益广泛。机器人的动作是在程序控制下完成,而机器人编程(programming)目前存在两种主要的技术:示教编程技术(teach-in techniques)和离线编程技术(offline programming)。
其中,在示教编程技术中,用户使用真实的机器人和诸如工件等对象来对机器人进行编程。用户通过人手拖拽或者采用示教器(teach panel)将机械臂(robot arm或者manipulator)移动到目标位置或沿着想要的轨迹移动。用户如何控制的数据由机器人的控制器(controller)予以记录。而机器人根据所记录的数据重复这些动作。
参考图1,在绝大多数的应用场景中,用户10需要使得机械臂20的末端201(end)所连接的末端执行器202(end effector)与一个平面30形成一定的角度,该平面30可以是水平面、竖直平面或者任一平面。在这些应用场景中,常见的示教编程的过程如图2所示:在步骤S201中,用户拖拽机械臂20(比如拖拽机械臂20的末端201)使得末端执行器202被移动到目标位置401(比如一个工件70的顶部中心处),或者使用机器人示教编程装置60(比如示教器或其他辅助的工具)通过控制器50控制机械臂20的移动,进而将末端执行器202移动到目标位置401。在步骤S202中,用户10使用机器人示教编程装置60或其他辅助的工具对末端执行器202的角度进行调整。在步骤S203中,用户10判断是否已调整到目标角度402,如果已调整到目标角度402(Y),示教过程结束;若未调整到目标角度402(N),则返回步骤S201。
在图2所示的过程中,角度的调整通常需要花费大量的时间,用户往往需要经过多次尝试才能调整到目标角度402,并且调整角度的同时可能也导致末端执行器202位置的调整,从图2中可见,从步骤S201到步骤S203往往要重复多次。此外,有时用户需要非常靠近机器人甚至进入到机械设备之间来调整角度,这也对用户的人身安全造成威胁。
发明内容
提供一种机器人示教编程方法和装置,以及机器人控制器和计算机可读介质看,用以在机械臂的示教编程过程中,能够使得机械臂所连接的末端执行器快速准确地被调整到目标角度。
第一方面,提供一种机器人示教编程的方法。该方法可由一个机械臂的控制器执行,其中,控制器驱动机械臂使所述机械臂所连接的末端执行器移动到一个目标位置,然后确定所述末端执行器需要调整到的目标角度,进而驱动所述机械臂使得在所述末端执行器位置不变的情况下角度调整到所述目标角度。或者,控制器先确定一个机械臂所连接的末端执行器需要调整到的目标角度,然后驱动所述机械臂使所述末端执行器的角度调整到所述目标角度;进而驱动所述机械臂使得所述末端执行器在角度不变的情况下移动到一个目标位置。
第二方面,提供另一种机器人示教编程的方法,该方法可由一个机器人示教编程装置执行,其中,机器人示教编程装置控制一个机械臂使所述机械臂所连接的末端执行器移动到一个目标位置;然后确定所述末端执行器需要调整到的目标角度;接下来将确定的所述目标角度发送至所述机械臂的控制器。进而所述控制器控制所述机械臂使得在所述末端执行器位置不变的情况下角度调整到所述目标角度。或者,机器人示教编程装置确定一个机械臂所连接的末端执行器需要调整到的目标角度;然后将确定的所述目标角度发送至所述机械臂的控制器,其中,所述控制器驱动所述机械臂使所述末端执行器的角度调整到所述目标角度,并在所述末端执行器角度不变的情况下移动到所述目标位置。
第三方面,提供一种控制器,包括:一个驱动模块,用于驱动一个机械臂使所述机械臂所连接的末端执行器移动到一个目标位置;一个处理模块,用于确定所述末端执行器需要调整到的目标角度;所述驱动模块,还用于驱动所述机械臂使得在所述末端执行器位置不变的情况下角度调整到所述目标角度。或者,所述处理模块,用于确定一个机械臂所连接的末端执行器需要调整到的目标角度;所述驱动模块,用于:驱动所述机械臂使所述末端执行器的角度调整到所述目标角度,以及驱动所述机械臂使得在所述末端执行器在角度不变的情况下移动到一个目标位置。
第四方面,提供一种机器人示教编程装置,包括:一个控制模块,用于控制一个机械臂 使所述机械臂所连接的末端执行器移动到一个目标位置;一个处理模块,用于确定所述末端执行器需要调整到的目标角度;一个发送模块,用于将所述处理模块确定的所述目标角度发送至所述机械臂的控制器,其中所述控制器控制所述机械臂使得在所述末端执行器位置不变的情况下角度调整到所述目标角度。或者,所述处理模块,用于确定一个机械臂所连接的末端执行器需要调整到的目标角度;所述发送模块,用于将所述处理模块确定的所述目标角度发送至所述机械臂的控制器,其中,所述控制器驱动所述机械臂使所述末端执行器的角度调整到所述目标角度,并在所述末端执行器在角度不变的情况下移动到所述目标位置。
第五方面,提供一种机器人的控制装置,包括:至少一个存储器,用于存放计算机可读代码;至少一个处理器,用于执行所述存储器存放的所述计算机可读代码,执行前述第一方面或第二方面的方法。
第六方面,提供一种计算机可读介质,所述计算机可读介质存储有计算机可读代码,当所述计算机可读代码被至少一个处理器执行时,执行前述第一方面或第二方面的方法。
其中,预先设定机械臂要调整的目标角度,在目标角度和目标位置确定的情况下,驱动机械臂自动移动以调整到目标角度。避免以往调整过程中的往复,提高了机械臂示教的效率。
在一种可选的实现方式中,将用户设定的角度作为所述末端执行器需要调整到的目标角度;或者根据所述末端执行器要执行的操作以及待操作的工件的位姿确定所述末端执行器需要调整到的目标角度。实现了目标角度的确定。
在另一种可选的实现方式中,根据所述末端执行器要执行的操作以及待操作的工件的位姿确定所述目标位置。实现了目标位置的确定。
图1为机器人示教编程过程的示意图。
图2示出了目前常见的机器人示教编程的流程。
图3~图8为本发明实施例提供的各种机器人示教编程的方法流程图。
图9为本发明各实施例提供的机械臂的控制器的结构示意图。
图10为本发明各实施例提供的机器人示教编程装置的结构示意图。
图11为本发明各实施例提供的机器人的控制装置的结构示意图。
附图标记列表:
10:用户 20:机械臂 201:机械臂20的末端
202:机械臂20所连接的末端执行器 30:平面 401:目标位置
402:目标角度 50:控制器 60:机器人示教编程装置
300~800:本发明各实施例提供的机器人示教编程的方法
S201:末端执行器202被拖拽到目标位置401
S202:用户10对末端执行器202的角度进行调整
S203:用户10判断是否已调整到目标角度402
S301:末端执行器202被移动到目标位置401
S302:确定末端执行器202需要调整到的目标角度402
S303:使得末端执行器202位置不变的情况下角度调整到目标角度402
S401:确定机械臂20所连接的末端执行器202需要调整到的目标角度402
S402:将末端执行器202的角度调整到目标角度402
S403:在末端执行器202的角度不变的情况下,将末端执行器202移动到目标位置401
S501:控制器50驱动机械臂20使末端执行器202移动到一个目标位置401
S502:控制器50确定末端执行器202需要调整到的目标角度402
S503:控制器50驱动机械臂20在末端执行器202位置不变的情况下角度调整到目标角度402
S601:控制器50确定末端执行器202需要调整到的目标角度402
S602:控制器50驱动机械臂20使得末端执行器202的角度调整到目标角度402
S603:控制器50驱动机械臂20使得末端执行器202在角度不变的情况下移动到目标位置401
S701:机器人示教编程装置60控制机械臂20使末端执行器202移动到目标位置401
S702:机器人示教编程装置60确定末端执行器202需要调整到的目标角度402
S703:机器人示教编程装置60将确定的目标角度402发送至机械臂20的控制器50
S801:机器人示教编程装置60确定末端执行器202需要调整到的目标角度402
S802:机器人示教编程装置60将确定的目标角度402发送至机械臂20的控制器50
501:驱动模块 502:处理模块 601:控制模块
602:处理模块 603:发送模块 80:机器人的控制装置
801:存储器 802:处理器
如前所述,在机械臂的示教过程中,机械臂角度调整的过程费时,往往需要经过多次尝试才能调整到目标角度。本发明各实施例中,预先设定机械臂要调整的目标角度,在目标角度和目标位置确定的情况下,驱动机械臂自动移动以调整到目标角度。避免以往调整过程中的往复,提高了机械臂示教的效率。
为了使本发明实施例的目的、技术方案和优点更加清楚明白,以下参照附图对本发明实施例进一步详细说明。其中,后续描述的实施例仅仅是本发明实施例的一部分,而非全部的实施例。
图3~图8为本发明实施例提供的各种机器人示教编程的方法流程图。
图3所示的流程可包括如下步骤:
S301:末端执行器202被移动到目标位置401。
S302:确定末端执行器202需要调整到的目标角度402。
S303:使得末端执行器202位置不变的情况下角度调整到目标角度402。
根据末端执行器202移动以及角度设定的方式,图3的实现方式可包括但不限于以下两种:
方式一、用户10拖拽机械臂20并设置角度
在方式一下,步骤S301中,用户10可用手拖拽末端执行器202将其移动到目标位置401。其中,机械臂20上可设置有方便用户10操作的控制结构,比如该控制机构可以设置在机械臂20的末端201以便于用户10操作,该控制结构与控制器50连接。当用户10确定末端执行器202已经移动到目标位置401时可操作该控制结构,与该控制机构连接的控制器50即收到用于指示末端执行器202已移动到目标位置401的位置确认信号。在步骤S302中,用户10可通过机器人示教编程装置60设置目标角度402并确认设置的目标角度402。步骤S303中,控制器50在收到用于确认目标角度402的角度确认信号以及目标角度402后,控制机械臂20使得末端执行器202的位置不变的情况下角度被调整到目标角度402。
方式二、用户10操作机器人示教编程装置60移动末端执行器202并设置角度
在方式二下,步骤S301中,用户10可在机器人示教编程装置60上操作以将末端执行器202移动到目标位置401。在步骤S302中,用户10在机器人示教编程装置60上输入目标角度402。步骤S303中,控制器50在收到该目标角度402后,即确定末端执行器202已到达目标位置401,并控制机械臂20使得末端执行器202的位置不变的情况下将角度被调整到目标角度402。
图4所示的流程可包括如下步骤:
S401:确定末端执行器202需要调整到的目标角度402。
S402:将末端执行器202的角度调整到目标角度402。
S403:在末端执行器202的角度不变的情况下,将末端执行器202移动到目标位置401。
根据末端执行器202移动以及角度设定的方式,图4的实现方式亦可包括但不限于以下两种:
方式一、用户10设置角度并拖拽末端执行器202
在方式一下,步骤S401中,用户10可通过机器人示教编程装置60设置目标角度402并确认。步骤S402中,控制器50在收到用于确认目标角度402的角度确认信号以及目标角度402后,控制机械臂20使得末端执行器202的位置不变的情况下角度被调整到目标角度402。在步骤S403中,用户10可用手拖拽末端执行器202将其移动到目标位置401,在拖拽过程中,控制器50控制机械臂20使得末端执行器202的角度不变。
方式二、用户10操作机器人示教编程装置60设置角度并移动末端执行器202
在方式二下,步骤S401中,用户10可在机器人示教编程装置60上输入目标角度402。在步骤S402中,控制器50在收到该目标角度402后,控制机械臂20使得末端执行器202调整到目标角度402。在步骤S403中,用户10在机器人示教编程装置60上操作机械臂20以使得末端执行器202被移动到目标位置401。在末端执行器202移动过程中,控制器50控制机械臂20使得末端执行器202的角度不变。
下面结合图5~8分别说明控制器50和机器人示教编程装置60在上述流程中的处理过程。其中图5示出了控制器50在图3所示的流程中的处理过程;图6示出了控制器50在图4所示的流程中的处理过程;图7示出了机器人示教编程装置60在图3所示的流程中的处理过程;图8示出了机器人示教编程装置60在图4所示的流程中的处理过程。
图5所示的流程可包括如下步骤:
S501:控制器50驱动机械臂20使其末端执行器202移动到一个目标位置401。
S502:控制器50确定末端执行器202需要调整到的目标角度402。
S503:控制器50驱动机械臂20在末端执行器202位置不变的情况下角度调整到目标角度402。
在步骤S501中,控制器50可在用户10拖拽下驱动机械臂20的移动(如图3所示流程中的方式一),亦可在机器人示教编程装置60的控制下驱动机械臂20的移动(如图3所示流程中的方式二)。在步骤S502中,控制器50接收用户10通过机器人示教编程装置60设置的目标角度402。在步骤S503中,控制器50驱动机械臂20在末端执行器202的位置不变的情况下,角度被调整到目标角度402。
图6所示的流程可包括如下步骤:
S601:控制器50确定末端执行器202需要调整到的目标角度402。
S602:控制器50驱动机械臂20使得末端执行器202的角度调整到目标角度402。
S603:控制器50驱动机械臂20使得末端执行器202在角度不变的情况下移动到目标位置401。
在步骤S601中,控制器50接收用户10通过机器人示教编程装置60设置的目标角度402。在步骤S602中,控制器50驱动机械臂20使得末端执行器202的角度被调整到目标角度402。在步骤S603中,控制器50可在用户10拖拽下驱动机械臂20的移动(如图5所示流程中的方式一),亦可在机器人示教编程装置60的控制下驱动机械臂20的移动(如图5所示流程中的方式二),使得末端执行器202的角度不变的情况下被移动到目标位置401。
图7所示的流程可包括如下步骤:
S701:机器人示教编程装置60控制机械臂20使其末端执行器202移动到目标位置401。
S702:机器人示教编程装置60确定末端执行器202需要调整到的目标角度402。
S703:机器人示教编程装置60将确定的目标角度402发送至机械臂20的控制器50。
在步骤S701中,机器人示教编程装置60在用户10的操作下控制机械臂20的移动。在步骤S702中,机器人示教编程装置60将用户10输入的角度确定为末端执行器202需要调整到的目标角度402。在步骤S703中,机器人示教编程装置60将目标角度402发送至控制器50。之后控制器50控制机械臂20使得末端执行器202在位置不变的情况下,角度被调整到 目标角度402。
图8所示的流程可包括如下步骤:
S801:机器人示教编程装置60确定末端执行器202需要调整到的目标角度402。
S802:机器人示教编程装置60将确定的目标角度402发送至机械臂20的控制器50。
在步骤S801中,机器人示教编程装置60将用户10输入的角度确定为末端执行器202需要调整到的目标角度402。在步骤S802中,机器人示教编程装置60将目标角度402发送至控制器50。在用户10拖拽末端执行器202的过程中,控制器50驱动机械臂20使得末端执行器202在角度不变的情况下被移动到目标位置401。或者用户10操作机器人示教编程装置60,在机器人示教编程装置60的控制下,控制器50驱动机械臂20使得末端执行器202在角度不变的情况下,被移动到目标位置401。
图3至图8所示的各流程中,控制器50或机器人示教编程装置60在确定目标角度402时,一种可选的方式是将用户10设定的角度作为目标角度402,另一种可选的方式是根据末端执行器202要执行的操作以及待操作的工件70的位姿确定目标角度402;在确定目标位置401时,一种可选的实现方式是根据末端执行器202要执行操作以及代操作的工件70的位姿确定目标位置401。
图3至图8所示的各流程中,目标位置401和目标角度402可以参照待加工的工件70的坐标系或者机械臂20的坐标系。下面,以工件70的坐标系为例描述上述流程中机械臂20的控制器50计算末端执行器202的角度的方法。其中,控制器50不断调整末端执行器202的角度使其达到目标角度402。
其中,控制器50可使用下面的雅克比矩阵(Jacbian Marix)计算各个关节(关节1,2,…i,…,n)需要调整到的角度或位置q
i,以使得末端执行器202调整到目标角度402和目标位置401:
对于旋转关节(revolute joint),第i个关节的q
i=θ
i;对于移动关节(prismatic joint),q
i=d
i,其中,θ
i是第(i-1)个关节的和第i个关节之间的角度,d
i是第(i-1)个关节的和第i个关节之间的距离。
图9为本发明各实施例提供的机械臂控制器的结构示意图。如图9所示,该控制器50可包括一个处理模块502,用于执行前述各流程步骤中控制器的处理操作,比如:确定末端执行器202需要调整到的目标角度402、末端执行器202要达到的目标位置401等。该控制器50还可包括一个驱动模块501,用于驱动机械臂20的移动,进而可以调整末端执行器202的位置和角度。
图10为本发明各实施例提供的机器人示教编程装置的结构示意图。如图10所示,该机器人示教编程装置60可包括一个控制模块601,用于控制机械臂20的移动;一个处理模块602,可用于执行各种处理操作,比如:确定末端执行器202要调整到的目标位置401、目标角度402等;一个发送模块,用于向机械臂20的控制器50发送信号,信号中可包括末端执行器202需要调整到的目标角度402、目标位置401等信息。
图11为本发明各实施例提供的机器人的控制装置的结构示意图。该控制装置80可为前述的机械臂20的控制器50,也可为机器人示教编程装置60。该控制装置80可包括至少一个存储器801,用于存放计算机可读代码;至少一个处理器802,用于执行存储器801存放的计算机可读代码,从而执行图3~图8中的方法流程。图9和图10中示出的各个模块可视为存储器801中存储的计算机可读代码编写的程序模块,当这些程序模块被处理器802调用时,能够执行前述的方法流程。
此外,本发明实施例还提供一种计算机可读介质,该计算机可读介质存储有计算机可读代码,当该计算机可读代码被至少一个处理器执行时,实现前述图3~图8所示的方法。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可 能由同一物理实体实现,或者,有些模块可能分由至少两个物理实体实现,或者,可以由至少两个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA)或专用集成电路(Application Specific Integrated Circuits,ASIC)等)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明实施例进行了详细展示和说明,然而本发明实施例不限于这些已揭示的实施例,基于上述实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明实施例的保护范围之内。
Claims (16)
- 机器人示教编程的方法(500),其特征在于,包括:驱动(S501)一个机械臂(20)使所述机械臂(20)所连接的末端执行器(202)移动到一个目标位置(401);确定(S502)所述末端执行器(202)需要调整到的目标角度(402);驱动(S503)所述机械臂(20)使得在所述末端执行器(202)位置不变的情况下角度调整到所述目标角度(402)。
- 机器人示教编程的方法(600),其特征在于,包括:确定(S601)一个机械臂(20)所连接的末端执行器(202)需要调整到的目标角度(402);驱动(S602)所述机械臂(20)使所述末端执行器(202)的角度调整到所述目标角度(402);驱动(S603)所述机械臂(20)使得所述末端执行器(202)在角度不变的情况下移动到一个目标位置(401)。
- 机器人示教编程的方法(700),其特征在于,包括:控制(S701)一个机械臂(20)使所述机械臂(20)所连接的末端执行器(202)移动到一个目标位置(401);确定(S702)所述末端执行器(202)需要调整到的目标角度(402);将确定的所述目标角度(402)发送(S703)至所述机械臂(20)的控制器(50),其中所述控制器(50)控制所述机械臂(20)使得在所述末端执行器(202)位置不变的情况下角度调整到所述目标角度(402)。
- 机器人示教编程的方法(800),其特征在于,包括:确定(S801)一个机械臂(20)所连接的末端执行器(202)需要调整到的目标角度(402);将确定的所述目标角度(402)发送(S802)至所述机械臂(20)的控制器(50),其中,所述控制器(50)驱动所述机械臂(20)使所述末端执行器(202)的角度调整到所述目标角度(402),并在所述末端执行器(202)角度不变的情况下移动到所述目标位置(401)。
- 如权利要求1~4任一项所述的方法,其特征在于,确定所述机械臂(20)所连接的末端执行器(202)需要调整到的目标角度(402),包括:将用户设定的角度作为所述末端执行器(202)需要调整到的目标角度(402);或者根据所述末端执行器(202)要执行的操作以及待操作的工件(70)的位姿确定所述末端执行器(202)需要调整到的目标角度(402)。
- 如权利要求1~5任一项所述的方法,其特征在于,还包括:根据所述末端执行器(202)要执行的操作以及待操作的工件的位姿确定所述目标位置 (401)。
- 控制器(50),其特征在于,包括:一个驱动模块(501),用于驱动一个机械臂(20)使所述机械臂(20)所连接的末端执行器(202)移动到一个目标位置(401);一个处理模块(502),用于确定所述末端执行器(202)需要调整到的目标角度(402);所述驱动模块(501),还用于驱动所述机械臂(20)使得在所述末端执行器(202)位置不变的情况下角度调整到所述目标角度(402)。
- 控制器(50),其特征在于,包括:一个处理模块(502),用于确定一个机械臂(20)所连接的末端执行器(202)需要调整到的目标角度(402);一个驱动模块(501),用于:驱动所述机械臂(20)使所述末端执行器(202)的角度调整到所述目标角度(402),以及驱动所述机械臂(20)使得在所述末端执行器(202)在角度不变的情况下移动到一个目标位置(401)。
- 如权利要求7或8的控制器(50),其特征在于,所述处理模块(502)具体用于:将用户设定的角度作为所述末端执行器(202)需要调整到的目标角度(402);或者根据所述末端执行器(202)要执行的操作以及待操作的工件的位姿确定所述末端执行器(202)需要调整到的目标角度(402)。
- 如权利要求7~9任一项所述的控制器(50),其特征在于,所述处理模块(502)还用于:根据所述末端执行器(202)要执行的操作以及待操作的工件的位姿确定所述目标位置(401)。
- 机器人示教编程装置(60),其特征在于,包括:一个控制模块(601),用于控制一个机械臂(20)使所述机械臂(20)所连接的末端执行器(202)移动到一个目标位置(401);一个处理模块(602),用于确定所述末端执行器(202)需要调整到的目标角度(402);一个发送模块(603),用于将所述处理模块(602)确定的所述目标角度(402)发送至所述机械臂(20)的控制器(500),其中所述控制器(500)控制所述机械臂(20)使得在所述末端执行器(202)位置不变的情况下角度调整到所述目标角度(402)。
- 机器人示教编程装置(60),其特征在于,包括:一个处理模块(602),用于确定一个机械臂(20)所连接的末端执行器(202)需要调整到的目标角度(402);一个发送模块(603),用于将所述处理模块(602)确定的所述目标角度(402)发送至所述机械臂(20)的控制器(500),其中,所述控制器(500)驱动所述机械臂(20)使所述末端执行器(202)的角度调整到所述目标角度(402),并在所述末端执行器(202)在角度不变的情况下移动到所述目标位置(401)。
- 如权利要求11或12的装置(60),其特征在于,所述处理模块(602)具体用于:将用户设定的角度作为所述末端执行器(202)需要调整到的目标角度(402);或者根据所述末端执行器(202)要执行的操作以及待操作的工件的位姿确定所述末端执行器(202)需要调整到的目标角度(402)。
- 如权利要求11~13任一项所述的装置(60),其特征在于,所述处理模块(502)还用于:根据所述末端执行器(202)要执行的操作以及待操作的工件的位姿确定所述目标位置(401)。
- 机器人的控制装置(80),其特征在于,包括:至少一个存储器(801),用于存放计算机可读代码;至少一个处理器(802),用于执行所述存储器(801)存放的所述计算机可读代码,执行如权利要求1-6任一项所述的方法。
- 计算机可读介质,其特征在于,所述计算机可读介质存储有计算机可读代码,当所述计算机可读代码被至少一个处理器执行时,执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/074695 WO2020155178A1 (zh) | 2019-02-03 | 2019-02-03 | 机器人示教编程的方法和装置、机器人控制器和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/074695 WO2020155178A1 (zh) | 2019-02-03 | 2019-02-03 | 机器人示教编程的方法和装置、机器人控制器和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020155178A1 true WO2020155178A1 (zh) | 2020-08-06 |
Family
ID=71840720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/074695 WO2020155178A1 (zh) | 2019-02-03 | 2019-02-03 | 机器人示教编程的方法和装置、机器人控制器和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2020155178A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4705451A (en) * | 1982-07-02 | 1987-11-10 | Mitsubishi Denki Kabushiki Kaisha | Robot control apparatus |
CN104260095A (zh) * | 2014-09-23 | 2015-01-07 | 上海工程技术大学 | 一种医疗机械臂的控制方法及装置 |
CN106725856A (zh) * | 2016-11-23 | 2017-05-31 | 深圳市罗伯医疗科技有限公司 | 一种手术机器人的控制方法及控制装置 |
CN107097225A (zh) * | 2016-02-23 | 2017-08-29 | 宁波弘讯科技股份有限公司 | 机器人装置及其运动控制方法 |
-
2019
- 2019-02-03 WO PCT/CN2019/074695 patent/WO2020155178A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4705451A (en) * | 1982-07-02 | 1987-11-10 | Mitsubishi Denki Kabushiki Kaisha | Robot control apparatus |
CN104260095A (zh) * | 2014-09-23 | 2015-01-07 | 上海工程技术大学 | 一种医疗机械臂的控制方法及装置 |
CN107097225A (zh) * | 2016-02-23 | 2017-08-29 | 宁波弘讯科技股份有限公司 | 机器人装置及其运动控制方法 |
CN106725856A (zh) * | 2016-11-23 | 2017-05-31 | 深圳市罗伯医疗科技有限公司 | 一种手术机器人的控制方法及控制装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7512491B2 (ja) | リモートクライアントデバイスからの入力に基づく効率的なロボットの制御 | |
US10737396B2 (en) | Method and apparatus for robot path teaching | |
US11197730B2 (en) | Manipulator system | |
JP6379874B2 (ja) | ティーチングシステム、ロボットシステムおよびティーチング方法 | |
TWI673150B (zh) | 機器人教示方法及機器臂控制裝置 | |
US9138893B2 (en) | Robot teaching system, robot teaching assistant device, robot teaching method, and computer-readable recording medium | |
JP6450960B2 (ja) | ロボット、ロボットシステム及び教示方法 | |
US10807240B2 (en) | Robot control device for setting jog coordinate system | |
EP3733355A1 (en) | Robot motion optimization system and method | |
US20060195228A1 (en) | Robot locus control method and apparatus and program of robot locus control method | |
JP2014024162A (ja) | ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム | |
US20070032905A1 (en) | Robot programming device | |
WO2019116891A1 (ja) | ロボットシステム及びロボット制御方法 | |
US10821603B2 (en) | Methods and apparatus for robot control | |
CN107363830B (zh) | 机器人控制装置、机器人以及机器人系统 | |
JP2019063912A (ja) | ロボット制御データ処理方法、ロボット制御データ処理装置、およびロボットシステム | |
Li et al. | Kinematics Modelling and Experimental Analysis of a Six-Joint Manipulator. | |
KR101986451B1 (ko) | 수중로봇의 매니퓰레이터 제어방법 및 그 제어 시스템 | |
CN114407011A (zh) | 异形工件抓取规划方法、规划装置及异形工件抓取方法 | |
WO2020155178A1 (zh) | 机器人示教编程的方法和装置、机器人控制器和计算机可读介质 | |
JPWO2013150596A1 (ja) | ロボットシステム及び作業設備 | |
JP2015003348A (ja) | ロボット制御システム、制御装置、ロボット、ロボット制御システムの制御方法及びロボットの制御方法 | |
CN108711174B (zh) | 一种机械臂近似平行视觉定位系统 | |
US20180088569A1 (en) | Off-line-programming jog assist device, jog assist method, and recording medium storing jog assist program | |
CN109789552B (zh) | 工件处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19913014 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19913014 Country of ref document: EP Kind code of ref document: A1 |