WO2023112342A1 - 教示装置、制御装置、及び機械システム - Google Patents

教示装置、制御装置、及び機械システム Download PDF

Info

Publication number
WO2023112342A1
WO2023112342A1 PCT/JP2021/046883 JP2021046883W WO2023112342A1 WO 2023112342 A1 WO2023112342 A1 WO 2023112342A1 JP 2021046883 W JP2021046883 W JP 2021046883W WO 2023112342 A1 WO2023112342 A1 WO 2023112342A1
Authority
WO
WIPO (PCT)
Prior art keywords
teaching
machine
force
unit
force control
Prior art date
Application number
PCT/JP2021/046883
Other languages
English (en)
French (fr)
Inventor
万峰 傅
Original Assignee
ファナック株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to PCT/JP2021/046883 priority Critical patent/WO2023112342A1/ja
Priority to TW111143893A priority patent/TW202325506A/zh
Publication of WO2023112342A1 publication Critical patent/WO2023112342A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the present invention relates to teaching technology for machines, and more particularly to a teaching device, a control device, and a mechanical system that facilitate teaching of force control.
  • icon-based programming has been proposed in which icons representing control commands for machines are arranged to create motion programs.
  • a technique of performing force control based on a force acting on a control point of a machine obtained from information detected by force detectors including force sensors and torque sensors is widely known.
  • force control commands many parameters such as machine motion trajectory, machine approach speed to the work object, magnitude and direction of force applied to the work object, machine movement speed, machine posture, etc. are taught. There is a need.
  • a force control teaching method there is a method of teaching by specifying various parameters such as the approach speed to the work object including the work and tools, the magnitude and direction of the force applied to the work object, and the movement speed of the machine.
  • various parameters such as the approach speed to the work object including the work and tools, the magnitude and direction of the force applied to the work object, and the movement speed of the machine.
  • the teaching of force control commands poses the following problems. (1) During force control, the number of teaching points that constitute the motion trajectory of the machine increases, so adjustment of the position and posture of the machine at each teaching point becomes complicated. (2) Force control instructions require teaching of many parameters, such as the approach speed of the machine to the work object, the magnitude and direction of force applied to the work object, the movement speed of the machine, and the posture of the machine. Therefore, if the instructor has poor knowledge of the parameters (particularly for a beginner), the teaching becomes difficult and requires time and effort.
  • Patent Literature 1 describes teaching a motion trajectory of a machine by direct teaching, interrupting playback by pressing a teaching switch during playback, and re-teaching the trajectory after the interruption. .
  • Patent Document 2 describes that the force-controlled pressing device installed at the tip of the robot has a moving mechanism and sets the pressing direction of the force-controlled pressing device. Further, it is described that the force control pressing device is provided with a force sensor to measure the force acting between the tool and the work.
  • Patent Document 3 discloses a teaching method for directly teaching a robot based on an output signal of a force sensor, and only while the teaching switch is on, according to the operator's operating force applied to the force sensor. It is described that the hand is moved to improve the positioning accuracy while obtaining a good operational feeling.
  • An object of the present invention is to provide a technology that facilitates teaching of force control in view of the conventional problems.
  • One aspect of the present disclosure provides a teaching device including a teaching unit that simultaneously teaches a force parameter of a force control command to a machine and an operation trajectory of the machine that performs force control by using a force detector.
  • Another aspect of the present disclosure is a teaching unit that simultaneously teaches a force parameter of a force control command to a machine and an operation trajectory of the machine that performs force control by using a force detector, and a machine based on the force control command. and a controller for force-controlling the machine by operating the machine according to the operation program.
  • Another aspect of the present disclosure is a machine that includes a force detector, and a teaching unit that uses the force detector to simultaneously teach a force parameter of a force control command to the machine and an operation trajectory of the machine that performs force control in association with each other.
  • a program generator for generating an operation program for a machine based on a force control command; and a control unit for operating the machine according to the operation program and force-controlling the machine.
  • the force parameter of the force control command and the motion trajectory of the machine that performs the force control are linked and taught at the same time using the force detector, so the force parameter can be easily and efficiently taught. , which facilitates the teaching of force control.
  • system start-up time can be shortened compared to the conventional system.
  • FIG. 1 is a configuration diagram of a mechanical system according to a first embodiment
  • FIG. It is a functional block diagram of the machine system of the first embodiment. It is an explanatory view explaining an example of a teaching method of force control.
  • An example of a programming screen for force control is shown.
  • An example of a programming screen for force control is shown.
  • An example of a programming screen for force control is shown.
  • 4 is a flow chart showing an example of a force control teaching method; It is a functional block diagram of the mechanical system of the second embodiment.
  • the term "force parameter” includes the magnitude and direction of force applied to the work object
  • the term “movement trajectory” includes at least the position of the teaching point.
  • the term "screen” means all or a partial area of the screen of one or more display devices
  • the term “window” means a partial area of the screen.
  • FIG. 1 is a configuration diagram of a mechanical system 1 of the first embodiment.
  • the machine system 1 includes a machine 2 , a control device 3 that controls the operation of the machine 2 , and a teaching device 4 that teaches the operation of the machine 2 .
  • the machine 2 is composed of, but not limited to, an articulated robot, and in other embodiments may be composed of other industrial robots such as single-joint robots, parallel-link robots, dual-arm robots, and the like. . Also, in another embodiment, the machine 2 may comprise other forms of robots such as humanoids rather than industrial robots. Alternatively, in yet another embodiment, the machine 2 is not a robot, but is composed of other industrial machines such as machine tools, construction machines, agricultural machines, or other forms of machines such as vehicles, aircraft, rockets, etc. There is also
  • the machine 2 comprises one or more interconnected links 10-16.
  • the links 11 to 16 are composed of rotary links that respectively rotate about the axes J1 to J6, but are not limited to this, and in other embodiments, linear links that move linearly along the axes J1 to J6. may also be configured.
  • the zero link 10 is, for example, a base that is fixed at a predetermined position
  • the first link 11 is, for example, a swing barrel that is rotatably supported with respect to the zero link 10 around the first axis J1.
  • the second link 12 is, for example, an upper arm rotatably supported with respect to the first link 11 about a second axis J2 orthogonal to the first axis J1, and the third link 13 is, for example, a third arm parallel to the second axis J2.
  • the forearm is rotatably supported with respect to the second link 12 about the three axes J3.
  • the fourth link 14 to sixth link 16 are triaxial wrists attached to the third link 13.
  • the fourth link 14 is, for example, a first wrist element supported rotatably with respect to the third link 13 about a fourth axis J4 orthogonal to the third axis J3, and the fifth link 15 is, for example, the fourth axis J4.
  • the machine 2 may be equipped with a visual sensor 17 that acquires an image of the work space in which the work object W including the workpiece or tool is present.
  • the visual sensor 17 is composed of a two-dimensional camera, but is not limited to this, and may be composed of a three-dimensional camera in another embodiment.
  • the control device 3 or the teaching device 4 may obtain parameters such as the machining result of the workpiece W and the position and orientation of the machine 2 from the information detected by the visual sensor 17 .
  • the machine 2 further comprises a force detector 18 attached near the control point P of the machine 2 (in this example between the wrist and the tool 19).
  • the force detector 18 is composed of force sensors that detect forces in three axial directions and moments around three axes, but is not limited to this. may be configured.
  • the force detector 18 is not composed of a force sensor attached to the wrist, but composed of one or more torque sensors provided at the connecting portion of the first link 11 to the sixth link 16. Sometimes it is done.
  • a torque sensor detects the torque acting on the first link 11 to the sixth link 16 .
  • the control device 3 or the teaching device 4 obtains the magnitude and acting direction of the force applied to the work object W from the detection information of the force detector 18 (that is, force parameters).
  • the machine 2 further comprises a tool 19 attached to the tip of the machine 2.
  • the tool 19 is configured as a deburring tool for deburring the work object W, but is not limited to this, and in other embodiments, hand tools, welding tools, screw fastening tools, cutting tools, It may also consist of other forms of tools such as polishing tools, hemming tools, and the like.
  • the machine 2 of this embodiment performs deburring work by pressing a deburring tool along the processing line L of the work W, it is not limited to this.
  • a deburring work of pressing the object W against a tool such as a deburring tool or a polishing tool to deburr it, or a fitting work of fitting a convex work held by a hand tool into a concave work, or a first hand held by a hand tool.
  • Face matching work to align a work with a second work, phase matching work to phase the first gear held by a hand tool with a second gear, or screw tightening work to fasten a male screw held by a hand tool to a female screw, etc. may also be performed.
  • the machine 2 includes one or more actuators 20 that drive the links 11-16, and one or more motion detectors 21 that detect motion of the actuators 20 (see FIG. 2).
  • Actuator 20 is provided near the connecting portion of links 11-16.
  • the actuator 20 is composed of an electric actuator including an electric motor, a speed reducer, etc., but is not limited to this, and in other embodiments, may be composed of other types of actuators such as hydraulic and pneumatic actuators.
  • the motion detector 21 is composed of an encoder, but is not limited to this, and in other embodiments, may be composed of other forms of motion detectors such as resolvers, Hall sensors, and the like.
  • the control device 3 or the teaching device 4 may obtain parameters such as the position and attitude of the machine 2, the movement speed of the machine 2, the approach speed to the work object W, and the like from the detection information of the motion detector 21.
  • the controller 3 comprises, but is not limited to, a programmable logic controller (PLC) or the like, and in other embodiments may comprise other forms of processors, memories, input/output interfaces, etc. interconnected by buses. It may be composed of a computer.
  • the control device 3 further comprises, but is not limited to, a drive circuit for driving the actuator 20 , and in other embodiments the machine 2 may also comprise a drive circuit for driving the actuator 20 .
  • the controller 3 drives the actuator 20 to control the machine 2 .
  • the control device 3 receives detection information from the motion detector 21 and the force detector 18, and the teaching device 4 receives detection information from the motion detector 21 and the force detector 18 from the control device 3, but is limited to this. Alternatively, in other embodiments, teaching device 4 may accept respective detection information directly from motion detector 21 and force detector 18 .
  • the control device 3 can set various coordinate systems such as a world coordinate system, a machine coordinate system, a flange coordinate system, a tool coordinate system, a camera coordinate system, and a user coordinate system. These coordinate systems are, for example, orthogonal coordinate systems. For ease of explanation, it is assumed that the control device 3 has set a machine coordinate system C1, a tool coordinate system C2, and a user coordinate system C3.
  • the machine coordinate system C1 is fixed to a reference position of the machine 2, e.g. the base
  • the tool coordinate system C2 is fixed to a reference position of the tool 19, e.g. It is fixed at the reference position of the object W.
  • the control device 3 sets the control point P of the machine 2 to the origin of the tool coordinate system C2 (that is, the tool center point: TCP). Accordingly, the position and orientation of the control target portion (tool in this example) of the machine 2 (hereinafter referred to as the position and orientation of the machine 2) are represented as the position and orientation of the tool coordinate system C2 in the machine coordinate system C1. In other embodiments, the position and orientation of the machine 2 may be expressed as the position and orientation of the flange coordinate system in the machine coordinate system C1, or the position and orientation of the tool coordinate system C2 or the flange coordinate system in the user coordinate system C3. and posture.
  • the control device 3 controls the operation of the machine 2 according to the motion program created by the teaching device 4 .
  • the motion program includes a movement command to move the control point P of the machine 2 to a teaching point that constitutes the motion trajectory T of the machine 2, a force control command to control the force applied to the work object W, and a predetermined motion pattern ( palletizing, depalletizing, etc.), conditional branch instructions for branching control instructions under predetermined conditions, and loop instructions for looping predetermined control instructions under predetermined conditions.
  • the teaching device 4 is composed of a portable teach pendant connected to the control device 3 by wire or wirelessly, but is not limited to this. It may also comprise other forms of equipment, such as other computer equipment, including personal computers and the like.
  • the teaching device 4 includes a processor, a memory, an input/output interface, a user interface, etc., which are interconnected by a bus.
  • the user interface includes a display device such as a touch panel and a display, and an input device such as a keyboard, buttons and switches.
  • the teaching device 4 is connected to the control device 3 via wire or wireless.
  • the teaching device 4 is equipped with programming software that creates an operation program for the machine 2.
  • the programming software consists of, but is not limited to, icon-based programming software that arranges icons representing control instructions for the machine 2 to create an operation program. It may be composed of text-based programming software that arranges text representing and creates an operation program.
  • the teaching device 4 sends the created operation program to the control device 3 .
  • the control device 3 operates the machine 2 according to the operation program to force-control the machine 2, and the machine 2 uses the tool 19 to deburr the workpiece W, for example. conduct.
  • the force control command the movement trajectory T of the machine 2, the approach speed of the machine 2 to the work object W, the magnitude and direction of force applied to the work object, the movement speed of the machine 2, the posture of the machine 2, etc. Many parameters need to be taught.
  • playback teaching or a teacher teaches by recording and reproducing the movement trajectory of the machine 2 while actually operating the machine 2 using a teaching device 4 such as a teaching operation panel or a teach pendant.
  • On-line teaching such as direct teaching that teaches by recording the movement trajectory of the machine 2 while directly moving the control target part of the machine 2 or the handle attached near the control target part, or on the virtual space generated by the teaching device 4
  • a force control teaching method there is a method of teaching by specifying various parameters such as the approach speed to the work object W, the magnitude and direction of force applied to the work object W, and the movement speed of the machine.
  • problems such as (1) During force control, the number of teaching points that constitute the motion trajectory T of the machine 2 increases, so adjustment of the position and posture of the machine 2 at each teaching point becomes complicated.
  • (2) force control instructions require teaching of many parameters such as the approach speed of the machine to the work object, the magnitude and direction of force applied to the work object, the movement speed of the machine, and the attitude of the machine. Therefore, if the instructor has poor knowledge of the parameters (particularly for a beginner), the teaching becomes difficult and takes time and effort.
  • the parameters of the force control command cannot be taught intuitively, and knowledge of the coordinate system, etc., is required when setting the magnitude and direction of the force applied to the work object, making it difficult to use. bad.
  • the adjusted parameters are applied to all taught points, so the magnitude and direction of force cannot be flexibly adjusted for each taught point.
  • the force detector 18 is used to associate the force parameter of the force control command to the machine 2 with the motion trajectory T of the machine 2 that performs force control, and teach them at the same time.
  • This teaching is performed by linking the force parameter to the motion trajectory T and recording it by direct teaching or playback teaching.
  • other parameters the approach speed of the machine 2 to the work object W, the movement speed of the machine 2, the posture of the machine 2, etc. may also be taught at the same time.
  • FIG. 2 is a functional block diagram of the mechanical system 1 of the first embodiment.
  • the teaching device 4 includes a user interface (UI) section 40 , a storage section 45 and a communication control section 48 .
  • the UI unit 40 includes hardware such as a touch panel, display, keyboard, buttons, and switches.
  • the storage unit 45 is composed of memories such as RAM (random access memory), ROM (read only memory), and SSD (solid state drive).
  • the communication control unit 48 is configured by hardware such as a semiconductor integrated circuit.
  • the teaching device 4 further includes a command selection unit 41, a program editing unit 42, and a command editing unit 43. Although not essential, the teaching device 4 may further include a simulation generation section 46 , a machine operation section 44 and a program generation section 47 . These "parts" consist of one or more programs or program sections that constitute the programming software.
  • the programming software is read and executed by a processor such as a PLC (programmable logic controller), CPU (central processing unit), MPU (micro processing unit) or the like.
  • the UI section 40 displays and inputs various information.
  • a command selection unit 41 selects various control commands based on operation information input by the UI unit 40 .
  • the program editing unit 42 arranges the control commands in time series based on the operation information input by the UI unit 40 and edits the operation program of the machine 2 .
  • the command editing unit 43 edits individual control commands based on the operation information input by the UI unit 40 .
  • the simulation generation unit 46 places a model of the machine 2 in the virtual space and generates a simulation of the operation of the machine 2.
  • the simulation generator 46 may also generate motion trajectories and various coordinate axes for the machine 2 .
  • the machine operation unit 44 operates and moves the model of the machine 2 arranged in the virtual space based on the operation information input by the UI unit 40 .
  • a motion trajectory for the machine 2 may also be generated at the machine operator 44 .
  • the storage unit 45 stores various information such as operation programs and parameters.
  • the program generation unit 47 converts the edited operation program into source code, object code (machine language), intermediate code, bytecode, and the like to generate the operation program.
  • the program generator 47 executes the generated operating program online or offline.
  • the communication control unit 48 communicates and controls various information such as operation programs, control commands, parameters, and information detected by the force detector 18 and the operation detector 21 with the machine 2 or the control device 3 .
  • the control device 3 includes a machine operation unit 30 and a control unit 31.
  • the machine operation unit 30 is composed of a teaching operation panel, and has a movement button for operating the machine 2, an attitude change button, and the like.
  • the control unit 31 consists of a program or program sections executable by a PLC or other processor.
  • the machine operation unit 30 actually operates the machine 2 by operating the machine 2 based on the operation information.
  • the control unit 31 drives and controls the actuator 20 to move the machine 2 according to the operating program, control instructions, operation information, and the like.
  • the machine 2 comprises one or more actuators 20 , one or more motion detectors 21 and one or more force detectors 18 .
  • the actuator 20 drives the links 11 to 16 of the machine 2 according to operation commands (position command, speed command, and current command) from the control section 31 .
  • Motion detector 21 detects the motion (position, velocity, and acceleration) of actuator 20 .
  • Force detector 18 detects forces acting on the tip of machine 2, but is not limited to this, and in other embodiments detects torque acting on links 11-16.
  • the command editing unit 43 includes a registration unit 43a, a teaching unit 43b, a test execution unit 43c, and an adjustment unit 43d as functions for editing force control commands.
  • the registration unit 43a, the teaching unit 43b, the test execution unit 43c, and the adjustment unit 43d are composed of one or more programs or program sections that constitute program creation software.
  • the registration unit 43a preliminarily registers the force parameter of the force control command and another parameter other than the motion trajectory T of the machine 2 as initial values.
  • Other parameters include the approach speed of the machine 2 to the work object W, the movement speed of the machine 2, the attitude of the machine 2, and the like.
  • the teaching unit 43b uses the force detector 18 to associate the force parameter of the force control command with the motion trajectory T of the machine 2 that performs force control, and simultaneously teaches them.
  • the teaching unit 43b includes a teaching start command for starting teaching recording and a teaching end command for ending teaching recording.
  • the teaching section 43b starts recording the teaching
  • the teaching section 43b starts recording the force parameter, the movement trajectory T, and other parameters by direct teaching or playback teaching.
  • the teaching unit 43b finishes recording the teaching it finishes recording the force parameter, the motion trajectory T, and other parameters other than these.
  • the teaching portion 43b is moved. acquires the detection information of the force detector 18 from the control device 3 or the machine 2, obtains the magnitude and direction of force applied to the work object W from the detection information, and determines the machine 2 from the current position of the machine 2 and the direction of force action.
  • the motion trajectory T is determined, and the force parameter and the motion trajectory T are linked and recorded in the storage unit 45 .
  • the motion trajectory T of the machine 2 may be obtained using the motion detector 21 or the visual sensor 17, although this differs from the gist of the present application.
  • the teaching unit 43b obtains the motion trajectory T of the machine 2 based on forward kinematics from the detection information of the motion detector 21, or detects the detection information of the visual sensor 17 that captures three or more reference points whose relative positions are known.
  • the motion trajectory T of the machine 2 may be determined geometrically from
  • the teaching unit 43b operates on the control device 3.
  • information detected by the force detector 18 is obtained from the machine 2
  • the magnitude and direction of force applied to the work object W are obtained from the detected information
  • the motion trajectory T of the machine 2 is determined from the current position of the machine 2 and the direction of force action. is obtained, and the force parameter and the motion trajectory T are linked and recorded in the storage unit 45 .
  • the motion trajectory T of the machine 2 may be obtained from the actual amount of movement of the machine 2 by the machine operation unit 30, or from the amount of movement of the model of the machine 2 by the machine operation unit 44. you may ask.
  • the teaching unit 43b uses the force detector 18 to associate the force parameter of the force control command with the motion trajectory T of the machine 2 that performs force control, and simultaneously teaches the force. Even a control command can be easily taught. In particular, when teaching by direct teaching, the force parameter and the motion trajectory T can be taught intuitively, and the teacher does not need knowledge of the coordinate system, etc., thus reducing the labor of teaching.
  • the teaching unit 43b associates the force parameter with the motion trajectory T for each teaching point that configures the motion trajectory T, for each predetermined motion section that configures the motion trajectory T, or for each predetermined time interval during motion. Record.
  • the teacher can flexibly adjust the force parameter for each teaching point.
  • the teacher can collectively adjust the force parameter for each predetermined motion segment or each predetermined time interval.
  • the teaching unit 43b may switch the interval (each teaching point, each predetermined motion section, or each predetermined time interval) at which the force parameter is linked to the motion trajectory T based on the operation information input through the UI unit 40. .
  • the interval for linking the force parameter to the motion trajectory T the force parameter can be adjusted more flexibly, and the working efficiency of teaching the force control command is improved.
  • the teaching unit 43b may simultaneously teach a force parameter and another parameter other than the motion trajectory T using the force detector 18.
  • Other parameters include the approach speed of the machine 2 to the work object W, the movement speed of the machine 2, the posture of the machine 2, and the like.
  • Other parameters are simultaneously taught by direct teaching or playback teaching.
  • the test execution unit 43c tests and executes the taught force control command.
  • the taught force control instructions are test-executed on-line or off-line.
  • the test execution unit 43c sends a force control command to the control unit 31 via the communication control unit 48, and the control unit 31 drives the actuator 20 of the machine 2 according to the force control command to operate the machine 2.
  • Force control the machine 2 by actually operating it.
  • the instructor confirms the test results (machining results, motion trajectory T of the machine 2, cycle time, etc.). adjust the teaching of
  • the test execution unit 43c sends a force control command to the simulation generation unit 46, and the simulation generation unit 46 operates the model of the machine 2 in the virtual space according to the force control command to force-control the machine 2. do.
  • the teacher cannot check the machining result, but can check the operation trajectory of the machine 2, the cycle time, and the like. If there is no problem with the test result, the teaching of the force control instruction is completed, and if there is any problem with the test result, the teaching of the force control instruction is adjusted.
  • the adjustment unit 43d manually or automatically adjusts the force parameter, motion trajectory, and other parameters that require adjustment.
  • the adjustment unit 43d manually adjusts various parameters for each teaching point, for each predetermined action section, or for each predetermined time interval, based on the operation information input from the UI unit 40.
  • the adjusting section 43d automatically adjusts various parameters for each teaching point, for each predetermined operation section, or for each predetermined time interval by direct teaching or playback teaching.
  • the teacher moves the controlled part of the machine 2 or the vicinity of the controlled part. While the tool 19 is pressed against the work object W by directly moving the attached handle or the like, the adjustment unit 43d acquires the detection information of the force detector 18 from the control device 3 or the machine 2, and the force parameter obtained from the detection information. Re-teach by recording
  • the adjuster 43d is controlled by the control device 3 or the machine 2
  • Re-teaching is performed by acquiring the detection information of the force detector 18 from , and recording the force parameter, the motion trajectory T, and other parameters other than these obtained from the detection information. Note that the motion trajectory T and other parameters may be re-taught using the motion detector 21 or the visual sensor 17 .
  • the controller 31 moves the control point P of the machine 2 to a predetermined teaching point
  • the teacher actually moves the machine 2 with the machine operation section 30.
  • the adjustment unit 43d acquires the detection information of the force detector 18 from the control device 3 or the machine 2, and re-teach by recording the force parameter obtained from the detection information. .
  • the control unit 31 moves the control point P of the machine 2 to the starting point of the plurality of teaching points.
  • the adjustment unit 43d receives the detection information of the force detector 18 from the control device 3 or the machine 2. is obtained from the detected information, and the force parameter, the motion trajectory T, and other parameters other than these parameters are recorded for re-teaching. Note that the movement trajectory T of the machine 2 and other parameters may be re-taught using the amount of movement by the machine operation section 30 or the machine operation section 44 .
  • the test execution unit 43c tests the adjusted force control command again.
  • the adjusted force control commands are test-executed on-line or off-line.
  • the instructor confirms the test results (machining results, motion trajectory T of the machine 2, cycle time, etc.). readjust the teachings of
  • the program generation unit 47 After the teaching of force control is completed, the program generation unit 47 generates an operation program for the machine 2 based on the taught force control command. The program generation unit 47 sends the generated operation program to the control unit 31 , and the control unit 31 operates the machine 2 according to the operation program to force-control the machine 2 .
  • FIG. 3 is an explanatory diagram for explaining an example of a force control teaching method
  • FIGS. 4 to 6 show an example of a program creation screen 5 for force control.
  • FIG. 6 is a partially reduced and partially enlarged view of the program creation screen 5 of FIG. 5, and that some of the characters described on the program creation screen 5 of FIG. sea bream.
  • the teacher O uses the force detector 18 to simultaneously teach the force parameter of the force control command, the motion trajectory of the machine 2, and other parameters by direct teaching. are doing.
  • the teacher O activates programming software that creates an operation program for the machine 2 on the teaching device 4 .
  • the programming software displays a programming screen 5 on the UI section 40.
  • FIG. The program creation screen 5 has a command selection window 52 , a program edit window 51 and a command edit window 54 .
  • the instruction selection window 52 is displayed on the program creation screen 5 by the instruction selection section 41 .
  • a program editing window 51 is displayed on the program creation screen 5 by the program editing unit 42 .
  • the instruction editing window 54 is displayed on the program creation screen 5 by the instruction editing section 43 .
  • the programming screen 5 may comprise a simulation window 50, a machine operation window 56, and a program execution window 80.
  • a simulation window 50 is displayed on the program creation screen 5 by the simulation generator 46 .
  • the machine operation window 56 is displayed on the programming screen 5 by the machine operation section 44 .
  • the program execution window 80 is displayed on the program creation screen 5 by the program generator 47 .
  • the command selection window 52 displays various selectable control commands.
  • the teacher O selects an icon 53 representing a force control command from various control commands in the command selection window 52 and arranges the icon 53 in the program editing window 51 .
  • the tutor O may select text representing the force control command from among the various control commands in command selection window 52 and place the text in program edit window 51 .
  • the program editing window 51 displays an operating program that allows editing of the arrangement of various control instructions.
  • the teacher O selects the icon 53 representing the force control command in the program edit window 51 to display the command edit window 54 .
  • tutor O may select text representing a force control command in program edit window 51 to cause command edit window 54 to be displayed.
  • the command edit window 54 contains various editing functions for the control command selected in the program edit window 51.
  • the command editing window 54 displays a teaching function, a test execution function, and a teaching adjustment function as editing functions of force control commands.
  • the command edit window 54 may also display a registration function as an edit function of the force control command.
  • the teaching function is displayed on the instruction editing window 54 by the teaching section 43b.
  • the test execution function is displayed on the instruction editing window 54 by the test execution section 43c.
  • the teaching adjustment function is displayed on the command editing window 54 by the adjusting section 43d.
  • the registration function is displayed on the instruction edit window 54 by the registration unit 43a.
  • the teaching function has a teaching button 55 for starting or ending teaching of force control commands.
  • the teaching buttons 55 include a teaching start button 55a for starting teaching recording and a teaching end button 55b for ending teaching recording.
  • teaching by direct teaching the teacher O presses the teaching start button 55a and then holds the machine 2 by the wrist and moves the tool 19 against the work object W as shown in FIG.
  • teaching by playback teaching the teacher O operates the machine 2 with the machine operation unit 30 to press the tool 19 against the work object W and move it, as shown in FIG.
  • the detection information of the force detector 18 is acquired, and the force parameter of the force control command and the motion trajectory of the machine 2 are linked and recorded at the same time.
  • other parameters than the force parameter and motion trajectory are also recorded at the same time.
  • the teacher O presses the teaching end button 55b to end the teaching of the force control command.
  • the test execution function has a test execution button 57 that tests the taught force control command.
  • the teacher O presses the test execution button 57 to test-execute the taught force control command.
  • the control device 3 actually operates the machine 2 according to the force control command to force-control the machine 2 .
  • the teacher O confirms the test results (processing results, motion trajectory of the machine 2, cycle time, etc.).
  • the simulation generator 46 When the test is executed offline, the simulation generator 46 operates the model of the machine 2 in the virtual space of the simulation window 50 according to the force control command to force-control the model of the machine 2 .
  • the teacher O cannot confirm the machining result, he can confirm the operation trajectory of the machine 2, the cycle time, and the like.
  • the simulation window 50 may display the motion trajectory of the machine 2, the teaching points that make up the motion trajectory, various coordinate systems, the work object W, and the like.
  • the teaching adjustment function includes a teaching completion option button 58 for selecting teaching completion of the force control command, and a teaching adjustment option button 59 for selecting teaching adjustment of the force control command. If there is no problem with the test result of the force control command, the teacher O selects the teaching completion option button 58 to complete the teaching of the force control command. On the other hand, if there is a problem with the test result of the force control command, the teacher O selects the teaching adjustment option button 59 to adjust the teaching of the force control command.
  • the teaching adjustment function includes a trajectory history table 60 containing trajectory histories of taught force control commands, and a trajectory history scroll bar 61 for scrolling the trajectory history of the trajectory history table 60.
  • the trajectory history table 60 is displayed in the command edit window 54 .
  • the trajectory history table 60 contains the teaching point numbers, the position and orientation of the machine 2 at the teaching points (XYZ are the coordinate values of each coordinate axis corresponding to the position of the machine 2, and WPR is the rotation around each coordinate axis corresponding to the orientation of the machine 2).
  • trajectory history table 60 may include separate parameters such as the approach speed of the machine 2 to the work object W and the movement speed of the machine 2 for each teaching point.
  • a registration window may be provided, and an initial value of another parameter may be registered in advance in the another parameter registration window.
  • the force magnitude and direction of action are linked to the motion trajectory for each teaching point, but the trajectory history table 60 may link the force parameter to the motion trajectory for each predetermined motion section or each predetermined time interval.
  • the teach function may also include a plurality of interval option buttons to toggle the interval at which the force parameter is associated with the motion trajectory. Since the number of teaching points for force control commands tends to increase, the instructor O slides the trajectory history scroll bar 61 to view the trajectory history, and selects one or more teaching points that require adjustment from the trajectory history table 60. . Although not shown, the teacher O may select one or more teaching points by selecting a predetermined motion section or a predetermined time interval.
  • the text color or background color of the parameter of the selected teaching point is highlighted in the trajectory history table 60.
  • the teacher O manually or automatically adjusts various parameters such as the position and orientation of the machine 2, the magnitude and direction of force, etc., at one or more selected teaching points.
  • the teaching adjustment function includes a teaching point selection list 62 for selecting teaching points, a force adjustment box 63 for manually adjusting the magnitude of the force, and an action direction adjustment box 64 for manually adjusting the force action direction. ing.
  • the teaching adjustment function includes an approach speed adjustment box for manually adjusting the approach speed to the work object W and a movement speed adjustment box for manually adjusting the movement speed of the machine 2 (not shown). good too.
  • the teacher O selects one or more teaching points that require adjustment in the trajectory history table 60, the force magnitude and action direction at the selected one or more teaching points are displayed in the force adjustment box 63 and the action direction adjustment box 64, respectively. Is displayed.
  • the teacher O re-teaches by manually adjusting the magnitude and direction of the force using the force adjustment box 63 and the action direction adjustment box 64, respectively.
  • the teaching adjustment function has a position/orientation adjustment box display button 67 that displays a position/orientation adjustment box 70 for manually adjusting the position and orientation of the machine 2, as shown in FIG.
  • a position/orientation adjustment box display button 67 is displayed.
  • the teacher O presses the position/orientation adjustment box display button 67 the position and orientation of the machine 2 at one or more selected teaching points are displayed in the position/orientation adjustment box 70 .
  • the teacher O manually adjusts the position and orientation of the machine 2 using the position and orientation adjustment box 70 .
  • the teaching adjustment function should have coordinate system selection boxes 68 and 69 for selecting the numbers of the user coordinate system and the tool coordinate system, respectively.
  • the teacher O selects a desired user coordinate system and a desired tool coordinate system using coordinate system selection boxes 68 and 69 .
  • the teaching adjustment function may include an automatic adjustment button 65 for automatically adjusting the magnitude and direction of force, the position and orientation of the machine 2, and other parameters at one or more selected teaching points. . Automatic adjustment is performed by direct teaching or playback teaching.
  • the teacher O presses the automatic adjustment button 65 to move the control point P of the machine 2 to the selected teaching point.
  • the detection information of the force detector 18 is acquired, and the magnitude and direction of force applied to the work W obtained from the detection information are recorded. Re-teach by doing.
  • the re-taught force magnitude and action direction are reflected in the trajectory history table 60, the force adjustment box 63, and the action direction adjustment box 64, respectively.
  • the teacher O presses the automatic adjustment button 65 to move the control point P of the machine 2 to the starting point of the selected plurality of teaching points.
  • the detection information of the force detector 18 is acquired, and the magnitude and direction of action of the force obtained from the detection information, the machine 2 Re-teaching is performed by recording the motion trajectory of and another parameter other than these.
  • the motion trajectory and other parameters may be re-taught using the motion detector 21 or the visual sensor 17 .
  • the re-taught force magnitude and acting direction, motion trajectory, and other parameters are reflected in the trajectory history table 60, the force adjustment box 63, the acting direction adjustment box 64, and the position/orientation adjustment box 70, respectively.
  • the teacher O presses the automatic adjustment button 65 to move the control point P of the machine 2 to the selected teaching point.
  • the adjustment unit 43d acquires the detection information of the force detector 18 and applies it to the work W. Re-teach by recording the magnitude and direction of the applied force.
  • the re-taught force magnitude and action direction are reflected in the trajectory history table 60, the force adjustment box 63, and the action direction adjustment box 64, respectively.
  • the teacher O presses the automatic adjustment button 65 to move the control point P of the machine 2 to the starting point of the selected multiple teaching points.
  • the adjuster 43d acquires the detection information of the force detector 18 and applies it to the work W. Re-teaching is performed by recording the magnitude and direction of the applied force, the motion trajectory of the machine 2, and other parameters. Note that the movement trajectory and other parameters may be re-taught using the amount of movement by the mechanical operation unit 30 or the mechanical operation unit 44 .
  • the machine operation unit 44 displays on the machine operation window 56 movement buttons, attitude change buttons, and the like for operating the model of the machine 2 in the simulation window 50 .
  • the re-taught force magnitude and action direction, the motion trajectory of the machine 2, and other parameters are reflected in the trajectory history table 60, the force adjustment box 63, the action direction adjustment box 64, and the position/orientation adjustment box 70, respectively. be done.
  • the teaching adjustment function preferably has a comment input box 66 for entering arbitrary comments for one or more teaching points.
  • the teacher O enters a comment such as "manual adjustment" in the comment input box 66 when various parameters of the force control command are manually adjusted, and enters "automatic adjustment” in the comment input box 66 when the adjustment is performed automatically. Please enter a comment for This allows identification of manual or automatic adjustment of the parameters of the force control command.
  • the teacher O presses the test execution button 57 to test-execute the adjusted force control command again.
  • the control device 3 actually operates the machine 2 according to the force control command to force-control the machine 2 .
  • the teacher O confirms the test results (processing results, motion trajectory of the machine 2, cycle time, etc.).
  • the simulation generator 46 When the test is executed again offline, the simulation generator 46 operates the model of the machine 2 in the virtual space of the simulation window 50 according to the force control command to force-control the model of the machine 2 .
  • the teacher O cannot confirm the machining result, he can confirm the operation trajectory of the machine 2, the cycle time, and the like. If there is no problem with the test result of the force control command, the teacher O selects the teaching completion option button 58 to complete the teaching of the force control command. On the other hand, if the instructor O finds a problem again in the test result of the force control command, he adjusts the teaching of the force control command again.
  • the program execution window 80 After the teacher O selects the teaching completion option button 58 to complete the teaching of the force control command, the program execution window 80 generates and executes an operation program. Execution of the operating program is performed online or offline. When executed online, the control device 3 actually operates the machine 2 according to the generated operation program to force-control the machine 2 . In the off-line execution, the model of the machine 2 is operated in the virtual space of the simulation window 50 according to the operation program generated by the simulation generator 46 to force-control the model of the machine 2 .
  • FIG. 7 is a flow chart showing an example of a force control teaching method. This flow chart is implemented by programming software.
  • the program editing unit 42 adds an icon 53 corresponding to the force control command to the program editing window 51 (step S10).
  • the teaching unit 43b simultaneously teaches the force parameter, the motion trajectory, other parameters, etc. (step S11).
  • the test execution unit 43c tests and executes the taught force control command (step S12).
  • the instructor O checks the test result and determines whether or not to adjust the teaching point of the force control command (step S13). If it is not necessary to adjust the teaching point of the force control command (NO in step S13), the adjustment unit 43d completes the teaching of the force control command (step S17). If the teaching point of the force control command needs to be adjusted (YES in step S13), the adjuster 43d adjusts the teaching point manually or automatically (step S14).
  • the test execution unit 43c again tests and executes the adjusted force control command (step S15).
  • the teacher O confirms the test result and determines whether or not the adjustment of the teaching point of the force control command is completed (step S16). If the adjustment of the force control instruction teaching point is not completed (NO in step S16), the adjustment of the force control instruction teaching point (step S14) and test execution of the force control instruction (step S15) are repeated.
  • the adjustment unit 43d completes the teaching of the force control command (step S17).
  • FIG. 8 is a functional block diagram of the mechanical system 1 of the second embodiment.
  • the force control teaching method described above may be implemented not by programming software executed by the teaching device 4 but by programming software executed by the control device 3 .
  • the mechanical system 1 does not include the teaching device 4, and the control device 3 also has the components of the teaching device 4 of the first embodiment.
  • the control device 3 includes the control unit 31 instead of the communication control unit 48 of the teaching device 4 of the first embodiment, but the communication control unit 48 may be included.
  • the force parameter of the force control command and the movement trajectory of the machine that performs the force control are linked and taught at the same time using the force detector 18, so that the teaching of the force control can be easily performed. be able to.
  • Programs executed by the above-described processors, drive circuits, etc. may be provided by being recorded on a computer-readable non-temporary recording medium such as a CD-ROM, or may be provided via a wired or wireless WAN (wide area network). area network) or from a server device on a LAN (local area network).
  • a computer-readable non-temporary recording medium such as a CD-ROM
  • Programs executed by the above-described processors, drive circuits, etc. may be provided by being recorded on a computer-readable non-temporary recording medium such as a CD-ROM, or may be provided via a wired or wireless WAN (wide area network). area network) or from a server device on a LAN (local area network).

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

