JPH05309582A - Robot off-line teaching system and robot operation analysis device - Google Patents
Robot off-line teaching system and robot operation analysis deviceInfo
- Publication number
- JPH05309582A JPH05309582A JP12059192A JP12059192A JPH05309582A JP H05309582 A JPH05309582 A JP H05309582A JP 12059192 A JP12059192 A JP 12059192A JP 12059192 A JP12059192 A JP 12059192A JP H05309582 A JPH05309582 A JP H05309582A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- target
- work
- point
- environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
(57)【要約】
【構成】 コマンド解釈部3にてロボット動作点の目標
位置・姿勢及び作業対象との相互目標状態を指示するコ
マンドを解釈し、動作プログラム作成部5で、その解釈
結果に基づき環境モデルの環境内で目標軌道を生成し、
この目標軌道に沿った制御を行うための動作プログラム
を作成する。また、目標状態判定プログラム作成部6で
はロボットの力覚センサ等からの情報により目標状態達
成を確認する判定プログラムを作成する。動作プログラ
ムの作成にあたっては、目標軌道周りに位置誤差に相当
する大きさの領域をロボットが動き回った場合の環境内
の他の物体との干渉を判定し、結果を目標軌道生成に反
映させる。
【効果】 環境モデルにより表される作業環境が実際の
作業環境と多少誤差を有している場合でも作業達成が可
能となる。
(57) [Summary] [Structure] The command interpreting unit 3 interprets a command instructing the target position / orientation of the robot operating point and the mutual target state with the work target, and the motion program creating unit 5 interprets the result. Generate a target trajectory in the environment of the environmental model based on
An operation program for performing control along this target trajectory is created. Further, the target state determination program creating section 6 creates a determination program for confirming the achievement of the target state based on the information from the force sensor of the robot. In creating the motion program, interference with other objects in the environment when the robot moves around a region having a size corresponding to the position error around the target trajectory is determined, and the result is reflected in the generation of the target trajectory. [Effect] Even if the work environment represented by the environment model has a slight difference from the actual work environment, the work can be achieved.
Description
【0001】[0001]
【産業上の利用分野】本発明はロボットのオフラインテ
ィーチングシステム及びロボットの動作解析装置に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a robot offline teaching system and a robot motion analysis apparatus.
【0002】[0002]
【従来の技術】産業用ロボットの製造工場への導入意欲
は近年衰えることを知らないが、ロボットの台数増加と
ともに、また、多品種少量生産への傾向の強まりととも
に、ロボットの動作を教示するティーチング作業の負担
軽減への要求が強まっている。ティーチング作業の作業
効率を抜本的に改善するものとしてオフラインティーチ
ングシステムが数年前に登場した。このオフラインシス
テムは生産ラインとは分離しているため、生産ラインの
稼働率を落さずにティーチング作業を行うことができ、
業界では大きな注目を浴びている。このオフラインシス
テムには、近年のコンピュータの機能向上に伴い3次元
のCADシステム機能を有するものや、ロボット動作時
のロボットとワークとの干渉をチェックする機能を有す
るものなどが現れている。2. Description of the Related Art Although the desire to introduce industrial robots into manufacturing factories has not weakened in recent years, teaching that teaches robot operation is being promoted as the number of robots increases and the tendency toward high-mix low-volume production increases. The demand for reducing the work load is increasing. An offline teaching system was introduced several years ago as a means to drastically improve the work efficiency of teaching work. Since this offline system is separate from the production line, it is possible to perform teaching work without reducing the operating rate of the production line.
It has received a great deal of attention in the industry. With the recent improvement in the functions of computers, some of these offline systems have a three-dimensional CAD system function, and some have a function of checking the interference between the robot and the work during robot operation.
【0003】[0003]
【発明が解決しようとする課題】しかし、オフラインテ
ィーチングシステムでは計算機内部に有する環境モデル
をもとにロボットの軌道を設定してゆくために、環境モ
デル内部に含まれるロボット、ロボットに取り付けられ
たツール、前記ツールによって処理を受けるワークなど
の形状データ、位置データが実際の形状、位置と正確に
一致しることが要求されるにもかかわらず、実際にはロ
ボット・ワークの設置時に生じる誤差や、大型ロボット
ではアームのたわみによる影響などから、現場において
キャリブレーション作業を行うことが必要となってお
り、このことがオフラインティーチングシステムを普及
させない要因となっている。However, in the offline teaching system, in order to set the trajectory of the robot based on the environment model inside the computer, the robot included in the environment model and the tools attached to the robot are included. Although the shape data and position data of the work processed by the tool are required to match the actual shape and position exactly, the error actually generated during the installation of the robot / work, For large robots, it is necessary to perform calibration work on site due to the effects of arm deflection, which is a factor that keeps offline teaching systems from becoming widespread.
【0004】また、近年、実用化が進んできた力制御
も、グラインダ作業のような単純な作業に適用されるに
とどまっており、組立作業のような複雑な作業にはいま
だ用いられていない。Further, the force control, which has been put into practical use in recent years, has only been applied to a simple work such as a grinder work, and has not yet been used for a complicated work such as an assembly work.
【0005】そこで本発明は、上記従来技術の有する問
題を解消し、環境モデルにより表される作業環境が実際
の作業環境と多少誤差を有している場合でも作業の達成
を可能とし、また力要素の伴う制御、すなわち力制御、
コンプライアンス制御、インピーダンス制御等の複雑な
ものをも取扱うことのできるロボットのオフラインティ
ーチングシステム及びロボットの動作解析装置を提供す
ることを目的とする。Therefore, the present invention solves the above-mentioned problems of the prior art, enables the work to be achieved even when the work environment represented by the environment model has a slight error from the actual work environment, and is capable of achieving the power. Elemental control, ie force control,
An object of the present invention is to provide an off-line teaching system for a robot and a motion analysis device for the robot, which can handle complicated things such as compliance control and impedance control.
【0006】[0006]
【課題を解決するための手段】本発明のロボットのオフ
ラインティーチングシステムは、ロボットの作業環境を
3次元で表す環境モデルを発生する環境モデル発生部
と、ロボットの動作点の目標位置・姿勢及び前記ロボッ
ト動作点と作業対象との相互関係における目標状態を指
示するコマンドを解釈するコマンド解釈部と、該コマン
ド解釈部の結果に基づいて、前記環境モデルの表す作業
環境内で前記ロボットの動作点がとるべき目標軌道を生
成し、前記ロボット動作点が該目標軌道に沿って状態遷
移するように前記ロボットを制御するためのロボット動
作プログラムを作成するロボット動作プログラム作成部
と、前記ロボットから出力されるセンサ情報に基づいて
前記目標状態が達成されたか否かを判定する目標状態判
定プログラムを作成する目標状態判定プログラム作成部
とを備えたことを特徴とする。An off-line teaching system for a robot according to the present invention includes an environment model generating section for generating an environment model representing a three-dimensional work environment of the robot, a target position / orientation of an operating point of the robot, and the above-mentioned. A command interpreting unit that interprets a command instructing a target state in the mutual relationship between the robot operating point and the work target, and based on the result of the command interpreting unit, the operating point of the robot in the working environment represented by the environment model A robot operation program creation unit that creates a target trajectory to be taken and creates a robot operation program for controlling the robot so that the robot operation point makes a state transition along the target trajectory, and is output from the robot. Create a target state determination program to determine whether the target state has been achieved based on sensor information Characterized in that a target state determination program creation unit that.
【0007】また、本発明のロボットの動作解析装置
は、ロボットの作業環境を3次元で表す環境モデル情報
を発生する環境モデル発生部と、該環境モデルの表す作
業環境内で前記ロボットの動作点がとるべき目標軌道情
報を発生する目標軌道発生部と、前記環境モデルが前記
ロボットの動作点について示す位置及び前記環境モデル
が作業対象について示す位置に対する誤差情報を発生す
る誤差情報発生部と、前記目標軌道を前記誤差情報の示
す位置誤差量に相当する大きさで区分し、その各点の周
囲に前記ロボット動作点の位置及び姿勢を変数とする6
次元探索領域を設定する探索領域生成部と、前記複数の
探索領域各々を順番に処理対象とし、その処理対象探索
領域の全境界点における前記ロボットの動作点と前記作
業対象との干渉を確認し、複数の干渉が認められたとき
のみ、該処理対象探索領域をより細かく区分し、その各
境界点における前記ロボットの動作点と前記作業対象と
の干渉を確認する干渉確認処理部とを備えたことを特徴
としている。Further, the robot motion analysis apparatus of the present invention comprises an environment model generating section for generating environment model information representing the robot work environment in three dimensions, and an operating point of the robot within the work environment represented by the environment model. A target trajectory generation unit that generates target trajectory information to be taken, an error information generation unit that generates error information for a position where the environment model indicates the operating point of the robot and a position where the environment model indicates the work target, and The target trajectory is divided by a size corresponding to the position error amount indicated by the error information, and the position and orientation of the robot operating point are used as variables around each point 6
A search area generation unit that sets a dimensional search area and each of the plurality of search areas as processing targets in order, and confirms the interference between the operation point of the robot and the work target at all boundary points of the processing target search area. , An interference confirmation processing unit that divides the processing target search area into smaller pieces only when a plurality of interferences are recognized and confirms the interference between the operation point of the robot and the work target at each boundary point thereof. It is characterized by
【0008】なお、前記ロボット動作点とは、ロボット
本体の手先や、この手先に形成されたツール構成部など
のロボット自体の動作点のみならず、ロボット手先に取
付けられたツールをも意味するものである。The operating point of the robot means not only the operating point of the robot itself, such as the hand of the robot body or the tool forming portion formed at this hand, but also the tool attached to the robot's hand. Is.
【0009】また、作業対象とは、加工ロボットであれ
ばワーク、搬送ロボットであれば台等の搬入・搬出部が
それに該当するものである。Further, the work target corresponds to a work in the case of a processing robot and a loading / unloading unit such as a table in the case of a transfer robot.
【0010】[0010]
【作用】本発明のロボットのオフラインティーチングシ
ステムによれば、ロボットから出力されるセンサ情報に
基づいてロボット動作点と作業対象との相対的な目標状
態が達成されたか否かを判定する目標状態判定プログラ
ムを作成する機能を有しているため、センサ情報によっ
てロボット動作点と作業対象との相対関係を確認しつつ
ロボット動作点を目標状態が達成されるまで制御するこ
とが可能となり、環境モデルにより表される作業環境が
実際の作業環境と多少誤差を有している場合でも作業達
成が可能となる。According to the robot off-line teaching system of the present invention, the target state determination for determining whether or not the relative target state between the robot operating point and the work target is achieved based on the sensor information output from the robot. Since it has a function to create a program, it is possible to control the robot operating point until the target state is achieved while confirming the relative relationship between the robot operating point and the work target using sensor information. Work can be achieved even when the represented work environment has a slight difference from the actual work environment.
【0011】また、ロボット動作点と作業対象との相互
関係を目標状態として指令するコマンドにより、組立作
業のようにツールとワークをある目標とする拘束状態に
設定することを要求される作業において目標とする状態
をロボットの先端点の位置やツール先端点の位置に変換
して設定することなく、直接目標とする拘束状態を指定
することが可能となる。Further, in the work required to set the tool and the work in a certain target restraint state such as an assembly work by a command for instructing the mutual relation between the robot operating point and the work target as the target state. It is possible to directly specify the target restraint state without converting the state to be set to the position of the tip point of the robot or the position of the tool tip point.
【0012】次に、本発明のロボットの動作解析装置に
よれば、ロボット動作点の目標軌道のまわりに位置誤差
の大きさだけの領域をロボットが動き回った場合にワー
クとどのような干渉が発生するかを求めるため、その結
果によってロボット動作点や作業対象の形状・構造等の
複雑さに左右されずに、どの部分がそのような状態で接
触しているかの如く、干渉状態を細かく確認することが
できる。この確認結果をロボットの目標位置・姿勢及び
目標状態に反映させ、また目標状態判定プログラムに反
映させることで、ロボット動作点や作業対象の形状・構
造等が複雑であっても確実なロボット動作を実現するこ
とができる。Next, according to the robot motion analysis apparatus of the present invention, what kind of interference occurs with the work when the robot moves around the target trajectory of the robot operation point in an area corresponding to the size of the position error. Therefore, the interference state is checked in detail, as if which part is in contact with the robot operating point and the shape and structure of the work target, etc., depending on the result. be able to. By reflecting this confirmation result in the target position / posture and target state of the robot, and by reflecting it in the target state determination program, even if the robot operating point and the shape / structure of the work target are complicated, reliable robot operation is possible. Can be realized.
【0013】[0013]
【実施例】以下に本発明の実施例について図面を参照し
つつ説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0014】図1はロボットのオフラインティーチング
システムに係る本発明の一実施例について概略構成を示
すものである。FIG. 1 shows a schematic configuration of an embodiment of the present invention relating to a robot offline teaching system.
【0015】この図において、ロボットのオフラインテ
ィーチングシステム1は、ユーザインタフェース部2
と、コマンド解釈部3と、環境モデル操作部4と、ロボ
ット動作プログラム作成部5と、目標状態判定プログラ
ム作成部6と、ロボットコントローラインタフェース部
7と、ディスプレイ・キーボードを持つ端末装置8と、
環境モデル9から構成されている。また、本オフライン
ティーチングシステム1には、これにより作成されたロ
ボット動作プログラム(ロボット言語)がダウンロード
されるロボットコントローラが接続されている。このロ
ボットコントローラは力制御・コンプライアンス制御・
インピーダンス制御の機能を有する。In the figure, a robot offline teaching system 1 includes a user interface section 2
A command interpreting section 3, an environment model operating section 4, a robot operation program creating section 5, a target state determination program creating section 6, a robot controller interface section 7, a terminal device 8 having a display / keyboard,
It is composed of an environment model 9. Further, the offline teaching system 1 is connected to a robot controller to which the robot operation program (robot language) created by this is downloaded. This robot controller has force control, compliance control,
It has the function of impedance control.
【0016】以下、上記構成のロボットのオフラインテ
ィーチングシステムを用いて教示を進める方法、及びシ
ステムの処理内容について図2をも参照しつつ説明す
る。Hereinafter, a method of teaching with the use of the robot offline teaching system having the above-described configuration, and processing contents of the system will be described with reference to FIG.
【0017】図2において、まず、ステップS101で
は、オペレータが、ロボット、ロボットに取り付けられ
たツール、前記ツールによって処理を受けるワーク及び
ロボットの環境をそれぞれ3次元で表す環境モデル9を
もとに端末装置8のディスプレイに表示されているロボ
ット・ツール・ワークの形状・位置によって、端末装置
8のキーボードを通じてロボットの動作を指示する。コ
マンドとしては、ロボット動作点・ツールの位置を目標
位置まで移動するmoveコマンド、ロボット動作点・
ツールとワークとの拘束状態を目標状態まで変化させる
smoveコマンド及び、前記ロボット移動用コマンド
に先立って、移動時のロボット制御方法を指定するco
ntrolコマンド、目標位置までの軌道補間方法を指
定するorbitコマンドなどがある。In FIG. 2, first, in step S101, an operator makes a terminal based on an environment model 9 that three-dimensionally represents the environment of a robot, a tool attached to the robot, a workpiece to be processed by the tool, and the environment of the robot. The operation of the robot is instructed through the keyboard of the terminal device 8 according to the shape / position of the robot tool work displayed on the display of the device 8. As commands, robot operating points, move commands that move the tool position to the target position, robot operating points,
Prior to the move command for changing the constraint state between the tool and the work to the target state and the robot movement command, the robot control method at the time of movement is designated.
There are an trol command and an orbit command for designating a trajectory interpolation method up to the target position.
【0018】ここで、moveコマンドは、 move(番号、位置、姿勢) のように指定する。番号とは、予め座標系定義コマンド
によりロボット動作点・ツール先端などに定義しておく
座標系の番号である。位置・姿勢とは指定した座標系の
基準座標系からの並進・回転の変位量である。Here, the move command is specified as move (number, position, posture). The number is a coordinate system number that is defined in advance at the robot operation point, tool tip, etc. by the coordinate system definition command. The position / orientation is the amount of translational / rotational displacement of the designated coordinate system from the reference coordinate system.
【0019】また、smoveコマンドでは、 smove(種別、番号、種別、番号) のように指定する。左から順番に、種別は拘束状態を指
定する対象が頂点・稜線・面のいずれであるかを指定す
るものであり、次の番号は環境モデル9内部の、どの頂
点、あるいは稜線・面であるのかを指定するものであ
る。その後に続く種別、番号は拘束状態を指示する相手
対象につき同様に指定するものである。なお、番号は環
境モデル9内部で定義されている番号である。また、同
時に複数の拘束状態が成り立つ状態を指示するときに
は、 smove(種別、番号、種別、番号)& smove(種別、番号、種別、番号) のように単位コマンドsmove(…)を“&”によっ
て連結することにより、連続的に拘束状態を指示するこ
とが可能である。In addition, in the move command, it is designated as move (type, number, type, number). In order from the left, the type specifies whether the target for which the constraint state is specified is a vertex, a ridge, or a face, and the next number is any vertex, or a ridge / face in the environment model 9. It is to specify whether or not. Subsequent types and numbers are likewise designated for the opponent subject instructing the restraint state. The number is a number defined inside the environment model 9. In addition, when instructing a state in which a plurality of constraint states are satisfied at the same time, the unit command smove (...) is indicated by "&" like "smove (type, number, type, number) & move (type, number, type, number)". By connecting them, it is possible to continuously indicate the restrained state.
【0020】ステップS102では、オペレータが一連
のコマンドを入力後、動作確認コマンドを指示する。In step S102, the operator inputs a series of commands and then issues an operation confirmation command.
【0021】すると、ステップS103では、その一連
のコマンドがユーザインタフェース部2を介してコマン
ド解釈部3に送られ、このコマンド解釈部3における解
釈結果が順次ロボット動作プログラム作成部5に送られ
る。このロボット動作プログラム作成部5では、入力さ
れた一連のコマンドで指定された目標位置に到達するた
めのロボット目標軌道を算出する。このとき、move
コマンドにより指示されたロボット動作点・ツールの目
標位置まで移動するロボット目標軌道を、orbitコ
マンドで軌道補間方法指定用があらかじめ指定されてい
れば、指定された方法により、指定されていない場合に
はデフォルトの方法で補間することにより生成する。ま
た、指定された補間方法で生成した軌道でまわりのワー
ク等と干渉しないかどうかを環境モデル9内部の形状・
位置データをもとにロボット動作プログラム作成部5で
干渉チェックを行い、もし干渉するようであれば、新た
にまわりのワークと干渉せずに目標位置まで到達する軌
道を生成する。軌道生成は、特願平1−97506号
(発明の名称「マニピュレータの軌道生成方法」)にあ
るようにロボットの関節角度を変数とするコンフィギュ
レーション空間における最短距離探索により行う。さら
に、ロボット動作プログラム作成部5では、この軌道生
成と同時に、その指定区間毎にcontrolコマンド
の示す制御法でロボットの動作が制御されるように制御
法表示データをプログラムに付随させる。これにより、
軌道中の区間毎に最適の制御法を設定することができ
る。Then, in step S103, the series of commands is sent to the command interpreting section 3 via the user interface section 2, and the interpretation result in the command interpreting section 3 is sent to the robot motion program creating section 5 in sequence. The robot operation program creating unit 5 calculates a robot target trajectory for reaching a target position designated by a series of input commands. At this time, move
If the robot target orbit that moves to the target position of the robot operating point / tool specified by the command is specified in advance by the orbit command for specifying the trajectory interpolation method, if it is not specified by the specified method, It is generated by interpolating by the default method. Also, determine whether the trajectory generated by the specified interpolation method will interfere with the surrounding work etc.
Based on the position data, the robot operation program creating section 5 checks the interference, and if there is interference, a new trajectory that reaches the target position without interfering with the surrounding work is generated. Trajectory generation is performed by the shortest distance search in the configuration space with the joint angle of the robot as a variable, as described in Japanese Patent Application No. 1-97506 (Invention title “Manipulator trajectory generation method”). Further, at the same time as the trajectory generation, the robot operation program creation unit 5 attaches the control method display data to the program so that the operation of the robot is controlled by the control method indicated by the control command for each designated section. This allows
The optimum control method can be set for each section in the orbit.
【0022】smoveコマンドの場合には、目標状態
として指定されたツールとワークの拘束状態及び環境モ
デル9に含まれるワークの形状・位置データの値からツ
ールの目標位置をまず算出し、その後はmoveコマン
ドの場合と同様の処理を行う。In the case of the smove command, the target position of the tool is first calculated from the constraint state of the tool designated as the target state and the constraint state of the work, and the shape / position data of the work included in the environment model 9, and thereafter the move position is calculated. Performs the same processing as for a command.
【0023】ロボットの軌道が生成されると、ステップ
S104において、その軌道並びに制御方法に従ってロ
ボットが動作する様子を端末装置8のディスプレイに表
示することにより、オペレータは具体的にロボットがま
わりの環境の中で動くイメージを得ることが可能にな
る。その結果、不都合な動作が判明すれば、オペレータ
はステップS101に戻り、再びコマンドを入力し直
す。When the trajectory of the robot is generated, the operation of the robot according to the trajectory and the control method is displayed on the display of the terminal device 8 in step S104, so that the operator can specifically determine the environment around the robot. It is possible to get an image of moving inside. As a result, if the inconvenient operation is found, the operator returns to step S101 and inputs the command again.
【0024】以上の手順を繰り返し、ロボットの動作に
問題がないとオペレータが判断すると、ステップS10
5に移り、オフラインティーチングシステム1はsmo
veコマンドにより指定された目標状態が達成されたか
どうかをセンサ信号の組み合わせにより判定するための
アルゴリズムを求める。If the operator determines that there is no problem in the operation of the robot by repeating the above procedure, step S10
Moved to 5, offline teaching system 1 is smo
An algorithm for determining whether or not the target state specified by the ve command has been achieved by the combination of sensor signals is obtained.
【0025】以下に、図3のロボット10がワークであ
るブロック11にボックス12を置く作業における目標
状態判定アルゴリズムについて説明する。ロボット10
の手首部には6軸力覚センサ13が取り付けられてお
り、また、ロボット10の各関節には関節角度を計測す
る関節角度センサが取り付けられている。そして、sm
oveコマンドにより smove(面、面fa、面、面fb) のように指示すれば、環境モデル9内部のデータにより
ボックス12の目標位置が算出される。なお、上記fa
はブロック11の表面であり、fbはボックス12の裏
面である。The target state determination algorithm in the work of placing the box 12 in the block 11 which is the work by the robot 10 of FIG. 3 will be described below. Robot 10
A 6-axis force sensor 13 is attached to the wrist of the robot, and a joint angle sensor that measures a joint angle is attached to each joint of the robot 10. And sm
If the move command is given as “smove (face, face fa, face, face fb)”, the target position of the box 12 is calculated from the data inside the environment model 9. Note that the above fa
Is the front surface of the block 11, and fb is the back surface of the box 12.
【0026】ボックス12の目標位置が算出できれば、
やはり環境モデル9内部に含まれるロボット10のキネ
マティックスデータにより目標関節角度を算出できる。
したがって、各関節に取り付けてある関節角度センサの
値が前記目標関節角度の値に近付けば、目標状態に近付
いていることがわかる。ただし、環境モデル9内部の形
状・位置データと実際の形状・位置の間に誤差が存在す
る場合には正確には一致しない。If the target position of the box 12 can be calculated,
Similarly, the target joint angle can be calculated from the kinematics data of the robot 10 included in the environment model 9.
Therefore, if the value of the joint angle sensor attached to each joint approaches the value of the target joint angle, it can be seen that the target state is approached. However, if there is an error between the shape / position data inside the environment model 9 and the actual shape / position, they do not match exactly.
【0027】また、ステップS104までに作成された
ロボットの目標軌道と上記コマンドにより指定された目
標拘束状態からロボット先端のボックス12がブロック
11から受ける反力の方向が算出できる。摩擦力の大き
さにより多少の変動はするものの、反力はほぼ抗力とな
るから、その方向は、 面←→点 面←→稜線 面←→面 の拘束では、面の法線方向となり、 稜線←→稜線 の拘束では、ふたつの稜線の共通法線方向となる。した
がって、環境モデル9内部のブロック11の形状・位置
データ及びボックス12の形状・位置データの値から目
標拘束時に力覚センサ13で計測される力の方向はほぼ
算出することができる。算出される値は、摩擦力の大き
さや環境モデル9内部の形状・位置データと実際の形状
・位置との誤差などにより、実際に計測される値との間
に誤差を有する。しかし、目標拘束状態と他の状態との
識別が可能な程度の許容誤差を判定アルゴリズムに取り
入れることにより、ほとんどの場合には判定可能にな
る。図3のロボット動作・目標拘束状態の場合には、 と設定すればよい。さらに、関節角度の判定を組み合わ
せることにより確実な目標状態判定アルゴリズムが生成
できる。Further, the direction of the reaction force received from the block 11 by the box 12 at the tip of the robot can be calculated from the target trajectory of the robot created up to step S104 and the target restraint state designated by the above command. Although the reaction force is almost a drag force, although it fluctuates to some extent depending on the magnitude of the frictional force, its direction is the normal direction of the surface when the surface ← → point surface ← → ridge line ← → surface constraint, and the ridge line ← → In the constraint of ridgeline, it becomes the common normal direction of two ridgelines. Therefore, from the values of the shape / position data of the block 11 and the shape / position data of the box 12 inside the environment model 9, the direction of the force measured by the force sensor 13 at the time of target restraint can be almost calculated. The calculated value has an error between the actually measured value due to the magnitude of the frictional force and the error between the shape / position data inside the environment model 9 and the actual shape / position. However, it is possible to make the judgment in most cases by incorporating a tolerance into the judgment algorithm that allows the target restraint state to be distinguished from other states. In the case of the robot operation / target restraint state of FIG. 3, And set it. Furthermore, a reliable target state determination algorithm can be generated by combining determinations of joint angles.
【0028】ステップS106では、上記のように生成
された目標状態判定アルゴリズムをディスプレイ表示
し、その妥当性をオペレータが判断する。ツールやワー
クが複雑な形状をしているためにシステムが正確な判定
アルゴリズムを生成できなかった場合や、ロボットの力
覚センサのノイズの大きさ・感度などにより判定アルゴ
リズムやその中の許容範囲の大きさを変化させたほうが
よいと判断した場合には、オペレータがエディタにより
アルゴリズムに修正を加える。In step S106, the target state determination algorithm generated as described above is displayed on the display, and the operator determines its validity. If the system cannot generate an accurate judgment algorithm because the tool or work has a complicated shape, or if the judgment algorithm or the allowable range in it is determined by the size and sensitivity of the robot's force sensor noise, etc. When it is determined that the size should be changed, the operator edits the algorithm with an editor.
【0029】アルゴリズムに修正を加えた後は、ステッ
プS107において、ステップS103で生成されたロ
ボット目標軌道とステップS105及びステップS10
6で生成された目標状態判定アルゴリズムを組み合わせ
て、ロボットコントローラにダウンロードするプログラ
ムを生成する。After modifying the algorithm, in step S107, the robot target trajectory generated in step S103 and the steps S105 and S10.
The target state determination algorithm generated in 6 is combined to generate a program to be downloaded to the robot controller.
【0030】ステップS108では、生成されたプログ
ラムをロボットコントローラにダウンロードする。In step S108, the generated program is downloaded to the robot controller.
【0031】次に、ロボットの動作解析装置に係る実施
例について図4及び図5を参照しつつ説明する。Next, an embodiment of the robot motion analysis apparatus will be described with reference to FIGS. 4 and 5.
【0032】図4はロボット動作時に起こり得る接触状
態の組を求める手順を説明したものである。FIG. 4 illustrates a procedure for obtaining a set of contact states that can occur during robot operation.
【0033】まず、ステップS201において、ロボッ
ト、ロボットに取り付けられたツール、前記ツールによ
って処理を受けるワーク及びロボットの環境をそれぞれ
3次元で表す環境モデル、オフラインティーチングシス
テムで生成されたロボット目標軌道、及び環境モデル内
部の形状・位置の最大誤差量及びロボットの最大誤差量
の値を入力する。First, in step S201, a robot, a tool attached to the robot, an environment model representing a three-dimensional environment of a workpiece and a robot environment to be processed by the tool, a robot target trajectory generated by an offline teaching system, and Enter the maximum error amount of the shape and position inside the environment model and the maximum error amount of the robot.
【0034】これらのデータが入力されたら、ステップ
S202以降の処理に入る。すなわち、ロボット目標軌
道を最大位置誤差量の大きさで分割し、各点において入
力された最大位置誤差量以下の位置変動が起きた場合に
起こり得る接触状態の組を求めるものであり、以下に、
この接触状態の組の求め方を説明する。When these data are input, the processing in step S202 and subsequent steps is started. That is, the robot target trajectory is divided by the size of the maximum position error amount, and a set of contact states that can occur when a position variation less than the maximum position error amount input at each point occurs is calculated. ,
A method for obtaining the set of contact states will be described.
【0035】ここで、環境モデル内部の幾何モデルは、
多面体表現となっており、境界表現(B-reps)及びCSG
の組み合わせで表現されているものとする。またCSG
では、それぞれのソリッドが凸多面体の和及び差の組み
合わせで表現されているとする。これはCADシステム
によりソリッドモデリングする場合には、直方体、四角
錘などの凸多面体であるプリミティブの集合演算で形状
定義を進めてゆくことからすれば特別な限定条件とはな
らない。Here, the geometric model inside the environment model is
It is a polyhedron expression, boundary expression (B-reps) and CSG
It is assumed to be expressed by a combination of. Also CSG
Then, it is assumed that each solid is represented by a combination of sums and differences of convex polyhedra. This is not a special limiting condition in the case of performing solid modeling by a CAD system, since the shape definition is advanced by the set operation of primitives that are convex polyhedrons such as rectangular parallelepipeds and square pyramids.
【0036】そして、位置変動が起きた場合に起こり得
る接触状態の組を求めるということは、ロボット動作点
の位置・姿勢を変数とするコンフィギュレーション空間
において、目標位置・姿勢に対応する点のまわりに最大
位置誤差量の大きさだけの領域を考え、その内部の各点
にロボット動作点の位置・姿勢がなったときに起こり得
る接触状態の組を求めることに相当する。ただし、この
6次元のコンフィギュレーション空間を細分化し、各点
における干渉チェックを行って接触状態を求めて行く
と、x,y,z各々について10等分ずつするとして、 106 =1000000回 の干渉チェックを必要とする。そこで、以下のように凸
多角形の性質を利用してチェック回数を減少させる。Obtaining a set of contact states that can occur when a position change occurs means that in the configuration space in which the position / orientation of the robot operating point is a variable, the point around the point corresponding to the target position / orientation is obtained. It is equivalent to considering a region corresponding to the maximum position error amount, and finding a set of contact states that can occur when the position / orientation of the robot operating point becomes at each point inside thereof. However, if this 6-dimensional configuration space is subdivided and contact check is performed at each point to find the contact state, it is assumed that x, y, and z are divided into 10 equal parts, and 10 6 = 1,000,000 interferences. Need a check. Therefore, the number of checks is reduced by utilizing the property of a convex polygon as follows.
【0037】まず、初めに、6次元のコンフィギュレー
ション空間における探索領域の頂点である64個の境界
点における干渉チェックを行う。64点とは、探索領域
である (xo−△x)<x<xo+△x (yo−△y)<y<yo+△y (zo−△z)<z<zo+△z (θxo−△θx)<θx<(θxo+△θx) (θyo−△θy)<θy<(θyo+△θy) (θzo−△θz)<θz<(θzo+△θz) の領域における、 (xo−△x,yo−△y,zo−△z,θxo−△θ
x,θyo−△θy,θzo−△θz) (xo+△x,yo−△y,zo−△z,θxo−△θ
x,θyo−△θy,θzo−△θz) (xo−△x,yo+△y,zo−△z,θxo−△θ
x,θyo−△θy,θzo−△θz) の如き境界点のことを意味する。なお、ここでは例とし
て3つの組合わせを示したまでであり、実際には64の
組合わせとなることは言うまでもない。First, the interference check is performed at the 64 boundary points which are the vertices of the search area in the 6-dimensional configuration space. The 64 points are the search area (xo-Δx) <x <xo + Δx (yo-Δy) <y <yo + Δy (zo-Δz) <z <zo + Δz (θxo-Δθx ) <Θx <(θxo + Δθx) (θyo-Δθy) <θy <(θyo + Δθy) (θzo-Δθz) <θz <(θzo + Δθz) in the region (xo-Δx, yo-Δ). y, zo-Δz, θxo-Δθ
x, θyo-Δθy, θzo-Δθz) (xo + Δx, yo-Δy, zo-Δz, θxo-Δθ
x, θyo-Δθy, θzo-Δθz) (xo-Δx, yo + Δy, zo-Δz, θxo-Δθ
x, θyo-Δθy, θzo-Δθz). It is to be noted that here, three combinations have been shown as an example, and it goes without saying that there are actually 64 combinations.
【0038】各境界点における干渉チェックは図4のス
テップS203,S204から構成される。The interference check at each boundary point comprises steps S203 and S204 in FIG.
【0039】ステップS203の「処理対象探索領域に
おける凸多面体同士の点・面干渉判定」では、探索空間
の64点の全てにおいて、凸多面体Aの点paが凸多面
体Bを構成するある一つの面の外側に存在するかどうか
のチェックを行うことにより、多面体頂点と相手多面体
面との干渉判定として、凸多面体同志の点・面接触が無
いかどうかの判定を行なう。In "determination of point / plane interference between convex polyhedrons in the processing target search area" in step S203, a point pa of the convex polyhedron A forms a convex polyhedron B at all 64 points in the search space. By checking whether the polyhedron is present outside, the collision of the polyhedron vertex and the opponent polyhedron surface is judged as to whether or not there is a point / plane contact between the convex polyhedrons.
【0040】また、多面体頂点と相手多面体面との干渉
判定において、凸多面体同士の点と面との接触の場合に
は、探索空間の64点の全てにおいて、凸多面体Aの点
paが凸多面体Bと干渉していないかどうかの判定だけ
でなく、凸多面体Aの点paが凸多面体Bを構成するあ
る一つの面の外側に存在するがどうかのチェックを行
い、点←→面接触がないかどうかの判定を行う。Further, in the collision determination between the polyhedron vertex and the partner polyhedron surface, when the points of the convex polyhedrons and the surfaces are in contact with each other, the point pa of the convex polyhedron A is the convex polyhedron at all 64 points in the search space. Not only is it determined whether or not it does not interfere with B, but it is checked whether the point pa of the convex polyhedron A exists outside one of the surfaces forming the convex polyhedron B, and there is no point ← → surface contact. Determine whether or not.
【0041】なぜならば、凸多面体同士の点・面接触の
判定では、その点が一つの平面に対してでも外側に位置
すれば干渉しないが、探索空間の64点の全ての境界頂
点において、同じ一つの平面の外側に位置しているとは
限らないからである。This is because, in the determination of a point / surface contact between convex polyhedrons, there is no interference if the point is located outside even one plane, but the same at all boundary vertices of 64 points in the search space. This is because it is not always located outside one plane.
【0042】もし、64点の全ての境界頂点において一
つの面の外側に位置すれば、一般的な性質として点aが
平面faの外側に位置し、点bも平面faの外側に位置
するならば、点aと点bを結ぶ線分abは平面faの外
側に位置することが保証される。したがって、点paが
探索空間の64の境界平面の全てにおいて点凸多面体B
の面fbの外側に位置するとすれば、探索空間の64の
境界頂点におけるpaの位置が全て平面fbの外側に位
置するわけであり、それらの64の点を結ぶ線分は全て
平面fbの外側に位置することになり、それらの線分上
の任意の点から別の線分上の任意の点を結ぶ線分も全て
平面fbの外側に位置することになり、結局、線paが
移動する領域全てが平面fbの外側、つまり凸多面体と
は接触しないことになる。If all the 64 boundary vertices are located outside one surface, then as a general property, if the point a is located outside the plane fa and the point b is located outside the plane fa as well. For example, the line segment ab connecting the points a and b is guaranteed to be located outside the plane fa. Therefore, the point pa is a point convex polyhedron B on all 64 boundary planes of the search space.
If it is located outside the plane fb, all the positions of pa at the 64 boundary vertices of the search space are located outside the plane fb, and all line segments connecting those 64 points are outside the plane fb. The line segment connecting any point on those line segments to any point on another line segment is also located outside the plane fb, and eventually the line pa moves. All the regions do not contact the outside of the plane fb, that is, the convex polyhedron.
【0043】また、ステップS204は凸多面体と差引
き分である凸多面体での接触判定および凸多面体の綾線
と凸多面体の綾線との接触判定から構成される。凸多面
体と、差引き分である凸多面体との接触の場合には、探
索空間の64点の全てにおいて、凸多面体Aの点pa
が、差をとる凸多面体Bを構成する全ての平面の内側に
位置すれば、この探索領域内部全体において点paが凸
多面体Bと接触していないことが保証されるので、64
点での干渉チェックのみで十分である。Further, step S204 is composed of contact judgment between the convex polyhedron and the convex polyhedron which is a difference, and contact judgment between the traverse line of the convex polyhedron and the traverse line of the convex polyhedron. In the case of contact between the convex polyhedron and the subtractive convex polyhedron, the point pa of the convex polyhedron A at all 64 points in the search space.
Is located inside all the planes that form the convex polyhedron B that takes the difference, it is guaranteed that the point pa is not in contact with the convex polyhedron B in the entire search area.
Interference checking at points alone is sufficient.
【0044】なぜならば、一般的な性質として凸多面体
の内部に二点を結ぶ線分は凸多面体の内部に含まれる。
したがって、点paが探索空間の64の境界頂点の全て
において凸多面体Bの内側に位置するとなれば、探索空
間の64の境界頂点における点paの位置は全て凸多面
体Bの内側に位置することにより、それらの線分上の任
意の点から別の線分上の任意の点を結ぶ線分も全て凸多
面体Bの内側に位置することになり、結局、点paが移
動する領域全てが凸多面体Bの内側、つまり凸多面体と
は接触しないことになる。This is because, as a general property, a line segment connecting two points inside the convex polyhedron is included inside the convex polyhedron.
Therefore, if the point pa is located inside the convex polyhedron B at all 64 boundary vertices of the search space, then the positions of the points pa at the 64 boundary vertices of the search space are all located inside the convex polyhedron B. , Any line segment connecting any point on these line segments to any point on another line segment is also located inside the convex polyhedron B, and as a result, the entire area where the point pa moves is a convex polyhedron. It does not contact the inside of B, that is, the convex polyhedron.
【0045】また、凸多面体の稜線と凸多面体の稜線と
の接触の場合には、探索空間の64点の全ての点におい
て、稜線同士の干渉がない場合には探索領域内部全体に
おいて、この稜線同士の接触がないことが保証されるの
でやはり、64点の境界頂点でのチェックで十分であ
る。Further, in the case of contact between the ridgeline of the convex polyhedron and the ridgeline of the convex polyhedron, at all 64 points in the search space, if there is no interference between the ridgelines, this ridgeline is present in the entire search area. Again, it is sufficient to check at the 64 boundary vertices, since it is guaranteed that there is no contact between them.
【0046】以上の点←→面の干渉判定、面←→点の干
渉判定、稜線←→稜線の干渉判定を行い、干渉が全くな
ければ、探索領域内部全体で干渉のないことが保証され
る。また、ある一つの点と面との干渉のみが生じている
場合、あるいは一つの稜線同士の干渉が生じている場合
には、その領域内部でほかの点←→面、稜線同士の干渉
は生じていないことが保証されるので、探索領域内部で
起こり得る接触状態はこの一つの接触のみである。The above point ← → surface collision determination, surface ← → point interference determination, and edge line ← → edge interference determination are performed. If there is no interference, it is guaranteed that there is no interference in the entire search area. .. Also, if there is only interference between a certain point and a surface, or if there is interference between one ridgeline, there is interference between another point ← → surface and ridgeline within that area. This contact is the only contact state that can occur inside the search area, since this is guaranteed.
【0047】図5は、このような理論を利用した干渉判
定手順を示すものである。多面体A、Bの接触は、 の組み合わせのみであるから、干渉チェックにおいて
は、多面体Aの全ての点と多面体Bの全ての面との干渉
判定、多面体Bの全ての点と多面体Aの全ての面との干
渉判定、及び多面体Aの全ての稜線と多面体Bの全ての
稜線との干渉判定を行えばよい。また、全てのソリッド
は凸多面体の和及び差の組み合わせでも表現されてお
り、各面が多面体を構成するどの凸多面体の面か、特に
和の凸多面体の面か差の凸多面体の面かを初期処理で求
め、環境モデルに設定してあるものとする。基本的にソ
リッド間の干渉チェックは、それぞれのソリッドを構成
する凸多面体同士の干渉チェックの組み合わせとなる。
ただし、差の凸多面体同士の干渉判定は当然必要ない。FIG. 5 shows an interference determination procedure using such a theory. The contact between the polyhedra A and B is Therefore, in the interference check, the collision judgment of all points of the polyhedron A and all the surfaces of the polyhedron B, the collision judgment of all the points of the polyhedron B and all the surfaces of the polyhedron A, and the polyhedron It is sufficient to determine the interference between all the ridgelines of A and all the ridgelines of polyhedron B. In addition, all solids are also expressed by the combination of the sum and difference of convex polyhedra, and which convex polyhedron each surface constitutes a polyhedron, especially whether the surface of the sum convex polyhedron or the difference convex polyhedron is It is assumed that it is found in the initial processing and set in the environment model. Basically, the interference check between solids is a combination of the interference checks between the convex polyhedrons that make up each solid.
However, it is not necessary to judge the interference between the convex polyhedrons of the difference.
【0048】ここで例えば、多面体Aと多面体Bとの干
渉判定はA、Bがそれぞれ A=凸多面体Sa−凸多面体Sb B=凸多面体Sc−凸多面体Sd のように表現されているとすると、図5に示す手順によ
り多面体A、Bの干渉判定を行うことができる。Here, for example, in the interference determination between the polyhedron A and the polyhedron B, if A and B are expressed as A = convex polyhedron Sa-convex polyhedron Sb B = convex polyhedron Sc-convex polyhedron Sd, respectively. The interference determination of the polyhedra A and B can be performed by the procedure shown in FIG.
【0049】まず、ステップS301において、凸多面
体Saに属する全ての頂点と多面体Bとの干渉判定を行
う。ステップS301はステップS302〜S304か
らなり、多面体Bとの干渉判定は、まず、ステップS3
02において、凸多面体Scに属する全ての面との干渉
判定を行う。ステップS302での判定の結果をステッ
プS303で確認し、干渉しているものについては、ス
テップS304で凸多面体Sdに属する面との干渉判定
を行う。First, in step S301, it is determined whether or not all the vertices belonging to the convex polyhedron Sa and the polyhedron B interfere with each other. Step S301 is composed of steps S302 to S304, and the interference with the polyhedron B is first determined by step S3.
In 02, interference determination with all the surfaces belonging to the convex polyhedron Sc is performed. The result of the determination in step S302 is confirmed in step S303, and in the case of interference, the interference determination with the surface belonging to the convex polyhedron Sd is performed in step S304.
【0050】凸多面体Saに属するある頂点が凸多面体
Scと干渉している場合でも、凸多面体Sdの内部に含
まれる場合には干渉していない。したがって、凸多面体
Sc及び凸多面体Sdと干渉している頂点のみが多面体
Bと干渉している。Even if a certain vertex belonging to the convex polyhedron Sa interferes with the convex polyhedron Sc, it does not interfere if it is included inside the convex polyhedron Sd. Therefore, only the vertices that interfere with the convex polyhedron Sc and the convex polyhedron Sd interfere with the polyhedron B.
【0051】また、接触相手の面は、頂点paが干渉し
ない状態である探索領域中心での状態と比較することに
より以下のようにして求めることができる。探索領域中
心では凸多面体Saに属する頂点paが凸多面体Sdの
内側であったのが凸多面体に属する面fdの外側に移っ
たのであれば、凸多面体Sdに属する面fdとの接触が
生じる。The surface of the contact partner can be obtained as follows by comparing with the state in the center of the search area where the vertex pa does not interfere. At the center of the search area, if the vertex pa belonging to the convex polyhedron Sa is inside the convex polyhedron Sd but is moved to the outside of the surface fd belonging to the convex polyhedron, contact with the surface fd belonging to the convex polyhedron Sd occurs.
【0052】探索領域中心でも、凸多面体Saに属する
頂点paが凸多面体Sdの外側である場合には凸多面体
Scに属する面との接触が生じる。点paが凸多面体S
cに属する面と干渉している場合には、凸多面体Scを
構成する全ての面の内側に位置するが、干渉しない状態
である探索領域中心ではある面の外側に点paは位置す
る。探索領域中心では外側に位置していた面と点paの
接触が生じる。Even at the center of the search area, when the vertex pa belonging to the convex polyhedron Sa is outside the convex polyhedron Sd, contact with the surface belonging to the convex polyhedron Sc occurs. The point pa is a convex polyhedron S
When it interferes with the surface belonging to c, it is located inside all the surfaces that form the convex polyhedron Sc, but the point pa is located outside the surface that is the center of the search area in the non-interfering state. At the center of the search area, contact between the surface located outside and the point pa occurs.
【0053】凸多面体Sbに属する頂点と多面体Bの面
の接触は生じないので判定の必要はない。Since the vertex of the convex polyhedron Sb and the surface of the polyhedron B do not come into contact with each other, it is not necessary to make a judgment.
【0054】以上のステップS301の処理に続いて、
ステップS305で凸多面体Scに属する全ての頂点と
多面体Aとの干渉判定も同様に行う。Following the above processing in step S301,
In step S305, the interference determination between all the vertices belonging to the convex polyhedron Sc and the polyhedron A is similarly performed.
【0055】すなわち、そのステップS306で凸多面
体Scに属する頂点と凸多面体Saに属する全ての面と
の干渉判定を行う。そして、ステップS307で干渉が
確認されると、ステップST308において、凸多面体
Scに属する頂点と凸多面体Sbに属する全ての面との
干渉判定を行う。That is, in step S306, the interference determination between the vertices belonging to the convex polyhedron Sc and all the surfaces belonging to the convex polyhedron Sa is performed. Then, when interference is confirmed in step S307, interference determination is performed in step ST308 between the vertices belonging to the convex polyhedron Sc and all the surfaces belonging to the convex polyhedron Sb.
【0056】なお、凸多面体Sdに属する頂点と多面体
Aの面の接触は生じないので、これらについての干渉判
定も必要ない。Since the vertices belonging to the convex polyhedron Sd and the surface of the polyhedron A do not come into contact with each other, it is not necessary to judge the interference of them.
【0057】次に、ステップS308において、凸多面
体Saに属する全ての稜線及び凸多面体Saと凸多面体
Sbの交差により生じた稜線と凸多面体Scに属する全
ての稜線及び凸多面体Scと凸多面体Sdの交差により
生じた稜線と干渉判定については、日本ロボット学会
誌、Vol.5, No.4 、「マニピュレータの障害物回避動作
計画を考慮した凸多面体間の干渉チェック法」に記載さ
れている。凸多面体同士の稜線干渉の判定方法で判定を
行う。凸多面体Saに属する全ての稜線と凸多面体Sd
に属する稜線との交差により生じないので判定する必要
がない。凸多面体Scに属する稜線と凸多面体Sbに属
する稜線との交差、凸多面体Sbに属する稜線と凸多面
体Sdに属する稜線との交差も同様である。Next, in step S308, all the ridge lines belonging to the convex polyhedron Sa and the ridge lines generated by the intersection of the convex polyhedron Sa and the convex polyhedron Sb and all the ridge lines belonging to the convex polyhedron Sc and the convex polyhedron Sc and the convex polyhedron Sd are formed. The ridgeline caused by the intersection and the collision judgment are described in the Journal of the Robotics Society of Japan, Vol.5, No.4, "Interference check method between convex polyhedrons in consideration of obstacle avoidance motion plan of manipulator". The determination is made by the method of determining the ridge line interference between convex polyhedrons. All the ridge lines belonging to the convex polyhedron Sa and the convex polyhedron Sd
It does not need to be determined because it does not occur due to the intersection with the edge line belonging to. The same applies to the intersection of the ridge line belonging to the convex polyhedron Sc and the ridge line belonging to the convex polyhedron Sb, and the intersection of the ridge line belonging to the convex polyhedron Sb and the ridge line belonging to the convex polyhedron Sd.
【0058】以上の凸多面体同士の点・面干渉チェッ
ク、及び稜線同士のチェックを行うことにより、多面体
間の干渉判定、及び干渉している(点・面)あるいは
(稜線、稜線)の組を求めることができる。なお、図5
に示すステップS301,S302は図4におけるステ
ップS203に相当し、ステップS303はステップS
204に相当する。By performing the above-mentioned point / face interference check between convex polyhedrons and ridge lines, it is possible to determine the interference between the polyhedra and to determine the interfering (point / face) or (edge, ridge) pair. You can ask. Note that FIG.
4 correspond to step S203 in FIG. 4, and step S303 corresponds to step S203.
It corresponds to 204.
【0059】図4に戻り、ステップS205における確
認の結果、探索領域の64の境界頂点で2つ以上の異な
る干渉・接触が起きている場合には、 a) 複数の接触状態が同時に起こる場合があるのか、
ないのか b) ほかの干渉が常に先に起きるために、実際には起
きない干渉・接触がないか の判定が必要になるので、探索領域内部をより詳細に干
渉判定する必要がある。なお、b)は干渉判定を行うと
きには物体同士が食い込む位置関係になる場合もある
が、物体同士が食い込むことはないために実際には起き
ない干渉・接触を求めることに相当する。Returning to FIG. 4, as a result of the confirmation in step S205, when two or more different interferences / contacts occur at 64 boundary vertices of the search area, a) a plurality of contact states may occur simultaneously. There is
B) Other interference always occurs first, so it is necessary to determine whether there is interference or contact that does not actually occur, so it is necessary to make more detailed interference determinations inside the search area. It should be noted that although b) may have a positional relationship in which the objects bite each other when performing the interference determination, it corresponds to obtaining interference / contact that does not actually occur because the objects do not bite each other.
【0060】そこで、以下の手順で探索領域内部の接触
状態の探索を行う。 1) x,y,z,θx,θy,θzの誤差による変動
領域を10等分し、最大位置誤差の10分の1の値をそ
れぞれ△x,△y,△z,△θx,△θy,△θzとす
る。また探索領域中心からの距離lの初期値を1とす
る。 2) 探索領域中心(位置誤差0での位置)から距離l
の点での干渉・接触状態を求める。Therefore, the contact state inside the search area is searched by the following procedure. 1) The variation area due to the error of x, y, z, θx, θy, θz is divided into 10 equal parts, and the value of 1/10 of the maximum position error is Δx, Δy, Δz, Δθx, Δθy, respectively. , Δθz. Further, the initial value of the distance l from the center of the search area is 1. 2) Distance l from the center of the search area (position at position error 0)
Determine the interference / contact state at the point.
【0061】ここで、距離lの点とは、その点でのx,
y,z,θx,θy,θzの値と探索領域中心での値と
の差が最大l×△(△x or △y or △z o
rΔθx or Δθy or Δθz )である点に相
当する。例えば、(x0,y0,z0,θxo,θy
o,θzo)を探索領域中心としたとき、(x0−2△
x,y0+△y,z0−△z,θxo,θyo,θz
o)は距離“2”の点ということになる。Here, the point at the distance l is x, x at that point.
The maximum difference between the values of y, z, θx, θy, and θz and the value at the center of the search area is l × Δ (Δx or Δy or Δz o
rΔθx or Δθy or Δθz). For example, (x0, y0, z0, θxo, θy
When (o, θzo) is the center of the search area, (x0-2Δ
x, y0 + Δy, z0-Δz, θxo, θyo, θz
o) is a point of distance "2".
【0062】3) 距離lの点の中で全く干渉しない点
がある場合、lの値を“1”だけ増加して2)の処理へ
移行する。その結果、全く干渉しない点がない場合に
は、それまでに干渉チェックした全ての点での干渉・接
触状態の和を求める。3) If there is a point that does not interfere at all among the points at the distance l, the value of l is increased by "1" and the process proceeds to 2). As a result, if there is no point that does not interfere at all, the sum of the interference / contact states at all the points that have been subjected to interference check is calculated.
【0063】上記の手順により、前記b)の食い込むこ
とにより実際には生じない接触状態を求めてしまうこと
を防ぐ。By the above procedure, it is possible to prevent the contact state that does not actually occur due to the bite of the above b) from being obtained.
【0064】以上の方法により求めた接触状態の組をデ
ィスプレイ表示することにより、オペレータはどのよう
な接触状態が生じ得るかを知ることが可能になる。組立
作業などのツールとワークの拘束状態を目標の状態にも
ってゆく作業では、拘束状態に応じた適切なコンプライ
アンス定数を設定することが必要である。また、目標接
触状態の判定アルゴリズムの確認を行う際にも、どのよ
うな接触が起こり得るかの情報が必要となる。オペレー
タはディスプレイに表示される起こり得る接触状態の組
を確認することにより、予想外の接触の仕方をしないか
どうかを確認することができるので、コンプライアンス
定数の設定や目標状態判定アルゴリズムの確認を行うこ
とができる。By displaying the set of contact states obtained by the above method on the display, the operator can know what kind of contact state can occur. In the work such as assembling work to bring the constraint state of the tool and the work to the target state, it is necessary to set an appropriate compliance constant according to the constraint state. Also, when confirming the determination algorithm of the target contact state, information on what kind of contact may occur is necessary. By checking the set of possible contact states displayed on the display, the operator can confirm whether or not to make unexpected contact, so set the compliance constant and confirm the target state determination algorithm. be able to.
【0065】[0065]
【発明の効果】以上説明したように本発明のロボットの
オフラインティーチングシステムによれば、ロボットか
ら出力されるセンサ情報に基づいてロボット動作点と作
業対象との相対的な目標状態が達成されたか否かを判定
する目標状態判定プログラムを作成する機能を有してい
るため、センサ情報によってロボット動作点と作業対象
との相対関係を確認しつつロボット動作点を目標状態が
達成されるまで制御することが可能となり、環境モデル
により表される作業環境が実際の作業環境と多少誤差を
有している場合でも作業達成が可能となる。As described above, according to the robot offline teaching system of the present invention, whether or not the relative target state between the robot operating point and the work target has been achieved based on the sensor information output from the robot. Since it has a function to create a target state determination program that determines whether or not the robot operating point is controlled until the target state is achieved while confirming the relative relationship between the robot operating point and the work target using sensor information. Therefore, even if the work environment represented by the environment model has a slight difference from the actual work environment, the work can be achieved.
【0066】また、ロボット動作点と作業対象との相互
関係を目標状態として指令するコマンドにより、組立作
業のようにツールとワークをある目標とする拘束状態に
設定することを要求される作業において目標とする状態
をロボットの先端点の位置やツール先端点の位置に変換
して設定することなく、直接目標とする拘束状態を指定
することが可能となる。A command for instructing the mutual relationship between the robot operating point and the work object as a target state is used in a work required to set a tool and a work in a certain constraint state such as an assembly work. It is possible to directly specify the target restraint state without converting the state to be set to the position of the tip point of the robot or the position of the tool tip point.
【0067】次に、本発明のロボットの動作解析装置に
よれば、ロボット動作点の目標軌道のまわりに位置誤差
の大きさだけの領域をロボットが動き回った場合にワー
クとどのような干渉が発生するかを求めるため、その結
果によってロボット動作点や作業対象の形状・構造等の
複雑さに左右されずに、どの部分がそのような状態で接
触しているかの如く、干渉状態を細かく確認することが
できる。この確認結果をロボットの目標位置・姿勢及び
目標状態に反映させることで、ロボット動作点や作業対
象の形状・構造等が複雑であっても確実なロボット動作
を実現することができる。Next, according to the robot motion analysis apparatus of the present invention, what kind of interference occurs with the work when the robot moves around the target trajectory of the robot operation point in an area corresponding to the size of the position error. Therefore, the interference state is checked in detail, as if which part is in contact with the robot operating point and the shape and structure of the work target, etc., depending on the result. be able to. By reflecting the confirmation result on the target position / orientation and the target state of the robot, it is possible to realize a reliable robot operation even if the robot operation point and the shape / structure of the work target are complicated.
【図1】ロボットのオフラインティーチングシステムに
係る本発明の一実施例の概略構成を示すブロックダイア
グラム。FIG. 1 is a block diagram showing a schematic configuration of an embodiment of the present invention related to a robot offline teaching system.
【図2】図2は図1に示すシステムによるティーチング
手順を示すフローチャート。FIG. 2 is a flow chart showing a teaching procedure by the system shown in FIG.
【図3】ロボット、ツール及びワークの一例を示す斜視
図。FIG. 3 is a perspective view showing an example of a robot, a tool, and a work.
【図4】ロボットの動作解析装置に係る本発明の一実施
例の構成を示すフローチャート。FIG. 4 is a flowchart showing the configuration of an embodiment of the present invention relating to a robot motion analysis apparatus.
【図5】図4に示す干渉判定のアルゴリズムの詳細を示
す説明図。5 is an explanatory diagram showing details of an interference determination algorithm shown in FIG.
1 オフラインティーチングシステム 2 ユーザインタフェース部 3 コマンド解釈部 4 環境モデル操作部 5 ロボット動作プログラム作成部 6 目標状態判定プログラム作成部 7 ロボットコントローラインタフェース部 8 端末装置 9 環境モデル 10 ロボット 11 ブロック 12 ボックス 13 力覚センサ 1 Offline Teaching System 2 User Interface Section 3 Command Interpretation Section 4 Environment Model Operation Section 5 Robot Motion Program Creation Section 6 Target State Judgment Program Creation Section 7 Robot Controller Interface Section 8 Terminal Device 9 Environment Model 10 Robot 11 Block 12 Box 13 Box Force Sensor
Claims (2)
デルを発生する環境モデル発生部と、 ロボットの動作点の目標位置・姿勢及び前記ロボット動
作点と作業対象との相互関係における目標状態を指示す
るコマンドを解釈するコマンド解釈部と、 該コマンド解釈部の結果に基づいて、前記環境モデルの
表す作業環境内で前記ロボットの動作点がとるべき目標
軌道を生成し、前記ロボット動作点が該目標軌道に沿っ
て状態遷移するように前記ロボットを制御するためのロ
ボット動作プログラムを作成するロボット動作プログラ
ム作成部と、 前記ロボットから出力されるセンサ情報に基づいて前記
目標状態が達成されたか否かを判定する目標状態判定プ
ログラムを作成する目標状態判定プログラム作成部とを
備えたことを特徴とするロボットのオフラインティーチ
ングシステム。1. An environment model generation unit that generates an environment model that represents a work environment of a robot in three dimensions, a target position / orientation of an operation point of the robot, and a target state in a mutual relationship between the robot operation point and a work target. A command interpreting unit that interprets a command to be instructed, and a target trajectory that the operating point of the robot should take in the work environment represented by the environment model is generated based on the result of the command interpreting unit. A robot operation program creation unit that creates a robot operation program for controlling the robot so as to make a state transition along a target trajectory, and whether or not the target state is achieved based on sensor information output from the robot. And a target state determination program creating section for creating a target state determination program Off-line teaching system.
デル情報を発生する環境モデル発生部と、 該環境モデルの表す作業環境内で前記ロボットの動作点
がとるべき目標軌道情報を発生する目標軌道発生部と、 前記環境モデルが前記ロボットの動作点について示す位
置及び前記環境モデルが作業対象について示す位置に対
する誤差情報を発生する誤差情報発生部と、 前記目標軌道を前記誤差情報の示す位置誤差量に相当す
る大きさで区分し、その各点の周囲に前記ロボット動作
点の位置及び姿勢を変数とする6次元探索領域を設定す
る探索領域生成部と、 前記複数の探索領域各々を順番に処理対象とし、その処
理対象探索領域の全境界点における前記ロボットの動作
点と前記作業対象との干渉を確認し、複数の干渉が認め
られたときのみ、該処理対象探索領域をより細かく区分
し、その各境界点における前記ロボットの動作点と前記
作業対象との干渉を確認する干渉確認処理部とを備えた
ことを特徴とするロボットの動作解析装置。2. An environment model generation unit that generates environment model information that represents the work environment of the robot in three dimensions, and a target that generates target trajectory information that the operating point of the robot should take within the work environment represented by the environment model. A trajectory generation unit, an error information generation unit that generates error information with respect to a position where the environment model indicates an operating point of the robot and a position where the environment model indicates a work target, and a position error that the target trajectory indicates by the error information. A search area generation unit that sets a 6-dimensional search area having the position and orientation of the robot operation point as a variable around each point, and a plurality of search areas in order. As a processing target, the interference between the operation point of the robot and the work target at all boundary points of the processing target search area is confirmed, and only when a plurality of interferences are recognized, A motion analysis apparatus for a robot, comprising: an interference confirmation processing unit that divides the processing target search region more finely and confirms an interference between the operation point of the robot and the work target at each boundary point thereof.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12059192A JPH05309582A (en) | 1992-05-13 | 1992-05-13 | Robot off-line teaching system and robot operation analysis device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12059192A JPH05309582A (en) | 1992-05-13 | 1992-05-13 | Robot off-line teaching system and robot operation analysis device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05309582A true JPH05309582A (en) | 1993-11-22 |
Family
ID=14790059
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP12059192A Pending JPH05309582A (en) | 1992-05-13 | 1992-05-13 | Robot off-line teaching system and robot operation analysis device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05309582A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0985655A (en) * | 1995-09-18 | 1997-03-31 | Fanuc Ltd | Robot teaching operation panel |
| JP2006142480A (en) * | 2006-02-23 | 2006-06-08 | Fanuc Ltd | Teaching operation panel of robot |
-
1992
- 1992-05-13 JP JP12059192A patent/JPH05309582A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0985655A (en) * | 1995-09-18 | 1997-03-31 | Fanuc Ltd | Robot teaching operation panel |
| JP2006142480A (en) * | 2006-02-23 | 2006-06-08 | Fanuc Ltd | Teaching operation panel of robot |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Zheng et al. | Hybrid offline programming method for robotic welding systems | |
| EP1592536B1 (en) | A method and a system for programming an industrial robot to move relative to defined positions on an object, including generation of a surface scanning program | |
| JP3537362B2 (en) | Graphic display device for robot system | |
| Maric et al. | Collaborative human-robot framework for delicate sanding of complex shape surfaces | |
| EP0738199B1 (en) | Method for planning/controlling robot motion | |
| Bolmsjö et al. | Robotic arc welding–trends and developments for higher autonomy | |
| Nagata et al. | Development of CAM system based on industrial robotic servo controller without using robot language | |
| US6895299B2 (en) | Systems and methods for representing complex n-curves for direct control of tool motion | |
| Kiswanto et al. | Gouging elimination through tool lifting in tool path generation for five-axis milling based on faceted models | |
| CN112405527A (en) | Method for processing arc track on surface of workpiece and related device | |
| JP2004094399A (en) | Control process for multi-joint manipulator and its control program as well as its control system | |
| Solyman et al. | Perceptive augmented reality-based interface for robot task planning and visualization | |
| EP3465362B1 (en) | User interface for a teleoperated robot | |
| Funes-Lora et al. | A novel mesh following technique based on a non-approximant surface reconstruction for industrial robotic path generation | |
| JP3065579B2 (en) | Robot interference check method | |
| Çakır et al. | Path planning for industrial robot milling applications | |
| JP2023180921A (en) | Robot movement path generation method, movement path generation device, robot system, and program | |
| JPH05309582A (en) | Robot off-line teaching system and robot operation analysis device | |
| Muller-Karger et al. | Hyperbolic trajectories for pick-and-place operations to elude obstacles | |
| JP2021186929A (en) | Control method for multi-axis robot | |
| Filaretov et al. | Human machine interface based on virtual reality for programming industrial robots | |
| TSAI et al. | Mathematical model for robotic arc-welding off-line programming system | |
| JP2000112510A (en) | Robot teaching method and its device | |
| JPS635408A (en) | Method of adaptive control for robot | |
| Dietz et al. | Automatic optimal motion generation for robotic manufacturing processes: Optimal collision avoidance in robotic welding |