WO2013031492A1 - プログラム生成装置及びその方法 - Google Patents

プログラム生成装置及びその方法 Download PDF

Info

Publication number
WO2013031492A1
WO2013031492A1 PCT/JP2012/070060 JP2012070060W WO2013031492A1 WO 2013031492 A1 WO2013031492 A1 WO 2013031492A1 JP 2012070060 W JP2012070060 W JP 2012070060W WO 2013031492 A1 WO2013031492 A1 WO 2013031492A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
trajectory information
trajectory
unit
editing
Prior art date
Application number
PCT/JP2012/070060
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 株式会社 アマダ
Publication of WO2013031492A1 publication Critical patent/WO2013031492A1/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
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones

Definitions

  • the present invention relates to a program generation apparatus and a method thereof, and more particularly to a program generation apparatus and a method for dividing a robot joint operation into a linear movement in a robot movement automatic generation process.
  • the welding robot R is operated by the hand box P to teach the welding location to the workpiece WA. To generate joint motion trajectories. Then, an operation program is created based on the generated trajectory, and this operation program is input to an NC (Numerical Control) device Z to control the welding robot R (see Patent Document 1).
  • NC Numerical Control
  • the present invention is for solving the above-mentioned problems, and in a first aspect of the present invention, a program generation device for generating an operation program for controlling the operation of the robot based on trajectory information of the operation of the robot.
  • the trajectory information includes a plurality of operating points, and a selection unit that selects an appropriate number of operating points from the plurality of operating points, and the selected operating points are connected by a straight line to form the trajectory.
  • a program generating apparatus including a trajectory information changing unit that changes information and generates a piecewise linear trajectory.
  • a program generation device that generates an operation program for controlling the operation of the robot based on the trajectory information of the robot operation, the robot operation generation unit generating the trajectory information; A check unit that checks whether a failure including interference or overtravel occurs in the trajectory information, and a robot motion editing unit that edits the trajectory information, and the robot motion generation unit generates the trajectory information
  • a program generation apparatus that reduces the editing process in the robot motion editing unit by editing the trajectory information in advance according to the check result by the check unit.
  • the trajectory information has a plurality of operation points and is selected.
  • a program generation method including the steps of:
  • a step in which the robot operation generation unit generates the trajectory information includes a step of checking whether or not a failure including interference or overtravel occurs in the trajectory information, and a robot motion editing unit editing the trajectory information.
  • a program generation method is provided in which editing processing in the robot motion editing unit is reduced by editing the trajectory information in advance in accordance with a check result by the check unit.
  • FIG. 1 is a diagram for explaining a conventional technique.
  • FIG. 2 is a diagram for explaining a conventional technique.
  • FIG. 3 is a diagram showing an outline of the robot control system according to the embodiment of the present invention.
  • FIG. 4 is a diagram for explaining the outline of the robot according to the embodiment of the present invention.
  • FIG. 5A is a flowchart (part 1) showing the operation of the program generation device according to the embodiment of the present invention.
  • FIG. 5B is a flowchart (part 2) illustrating the operation of the program generation device according to the embodiment of the present invention.
  • FIG. 6 is a diagram for explaining the operation of the program generation apparatus according to the embodiment of the present invention.
  • FIG. 7 is a diagram (part 1) for explaining the editing of the locus information of the robot motion according to the embodiment of the present invention.
  • FIG. 8 is a diagram (part 2) for explaining the editing of the locus information of the robot motion according to the embodiment of the present invention.
  • FIG. 3 shows a robot control system according to an embodiment of the present invention.
  • the robot control system 1 includes a program generation device 2, a control unit 3 of the program generation device 2, an NC device 4, and a robot 5.
  • the program generation device 2 is configured by a computer, and includes a main body 2A (CPU (Central Processing Unit), RAM (Random Access Memory), ROM (Read Only Memory), an input / output unit (display unit 2B, keyboard 2C, and the like). ) And operated by a computer program.
  • main body 2A CPU (Central Processing Unit), RAM (Random Access Memory), ROM (Read Only Memory), an input / output unit (display unit 2B, keyboard 2C, and the like).
  • control of an industrial robot will be described as an example, but the present invention is not limited to an industrial robot.
  • the industrial robot executes, for example, welding, painting, conveyance, and the like on the workpiece.
  • the robot operation automatic generation unit 3B When the program generation device 2 executes the automatic generation mode of the robot operation after designating the input information I1 such as the welding line, the welding angle, and the welding speed, the robot operation automatic generation unit 3B The trajectory (trajectory information) and error information (various information when a desired trajectory cannot be generated) O1 of the robot 5 that passes through the start point and end point and does not cause interference or OT (overtravel) are automatically generated. Further, by executing the robot teaching manual teaching mode, the manual teaching unit 3A can define the trajectory of the operation of the robot 5 while displaying it on the screen G1 of the display unit 2B.
  • the screen G2 is a robot motion editing screen and is displayed on the display unit 2B of the program generating device 2.
  • the editing screen G2 is a simulation screen that displays the work W, the robot 5, and the environment after the movement locus of the robot 5 is automatically generated.
  • the robot motion automatic generation unit 3B divides the trajectory of the automatically generated motion (joint motion) of the robot 5 into straight lines, and converts the motion of the robot 5 into piecewise linear motion.
  • the control unit 3 prompts the operator to edit the trajectory by moving, deleting, and adding the end points of the straight line while confirming the OT and interference of the robot 5. Then, the control unit 3 generates an operation program P from the operation locus of the robot 5 after editing, and transfers it to the NC device 4.
  • the NC device 4 controls the robot 5 according to the operation program P generated by the program generation device 2.
  • the robot 5 operates based on an operation signal from the NC device 4.
  • FIG. 4 shows a robot according to an embodiment of the present invention.
  • the robot 5 has a 6-axis arm structure. Swivel axis 5A (S axis) for rotating the body, lower arm axis 5B (L axis) for moving the body back and forth, upper arm axis 5C (U axis) for moving the arm up and down, wrist rotation axis 5D (R axis for rotating the arm) ), A wrist bending axis 5E (B axis) for swinging the wrist up and down, and a wrist rotation axis 5F (T axis) for rotating the wrist.
  • the linear operation is an operation in which the tip Y of the robot 5 moves on a straight line (for example, when the robot 5 moves along a straight welded portion), and the joint operation is an operation other than the linear operation. In general, this is an operation that moves on a curve from the start point to the end point of the tip Y of the robot 5.
  • 5A and 5B are flowcharts showing the operation of the program generation device 2 according to an embodiment of the present invention.
  • this flowchart a case where the movement locus of the robot 5 is automatically generated and a case where the movement locus of the robot 5 is manually generated by teaching processing are shown in a unified manner.
  • the control unit 3 (manual teaching unit 3A, robot motion automatic generation unit 3B) is selected with a selection unit that selects an appropriate number of operation points from a plurality of operation points in the trajectory information of the operation of the robot 5. Each operating point is connected by a straight line to change the trajectory information of the robot 5 and function as a trajectory information changing unit that generates a piecewise linear trajectory.
  • a robot motion generation unit that generates trajectory information of the motion of the robot 5, a check unit that checks whether a failure including interference or overtravel occurs in the trajectory information of the motion of the robot 5, and the motion of the robot 5 It functions as a robot motion editing unit that edits trajectory information. Furthermore, it also has a CAM function.
  • step S01 after a list of movements (start point, end point, posture) of the robot 5 is designated by the CAM function of the control unit 3 of the program generation device 2, generation of the movement locus of the robot 5 is started.
  • step S02 the control unit 3 determines whether or not to automatically create a trajectory of the operation of the robot 5. If it is determined to automatically create a trajectory of the operation of the robot 5, the process proceeds to step S03. On the other hand, if it is determined not to automatically create an operation locus of the robot 5, the process proceeds to step S05.
  • step S03 the control unit 3 starts automatic generation of a locus for the operation of the robot 5.
  • step S04 the control unit 3 performs automatic generation processing of the robot 5 motion trajectory sequentially (processing from step S08 to step S21) with respect to the robot 5 motion list (start point, end point). After the process of step S04, the process proceeds to step S08.
  • step S05 the control unit 3 starts the generation process of the trajectory of the operation of the robot 5 by the manual teaching process.
  • step S06 the start point, end point, and posture of the robot 5 are designated.
  • step S07 the control unit 3 checks the trajectory of the operation of the robot 5. After the process of step S07, the process proceeds to step S08.
  • step S08 the straight line dividing process from step S08 to step S21 will be described.
  • step S08 the control unit 3 starts the operation generation process of the robot 5.
  • step S09 the control unit 3 calculates the IK (Inverse Kinematics) of the robot 5 with respect to the end point.
  • step S10 the control unit 3 determines whether or not IK is possible. If IK is possible, the process proceeds to step S11. If IK is not possible, the process proceeds to step S20.
  • step S11 the control unit 3 determines whether or not the operation of the robot 5 is a welding operation. In the case of a welding operation, the process proceeds to step S16. If it is not a welding operation, the process proceeds to step S12.
  • step S12 the control unit 3 determines whether or not the locus of the robot 5 is automatically generated. In the case of automatic generation, the process proceeds to step S13. If it is not automatic generation (in the case of manual generation by teaching processing), the processing proceeds to step S15.
  • step S13 the control unit 3 generates a robot motion trajectory for the given start point and end point.
  • the control unit 3 automatically generates a plurality of operation points (operation points P1 to P12) on the movement locus of the robot 5 with respect to the start point SP and the end point EP. Then, it is temporarily set that the robot 5 moves on the curve connecting the operating points.
  • step S14 the control unit 3 determines whether or not the temporarily set locus dividing process is possible. If the division process is possible, the process proceeds to step S15. If the division process is not possible, the process proceeds to step S20.
  • step S15 a trajectory division process temporarily set by the control unit 3 is performed.
  • an appropriate number of operation points are selected from a plurality of operation points (start point SP, operation points 1 to 21, and end point EP), and the selected operation points are connected.
  • start point SP the start point SP
  • operation point P6 the operation point P12
  • operation point P19 the end point EP
  • the straight locus L1 is generated by connecting the starting point SP and the operating point P6.
  • a straight locus L2 is generated by connecting the operating point P6 and the operating point P12.
  • a straight line locus L3 is generated by connecting the operating point P12 and the operating point P19.
  • a straight locus L4 is generated by connecting the operating point P19 and the end point EP.
  • step S16 the control unit 3 performs an operation test of the robot 5 on the generated piecewise linear trajectories L1 to L4. A similar operation test is performed when the manual teaching process is used.
  • FIG. 6B shows a case where an operation test is performed on the generated piecewise linear trajectories L1 to L4. It is determined whether or not each linear locus interferes with the product S. As a result, it is recognized that the linear locus L3 interferes with the product S. Note that the same method is used when the manual teaching process is used.
  • step S17 as a result of the operation test in step S16, the control unit determines whether interference or OT is present in the generated piecewise linear trajectories L1 to L4. If it is determined that there is interference or OT, the process returns to step S15. If it is determined that there is no interference or OT, the process proceeds to step S18.
  • step S17 If it is determined in step S17 that there is interference (in the case of the second and subsequent processes), the control unit 3 performs the following process.
  • control unit 3 selects the linear locus L3 that interferes with the product S and the operating points P12 to P19 between the end points P12 and P19 of the linear locus L3.
  • control unit 3 selects an appropriate number of dividing points from the selected operating points P12 to P19 in order to further divide the linear locus L3.
  • division points P12, P14, P17 and P19 are selected. Then, a straight locus L3A is generated by connecting the operating point P12 and the operating point P14. A straight locus L3B is generated by connecting the operating point P14 and the operating point P17. A straight locus L3C is generated by connecting the operating point P17 and the operating point P19. As a result, piecewise linear trajectories L1A to L3C that can avoid interference with the product S are generated. If there is interference, the processing from step S15 to step S17 is repeated until there is no interference. Thereby, the trajectory of the operation of the robot 5 is changed (from the temporarily set trajectory).
  • the straight locus L4 is selected.
  • the trajectory of the operation of the robot 5 is finally changed from the temporarily set trajectory to the piecewise linear trajectories (L1, L2, L3A, L3B, L3C, L4).
  • step S18 the control unit 3 determines whether or not the generation of the piecewise linear locus is successful. If it is determined that the piecewise linear locus has been successfully generated, the process proceeds to step S19. If generation of the piecewise linear locus is not successful, the process proceeds to step S20.
  • step S19 the control unit 3 stores information on the piecewise linear trajectory (trajectory information after change) in the memory.
  • the control unit 3 stores error information (various information when a piecewise linear trajectory cannot be generated) in a memory.
  • step S21 the operation generation process by the control unit 3 ends.
  • step S22 the control unit 3 stores information related to the operation of the robot 5 based on the generated piecewise linear trajectory in the memory.
  • step S23 the automatic motion trajectory generation process by the control unit 3 ends.
  • step S24 the manual operation trajectory generation of the control unit 3 ends.
  • step S25 the robot motion trajectory information editing means of the control unit 3 edits the generated motion trajectory information of the robot 5 (information on the piecewise linear trajectory) when necessary. That is, the operation point is moved, the operation point is added, the operation point is deleted, and the like.
  • FIG. 7 shows an example of a method for editing the trajectory information of the operation of the robot 5.
  • the editing screen G2 is a simulation screen showing an editing result related to the welding operation of the workpiece W.
  • the movement trajectory of the robot 5 is edited so as to move on the trajectories T1 to T23 starting from the start point SEPS and returning to the original position through the operation point PS1,.
  • the locus is edited so that the operating point PS8 is moved to a position away from the workpiece W.
  • the initial welding location was only the straight line T7 and the straight line T13, welding of a location related to the straight line T17 was also added. And the locus was changed to accompany this.
  • step S26 the control unit 3 causes the operator to select a process and change the position and posture (yaw, pitch, low).
  • FIG. 8 shows a change screen. Changes are made by the operator entering numerical values in the respective fields.
  • step S27 the control unit 3 creates an operation program (for example, NC data) from the finally generated trajectory information of the robot 5, and transmits it to the NC device 4.
  • an operation program for example, NC data
  • step S28 the NC device 4 receives the operation program.
  • step S29 the robot 5 is driven under the control of the NC device 4.
  • the joint motion trajectory of the robot 5 is generated (changed) as a trajectory (partial linear trajectory) divided into several linear trajectory motions. Interference is checked in each divided linear locus, and if there is interference, a process of dividing the joint operation between the start point and the end point of this linear locus into a finer linear locus is performed. By repeating such processing, a piecewise linear trajectory without interference is finally generated.
  • the motion is edited if necessary.
  • This editing operation can be easily performed by picking and moving the operating point within the screen G2.
  • the joint trajectory of the operation of the robot 5 is generated in advance by manual teaching or automatically to check whether interference or OT occurs in the specified trajectory of the joint operation, and the generated joint of the robot 5 Divide the motion into several linear motions, acquire the robot axis value of the elapsed time pitch for each divided linear motion, check whether interference or OT occurs at each point, When OT occurs, further division processing is executed on the trajectory of the joint section at the end point of the divided linear trajectory.
  • This division process is repeated until no interference or OT occurs in the divided linear motion.
  • the division processing is performed. Exit. Therefore, the simulation can be drawn as a linear motion that allows easy editing of the robot motion on the editing screen G2. Further, in the editing screen G2, it is possible to check whether interference or OT occurs by picking an operating point on the trajectory and generating a motion of the robot while moving, adding, or deleting. .
  • the present invention is not limited to the present embodiment, and can be implemented in other modes by making appropriate modifications.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

 ロボットの動作を制御するための動作プログラムを前記ロボットの動作の軌跡情報に基づき生成するプログラム生成装置であって、前記軌跡情報は複数の動作点(P1~P21)を有し、これらの動作点の中から適数の動作点を選択する選択部と、前記選択された動作点を直線でつなげて区分線形化された軌跡(L1~L4)を生成する軌跡情報変更部とを備える。