教示装置は、力検出器を用いて機械に対する力制御命令の力パラメータと力制御を行う機械の動作軌道とを紐付けて同時に教示する教示部を備える。

Description

教示装置、制御装置、及び機械システム
 本発明は、機械の教示技術に関し、特に力制御の教示を容易にする教示装置、制御装置、及び機械システムに関する。
 ロボット、工作機械等を含む機械の動作プログラムを直感的に作成するため、機械に対する制御命令を表すアイコンを配列して動作プログラムを作成するアイコンベースのプログラミングが提案されている。一方で、力センサ、トルクセンサ等を含む力検出器の検出情報から求めた機械の制御点に働く力に基づいて力制御を行う技術が広く知られている。力制御命令の教示では、機械の動作軌道、作業対象物への機械のアプローチ速度、作業対象物に加える力の大きさと作用方向、機械の移動速度、機械の姿勢等の多くのパラメータを教示する必要がある。
 機械の動作軌道の教示方法としては、教示操作盤やティーチペンダント等で機械を実際に動かしながら機械の動作軌道を記録及び再生して教示するプレイバックティーチングや教示者が機械の制御対象部位や制御対象部位の近傍に取付けたハンドル等を直接動かしながら機械の動作軌道を記録して教示するダイレクトティーチングといったオンラインティーチング、或いはコンピュータ装置で生成した仮想空間上で機械のモデルを動かしながら機械の動作軌道を記録して教示するオフラインティーチング等が広く知られている。
 力制御の教示方法としては、ワーク、工具等を含む作業対象物へのアプローチ速度、作業対象物に加える力の大きさと作用方向、機械の移動速度といった種々のパラメータを指定して教示する手法が広く知られている。しかしながら、力制御命令の教示では、次のような問題が生じる。(1)力制御中は機械の動作軌道を構成する教示点が多くなるため、各教示点における機械の位置や姿勢の調整が煩雑になる。また(2)力制御命令は、作業対象物への機械のアプローチ速度、作業対象物に加える力の大きさと作用方向、機械の移動速度、機械の姿勢等の多くのパラメータの教示が必要になるため、教示者のパラメータの知識が乏しいと(特に初心者の場合は)、教示が難しくなり、教示に手間が掛かる。
 さらに(3)力制御命令のパラメータは直感的に教示できるものではなく、作業対象物に加える力の大きさと作用方向を設定する際には座標系等の知識も必要になり、使い勝手が悪い。加えて(4)教示した力制御命令のパラメータの調整では、調整されたパラメータが全ての教示点に適用されるので、教示点毎に力の大きさと作用方向を柔軟に調整できない。本願に関連する背景技術としては、例えば後述の文献が公知である。
 特許文献1には、ダイレクトティーチングにより機械の動作軌道を教示し、プレイバックの最中に教示スイッチを押下することでプレイバックを中断し、中断後の軌道を再教示することが記載されている。
 特許文献2には、ロボットの先端部に設置された力制御押付装置が移動機構部を備え、力制御押付装置の押付方向を設定することが記載されている。また、力制御押付装置は、力センサが設置され、工具とワークとの間に作用する力を計測することが記載されている。
 特許文献3には、力センサの出力信号に基づいてロボットに直接教示する教示方法であって、教示スイッチをオンしている間に限って、力センサに加えられたオペレータの操作力に応じてハンドを移動させて良好な操作感を得つつ、位置決め精度を高めることが記載されている。
特開2004-049731号公報 特開2018-118340号公報 特開昭59-157715号公報
 本発明は、従来の問題点に鑑み、力制御の教示を容易にする技術を提供することを目的とする。
 本開示の一態様は、力検出器を用いて機械に対する力制御命令の力パラメータと力制御を行う機械の動作軌道とを紐付けて同時に教示する教示部を備える、教示装置を提供する。
 本開示の他の態様は、力検出器を用いて機械に対する力制御命令の力パラメータと力制御を行う機械の動作軌道とを紐付けて同時に教示する教示部と、力制御命令に基づいて機械の動作プログラムを生成するプログラム生成部と、動作プログラムに従って機械を動作させて機械を力制御する制御部と、を備える、制御装置を提供する。
 本開示の別の態様は、力検出器を備える機械と、力検出器を用いて機械に対する力制御命令の力パラメータと力制御を行う機械の動作軌道とを紐付けて同時に教示する教示部と、力制御命令に基づいて機械の動作プログラムを生成するプログラム生成部と、動作プログラムに従って機械を動作させて機械を力制御する制御部と、を備える、機械システムを提供する。
 本開示の一態様によれば、力検出器を用いて力制御命令の力パラメータと力制御を行う機械の動作軌道とを紐付けて同時に教示するため、力パラメータを容易に且つ効率良く教示でき、力制御の教示が容易になる。また、従来と比べてシステムの立ち上げ時間を短縮できる。