Description

プログラム生成装置及びその方法
 本発明はプログラム生成装置及びその方法に関し、特にロボット動作の自動生成処理において、ロボットのジョイント動作を直線動作に分割するプログラム生成装置及びその方法に関するものである。
 図1に示すように、従来のロボット動作のプログラム生成システムにおいては、例えば溶接ロボットRのジョイント動作の編集時に、ハンドボックスPにより溶接ロボットRを操作し、ワークWAに対して溶接箇所をティーチングしてジョイント動作の軌跡の生成を行う。そして、生成された軌道に基づき動作プログラムを作成し、この動作プログラムをNC(Numerical Control)装置Zに入力することによって溶接ロボットRを制御している(特許文献1を参照)。
特開2004-25341号公報
 しかし、このようなやり方は、ロボットを熟知した作業者でないと困難であり、干渉やOT(オーバートラベル:動作が出来ない領域へロボットが移動することにより発生する障害等をいう)の発生を確認しながらトライアンドエラーによりティーチングを行わなければならないため、工数が掛かるという課題があった。
 例えば、図2に示すように、溶接ロボットRが動作点PA、PB、PC、PD、PE、PF、PGおよびPHを通る軌跡でワークW1、W2に対して溶接を行う際に、作業者は、溶接ロボットRが動作点POの位置でOTを起こす場合や、障害物Sに接触する場合等を予め考慮して動作プログラムを作成する必要があるため、やはり工数が掛かる。
 本発明は上述の課題を解決するためのものであり、本発明の第1の側面においては、ロボットの動作の軌跡情報に基づき前記ロボットの動作を制御するための動作プログラムを生成するプログラム生成装置であって、前記軌跡情報は複数の動作点を有し、前記複数の動作点の中から適数の動作点を選択する選択部と、前記選択された各動作点を直線でつなげて前記軌跡情報を変更し、区分線形軌跡を生成する軌跡情報変更部とを備えたプログラム生成装置が提供される。
 本発明の第2の側面においては、ロボットの動作の軌跡情報に基づき前記ロボットの動作を制御するための動作プログラムを生成するプログラム生成装置であって、前記軌跡情報を生成するロボット動作生成部と、前記軌跡情報において干渉またはオーバートラベルを含む障害が発生するか否かをチェックするチェック部と、前記軌跡情報を編集するロボット動作編集部とを備え、前記ロボット動作生成部で前記軌跡情報を生成する際に、前記チェック部によるチェックの結果に応じて予め前記軌跡情報を編集することにより前記ロボット動作編集部での編集処理を少なくするプログラム生成装置が提供される。
 本発明の第3の側面においては、ロボットの動作の軌跡情報に基づき前記ロボットの動作を制御するための動作プログラムを生成するプログラム生成方法において、前記軌跡情報は複数の動作点を有し、選択部が前記複数の動作点の中から適数の動作点を選択する工程と、軌跡情報変更部が前記選択された各動作点を直線でつなげて前記軌跡情報を変更し、区分線形軌跡を生成する工程とを含むプログラム生成方法が提供される。
 本発明の第4の側面においては、ロボットの動作の軌跡情報に基づき前記ロボットの動作を制御するための動作プログラムを生成するプログラム生成方法において、ロボット動作生成部が前記軌跡情報を生成する工程と、チェック部が前記軌跡情報において干渉またはオーバートラベルを含む障害が発生するか否かをチェックする工程と、ロボット動作編集部が前記軌跡情報を編集する工程とを含み、前記ロボット動作生成部で前記軌跡情報を生成する際に、前記チェック部によるチェックの結果に応じて予め前記軌跡情報を編集することにより前記ロボット動作編集部での編集処理を少なくするプログラム生成方法が提供される。