第一実施形態の機械システムの構成図である。 第一実施形態の機械システムの機能ブロック図である。 力制御の教示方法の一例を説明する説明図である。 力制御のプログラム作成画面の一例を示す。 力制御のプログラム作成画面の一例を示す。 力制御のプログラム作成画面の一例を示す。 力制御の教示方法の一例を示すフローチャートである。 第二実施形態の機械システムの機能ブロック図である。
 以下、添付図面を参照して本開示の実施形態を詳細に説明する。各図面において、同一又は類似の構成要素には同一又は類似の符号が付与されている。また、以下に記載する実施形態は請求の範囲に記載される発明の技術的範囲及び用語の意義を限定するものではない。本書において、用語「力パラメータ」は作業対象物に加える力の大きさと作用方向とを含み、用語「動作軌道」は教示点の位置を少なくとも含む。また、本書において、用語「画面」は一以上の表示装置のスクリーンの全部又は一部の領域を意味し、用語「ウィンドウ」は画面の一部の領域を意味する。
 以下、第一実施形態の機械システム1について説明する。図1は第一実施形態の機械システム1の構成図である。機械システム1は、機械2と、機械2の動作を制御する制御装置3と、機械2の動作を教示する教示装置4と、を備えている。
 機械2は多関節ロボットで構成されるが、これに限定されず、他の実施形態では、単関節ロボット、パラレルリンク型ロボット、双腕ロボット等の他の産業用ロボットで構成されることもある。また、別の実施形態において、機械2は、産業用ロボットではなく、ヒューマノイド等の他の形態のロボットで構成されることもある。或いは、更に別の実施形態において、機械2は、ロボットではなく、工作機械、建設機械、農業機械等の他の産業機械、又は車両、航空機、ロケット等の他の形態の機械で構成されることもある。
 機械2は相互に連結された一以上のリンク10~16を備えている。リンク11~16は軸線J1~J6回りにそれぞれ回動する回動リンクで構成されるが、これに限定されず、他の実施形態では、軸線J1~J6に沿って直動する直動リンクで構成されることもある。第零リンク10は例えば所定位置に固定されるベースであり、第一リンク11は例えば第一軸線J1回りに第零リンク10に対して回転可能に支持される旋回胴である。第二リンク12は例えば第一軸線J1に直交する第二軸線J2回りに第一リンク11に対して回転可能に支持される上腕であり、第三リンク13は例えば第二軸線J2に平行な第三軸線J3回りに第二リンク12に対して回転可能に支持される前腕である。
 第四リンク14~第六リンク16は第三リンク13に取付けられる三軸の手首である。第四リンク14は例えば第三軸線J3に直交する第四軸線J4回りに第三リンク13に対して回転可能に支持された第一手首要素であり、第五リンク15は例えば第四軸線J4に直交する第五軸線J5回りに第四リンク14に対して回転可能に支持された第二手首要素であり、第六リンク16は例えば第五軸線J5に直交する第六軸線J6回りに第五リンク15に対して回転可能に支持された第三手首要素である。
 必須ではないが、機械2はワーク又は工具を含む作業対象物Wが存在する作業空間の画像を取得する視覚センサ17を備えていてもよい。視覚センサ17は二次元カメラで構成されるが、これに限定されず、他の実施形態では、三次元カメラで構成されることもある。制御装置3又は教示装置4は視覚センサ17の検出情報から作業対象物Wの加工結果、機械2の位置及び姿勢等のパラメータを求めることもある。
 機械2は機械2の制御点Pの近傍(本例では手首とツール19の間)に取付けられる力検出器18をさらに備えている。力検出器18は三軸方向の力及び三軸回りのモーメントを検出する力センサで構成されるが、これに限定されず、他の実施形態では、少なくとも一軸以上の力を検出する力センサで構成されてもよい。或いは、別の実施形態では、力検出器18は、手首に取付けられる力センサで構成されるのではなく、第一リンク11~第六リンク16の連結部に設けられる一以上のトルクセンサで構成されることもある。トルクセンサは第一リンク11~第六リンク16に働くトルクを検出する。制御装置3又は教示装置4は力検出器18の検出情報から作業対象物Wに加える力の大きさと作用方向(つまり力パラメータ)を求める。
 機械2は機械2の先端に取付けられるツール19をさらに備えている。本実施形態ではツール19が作業対象物Wのバリ取りを行うバリ取りツールで構成されるが、これに限定されず、他の実施形態では、ハンドツール、溶接ツール、ねじ締結ツール、切削ツール、研磨ツール、ヘム加工ツール等の他の形態のツールで構成されることもある。本実施形態の機械2は作業対象物Wの加工線Lに沿ってバリ取りツールを押付けてバリ取り作業を行うが、これに限定されず、他の実施形態では、ハンドツールで保持した作業対象物Wをバリ取りツールや研磨ツール等の工具に押付けてバリ取りするバリ取り作業、又はハンドツールで保持した凸状ワークを凹状ワークに嵌合する嵌合作業、又はハンドツールで保持した第一ワークを第二ワークに面合わせする面合わせ作業、又はハンドツールで保持した第一歯車を第二歯車に位相合わせする位相合わせ作業、又はハンドツールで保持した雄ねじを雌ねじに締結するねじ締結作業等を行うこともある。
 機械2は、リンク11~16を駆動する一以上のアクチュエータ20と、アクチュエータ20の動作を検出する一以上の動作検出器21と、を備えている(図2参照)。アクチュエータ20はリンク11~16の連結部の近傍に設けられる。アクチュエータ20は電動機、減速機等を含む電気式アクチュエータで構成されるが、これに限定されず、他の実施形態では、油圧式、空気圧式等の他の形態のアクチュエータで構成されることもある。動作検出器21はエンコーダで構成されるが、これに限定されず、他の実施形態では、レゾルバ、ホールセンサ等の他の形態の動作検出器で構成されることもある。制御装置3又は教示装置4は動作検出器21の検出情報から、機械2の位置及び姿勢、機械2の移動速度、作業対象物Wへのアプローチ速度等のパラメータを求めることもある。
 制御装置3はプログラマブルロジックコントローラ(PLC)等を備えているが、これに限定されず、他の実施形態では、相互にバスで接続されたプロセッサ、メモリ、入出力インタフェース等を備える他の形態のコンピュータで構成されることもある。制御装置3は、アクチュエータ20を駆動する駆動回路をさらに備えているが、これに限定されず、他の実施形態では、機械2がアクチュエータ20を駆動する駆動回路を備えることもある。制御装置3はアクチュエータ20を駆動させて機械2を制御する。制御装置3は動作検出器21及び力検出器18からそれぞれの検出情報を受取り、教示装置4は制御装置3から動作検出器21及び力検出器18のそれぞれの検出情報を受取るが、これに限定されず、他の実施形態では、教示装置4が動作検出器21及び力検出器18から直接それぞれの検出情報を受入れることもある。
 制御装置3は、世界座標系、機械座標系、フランジ座標系、ツール座標系、カメラ座標系、ユーザ座標系等の種々の座標系を設定可能である。これら座標系は例えば直交座標系で構成される。説明を容易にするため、制御装置3は、機械座標系C1、ツール座標系C2、ユーザ座標系C3を設定しているものとする。機械座標系C1は機械2の基準位置、例えばベースに固定され、ツール座標系C2はツール19の基準位置、例えばツール中心点(TCP)に固定され、ユーザ座標系C3は任意の位置、例えば作業対象物Wの基準位置に固定される。
 制御装置3は機械2の制御点Pをツール座標系C2の原点(すなわちツール中心点:TCP)に設定する。従って、機械2の制御対象部位(本例ではツール)の位置及び姿勢(以下、機械2の位置及び姿勢という)は機械座標系C1におけるツール座標系C2の位置及び姿勢として表される。他の実施形態において、機械2の位置及び姿勢は、機械座標系C1におけるフランジ座標系の位置及び姿勢として表されることもあり、又はユーザ座標系C3におけるツール座標系C2又はフランジ座標系の位置及び姿勢として表されることもある。制御装置3は教示装置4で作成された動作プログラムに従って機械2の動作を制御する。
 動作プログラムは、機械2の動作軌道Tを構成する教示点へ機械2の制御点Pを移動させる移動命令、作業対象物Wに加える力を制御する力制御命令、機械2に所定の動作パターン(パレタイジング、デパレタイジング等)を実行させるアプリケーション命令、所定の条件で制御命令を分岐させる条件分岐命令、所定の条件で所定の制御命令をループさせるループ命令等の種々の制御命令を含む。
 教示装置4は有線又は無線で制御装置3に接続する携帯型のティーチペンダントで構成されるが、これに限定されず、他の実施形態では、制御装置3に直接組付けられる教示操作盤、タブレット、パーソナルコンピュータ等を含む他のコンピュータ装置等の他の形態の装置で構成されることもある。教示装置4は相互にバスで接続されたプロセッサ、メモリ、入出力インタフェース、ユーザインタフェース等を備えている。ユーザインタフェースは、タッチパネル、ディスプレイ等の表示装置や、キーボード、ボタン、スイッチ等の入力装置で構成される。教示装置4は有線又は無線を介して制御装置3に接続する。
 教示装置4は機械2の動作プログラムを作成するプログラム作成ソフトウェアを備えている。プログラム作成ソフトウェアは機械2の制御命令を表すアイコンを配列して動作プログラムを作成するアイコンベースのプログラム作成ソフトウェアで構成されるが、これに限定されず、他の実施形態では、機械2の制御命令を表すテキストを配列して動作プログラムを作成するテキストベースのプログラム作成ソフトウェアで構成されることもある。教示装置4は作成された動作プログラムを制御装置3に送出する。
 以上のように構成された機械システム1において、制御装置3は動作プログラムに従って機械2を動作させて機械2を力制御し、機械2はツール19を用いて例えば作業対象物Wのバリ取り作業を行う。力制御命令の教示では、機械2の動作軌道T、作業対象物Wへの機械2のアプローチ速度、作業対象物に加える力の大きさと作用方向、機械2の移動速度、機械2の姿勢等の多くのパラメータを教示する必要がある。
 機械2の動作軌道Tの教示方法としては、教示操作盤やティーチペンダント等の教示装置4で機械2を実際に動かしながら機械2の動作軌道を記録及び再生して教示するプレイバックティーチングや教示者が機械2の制御対象部位や制御対象部位の近傍に取付けたハンドル等を直接動かしながら機械2の動作軌道を記録して教示するダイレクトティーチングといったオンラインティーチング、或いは教示装置4で生成した仮想空間上で機械2のモデルを動かしながら機械2の動作軌道を記録して教示するオフラインティーチング等がある。
 力制御の教示方法としては、作業対象物Wへのアプローチ速度、作業対象物Wに加える力の大きさと作用方向、機械の移動速度といった種々のパラメータを指定して教示する手法があるが、次のような問題が生じる。(1)力制御中は機械2の動作軌道Tを構成する教示点が多くなるため、各教示点の機械2の位置や姿勢の調整が煩雑になる。また、(2)力制御命令は、作業対象物への機械のアプローチ速度、作業対象物に加える力の大きさと作用方向、機械の移動速度、機械の姿勢等の多くのパラメータの教示が必要になるため、教示者のパラメータの知識が乏しいと(特に初心者の場合は)、教示が難しくなり、教示に手間が掛かる。
 さらに(3)力制御命令のパラメータは直感的に教示できるものではなく、作業対象物に加える力の大きさと力の作用方向を設定する際には座標系等の知識も必要になり、使い勝手が悪い。加えて(4)教示した力制御命令のパラメータの調整では、調整されたパラメータが全ての教示点に適用されるので、教示点毎に力の大きさと作用方向を柔軟に調整できない。
 そこで、第一実施形態では、力検出器18を用いて機械2に対する力制御命令の力パラメータと力制御を行う機械2の動作軌道Tとを紐付けて同時に教示する。本教示はダイレクトティーチング又はプレイバックティーチングによって力パラメータを動作軌道Tに紐付けて記録して行われる。また、力パラメータと動作軌道以外の別パラメータ(作業対象物Wへの機械2のアプローチ速度、機械2の移動速度、機械2の姿勢等)も同時に教示するとよい。
 以下、第一実施形態の機械システム1の機能ブロックについて説明する。図2は第一実施形態の機械システム1の機能ブロック図である。教示装置4は、ユーザインタフェース(UI)部40、記憶部45、及び通信制御部48を備えている。UI部40は、タッチパネル、ディスプレイ、キーボード、ボタン、スイッチ等のハードウェアで構成される。記憶部45は、RAM(random access memory)、ROM(read only memory)、SSD(solid state drive)等のメモリで構成される。通信制御部48は半導体集積回路等のハードウェアで構成される。
 教示装置4は、命令選択部41、プログラム編集部42、及び命令編集部43をさらに備えている。必須ではないが、教示装置4は、シミュレーション生成部46、機械操作部44、及びプログラム生成部47をさらに備えていてもよい。これら「~部」は、プログラム作成ソフトウェアを構成する一以上のプログラム又はプログラムセクションで構成される。プログラム作成ソフトウェアは、PLC(programmable logic controller)、CPU(central processing unit)、MPU(micro processing unit)等のプロセッサで読取られて実行される。
 UI部40は種々の情報の表示及び入力を行う。命令選択部41はUI部40で入力される操作情報に基づいて種々の制御命令を選択する。プログラム編集部42はUI部40で入力される操作情報に基づいて制御命令を時系列に配列して機械2の動作プログラムを編集する。命令編集部43はUI部40で入力される操作情報に基づいて個々の制御命令を編集する。
 シミュレーション生成部46は仮想空間上に機械2のモデルを配置して機械2の動作のシミュレーションを生成する。シミュレーション生成部46は機械2の動作軌道や種々の座標軸を生成することもある。機械操作部44はUI部40で入力される操作情報に基づいて仮想空間上に配置した機械2のモデルを操作して動かす。機械操作部44で機械2の動作軌道を生成することもある。
 記憶部45は動作プログラムやパラメータ等の種々の情報を記憶する。プログラム生成部47は、編集された動作プログラムを、ソースコード、オブジェクトコード(機械語)、中間コード、バイトコード等に変換して動作プログラムを生成する。プログラム生成部47は生成した動作プログラムをオンラインで又はオフラインで実行する。通信制御部48は、動作プログラム、制御命令、パラメータ、力検出器18及び動作検出器21の検出情報等の種々の情報を機械2又は制御装置3との間で通信制御する。
 制御装置3は機械操作部30及び制御部31を備えている。機械操作部30は教示操作盤で構成され、機械2を操作する移動ボタン、姿勢変更ボタン等を備えている。制御部31はPLCや他のプロセッサで実行可能なプログラム又はプログラムセクションで構成される。機械操作部30は操作情報に基づいて機械2を操作して機械2を実際に動かす。制御部31は動作プログラム、制御命令、操作情報等に従ってアクチュエータ20を駆動制御して機械2を動かす。
 機械2は、一以上のアクチュエータ20、一以上の動作検出器21、及び一以上の力検出器18を備えている。アクチュエータ20は制御部31の動作指令(位置指令、速度指令、及び電流指令)に従って機械2のリンク11~16を駆動する。動作検出器21はアクチュエータ20の動作(位置、速度、及び加速度)を検出する。力検出器18は機械2の先端部に働く力を検出するが、これに限定されず、他の実施形態ではリンク11~16に働くトルクを検出する。
 命令編集部43は、力制御命令の編集機能として、登録部43a、教示部43b、テスト実行部43c、及び調整部43dを備えている。登録部43a、教示部43b、テスト実行部43c、及び調整部43dはプログラム作成ソフトウェアを構成する一以上のプログラム又はプログラムセクションで構成される。
 登録部43aは力制御命令の力パラメータと機械2の動作軌道T以外の別パラメータを初期値として事前に登録する。別パラメータとしては、作業対象物Wへの機械2のアプローチ速度、機械2の移動速度、機械2の姿勢等を含む。
 教示部43bは力検出器18を用いて力制御命令の力パラメータと力制御を行う機械2の動作軌道Tとを紐付けて同時に教示する。教示部43bは、教示の記録を開始する教示開始命令と、教示の記録を終了する教示終了命令と、を備えている。教示部43bは教示の記録を開始すると、ダイレクトティーチング又はプレイバックティーチングによって力パラメータ、動作軌道T、これら以外の別パラメータの記録を開始する。教示部43bは教示の記録を終了すると、力パラメータ、動作軌道T、これら以外の別パラメータの記録を終了する。
 ダイレクトティーチングで教示を行う場合、教示者が機械2の制御対象部位や制御対象部位の近傍に取付けたハンドル等を直接動かしてツール19を作業対象物Wに押付けて移動する間に、教示部43bが制御装置3又は機械2から力検出器18の検出情報を取得して検出情報から作業対象物Wに加える力の大きさと作用方向を求め、機械2の現在位置と力の作用方向から機械2の動作軌道Tを求めると共に、力パラメータと動作軌道Tを紐付けて記憶部45に記録する。
 或いは、本願の趣旨とは異なるが、機械2の動作軌道Tは動作検出器21又は視覚センサ17を用いて求めてもよい。つまり教示部43bは動作検出器21の検出情報から順運動学に基づいて機械2の動作軌道Tを求めるか、又は相対位置が既知の三点以上の基準点を写した視覚センサ17の検出情報から幾何学的に機械2の動作軌道Tを求めてもよい。
 プレイバックティーチングで教示を行う場合、教示者が制御装置3の機械操作部30で機械2を実際に動かしてツール19を作業対象物Wに押付けて移動する間に、教示部43bが制御装置3又は機械2から力検出器18の検出情報を取得して検出情報から作業対象物Wに加える力の大きさと作用方向を求め、機械2の現在位置と力の作用方向から機械2の動作軌道Tを求めると共に、力パラメータ及び動作軌道Tを紐付けて記憶部45に記録する。
 或いは、本願の趣旨とは異なるが、機械2の動作軌道Tは機械操作部30による機械2の実際の移動量から求めてもよいし、又は機械操作部44による機械2のモデルの移動量から求めてもよい。
 以上のように、教示部43bは力検出器18を用いて力制御命令の力パラメータと力制御を行う機械2の動作軌道Tとを紐付けて同時に教示するため、教示点が多くなり易い力制御命令であっても教示が容易になる。特にダイレクトティーチングによって教示する場合、力パラメータと動作軌道Tを直感的に教示でき、教示者は座標系等の知識が不要になり、教示の手間が軽減する。
 教示部43bは、動作軌道Tを構成する教示点毎に、又は動作軌道Tを構成する所定の動作区間毎に、又は動作中の所定の時間間隔毎に力パラメータを動作軌道Tに紐付けて記録する。教示点毎に力パラメータを動作軌道Tに紐付ける場合、教示者は教示点毎に力パラメータを柔軟に調整できる。所定の動作区間毎に又は所定の時間間隔毎に力パラメータを動作軌道Tに紐付ける場合、教示者は所定の動作区間毎に又は所定の時間間隔毎に力パラメータを一括して調整できる。
 教示部43bはUI部40で入力される操作情報に基づいて力パラメータを動作軌道Tに紐付ける間隔(教示点毎、又は所定の動作区間毎、又は所定の時間間隔毎)を切替えてもよい。力パラメータを動作軌道Tに紐付ける間隔を切替えることにより、力パラメータをより柔軟に調整でき、力制御命令の教示の作業効率が向上する。
 教示部43bは力検出器18を用いて力パラメータ及び動作軌道T以外の別パラメータを同時に教示してもよい。別パラメータは、作業対象物Wへの機械2のアプローチ速度、機械2の移動速度、機械2の姿勢等を含む。別パラメータはダイレクトティーチング又はプレイバックティーチングによって同時に教示される。力パラメータ及び動作軌道T以外の別パラメータを同時に教示することで力制御命令の教示がさらに容易になる。
 或いは、本願の趣旨とは異なるが、ダイレクトティーチングの場合、機械2のアプローチ速度、機械2の移動速度、機械2の姿勢等の別パラメータは動作検出器21又は視覚センサ17を用いて教示してもよい。また、プレイバックティーチングの場合、機械2のアプローチ速度、機械2の移動速度、機械2の姿勢等の別パラメータは機械操作部30による機械2の実際の移動量又は機械操作部44による機械2のモデルの移動量から求めて教示してもよい。
 テスト実行部43cは教示された力制御命令をテスト実行する。教示された力制御命令はオンラインで又はオフラインでテスト実行される。オンラインでテスト実行する場合、テスト実行部43cは通信制御部48を介して力制御命令を制御部31へ送出し、制御部31が力制御命令に従って機械2のアクチュエータ20を駆動させて機械2を実際に動作させて機械2を力制御する。教示者はテスト結果(加工結果、機械2の動作軌道T、サイクルタイム等)を確認し、テスト結果に問題がなければ力制御命令の教示を完了し、テスト結果に問題があれば力制御命令の教示を調整する。
 オフラインでテスト実行する場合、テスト実行部43cが力制御命令をシミュレーション生成部46へ送出し、シミュレーション生成部46が力制御命令に従って仮想空間上で機械2のモデルを動作させて機械2を力制御する。オフラインのテスト実行では、教示者は加工結果を確認できないが、機械2の動作軌道、サイクルタイム等を確認できる。テスト結果に問題がなければ力制御命令の教示を完了し、テスト結果に問題があれば力制御命令の教示を調整する。
 調整部43dは、調整が必要な力パラメータ、動作軌道、及びこれら以外の別パラメータを手動で又は自動で調整する。手動調整の場合、調整部43dはUI部40で入力された操作情報に基づいて教示点毎に、又は所定の動作区間毎に、又は所定の時間間隔毎に種々のパラメータを手動で調整する。自動調整の場合、調整部43dはダイレクトティーチング又はプレイバックティーチングによって教示点毎に、又は所定の動作区間毎に、又は所定の時間間隔毎に種々のパラメータを自動で調整する。
 一つの教示点をダイレクトティーチングで再教示する場合、制御部31が機械2の制御点Pを所定の教示点に移動させた後、教示者が機械2の制御対象部位や制御対象部位の近傍に取付けたハンドル等を直接動かしてツール19を作業対象物Wに押付ける間に、調整部43dが制御装置3又は機械2から力検出器18の検出情報を取得して検出情報から求めた力パラメータを記録することで再教示する。
 所定の動作区間又は所定の時間間隔を構成する複数の教示点をダイレクトティーチングで再教示する場合、制御部31が機械2の制御点Pを複数の教示点のうちの開始点に移動させた後、教示者が機械2の制御対象部位や制御対象部位の近傍に取付けたハンドル等を直接動かしてツール19を作業対象物Wに押付けて移動する間に、調整部43dが制御装置3又は機械2から力検出器18の検出情報を取得して検出情報から求めた力パラメータ、動作軌道T、これら以外の別パラメータ等を記録することで再教示する。なお、動作軌道T及び別パラメータは動作検出器21又は視覚センサ17を用いて再教示してもよい。
 一つの教示点をプレイバックティーチングで再教示する場合、制御部31が機械2の制御点Pを所定の教示点に移動させた後、教示者が機械操作部30で機械2を実際に動かしてツール19を作業対象物Wに押付ける間に、調整部43dが制御装置3又は機械2から力検出器18の検出情報を取得して検出情報から求めた力パラメータを記録することで再教示する。
 所定の動作区間又は所定の時間間隔を構成する複数の教示点をプレイバックティーチングで再教示する場合、制御部31が機械2の制御点Pを複数の教示点のうちの開始点に移動させた後、教示者が機械操作部30で機械2を実際に動かしてツール19を作業対象物Wに押付けて移動する間に、調整部43dが制御装置3又は機械2から力検出器18の検出情報を取得して検出情報から求めた力パラメータ、動作軌道T、これら以外の別パラメータ等を記録することで再教示する。なお、機械2の動作軌道T及び別パラメータは機械操作部30又は機械操作部44による移動量を用いて再教示してもよい。
 テスト実行部43cは調整された力制御命令を再びテスト実行する。調整された力制御命令はオンラインで又はオフラインでテスト実行される。教示者はテスト結果(加工結果、機械2の動作軌道T、サイクルタイム等)を確認し、テスト結果に問題がなければ力制御命令の教示を完了し、テスト結果に問題があれば力制御命令の教示を再調整する。
 力制御の教示が完了した後、プログラム生成部47は教示された力制御命令に基づいて機械2の動作プログラムを生成する。プログラム生成部47は生成された動作プログラムを制御部31に送出し、制御部31は動作プログラムに従って機械2を動作させて機械2を力制御する。
 以下、力制御の教示方法とプログラム作成画面の一例について説明する。図3は力制御の教示方法の一例を説明する説明図であり、図4~図6は力制御のプログラム作成画面5の一例を示す。なお、図6は図5のプログラム作成画面5を一部縮小し一部拡大した図であり、図6では図5のプログラム作成画面5に記載の文字を一部省略していることに留意されたい。本例では、図3に示すように教示者Oが力検出器18を用いてダイレクトティーチングによって力制御命令の力パラメータ、機械2の動作軌道、及びこれら以外の別パラメータを同時に教示することを想定している。
 教示者Oは教示装置4で機械2の動作プログラムを作成するプログラム作成ソフトウェアを起動する。図4に示すようにプログラム作成ソフトウェアはプログラム作成画面5をUI部40に表示する。プログラム作成画面5は、命令選択ウィンドウ52、プログラム編集ウィンドウ51、及び命令編集ウィンドウ54を備えている。命令選択ウィンドウ52は図示しないが、命令選択部41によってプログラム作成画面5に表示される。プログラム編集ウィンドウ51はプログラム編集部42によってプログラム作成画面5に表示される。命令編集ウィンドウ54は命令編集部43によってプログラム作成画面5に表示される。
 必須ではないが、プログラム作成画面5は、シミュレーションウィンドウ50、機械操作ウィンドウ56、及びプログラム実行ウィンドウ80を備えていてもよい。シミュレーションウィンドウ50はシミュレーション生成部46によってプログラム作成画面5に表示される。機械操作ウィンドウ56は図示しないが、機械操作部44によってプログラム作成画面5に表示される。プログラム実行ウィンドウ80は図示しないが、プログラム生成部47によってプログラム作成画面5に表示される。
 命令選択ウィンドウ52は選択可能な種々の制御命令を表示する。教示者Oは命令選択ウィンドウ52で種々の制御命令の中から力制御命令を表すアイコン53を選択してアイコン53をプログラム編集ウィンドウ51に配置する。他の実施例において、教示者Oは命令選択ウィンドウ52で種々の制御命令の中から力制御命令を表すテキストを選択してテキストをプログラム編集ウィンドウ51に配置してもよい。
 プログラム編集ウィンドウ51は種々の制御命令の配置を編集可能な動作プログラムを表示する。教示者Oはプログラム編集ウィンドウ51で力制御命令を表すアイコン53を選択し、命令編集ウィンドウ54を表示させる。他の実施例において、教示者Oはプログラム編集ウィンドウ51で力制御命令を表すテキストを選択し、命令編集ウィンドウ54を表示させてもよい。
 命令編集ウィンドウ54はプログラム編集ウィンドウ51で選択された制御命令の種々の編集機能を含む。命令編集ウィンドウ54は、力制御命令の編集機能として、教示機能、テスト実行機能、及び教示調整機能を表示する。また、命令編集ウィンドウ54は、力制御命令の編集機能として、登録機能を表示してもよい。教示機能は教示部43bによって命令編集ウィンドウ54に表示される。テスト実行機能はテスト実行部43cによって命令編集ウィンドウ54に表示される。教示調整機能は調整部43dによって命令編集ウィンドウ54に表示される。登録機能は登録部43aによって命令編集ウィンドウ54に表示される。
 教示機能は力制御命令の教示の開始又は終了を行う教示ボタン55を備えている。教示ボタン55は、教示の記録を開始する教示開始ボタン55aと、教示の記録を終了する教示終了ボタン55bと、を含む。ダイレクトティーチングで教示を行う場合、教示者Oは教示開始ボタン55aを押下した後、図3に示すように機械2の手首を持ってツール19を作業対象物Wに押付けて移動する。プレイバックティーチングで教示を行う場合、教示者Oは図2に示すように機械操作部30で機械2を操作してツール19を作業対象物Wに押付けて移動する。
 機械2が移動する間、力検出器18の検出情報を取得して力制御命令の力パラメータと機械2の動作軌道とを紐付けて同時に記録する。また、力パラメータと動作軌道以外の別パラメータ(作業対象物Wへの機械2のアプローチ速度、機械2の移動速度、機械2の姿勢等)も同時に記録する。教示者Oは教示終了ボタン55bを押下して力制御命令の教示を終了する。
 テスト実行機能は教示された力制御命令をテストするテスト実行ボタン57を備えている。教示者Oはテスト実行ボタン57を押下し、教示された力制御命令をテスト実行する。オンラインでテスト実行する場合、制御装置3が力制御命令に従って機械2を実際に動作させて機械2を力制御する。教示者Oはテスト結果(加工結果、機械2の動作軌道、サイクルタイム等)を確認する。
 オフラインでテスト実行する場合、シミュレーション生成部46が力制御命令に従ってシミュレーションウィンドウ50の仮想空間上で機械2のモデルを動作させて機械2のモデルを力制御する。教示者Oは加工結果を確認できないが、機械2の動作軌道、サイクルタイム等を確認できる。必須ではないが、シミュレーションウィンドウ50は、機械2の動作軌道、動作軌道を構成する教示点、種々の座標系、作業対象物W等を表示することもある。
 教示調整機能は、力制御命令の教示完了を選択する教示完了オプションボタン58と、力制御命令の教示調整を選択する教示調整オプションボタン59と、を備えている。教示者Oは力制御命令のテスト結果に問題がなければ教示完了オプションボタン58を選択して力制御命令の教示を完了する。一方、教示者Oは力制御命令のテスト結果に問題があれば教示調整オプションボタン59を選択して力制御命令の教示を調整する。
 図5に示すように、教示調整機能は、教示された力制御命令の軌道履歴を含む軌道履歴表60と、軌道履歴表60の軌道履歴をスクロールする軌道履歴スクロールバー61と、を備えている。教示者Oが教示調整オプションボタン59を選択すると、軌道履歴表60が命令編集ウィンドウ54に表示される。軌道履歴表60は、教示点番号、教示点における機械2の位置及び姿勢(XYZは機械2の位置の相当する各座標軸の座標値であり、WPRは機械2の姿勢に相当する各座標軸回りの回転量である)、作業対象物Wに加える力の大きさ(ニュートン(N))、作業対象物Wに加える力の作用方向(所定の座標軸の正方向又は負方向)と、を含む。なお、軌道履歴表60は、作業対象物Wに対する機械2のアプローチ速度、機械2の移動速度等の別パラメータを教示点毎に含んでいてもよいし、又は図示しないが、登録機能が別パラメータ登録ウィンドウを備え、別パラメータ登録ウィンドウで別パラメータの初期値を事前に登録してもよい。
 力の大きさと作用方向は教示点毎に動作軌道に紐付けられているが、軌道履歴表60は所定の動作区間毎に又は所定の時間間隔毎に力パラメータを動作軌道に紐付けてもよい。また、教示機能は力パラメータを動作軌道に紐付ける間隔を切替える複数の間隔オプションボタンを備えていてもよい。力制御命令の教示点は多くなる傾向があるため、教示者Oは軌道履歴スクロールバー61で軌道履歴をスライドして閲覧し、調整が必要な一以上の教示点を軌道履歴表60から選択する。図示しないが、教示者Oは所定の動作区間又は所定の時間間隔を選択することで一以上の教示点を選択してもよい。
 選択された教示点のパラメータの文字色又は背景色は軌道履歴表60の中で強調表示される。教示者Oは、選択された一以上の教示点における、機械2の位置及び姿勢、力の大きさ及び作用方向等の種々のパラメータを手動で又は自動で調整する。
 教示調整機能は、教示点を選択する教示点選択リスト62と、力の大きさを手動で調整する力調整ボックス63と、力の作用方向を手動で調整する作用方向調整ボックス64と、を備えている。また、教示調整機能は、図示しないが、作業対象物Wへのアプローチ速度を手動で調整するアプローチ速度調整ボックスと、機械2の移動速度を手動で調整する移動速度調整ボックスと、を備えていてもよい。教示者Oが軌道履歴表60で調整が必要な一以上の教示点を選択すると、選択された一以上の教示点における力の大きさと作用方向がそれぞれ力調整ボックス63及び作用方向調整ボックス64に表示される。教示者Oは力調整ボックス63及び作用方向調整ボックス64で力の大きさと作用方向をそれぞれ手動で調整することで再教示する。
 教示調整機能は図6に示すように機械2の位置及び姿勢を手動で調整する位置姿勢調整ボックス70を表示する位置姿勢調整ボックス表示ボタン67を備えている。教示者Oが軌道履歴表60で調整が必要な一以上の教示点を選択すると、位置姿勢調整ボックス表示ボタン67が表示される。教示者Oは位置姿勢調整ボックス表示ボタン67を押下すると、選択された一以上の教示点における機械2の位置及び姿勢が位置姿勢調整ボックス70に表示される。教示者Oは位置姿勢調整ボックス70で機械2の位置及び姿勢をそれぞれ手動で調整する。
 必須ではないが、教示調整機能はユーザ座標系やツール座標系の番号をそれぞれ選択する座標系選択ボックス68、69を備えるとよい。教示者Oは座標系選択ボックス68、69で所望のユーザ座標系や所望のツール座標系を選択する。
 教示調整機能は、選択された一以上の教示点における、力の大きさと作用方向、機械2の位置及び姿勢、これら以外の別パラメータ等を自動で調整する自動調整ボタン65を備えているとよい。自動調整はダイレクトティーチング又はプレイバックティーチングによって実行される。
 選択された一つの教示点をダイレクトティーチングで再教示する場合、教示者Oは自動調整ボタン65を押下して機械2の制御点Pを選択された教示点に移動させた後、教示者Oは機械2の手首を持ってツール19を作業対象物Wに押付ける間に、力検出器18の検出情報を取得して検出情報から求めた作業対象物Wに加える力の大きさと作用方向を記録することで再教示する。再教示された力の大きさと作用方向は、軌道履歴表60、力調整ボックス63、及び作用方向調整ボックス64にそれぞれ反映される。
 選択された複数の教示点をダイレクトティーチングで再教示する場合、教示者Oは自動調整ボタン65を押下して機械2の制御点Pを選択された複数の教示点のうちの開始点に移動させた後、機械2の手首を持ってツール19を作業対象物Wに押付けて移動する間に、力検出器18の検出情報を取得して検出情報から求めた力の大きさと作用方向、機械2の動作軌道、及びこれら以外の別パラメータを記録することで再教示する。なお、動作軌道及び別パラメータは動作検出器21又は視覚センサ17を用いて再教示してもよい。再教示された力の大きさと作用方向、動作軌道、これら以外の別パラメータは、軌道履歴表60、力調整ボックス63、作用方向調整ボックス64、及び位置姿勢調整ボックス70にそれぞれ反映される。
 選択された一つの教示点をプレイバックティーチングで再教示する場合、教示者Oは自動調整ボタン65を押下して機械2の制御点Pを選択された教示点に移動させた後、教示者Oは制御装置3の機械操作部30で機械2を実際に動かしてツール19を作業対象物Wに押付ける間に、調整部43dが力検出器18の検出情報を取得して作業対象物Wに加える力の大きさと作用方向を記録することで再教示する。再教示された力の大きさと作用方向は、軌道履歴表60、力調整ボックス63、及び作用方向調整ボックス64にそれぞれ反映される。
 選択された複数の教示点をプレイバックティーチングで再教示する場合、教示者Oは自動調整ボタン65を押下して機械2の制御点Pを選択された複数の教示点のうちの開始点に移動させた後、教示者Oは機械2の手首を持ってツール19を作業対象物Wに押付けて移動する間に、調整部43dが力検出器18の検出情報を取得して作業対象物Wに加える力の大きさと作用方向、機械2の動作軌道、及びこれら以外の別パラメータを記録することで再教示する。なお、動作軌道及び別パラメータは機械操作部30又は機械操作部44による移動量を用いて再教示してもよい。機械操作部44は、図示しないが、シミュレーションウィンドウ50の機械2のモデルを操作する移動ボタン、姿勢変更ボタン等を機械操作ウィンドウ56に表示する。再教示された力の大きさと作用方向、機械2の動作軌道、及びこれら以外の別パラメータは、軌道履歴表60、力調整ボックス63、作用方向調整ボックス64、及び位置姿勢調整ボックス70にそれぞれ反映される。
 教示調整機能は一以上の教示点に対して任意のコメントを入力するコメント入力ボックス66を備えているとよい。教示者Oは力制御命令の種々のパラメータを手動で調整した場合はコメント入力ボックス66に「手動調整」等のコメントを入力し、自動で調整した場合はコメント入力ボックス66に「自動調整」等のコメントを入力するとよい。これにより、力制御命令のパラメータを手動調整したか又は自動調整したかを識別できる。
 教示者Oは力制御命令の種々のパラメータを調整した後、テスト実行ボタン57を押下し、調整した力制御命令を再びテスト実行する。オンラインで再びテスト実行する場合、制御装置3が力制御命令に従って機械2を実際に動作させて機械2を力制御する。教示者Oはテスト結果(加工結果、機械2の動作軌道、サイクルタイム等)を確認する。
 オフラインで再びテスト実行する場合、シミュレーション生成部46が力制御命令に従ってシミュレーションウィンドウ50の仮想空間上で機械2のモデルを動作させて機械2のモデルを力制御する。教示者Oは加工結果を確認できないが、機械2の動作軌道、サイクルタイム等を確認できる。教示者Oは力制御命令のテスト結果に問題がなければ教示完了オプションボタン58を選択して力制御命令の教示を完了する。一方、教示者Oは力制御命令のテスト結果に再び問題があれば力制御命令の教示を再々調整する。
 教示者Oは教示完了オプションボタン58を選択して力制御命令の教示を完了した後、プログラム実行ウィンドウ80で動作プログラムを生成して実行する。動作プログラムの実行はオンラインで又はオフラインで実行される。オンラインで実行する場合、制御装置3が生成された動作プログラムに従って機械2を実際に動作させて機械2を力制御する。オフラインで実行する場合、シミュレーション生成部46が生成された動作プログラムに従ってシミュレーションウィンドウ50の仮想空間上で機械2のモデルを動作させて機械2のモデルを力制御する。
 以下、力制御の教示方法の一例について説明する。図7は力制御の教示方法の一例を示すフローチャートである。このフローチャートはプログラム作成ソフトウェアによって実装される。プログラム編集部42は力制御命令に対応するアイコン53をプログラム編集ウィンドウ51に追加する(ステップS10)。教示部43bは力検出器18を用いて力パラメータ、動作軌道、これら以外の別パラメータ等を紐付けて同時に教示する(ステップS11)。テスト実行部43cは教示された力制御命令をテスト実行する(ステップS12)。
 教示者Oがテスト結果を確認して力制御命令の教示点を調整するか否かを判定する(ステップS13)。力制御命令の教示点の調整が必要ない場合は(ステップS13のNO)、調整部43dが力制御命令の教示を完了する(ステップS17)。力制御命令の教示点の調整が必要である場合は(ステップS13のYES)、調整部43dが教示点を手動で又は自動で調整する(ステップS14)。
 テスト実行部43cは調整された力制御命令を再びテスト実行する(ステップS15)。教示者Oがテスト結果を確認して力制御命令の教示点の調整が完了したか否かを判定する(ステップS16)。力制御命令の教示点の調整が完了していない場合は(ステップS16のNO)、力制御命令の教示点の調整(ステップS14)及び力制御命令のテスト実行(ステップS15)が繰り返される。力制御命令の教示点の調整が完了した場合は(ステップS16のYES)、調整部43dが力制御命令の教示を完了する(ステップS17)。
 以下、第二実施形態の機械システム1の構成について説明する。図8は第二実施形態の機械システム1の機能ブロック図である。前述の力制御の教示方法は教示装置4で実行されるプログラム作成ソフトウェアで実装されるのではなく、制御装置3で実行されるプログラム作成ソフトウェアで実装されてもよい。第二実施形態では、機械システム1が教示装置4を備えておらず、制御装置3が第一実施形態の教示装置4の構成要素を兼ね備えている。制御装置3は第一実施形態の教示装置4の通信制御部48の代わりに制御部31を備えているが、通信制御部48を備えていてもよい。
 以上の種々の実施形態によれば、力検出器18を用いて力制御命令の力パラメータと力制御を行う機械の動作軌道とを紐付けて同時に教示するため、力制御の教示を容易に行うことができる。
 前述のプロセッサ、駆動回路等で実行されるプログラムは、コンピュータ読取り可能な非一時的記録媒体、例えばCD-ROM等に記録して提供してもよいし、或いは有線又は無線を介してWAN(wide area network)又はLAN(local area network)上のサーバ装置から配信して提供してもよい。
 本明細書において種々の実施形態について説明したが、本発明は、前述の実施形態に限定されるものではなく、請求の範囲に記載された範囲内において種々の変更を行えることを認識されたい。
 1 機械システム
 2 機械
 3 制御装置
 4 教示装置
 5 プログラム作成画面
 10 リンク(ベース)
 11 リンク(旋回胴)
 12 リンク(上腕)
 13 リンク(前腕)
 14~16 リンク(手首要素)
 17 視覚センサ
 18 力検出器
 19 ツール
 20 アクチュエータ
 21 動作検出器
 30 機械操作部
 31 制御部
 40 ユーザインタフェース部
 41 命令選択部
 42 プログラム編集部
 43 命令編集部
 43a 登録部
 43b 教示部
 43c テスト実行部
 43d 調整部
 44 機械操作部
 45 記憶部
 46 シミュレーション生成部
 47 プログラム生成部
 48 通信制御部
 50 シミュレーションウィンドウ
 51 プログラム編集ウィンドウ
 52 命令選択ウィンドウ
 53 力制御命令を表すアイコン
 54 命令編集ウィンドウ
 55 教示ボタン
 55a 教示開始ボタン
 55b 教示終了ボタン
 56 機械操作ウィンドウ
 57 テスト実行ボタン
 58 教示完了オプションボタン
 59 教示調整オプションボタン
 60 軌道履歴表
 61 軌道履歴スクロールバー
 62 教示点選択リスト
 63 力調整ボックス
 64 作用方向調整ボックス
 65 自動調整ボタン
 66 コメント入力ボックス
 67 位置姿勢調整ボックス表示ボタン
 68、69 座標系選択ボックス
 70 位置姿勢調整ボックス
 80 プログラム実行ウィンドウ
 C1~C3 座標系
 J1~J6 軸線
 L 加工線
 P 制御点
 T 動作軌道
 W 作業対象物

Claims (14)

  1.  力検出器を用いて機械に対する力制御命令の力パラメータと力制御を行う前記機械の動作軌道とを紐付けて同時に教示する教示部を備える、教示装置。
  2.  前記教示部はダイレクトティーチング又はプレイバックティーチングによって前記力パラメータを前記動作軌道に紐付けて記録する、請求項1に記載の教示装置。
  3.  前記教示部は前記力パラメータ及び前記動作軌道以外の別パラメータを同時に教示する、請求項1又は2に記載の教示装置。
  4.  前記力制御命令をテストするテスト実行部をさらに備える、請求項1から3のいずれか一項に記載の教示装置。
  5.  前記力パラメータ、前記動作軌道、及びこれら以外の別パラメータのうちの少なくとも一つを手動で又は自動で調整する調整部をさらに備える、請求項1から4のいずれか一項に記載の教示装置。
  6.  前記力パラメータ及び前記動作軌道以外の別パラメータを初期値として事前に登録する登録部をさらに備える、請求項1から5のいずれか一項に記載の教示装置。
  7.  前記教示部は、教示の記録を開始する教示開始命令と、教示の記録を終了する教示終了命令と、を備える、請求項1から6のいずれか一項に記載の教示装置。
  8.  前記教示部は、前記動作軌道を構成する教示点毎に、又は前記動作軌道を構成する所定の動作区間毎に、又は動作中の所定の時間間隔毎に前記力パラメータを前記動作軌道に紐付けて記録する、請求項1から7のいずれか一項に記載の教示装置。
  9.  前記教示部は前記力パラメータを前記動作軌道に紐付ける間隔を切替える、請求項1から8のいずれか一項に記載の教示装置。
  10.  前記力制御命令を編集する命令編集部を備え、前記命令編集部が前記教示部を備える、請求項1から9のいずれか一項に記載の教示装置。
  11.  前記力制御命令に基づいて前記機械の動作プログラムを生成するプログラム生成部をさらに備える、請求項1から10のいずれか一項に記載の教示装置。
  12.  前記力パラメータは作業対象物に加える力の大きさと作用方向とを含む、請求項1から11のいずれか一項に記載の教示装置。
  13.  力検出器を用いて機械に対する力制御命令の力パラメータと力制御を行う前記機械の動作軌道とを紐付けて同時に教示する教示部と、
     前記力制御命令に基づいて前記機械の動作プログラムを生成するプログラム生成部と、
     前記動作プログラムに従って前記機械を動作させて前記機械を力制御する制御部と、
     を備える、制御装置。
  14.  力検出器を備える機械と、
     前記力検出器を用いて前記機械に対する力制御命令の力パラメータと力制御を行う前記機械の動作軌道とを紐付けて同時に教示を行う教示部と、
     前記力制御命令に基づいて前記機械の動作プログラムを生成するプログラム生成部と、
     前記動作プログラムに従って前記機械を動作させて前記機械を力制御する制御部と、
     を備える、機械システム。