図1は、従来の技術を説明する図である。 図2は、従来の技術を説明する図である。 図3は、本発明の一実施の形態に係るロボット制御システムの概略を示す図である。 図4は、本発明の一実施の形態に係るロボットの概略を説明する図である。 図5Aは、本発明の一実施の形態に係るプログラム生成装置の動作を示すフローチャート(その1)である。 図5Bは、本発明の一実施の形態に係るプログラム生成装置の動作を示すフローチャート(その2)である。 図6は、本発明の一実施の形態に係るプログラム生成装置の動作を説明する図である。 図7は、本発明の一実施の形態に係るロボット動作の軌跡情報の編集を説明する図(その1)である。 図8は、本発明の一実施の形態に係るロボット動作の軌跡情報の編集を説明する図(その2)である。
 図3に、本発明の一実施の形態に係るロボット制御システムを示す。ロボット制御システム1は、プログラム生成装置2と、プログラム生成装置2の制御部3と、NC装置4と、ロボット5とを備える。
 プログラム生成装置2は、コンピュータにより構成されるものであり、本体2A(CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、入出力部(表示部2B、キーボード2C等)を備えコンピュータプログラムにより動作するものである。
 本実施の形態では、産業用ロボットの制御を例に説明するが、特に産業用ロボットに限定されるものではない。産業用ロボットは、例えば、ワークに対し溶接、塗装、搬送等を実行する。
 プログラム生成装置2は、例えば、溶接線、溶接角度、溶接速度等の入力情報I1を指定後、ロボット動作の自動生成モードを実行すると、ロボット動作自動生成部3Bが、ホーム位置から各溶接線の始点、終点を通過し、干渉やOT(オーバートラベル)の発生しないロボット5の動作の軌跡(軌跡情報)とエラー情報(所望の軌跡が生成できなかった場合の各種情報)O1を自動生成する。また、ロボット動作の手動ティーチングモードを実行することによって、手動ティーチング部3Aによりロボット5の動作の軌跡を表示部2Bの画面G1に表示しながら定義することもできる。
 画面G2は、ロボット動作の編集画面であり、プログラム生成装置2の表示部2Bに表示される。この編集画面G2は、ロボット5の動作の軌跡を自動で生成した後での、ワークW、ロボット5、環境を表示したシミュレーション画面である。ロボット動作自動生成部3Bは、自動生成されたロボット5の動作(ジョイント動作)の軌跡を直線に分割して、ロボット5の動作を区分線形動作に変換する。制御部3は、作業者に対して、ロボット5のOTや干渉を確認しながら直線の端点を移動、削除、追加することによって軌跡の編集を行うことを促す。そして、制御部3は、編集後のロボット5の動作の軌跡から動作プログラムPを生成しNC装置4に転送する。
 NC装置4は、プログラム生成装置2で生成した動作プログラムPに従いロボット5をコントロールする。ロボット5はNC装置4の操作信号に基づき動作する。
 図4に、本発明の一実施の形態に係るロボットを示す。ロボット5は、6軸の腕構造を有する。体を回転させる旋回軸5A(S軸)、体を前後に動かす下腕軸5B(L軸)、腕を上下に動かす上腕軸5C(U軸)、腕を回転させる手首旋回軸5D(R軸)、手首を上下に振る手首曲げ軸5E(B軸)、および手首を回転させる手首回転軸5F(T軸)により構成される。
 ロボット5において、直線動作とは、ロボット5の先端Yが直線上を動く動作(例えば、直線の溶接部に沿って動く場合等)であり、ジョイント動作とは、前記直線動作以外の動作であり、一般的にロボット5の先端Yの始点から終点までにおける曲線上を動く動作である。
 図5A及び5Bは、本発明の一実施の形態に係るプログラム生成装置2の動作を示すフローチャートである。本フローチャートでは、自動でロボット5の動作の軌跡を生成する場合と、手動でロボット5の動作の軌跡をティーチング処理により生成する場合を統一的に示している。
 なお、制御部3(手動ティーチング部3A、ロボット動作自動生成部3B)は、ロボット5の動作の軌跡情報における複数の動作点の中から適数の動作点を選択する選択部と、選択された各動作点を直線でつなげてロボット5の軌跡情報を変更し、区分線形軌跡を生成する軌跡情報変更部として機能する。また、ロボット5の動作の軌跡情報を生成するロボット動作生成部と、ロボット5の動作の軌跡情報において干渉またはオーバートラベルを含む障害が発生するか否かをチェックするチェック部と、ロボット5の動作の軌跡情報を編集するロボット動作編集部として機能する。さらに、CAM機能も有する。
 初めに、ステップS01では、プログラム生成装置2の制御部3のCAM機能にてロボット5の動作のリスト(始点、終点、姿勢)を指定後、ロボット5の動作の軌跡の生成を開始する。
 ステップS02では、制御部3は、自動でロボット5の動作の軌跡を作成か否かを判断する。自動でロボット5の動作の軌跡を作成すると判断した場合に処理はステップS03に進む。一方、自動でロボット5の動作の軌跡を作成しないと判断した場合に処理はステップS05に進む。
 ステップS03では、制御部3は、ロボット5の動作のための軌跡の自動生成を開始する。
 ステップS04では、制御部3は、ロボット5の動作のリスト(始点、終点)に対して順次(ステップS08~ステップS21までの処理)のロボット5の動作の軌跡の自動生成処理を実行する。ステップS04の処理後は、ステップS08に移行する。
 一方、ステップS05では、制御部3は、手動ティーチング処理により、ロボット5の動作の軌跡の生成処理を開始する。
 ステップS06では、ロボット5の動作の始点、終点、姿勢を指定する。
 ステップS07では、制御部3は、ロボット5の動作の軌跡のチェックを行う。ステップS07の処理後はステップS08に進む。
 次に、ステップS08~ステップS21までの直線分割処理を説明する。
 ステップS08では、制御部3は、ロボット5の動作の生成処理を開始する。
 ステップS09では、制御部3は、終点に対するロボット5のIK(Inverse Kinematics:逆運動)を計算する。
 ステップS10では、制御部3は、IKが可能か否かを判定する。IKが可能の場合に処理はステップS11に進む。IKが可能でない場合に処理はステップS20に進む。
 ステップS11では、制御部3は、ロボット5の動作が溶接動作か否かを判定する。溶接動作の場合に処理はステップS16に進む。溶接動作でない場合は処理がステップS12に進む。
 ステップS12では、制御部3は、ロボット5の軌跡の自動生成か否かを判定する。自動生成の場合に処理はステップS13に進む。自動生成でない場合(ティーチング処理による手動生成の場合)は処理がステップS15に進む。
 ステップS13では、制御部3は、与えられた始点、終点に対するロボット動作の軌跡を生成する。
 ここで、図6(a)を参照する。制御部3により、始点SPと終点EPに対し、ロボット5の動作の軌跡上に複数の動作点(動作点P1~P12)が自動生成される。そして、この動作点を結ぶ曲線上をロボット5が移動することが仮設定される。
 ステップS14では、制御部3は、仮設定された軌跡の分割処理が可能か否かを判定する。分割処理が可能の場合に処理はステップS15に進む。分割処理が可能でない場合は処理がステップS20に進む。
 ステップS15では、制御部3により仮設定された軌跡の分割処理が行われる。
 図6(b)を参照する。軌跡の分割処理(初回の処理の場合)では、複数の動作点(始点SP、動作点1~21、終点EP)の中から適数の動作点を選択し、選択された動作点を結ぶことによって、この軌跡を直線に分割する処理を行う。例えば、始点SP、動作点P6、動作点P12、動作点P19、終点EPが選択されたとする。そして、始点SPと動作点P6を結ぶことによって、直線軌跡L1が生成される。動作点P6と動作点P12を結ぶことによって、直線軌跡L2が生成される。動作点P12と動作点P19を結ぶことによって、直線軌跡L3が生成される。動作点P19と終点EPを結ぶことによって、直線軌跡L4が生成される。
 ステップS16では、制御部3は、生成された区分線形軌跡L1~L4でのロボット5の動作テストを行う。なお、手動ティーチング処理で作成された場合も同様の動作テストを行う。
 図6(b)は、生成された区分線形軌跡L1~L4において動作テストが行われる場合を示す。各直線軌跡について製品Sに干渉するか否かを判断する。この結果、直線軌跡L3が製品Sに干渉すると認識される。なお、手動ティーチング処理で作成された場合も同様な方法で行われる。
 ステップS17では、制御部は、ステップS16の動作テストの結果、生成された区分線形軌跡L1~L4の中に干渉やOTが有るか否かを判定する。干渉やOTが有ると判断した場合に処理はステップS15に戻る。干渉やOTが無いと判断した場合は処理がステップS18に進む。
 ステップS17で干渉があると判断されている場合(2回目以降の処理の場合)、制御部3は、以下の処理を行う。
 図6(c)に示すように、制御部3は、製品Sと干渉する直線軌跡L3と、この直線軌跡L3の端点P12とP19との間にある動作点P12~P19を選択する。
 続いて、図6(d)に示すように、制御部3は、直線軌跡L3をさらに分割するため、選択された動作点P12~P19の中から適数の分割点を選択する。
 本例では、分割点P12、P14、P17およびP19を選択する。そして、動作点P12と動作点P14を結ぶことによって、直線軌跡L3Aが生成される。動作点P14と動作点P17を結ぶことによって、直線軌跡L3Bが生成される。動作点P17と動作点P19を結ぶことによって、直線軌跡L3Cが生成される。これにより、製品Sへの干渉が回避可能な区分線形軌跡L1A~L3Cが生成される。なお、干渉する場合には、ステップS15~ステップS17までの処理を干渉が無くなるまで繰り返し行う。これにより、ロボット5の動作の軌跡が(仮設定された軌跡から)変更される。本例では、始点SP、動作点P6、動作点P12、動作点P14、動作点P17、動作点P19、終点EP、及び直線軌跡L1、直線軌跡L2、直線軌跡L3A、直線軌跡L3B、直線軌跡L3C、直線軌跡L4が選択される。これにより、本例では最終的に、ロボット5の動作の軌跡が、仮設定された軌跡から区分線形軌跡(L1、L2、L3A、L3B、L3C、L4)へと変更される。
 ステップS18では、制御部3は、区分線形軌跡の生成が成功か否かを判定する。区分線形軌跡の生成が成功と判断した場合に処理はステップS19に進む。区分線形軌跡の生成が成功でない場合は処理がステップS20に進む。
 ステップS19では、制御部3は、区分線形軌跡に関する情報(変更後の軌跡情報)をメモリに保存する。ステップS20では、制御部3は、エラー情報(区分線形軌跡が生成できなかった場合の各種情報)をメモリに保存する。
 ステップS21では、制御部3による動作生成処理が終了する。
 ステップS22では、制御部3は、生成された区分線形軌跡に基づくロボット5の動作に関する情報をメモリに保存する。
 ステップS23では、制御部3による自動動作軌跡生成処理が終了する。一方、ステップS24では、制御部3の手動動作軌跡生成が終了する。
 ステップS25では、制御部3のロボット動作軌跡情報編集手段により、必要時には、生成されたロボット5の動作の軌跡情報(区分線形軌跡に関する情報)の編集を行う。すなわち、動作点の移動、動作点の追加、動作点の削除等を行う。
 なお、前述の例では、始点SP、動作点P6、動作点P12、動作点P14、動作点P17、動作点P19、終点EP、及び直線軌跡L1、直線軌跡L2、直線軌跡L3A、直線軌跡L3B、直線軌跡L3C、直線軌跡L4が選択されるため、動作点、直線軌跡の数が少なく編集が容易である。
 図7は、ロボット5の動作の軌跡情報の編集方法についての一例を示したものである。編集用の画面G2は、ワークWの溶接動作に関する編集結果を示すシミュレーション画面である。この場合、ロボット5の動作の軌跡は、始点SEPSから出発して、動作点PS1、・・・、動作点PS22を通り元に戻る軌跡T1~T23上を移動するように編集される。具体的には、ロボット5とワークWとの干渉を防ぐために、動作点PS8をワークWから離れた位置に移動させるように軌跡の編集を行った。また、当初の溶接箇所は、直線T7と直線T13のみであったが、直線T17に係る箇所の溶接も追加した。そして、これに伴うように軌跡を変更した。
 ステップS26では、制御部3は、作業者に工程を選択させ、位置と姿勢(ヨー、ピッチ、ロー)を変更させる。図8に変更用の画面を示す。作業者がそれぞれの欄に数値を入力することにより変更がなされる。
 ステップS27では、制御部3は、最終的に生成されたロボット5の動作の軌跡情報から動作プログラム(例えばNCデータ)を作成しNC装置4送信する。
 ステップS28では、動作プログラムをNC装置4が受信する。ステップS29では、NC装置4により制御されロボット5が駆動する。
 上記のように、本実施の形態においては、ロボット5のジョイント動作の軌跡は、いくつかの直線軌跡動作に分割した軌跡(区分線形軌跡)として生成(変更)される。分割後の各直線軌跡において干渉のチェックを行い、干渉がある場合は、この直線軌跡の始点と終点の区間のジョイント動作をさらに細かい直線軌跡に分割する処理を行う。このような処理を繰り返すことで、最終的には干渉のない区分線形軌跡が生成される。
 このようにして生成されたロボット5の動作の区分線形軌跡を編集用の画面G2においてシミュレーション表示にて確認した後、必要があればその動作を編集する。この編集作業は画面G2内で動作点をピック移動することで容易に行うことができる。
 詳細には、予めロボット5の動作のジョイント軌跡を手動ティーチングまたは自動にて生成することにより、指定されたジョイント動作の軌跡で干渉やOTが発生するかをチェックし、生成されたロボット5のジョイント動作をいくつかの直線動作に分割し、分割した各直線動作に関して時間経過ピッチのロボット軸値を取得し、各ポイントで干渉やOTが発生するかをチェックし、分割した直線動作においても干渉やOTが発生する場合には、その分割した直線軌跡の端点のジョイント区間の軌跡に対してさらなる分割処理を実行する。
 この分割処理は分割した直線動作で干渉やOTが発生しなくなるまで繰り返し行い、分割した直線軌跡の長さが最小値(となり合う動作点のピッチ間の距離)以下となる場合には、分割処理を終了する。従って、編集用の画面G2においてロボットの動作を編集しやすい直線動作としてシミュレーション描画できる。また、編集用の画面G2において、軌跡上の動作点をピックし、移動、追加、削除を行いながらロボットの動作を生成することによって、干渉やOTが発生しないかを確認することが可能である。
 本発明は、本実施の形態に限定されることなく、適宜な変更を行うことにより、その他の態様で実施し得るものである。
 以上の説明から明らかなように、本発明によれば、ロボットを熟知した作業者でなくても容易にロボットの動作プログラムを作成することが可能である。また、ティーチングによるトライアンドエラーが不要となるので、ロボットの動作プログラムの生成の工数を削減することができる。さらに、軌跡上からの最小限の動作点の選択によって干渉やOTを防ぐロボットの動作プログラムを生成することが可能である。

Claims (5)

  1.  ロボットの動作の軌跡情報に基づき前記ロボットの動作を制御するための動作プログラムを生成するプログラム生成装置であって、
     前記軌跡情報は複数の動作点を有し、前記複数の動作点の中から適数の動作点を選択する選択部と、
     前記選択された各動作点を直線でつなげて前記軌跡情報を変更し、区分線形軌跡を生成する軌跡情報変更部と、
     を備えたことを特徴とするプログラム生成装置。
  2.  ロボットの動作の軌跡情報に基づき前記ロボットの動作を制御するための動作プログラムを生成するプログラム生成装置であって、
     前記軌跡情報を生成するロボット動作生成部と、
     前記軌跡情報において干渉またはオーバートラベルを含む障害が発生するか否かをチェックするチェック部と、
     前記軌跡情報を編集するロボット動作編集部と、
     を備え、
     前記ロボット動作生成部で前記軌跡情報を生成する際に、前記チェック部によるチェックの結果に応じて予め前記軌跡情報を編集することにより前記ロボット動作編集部での編集処理を少なくすることを特徴とするプログラム生成装置。
  3.  前記ロボット動作編集部は、編集画面を備え、この編集画面は前記起動情報の動作点を移動したり、削除したりすると共に、新たな動作点を追加する機能を有することを特徴とする請求項2に記載のプログラム生成装置。
  4.  ロボットの動作の軌跡情報に基づき前記ロボットの動作を制御するための動作プログラムを生成するプログラム生成方法であって、
     前記軌跡情報は複数の動作点を有し、選択部が前記複数の動作点の中から適数の動作点を選択する工程と、
     軌跡情報変更部が前記選択された各動作点を直線でつなげて前記軌跡情報を変更し、区分線形軌跡を生成する工程と、
     を含むことを特徴とするプログラム生成方法。
  5.  ロボットの動作の軌跡情報に基づき前記ロボットの動作を制御するための動作プログラムを生成するプログラム生成方法において、
     ロボット動作生成部が前記軌跡情報を生成する工程と、
     チェック部が前記軌跡情報において干渉またはオーバートラベルを含む障害が発生するか否かをチェックする工程と、
     ロボット動作編集部が前記軌跡情報を編集する工程と、
     を含み、
     前記ロボット動作生成部で前記軌跡情報を生成する際に、前記チェック部によるチェックの結果に応じて予め前記軌跡情報を編集することにより前記ロボット動作編集部での編集処理を少なくすることを特徴とするプログラム生成方法。
PCT/JP2012/070060 2011-08-29 2012-08-07 プログラム生成装置及びその方法 WO2013031492A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011185693A JP2013046938A (ja) 2011-08-29 2011-08-29 プログラム生成装置及びその方法
JP2011-185693 2011-08-29

Publications (1)

Publication Number Publication Date
WO2013031492A1 true WO2013031492A1 (ja) 2013-03-07

Family

ID=47755994

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/070060 WO2013031492A1 (ja) 2011-08-29 2012-08-07 プログラム生成装置及びその方法

Country Status (2)

Country Link
JP (1) JP2013046938A (ja)
WO (1) WO2013031492A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114131599A (zh) * 2021-11-30 2022-03-04 珠海格力电器股份有限公司 一种机器人编程控制方法、装置、存储介质及示教器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016218934A (ja) * 2015-05-26 2016-12-22 株式会社アイエイアイ ロボット言語プログラムの修正装置,方法およびプログラム
JP6926533B2 (ja) 2017-03-03 2021-08-25 株式会社デンソーウェーブ ロボットの動作プログラム生成装置
JP6806757B2 (ja) * 2018-11-16 2021-01-06 ファナック株式会社 動作プログラム作成装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60107106A (ja) * 1983-11-15 1985-06-12 Mitsubishi Electric Corp 曲線補間装置
JPS62130412A (ja) * 1985-12-03 1987-06-12 Fanuc Ltd 数値制御方法
JPH06195114A (ja) * 1992-12-25 1994-07-15 Toyoda Mach Works Ltd 軌跡制御装置
JPH07302110A (ja) * 1994-05-09 1995-11-14 Fanuc Ltd ロボット動作プログラムの作成方法
JP2001188605A (ja) * 1999-12-28 2001-07-10 Yaskawa Electric Corp 曲線補間方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60107106A (ja) * 1983-11-15 1985-06-12 Mitsubishi Electric Corp 曲線補間装置
JPS62130412A (ja) * 1985-12-03 1987-06-12 Fanuc Ltd 数値制御方法
JPH06195114A (ja) * 1992-12-25 1994-07-15 Toyoda Mach Works Ltd 軌跡制御装置
JPH07302110A (ja) * 1994-05-09 1995-11-14 Fanuc Ltd ロボット動作プログラムの作成方法
JP2001188605A (ja) * 1999-12-28 2001-07-10 Yaskawa Electric Corp 曲線補間方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114131599A (zh) * 2021-11-30 2022-03-04 珠海格力电器股份有限公司 一种机器人编程控制方法、装置、存储介质及示教器
CN114131599B (zh) * 2021-11-30 2023-08-29 珠海格力电器股份有限公司 一种机器人编程控制方法、装置、存储介质及示教器

Also Published As

Publication number Publication date
JP2013046938A (ja) 2013-03-07

Similar Documents

Publication Publication Date Title
JP3950805B2 (ja) 教示位置修正装置
US11007646B2 (en) Programming assistance apparatus, robot system, and method for generating program
JP5606816B2 (ja) 溶接ロボットのティーチング装置およびティーチング方法
US9207668B2 (en) Method of and apparatus for automated path learning
EP1712969B1 (en) Robot program correcting apparatus
JP6311421B2 (ja) ティーチングシステム、ロボットシステムおよびティーチング方法
JP2003117863A (ja) ロボットシミュレーション装置
WO2000025185A1 (en) Robotic process planning using templates
US9891618B2 (en) Program correcting device and program correcting method of industrial robot
JP2007108916A (ja) ロボットのオフライン教示装置
WO2013031492A1 (ja) プログラム生成装置及びその方法
JP2006350620A (ja) 自動組立システムにおける組立機構の動作教示方法
US5341458A (en) Method of and system for generating teaching data for robots
US20210086359A1 (en) Efficient Programming of Robots for Processing Workpieces with Different Variants
JP7401277B2 (ja) ロボットプログラミング装置
JP6577140B2 (ja) ロボットオフラインプログラミング方法及びこれを使用する装置
JP2016093869A (ja) 教示データの作成方法、作成装置、及び作成プログラム、並びに、教示データのデータ構造、記録媒体
US10994422B2 (en) Robot system for adjusting operation parameters
US11656600B2 (en) Simulation apparatus
US20200009724A1 (en) Robot program generation apparatus
JP7475841B2 (ja) 情報処理方法、ロボットシステム、物品の製造方法、および情報処理装置
US10532460B2 (en) Robot teaching device that sets teaching point based on motion image of workpiece
WO2020079829A1 (ja) 数値制御装置および付加製造装置の制御方法
DE102010004477A1 (de) Entwicklungsumgebung und Verfahren zur Planung einer Roboterapplikation
JP2007219989A (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: 12827098

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

Country of ref document: EP

Kind code of ref document: A1