PCT/JP2021/046883 2021-12-17 2021-12-17 教示装置、制御装置、及び機械システム WO2023112342A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/046883 WO2023112342A1 (ja) 2021-12-17 2021-12-17 教示装置、制御装置、及び機械システム
TW111143893A TW202325506A (zh) 2021-12-17 2022-11-17 教示裝置、控制裝置及機械系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/046883 WO2023112342A1 (ja) 2021-12-17 2021-12-17 教示装置、制御装置、及び機械システム

Publications (1)

Publication Number Publication Date
WO2023112342A1 true WO2023112342A1 (ja) 2023-06-22

Family

ID=86773966

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/046883 WO2023112342A1 (ja) 2021-12-17 2021-12-17 教示装置、制御装置、及び機械システム

Country Status (2)

Country Link
TW (1) TW202325506A (ja)
WO (1) WO2023112342A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05303422A (ja) * 1992-04-27 1993-11-16 Nippon Telegr & Teleph Corp <Ntt> 直接教示方式ロボット
JPH06278007A (ja) * 1993-03-31 1994-10-04 Tokico Ltd 研削ロボット
JPH1139020A (ja) * 1997-07-16 1999-02-12 Yaskawa Electric Corp ロボットの直接教示装置
JP2008134903A (ja) * 2006-11-29 2008-06-12 Yaskawa Electric Corp ロボットの教示再生装置
JP2019076978A (ja) * 2017-10-23 2019-05-23 株式会社Ihi 加工装置及び加工方法
WO2021246416A1 (ja) * 2020-06-05 2021-12-09 ファナック株式会社 プログラミング装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05303422A (ja) * 1992-04-27 1993-11-16 Nippon Telegr & Teleph Corp <Ntt> 直接教示方式ロボット
JPH06278007A (ja) * 1993-03-31 1994-10-04 Tokico Ltd 研削ロボット
JPH1139020A (ja) * 1997-07-16 1999-02-12 Yaskawa Electric Corp ロボットの直接教示装置
JP2008134903A (ja) * 2006-11-29 2008-06-12 Yaskawa Electric Corp ロボットの教示再生装置
JP2019076978A (ja) * 2017-10-23 2019-05-23 株式会社Ihi 加工装置及び加工方法
WO2021246416A1 (ja) * 2020-06-05 2021-12-09 ファナック株式会社 プログラミング装置

Also Published As

Publication number Publication date
TW202325506A (zh) 2023-07-01

Similar Documents

Publication Publication Date Title
CN109834709B (zh) 设定微动坐标系的机器人控制装置
EP1517208B1 (en) Robot controller
JP2007523757A (ja) 複数のロボットアームの追従及び鏡映ジョグ
JPH10111707A (ja) 作業領域操作方法及びベンディングプレス機に隷属するロボット
WO2022224425A1 (ja) 数値制御装置及び数値制御システム
US10315305B2 (en) Robot control apparatus which displays operation program including state of additional axis
US20210260750A1 (en) Method to Modify a Program for Robotic Welding
CN114905487B (zh) 示教装置、示教方法以及记录介质
Ang et al. An industrial application of control of dynamic behavior of robots-a walk-through programmed welding robot
JP7294980B2 (ja) 制御システム、制御装置、及びロボット
JP7483420B2 (ja) ロボットシステム、制御装置、情報処理装置、制御方法、情報処理方法、物品の製造方法、プログラム、および記録媒体
WO2023112342A1 (ja) 教示装置、制御装置、及び機械システム
JP5601949B2 (ja) ロボット制御システム
JP7208443B2 (ja) 直接教示操作を受け付け可能な制御装置、教示装置、および制御装置のコンピュータプログラム
KR101474778B1 (ko) 다관절 로봇의 동작인식을 통한 제어장치 및 그 방법
JP2004188594A (ja) ロボット制御装置
US11577381B2 (en) Teaching apparatus, robot system, and teaching program
JPH07205068A (ja) ロボットの座標系設定方法
WO2023073958A1 (ja) プログラム作成装置、制御装置、及び機械システム
KR100321497B1 (ko) 로봇의 운동지시 방법
US20230142821A1 (en) Method for Precise, Intuitive Positioning of Robotic Welding Machine
WO2022186255A1 (ja) 指令生成装置及びコンピュータプログラム
US20220250236A1 (en) Teaching device, teaching method, and recording medium
JP5721167B2 (ja) ロボット制御装置
WO2023135762A1 (ja) 制御装置、教示装置、及び機械システム

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: 21968255

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023567510

Country of ref document: JP