JP2015016536A - Robot control system, robot, path creation device, path creation method and path creation program - Google Patents

Robot control system, robot, path creation device, path creation method and path creation program Download PDF

Info

Publication number
JP2015016536A
JP2015016536A JP2013146147A JP2013146147A JP2015016536A JP 2015016536 A JP2015016536 A JP 2015016536A JP 2013146147 A JP2013146147 A JP 2013146147A JP 2013146147 A JP2013146147 A JP 2013146147A JP 2015016536 A JP2015016536 A JP 2015016536A
Authority
JP
Japan
Prior art keywords
point
relay
target
robot
current
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
Application number
JP2013146147A
Other languages
Japanese (ja)
Inventor
喜士 山田
Yoshiji Yamada
喜士 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2013146147A priority Critical patent/JP2015016536A/en
Publication of JP2015016536A publication Critical patent/JP2015016536A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a robot control system, a robot, a path creation device, a path creation method, a path creation program etc. in which path calculation processing speed can be made fast.SOLUTION: A robot control system 10 includes a moving path calculation part 112 which calculates a moving path of an end point of an arm 320 of a robot 30 and a robot control part 120. The moving path calculation part 112 acquires the present point CP which is the present position and the present posture of the end point, a target point TP which is a target position and a target posture of the end point, and an allowance range (RGi) of a relay point RPi which is a position and a posture of the end point that relays the path from the present point CP to the target point TP. And, the moving path calculation part 112 implements path determining processing for determining the joint angle of the joint of the arm 320 so that the relay point RPi is positioned in the allowance range (RGi).

Description

本発明は、ロボット制御システム、ロボット、経路作成装置、経路作成方法及び経路作成プログラム等に関する。   The present invention relates to a robot control system, a robot, a route creation device, a route creation method, a route creation program, and the like.

リンク・ジョイント機構で構成されるロボットアームを用いて、製品製造ラインで行われている組立加工作業や検査計測作業の自動化が行われている。このようなロボットにおいて、実現したいアーム先端の目標位置・目標姿勢(目標点)と、アーム先端の現在位置・現在姿勢(現在点)と、それらを中継する中継位置・中継姿勢(中継点)とを教示点として設定する。そして、その教示点を実現できるようなアームのジョイント角度を算出する。各教示点でのアームのジョイント角度は、出来るだけ短時間で計算できることが望ましい。   Using a robot arm composed of a link / joint mechanism, assembly work and inspection / measurement work performed in a product production line are automated. In such a robot, the target position / target posture (target point) of the arm tip to be realized, the current position / current posture (current point) of the arm tip, and the relay position / relay posture (relay point) to relay them Is set as the teaching point. Then, the joint angle of the arm that can realize the teaching point is calculated. It is desirable that the arm joint angle at each teaching point can be calculated in as short a time as possible.

アーム先端の経路を作成する手法として、例えば特許文献1に開示される手法がある。この手法では、予め設定した初期位置と最終位置との間に中間点の候補を生成し、その中間点の候補から中間点を決定し、その決定した中間点から候補経路を作成する。そして、この処理を繰り返して複数の候補経路を作成し、その各候補経路についてロボットの移動部の移動量を評価し、最も移動効率のよい候補経路を移動経路として選定する。   As a technique for creating the path of the arm tip, for example, there is a technique disclosed in Patent Document 1. In this method, an intermediate point candidate is generated between a preset initial position and final position, an intermediate point is determined from the intermediate point candidate, and a candidate route is created from the determined intermediate point. Then, this process is repeated to create a plurality of candidate routes, the amount of movement of the moving unit of the robot is evaluated for each candidate route, and the candidate route with the highest movement efficiency is selected as the movement route.

特開2008−269021号公報JP 2008-269021 A

現在点と目標点との間に中継点を生成する際、その中継点を実現するジョイント角度が存在することが必要である。このような中継点を一意的に生成することは、処理負荷を増大させるという課題がある。   When a relay point is generated between the current point and the target point, it is necessary that a joint angle that realizes the relay point exists. Creating such a relay point uniquely has a problem of increasing the processing load.

例えば、特許文献1の手法では、特に中間点を作業空間で生成する場合において、作業空間中でジョイント角度が存在する中間点を一意的に生成する(位置に関する3自由度と姿勢に関する3自由度を決定する)ことは煩雑である。即ち、中間点を決定する際に、その中間点を実現するジョイント角度が存在するか否かを計算する必要があり、その計算を多くの候補経路について繰り返し行う必要がある。このような処理により、処理時間や計算量の大きくなるケースが発生する。   For example, in the method of Patent Document 1, in particular, when an intermediate point is generated in a work space, an intermediate point having a joint angle in the work space is uniquely generated (three degrees of freedom related to position and three degrees of freedom related to posture). It is cumbersome. That is, when determining an intermediate point, it is necessary to calculate whether or not there is a joint angle that realizes the intermediate point, and it is necessary to repeat the calculation for many candidate paths. Such processing may cause a case where processing time and calculation amount are increased.

本発明の幾つかの態様によれば、経路演算処理を高速化することが可能なロボット制御システム、ロボット、経路作成装置、経路作成方法及び経路作成プログラム等を提供できる。   According to some aspects of the present invention, it is possible to provide a robot control system, a robot, a route creation device, a route creation method, a route creation program, and the like that can speed up route calculation processing.

本発明の一態様は、ロボットのアームのエンドポイントの移動経路を演算する移動経路演算部と、前記移動経路の情報に基づいて前記ロボットを制御するロボット制御部と、を含み、前記移動経路演算部は、前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行うロボット制御システムに関係する。   One aspect of the present invention includes a movement path calculation unit that calculates a movement path of an end point of an arm of a robot, and a robot control unit that controls the robot based on information on the movement path. A current point that is the current position and posture of the end point; a target point that is the target position and target posture of the end point; and a path of the end point that relays a route from the current point to the target point. The present invention relates to a robot control system that obtains an allowable range of a relay point, which is a position and an orientation, and performs a route determination process for obtaining a joint angle of the joint of the arm so that the relay point is located within the allowable range.

本発明の一態様によれば、中継点の許容範囲が取得され、その許容範囲に中継点が位置するようにロボットのアームの関節角が求められる。これにより、経路演算処理を高速化することが可能になる。   According to one aspect of the present invention, the allowable range of the relay point is acquired, and the joint angle of the robot arm is determined so that the relay point is located within the allowable range. This makes it possible to speed up the route calculation process.

また本発明の一態様では、前記移動経路演算部は、第1〜第Nの前記許容範囲(NはN≦2の自然数)を取得し、前記第1〜第Nの前記許容範囲の各許容範囲に前記中継点が位置するように、前記関節角を求める前記経路決定処理を行ってもよい。   In the aspect of the invention, the movement route calculation unit obtains the first to Nth allowable ranges (N is a natural number of N ≦ 2), and allows each of the first to Nth allowable ranges. You may perform the said route determination process which calculates | requires the said joint angle so that the said relay point may be located in the range.

このようにすれば、第1〜第Nの許容範囲の各許容範囲に中継点を決定できるので、現在点と目標点の間に複数の中継点を決定し、アームのエンドポイントの移動経路を演算できる。   In this way, relay points can be determined for each allowable range of the first to Nth allowable ranges, so a plurality of relay points are determined between the current point and the target point, and the movement path of the end point of the arm is determined. Can be calculated.

また本発明の一態様では、前記移動経路演算部は、前記現在点側から前記中継点を決定する前記経路決定処理と、前記目標点側から前記中継点を決定する前記経路決定処理と、を並列に実行してもよい。   In one aspect of the present invention, the movement route calculation unit includes the route determination process for determining the relay point from the current point side, and the route determination process for determining the relay point from the target point side. It may be executed in parallel.

このようにすれば、中継点の決定処理を、現在点側と目標点側の両側から並列処理できるので、一方の側から中継点の決定処理を行う場合に比べて処理時間を短縮することが可能になる。   In this way, since the relay point determination process can be performed in parallel from both the current point side and the target point side, the processing time can be shortened compared to the case where the relay point determination process is performed from one side. It becomes possible.

また本発明の一態様では、前記移動経路演算部は、前記第1〜第Nの前記許容範囲の第kの前記許容範囲(kはk≦Nの自然数)において、前記現在点側及び前記目標点側から決定した前記中継点が存在する場合に、前記現在点側及び前記目標点側から決定した前記中継点を連結処理してもよい。   In the aspect of the invention, the movement route calculation unit may include the current point side and the target in the kth allowable range (k is a natural number of k ≦ N) of the first to Nth allowable ranges. When the relay point determined from the point side exists, the relay point determined from the current point side and the target point side may be connected.

このようにすれば、現在点側と目標点側から並列処理で決定した2つの中継点を、その2つの中継点が求められた許容範囲内において連結し、現在点側と目標点側から求めた経路を1つの経路に連結できる。   In this way, two relay points determined by parallel processing from the current point side and the target point side are connected within the allowable range in which the two relay points are obtained, and are obtained from the current point side and the target point side. Can be connected to one route.

また本発明の一態様では、前記移動経路演算部は、前記現在点側及び前記目標点側から決定した前記中継点の一方を最終の中継点に決定する処理、又は前記現在点側及び前記目標点側から決定した前記中継点の平均値を前記最終の中継点に決定する処理を、前記連結処理として行ってもよい。   Also, in one aspect of the present invention, the movement path calculation unit is configured to determine one of the relay points determined from the current point side and the target point side as a final relay point, or the current point side and the target You may perform the process which determines the average value of the said relay point determined from the point side to the said last relay point as said connection process.

このようにすれば、現在点側及び目標点側から決定した中継点が許容範囲内に存在する場合に、その2つの中継点を許容範囲内で連結し、その許容範囲の最終的な中継点を決定できる。   In this way, when the relay point determined from the current point side and the target point side is within the allowable range, the two relay points are connected within the allowable range, and the final relay point of the allowable range Can be determined.

また本発明の一態様では、前記移動経路演算部は、前記関節角が存在する前記中継点を前記各許容範囲において決定してもよい。   In the aspect of the invention, the movement route calculation unit may determine the relay point where the joint angle exists in each of the allowable ranges.

このようにすれば、ジョイント角度が存在する中継点を許容範囲内で決定することにより、各許容範囲に中継点が位置するようにジョイント角度を求めることができ、アームの移動経路を決定できる。   In this way, by determining the relay point where the joint angle exists within the allowable range, the joint angle can be obtained so that the relay point is located in each allowable range, and the movement path of the arm can be determined.

また本発明の一態様では、前記移動経路演算部は、前記第1〜第Nの前記許容範囲の前記中継点を第1〜第Nの中継点とし、前記第1〜第Nの中継点の第iの中継点(iはi≦N−1の自然数)が決定されている場合に、前記第1〜第Nの中継点の第i+1の中継点の候補点を、前記第1〜第Nの前記許容範囲の第i+1の前記許容範囲から選択し、前記第iの中継点から前記候補点への移動に対応する前記関節角の変化が存在すると判定した場合には、前記候補点を前記第i+1の中継点に決定し、前記関節角の変化が存在しないと判定した場合には、次の前記候補点を前記第i+1の前記許容範囲から選択してもよい。   Moreover, in one aspect of the present invention, the movement route calculation unit sets the relay points in the first to Nth allowable ranges as first to Nth relay points, and sets the first to Nth relay points. When the i-th relay point (i is a natural number of i ≦ N−1) is determined, the i + 1-th relay point candidate points of the first to N-th relay points are defined as the first to N-th relay points. If the change in the joint angle corresponding to the movement from the i-th relay point to the candidate point exists, the candidate point is selected from the i + 1-th allowable range of the allowable range When the i + 1th relay point is determined and it is determined that there is no change in the joint angle, the next candidate point may be selected from the i + 1th allowable range.

このようにすれば、許容範囲内の点を順次、中継点の候補点に設定し、その候補点を実現するジョイント角度変化が存在するか否かを判断することにより、ジョイント角度が存在する中継点を各許容範囲において決定できる。   In this way, relay points in which joint angles exist are determined by sequentially setting points within the allowable range as relay point candidate points and determining whether there is a joint angle change that realizes the candidate points. Points can be determined at each tolerance.

また本発明の一態様では、前記許容範囲を設定する設定画面を表示する表示部を含んでもよい。   Moreover, in one aspect of the present invention, a display unit that displays a setting screen for setting the allowable range may be included.

このようにすれば、例えばアームの経路をユーザーが教示する場合などに、設定画面を介してユーザーが許容範囲を設定することが可能となる。   In this way, for example, when the user teaches the arm route, the user can set the allowable range via the setting screen.

また本発明の一態様では、前記許容範囲を表示する表示部を含んでもよい。   In one embodiment of the present invention, a display unit that displays the allowable range may be included.

このようにすれば、例えばロボット制御システムが許容範囲を生成する場合などに、その生成した許容範囲をユーザーが確認することができる。   In this way, for example, when the robot control system generates an allowable range, the user can confirm the generated allowable range.

また本発明の他の態様は、関節を有するアームと、前記アームのエンドポイントの移動経路を演算する移動経路演算部と、前記移動経路の情報に基づいて前記アームを制御するロボット制御部と、を含み、前記移動経路演算部は、前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、前記許容範囲に前記中継点が位置するように、前記アームの前記関節の関節角を求める経路決定処理を行うロボットに関係する。   According to another aspect of the present invention, an arm having a joint, a movement path calculation unit that calculates a movement path of an end point of the arm, a robot control unit that controls the arm based on information on the movement path, The movement path calculation unit includes a current point that is the current position and posture of the end point, a target point that is the target position and posture of the end point, and a path from the current point to the target point And a route determination process for obtaining a joint angle of the joint of the arm so that the relay point is located within the tolerance range. Related to the robot to perform.

また本発明の更に他の態様は、ロボットのアームのエンドポイントの移動経路を演算する移動経路演算部と、前記移動経路の情報を出力する出力部と、を含み、前記移動経路演算部は、前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行う経路作成装置に関係する。   Still another aspect of the present invention includes a movement path calculation unit that calculates a movement path of the end point of the arm of the robot, and an output unit that outputs information of the movement path, and the movement path calculation unit includes: The current point and the current posture of the end point, the target point of the target position and the target posture of the end point, and the position and posture of the end point that relays the path from the current point to the target point This is related to a route creation device that obtains the allowable range of the relay point, and performs a route determination process for obtaining the joint angle of the joint of the arm so that the relay point is located within the allowable range.

また本発明の更に他の態様では、前記許容範囲を設定する設定画面を表示する表示部を含んでもよい。   In still another aspect of the present invention, a display unit that displays a setting screen for setting the allowable range may be included.

また本発明の更に他の態様では、前記許容範囲を表示する表示部を含んでもよい。   In still another aspect of the present invention, a display unit that displays the allowable range may be included.

また本発明の更に他の態様は、ロボットのアームのエンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得する処理を行い、前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行い、前記経路決定処理により求めた移動経路の情報に基づいて前記ロボットを制御する処理を行う、経路作成方法に関係する。   According to still another aspect of the present invention, a current point that is a current position and a current posture of an end point of a robot arm, a target point that is a target position and a target posture of the end point, and the target point from the current point To obtain the allowable range of the relay point, which is the position and posture of the end point that relays the route up to, and the joint angle of the joint of the arm so that the relay point is located in the allowable range The present invention relates to a route creation method in which a route determination process to be obtained is performed, and a process for controlling the robot is performed based on information on a movement route obtained by the route determination process.

また本発明の更に他の態様は、ロボットのアームのエンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得する処理を行い、前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行い、前記経路決定処理により求めた移動経路の情報に基づいて前記ロボットを制御する処理を行う、ステップをコンピューターに実行させる経路作成プログラムに関係する。   According to still another aspect of the present invention, a current point that is a current position and a current posture of an end point of a robot arm, a target point that is a target position and a target posture of the end point, and the target point from the current point To obtain the allowable range of the relay point, which is the position and posture of the end point that relays the route up to, and the joint angle of the joint of the arm so that the relay point is located in the allowable range The present invention relates to a route creation program for causing a computer to execute a step of performing a route determination process to be performed and performing a process of controlling the robot based on information of a movement route determined by the route determination process.

ロボットシステムの第1構成例。The 1st structural example of a robot system. ロボットシステムの第2構成例。The 2nd structural example of a robot system. ロボット制御システム、ロボットシステムの詳細な構成例。A detailed configuration example of a robot control system and a robot system. 中継点範囲についての説明図。Explanatory drawing about a relay point range. 中継点範囲についての説明図。Explanatory drawing about a relay point range. 中継点の決定処理のフローチャート。The flowchart of the determination process of a relay point. 中継点の決定処理についての説明図。Explanatory drawing about the determination process of a relay point. 中継点の探索処理のフローチャート。The flowchart of the search process of a relay point. ジョイント角度の算出処理のフローチャート。The flowchart of the calculation process of a joint angle. 第1の連結処理のフローチャート。The flowchart of a 1st connection process. 第2の連結処理のフローチャート。The flowchart of a 2nd connection process. 第3の連結処理のフローチャート。The flowchart of a 3rd connection process.

以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。   Hereinafter, preferred embodiments of the present invention will be described in detail. The present embodiment described below does not unduly limit the contents of the present invention described in the claims, and all the configurations described in the present embodiment are indispensable as means for solving the present invention. Not necessarily.

1.ロボットシステム
図1に、本実施形態の経路演算処理を行うロボットシステムの構成例を示す。ロボットシステムは、ロボット制御システム10(情報処理装置)と、ロボット30とを含む。
1. Robot System FIG. 1 shows a configuration example of a robot system that performs route calculation processing of the present embodiment. The robot system includes a robot control system 10 (information processing apparatus) and a robot 30.

ロボット制御システム10は、制御信号を生成し、その制御信号に基づいてロボット30を制御する。ロボット制御システム10の詳細は後述する。ロボット制御システム10の一部又は全部の機能は、例えばPC等の情報処理装置などにより実現される。なお、ロボット制御システム10の一部又は全部の機能を、ロボット30により実現したり、情報処理装置とは異なる電子機器により実現してもよい。また、本実施形態のロボット制御システム10の一部又は全部の機能は、情報処理装置もしくはロボット30と通信により接続されたサーバにより実現されてもよい。   The robot control system 10 generates a control signal and controls the robot 30 based on the control signal. Details of the robot control system 10 will be described later. Part or all of the functions of the robot control system 10 are realized by an information processing apparatus such as a PC. Note that some or all of the functions of the robot control system 10 may be realized by the robot 30 or an electronic device different from the information processing apparatus. In addition, some or all of the functions of the robot control system 10 according to the present embodiment may be realized by a server connected to the information processing apparatus or the robot 30 through communication.

ロボット30は、アーム320及びエンドエフェクター330(例えばハンド)を有し、ロボット制御システム10からの制御信号に従い処理を行う。ロボット30は、ロボット30における加工対象物であるワーク40に対して、例えば把持や加工などの処理を行う。   The robot 30 includes an arm 320 and an end effector 330 (for example, a hand), and performs processing according to a control signal from the robot control system 10. The robot 30 performs processing such as gripping and processing on the workpiece 40 that is a processing target in the robot 30.

ここで、アーム320とは、ロボット30の一部の領域であって、一つ以上の関節を含む可動領域のことをいう。また、アーム320のエンドポイントとは、アーム320の先端部分の領域であって、ロボット30のエンドエフェクター330以外の他の領域と接続されていない領域のことをいう。さらに、エンドエフェクター330とは、ワーク40を把持したり、ワーク40に加工を施すためにアーム320のエンドポイントに取り付ける部品のことをいう。なお、アームのエンドポイントの位置は、エンドエフェクター330の位置としてもよい。   Here, the arm 320 refers to a partial region of the robot 30 and a movable region including one or more joints. Further, the end point of the arm 320 is a region of the tip portion of the arm 320 and is not connected to any region other than the end effector 330 of the robot 30. Further, the end effector 330 refers to a component that is attached to the end point of the arm 320 in order to grip the workpiece 40 or process the workpiece 40. Note that the position of the end point of the arm may be the position of the end effector 330.

以上の図1はロボット30とロボット制御システム10とが別体として存在するロボットシステムの例であるが、本実施形態では、ロボット制御システム10がロボット30に内蔵されてもよい。   FIG. 1 is an example of a robot system in which the robot 30 and the robot control system 10 exist as separate bodies. However, in the present embodiment, the robot control system 10 may be built in the robot 30.

図2に、そのようなロボットシステムの構成例を示す。このロボットシステムは、ロボット本体30(アーム320及びエンドエフェクター330を有する)と、ロボット本体30を支えるベースユニット部と、を含み、そのベースユニット部にロボット制御システム10が格納される。図2のロボットシステムでは、ベースユニット部に車輪等が設けられ、ロボット全体が移動可能な構成となっている。なお、図1は単腕型の例であるが、ロボットは図2に示すように双腕型等の多腕型のロボットであってもよい。   FIG. 2 shows a configuration example of such a robot system. The robot system includes a robot main body 30 (having an arm 320 and an end effector 330) and a base unit portion that supports the robot main body 30, and the robot control system 10 is stored in the base unit portion. In the robot system of FIG. 2, wheels and the like are provided in the base unit section, and the entire robot is movable. Although FIG. 1 shows an example of a single arm type, the robot may be a multi-arm type robot such as a double arm type as shown in FIG.

2.ロボット制御システム
図3に、ロボット制御システム10及びこれを含むロボットシステムの詳細な構成例を示す。ロボット制御システム10は、処理部110と、ロボット制御部120と、記憶部130と、I/F部140(入力部)と、を含む。
2. Robot Control System FIG. 3 shows a detailed configuration example of the robot control system 10 and a robot system including the same. The robot control system 10 includes a processing unit 110, a robot control unit 120, a storage unit 130, and an I / F unit 140 (input unit).

処理部110は、記憶部130からのデータや、I/F部140において受信したロボット30からの情報等に基づいて種々の処理を行う。この処理部110の機能は、各種プロセッサー(例えばCPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムなどにより実現できる。   The processing unit 110 performs various processes based on data from the storage unit 130, information from the robot 30 received by the I / F unit 140, and the like. The function of the processing unit 110 can be realized by hardware such as various processors (for example, CPU, GPU, etc.), ASIC (gate array, etc.), a program, and the like.

処理部110は、アーム320の移動経路を演算する移動経路演算部112を含む。移動経路演算部112は、現在点と目標点の間に設定される中継点範囲内において、アーム320のジョイント角度を実現できる中継点を決定する。即ち、現在点から中継点を通って目標点に至る経路を決定する。中継点範囲は、中継点におけるアーム320のエンドポイントの位置及び姿勢に許容される範囲である。この経路決定処理の詳細については後述する。   The processing unit 110 includes a movement path calculation unit 112 that calculates the movement path of the arm 320. The movement path calculation unit 112 determines a relay point that can realize the joint angle of the arm 320 within the relay point range set between the current point and the target point. That is, the route from the current point to the target point through the relay point is determined. The relay point range is a range allowed for the position and posture of the end point of the arm 320 at the relay point. Details of this route determination processing will be described later.

ロボット制御部120は、処理部110から出力された制御信号に基づいて、ロボット30を制御する。例えば、移動経路演算部112は、現在点と目標点と中継点におけるエンドポイントの位置及び姿勢を出力する。或は、現在点と目標点と中継点におけるジョイント角度を出力する。ロボット制御部120は、この情報に基づいて、現在点から中継点を通って目標点に至るアーム320の動作を制御する信号を出力する。   The robot control unit 120 controls the robot 30 based on the control signal output from the processing unit 110. For example, the movement route calculation unit 112 outputs the position and posture of the end point at the current point, the target point, and the relay point. Alternatively, the joint angle at the current point, the target point, and the relay point is output. Based on this information, the robot controller 120 outputs a signal for controlling the operation of the arm 320 from the current point through the relay point to the target point.

記憶部130は、データベースを記憶したり、処理部110等のワーク領域となるもので、その機能はRAM等のメモリーやHDD(ハードディスクドライブ)などにより実現できる。   The storage unit 130 stores a database and serves as a work area for the processing unit 110 and the like, and its function can be realized by a memory such as a RAM or an HDD (hard disk drive).

I/F部140は、ロボット制御システム10に対するユーザーからの入力等を行ったり、ロボット30からの情報を受け付けるためのインターフェースである。ユーザーからの入力等に関しては、スイッチやボタン、キーボード或いはマウス等から構成されてもよい。   The I / F unit 140 is an interface for performing input from the user to the robot control system 10 and receiving information from the robot 30. Regarding input from the user, etc., it may be constituted by a switch, a button, a keyboard, a mouse, or the like.

ロボット30は、アーム320及びエンドエフェクター330の他に制御部310を含む。制御部310は、ロボット制御システム10からの情報を受け付け、ロボット30の各部(アーム320及びエンドエフェクター330等)の制御を行う。   The robot 30 includes a control unit 310 in addition to the arm 320 and the end effector 330. The control unit 310 receives information from the robot control system 10 and controls each unit (such as the arm 320 and the end effector 330) of the robot 30.

3.経路決定処理
3.1.中継点範囲
次に、経路決定処理の詳細について説明する。なお以下では、2次元平面(XY平面)内を移動する自由度3(ジョイント数3つ)のロボットアームを例に説明する。
3. Route determination process 3.1. Relay Point Range Next, details of the route determination process will be described. In the following description, a robot arm having three degrees of freedom (three joints) that moves in a two-dimensional plane (XY plane) will be described as an example.

まず、中継点範囲について説明する。図4に示すように、アームのエンドポイントが現在点CPから目標点TPまで移動する経路上に中継点範囲RGiを設定する。この中継点範囲RGiは、教示により与えられてもよいし、或は移動経路演算部112が生成してもよい。現在点CPと目標点TPは、エンドポイントの位置及び姿勢により表される。位置はXY座標(X,Y)であり、姿勢は、例えばX軸を基準に時計回りの角度Θでエンドポイントの方向を表したものである。エンドポイントは中継点RPiを経由して現在点CPから目標点TPまで移動するが、その中継点RPiを決定する際に許容される範囲が中継点範囲RGiである。中継点RPiは、位置(座標(X,Y))及び姿勢(角度Θ)で表され、中継点範囲RGiは、位置の許容範囲(位置範囲)及び姿勢の許容範囲(姿勢範囲)で表される。位置範囲は、座標(Xi,Yi)と、X軸方向及びY軸方向の範囲(Wi,Hi)とで指定される。座標(Xi,Yi)は、例えば位置範囲の中心の座標である。姿勢範囲は、エンドポイントの方向(角度)の範囲Θimin≦Θi≦Θimaxである。   First, the relay point range will be described. As shown in FIG. 4, a relay point range RGi is set on a path along which the arm end point moves from the current point CP to the target point TP. This relay point range RGi may be given by teaching, or may be generated by the movement route calculation unit 112. The current point CP and the target point TP are represented by the position and posture of the end point. The position is an XY coordinate (X, Y), and the posture represents the direction of the end point by a clockwise angle Θ with respect to the X axis, for example. The end point moves from the current point CP to the target point TP via the relay point RPi, and the range allowed when determining the relay point RPi is the relay point range RGi. The relay point RPi is represented by a position (coordinates (X, Y)) and a posture (angle Θ), and the relay point range RGi is represented by a position tolerance range (position range) and a posture tolerance range (posture range). The The position range is specified by coordinates (Xi, Yi) and ranges (Wi, Hi) in the X-axis direction and the Y-axis direction. The coordinates (Xi, Yi) are, for example, the coordinates of the center of the position range. The posture range is an end point direction (angle) range Θimin ≦ Θi ≦ Θimax.

図4には1つの中継点範囲RGiを図示しているが、図5に示すように本実施形態では複数の中継点範囲RG1〜RGNを設定する。即ちNは2以上の自然数であり、iはN以下の自然数である。図5には、N=5である場合を例に図示している。   Although one relay point range RGi is illustrated in FIG. 4, a plurality of relay point ranges RG1 to RGN are set in the present embodiment as shown in FIG. That is, N is a natural number of 2 or more, and i is a natural number of N or less. FIG. 5 shows an example where N = 5.

エンドポイントの位置及び姿勢は、ジョイントJT1〜JT3(関節)のジョイント角度θ1〜θ3(関節角)により決まる。逆にエンドポイントの位置及び姿勢を指定した場合、その位置及び姿勢を実現するジョイント角度θ1〜θ3が必ずしも存在するとは限らない。本実施形態では、中継点RPiの許容範囲として中継点範囲RGiを設定することにより、その中継点範囲RGi内においてジョイント角度θ1〜θ3が存在する中継点RPiを決定可能にしている。また、経路の探索範囲を中継点範囲RGiで制限することによって、作業空間内において任意の経路の中から最適な経路を決定する場合に比べて処理負荷を低減できる。例えば、アームの移動経路がおおよそ決まっているような場合には、その移動経路に中継点範囲RGiを予め教示しておくことで、ジョイント角度θ1〜θ3を実現する中継点RPiを決定できる。   The position and posture of the end point are determined by the joint angles θ1 to θ3 (joint angles) of the joints JT1 to JT3 (joints). Conversely, when the position and orientation of the end point are designated, the joint angles θ1 to θ3 that realize the position and orientation are not necessarily present. In the present embodiment, by setting the relay point range RGi as the allowable range of the relay point RPi, the relay point RPi where the joint angles θ1 to θ3 exist within the relay point range RGi can be determined. Further, by limiting the route search range with the relay point range RGi, the processing load can be reduced as compared with the case of determining an optimum route from any route in the work space. For example, when the movement path of the arm is roughly determined, the relay point RPi for realizing the joint angles θ1 to θ3 can be determined by teaching the relay point range RGi in advance to the movement path.

3.2.中継点の決定処理
次に、中継点範囲RGi内で中継点RPiを決定する処理について説明する。図6に、処理のフローチャートを示し、図7に、処理の説明図を示す。
3.2. Relay Point Determination Processing Next, processing for determining the relay point RPi within the relay point range RGi will be described. FIG. 6 shows a flowchart of the process, and FIG. 7 shows an explanatory diagram of the process.

処理を開始すると、現在点CPの位置及び姿勢を取得する(ステップS1)。次に、目標点TPの位置及び姿勢を取得する(ステップS2)。次に、中継点範囲RG1〜RG5の位置範囲及び姿勢範囲を取得する(ステップS3)。次に、中継点RP1〜RP5を決定するが、このとき現在点CP側から決めていくステップS4〜S11と目標点TP側から決めていくステップS12〜S19とを並列に処理する。   When the process is started, the position and orientation of the current point CP are acquired (step S1). Next, the position and orientation of the target point TP are acquired (step S2). Next, the position range and posture range of the relay point ranges RG1 to RG5 are acquired (step S3). Next, the relay points RP1 to RP5 are determined. At this time, steps S4 to S11 determined from the current point CP side and steps S12 to S19 determined from the target point TP side are processed in parallel.

まず、現在点CP側から中継点を決める処理を説明する。現在点CPを最新点に設定する(ステップS4)。ここで、「最新点(現在点側)」等の表記は、その点が現在点CP側から決められていることを表す。次に、i=1を設定する(ステップS5)。次に、i<Nである場合には(ステップS6)、中継点範囲RGiを取得する(ステップS7)。次に、最新点を基準として、中継点範囲RGiにおいて中継点RPiを求める(ステップS8)。例えば、i=1の場合には、アームのエンドポイントを現在点CPから中継点RP1へ移動させる場合の中継点RP1を求め、i=2の場合には、その求めた中継点RP1から中継点RP2へ移動させる場合の中継点RP2を求める。即ち、現在点CP側から順次、中継点RP1、RP2、・・・と求めていく。このとき、2点間における位置及び姿勢の変化(ΔX,ΔY,ΔΘ)に対して、ジョイント角度の変化(Δθ1、Δθ2、Δθ3)を実現できる中継点RPiを、中継点範囲RGi内から探索する。この探索処理の詳細については後述する。   First, a process for determining a relay point from the current point CP side will be described. The current point CP is set to the latest point (step S4). Here, the notation such as “latest point (current point side)” indicates that the point is determined from the current point CP side. Next, i = 1 is set (step S5). Next, when i <N (step S6), the relay point range RGi is acquired (step S7). Next, the relay point RPi is obtained in the relay point range RGi using the latest point as a reference (step S8). For example, when i = 1, the relay point RP1 for moving the end point of the arm from the current point CP to the relay point RP1 is obtained, and when i = 2, the relay point from the obtained relay point RP1 is obtained. A relay point RP2 for moving to RP2 is obtained. That is, the relay points RP1, RP2,... Are obtained sequentially from the current point CP side. At this time, a relay point RPi that can realize joint angle changes (Δθ1, Δθ2, Δθ3) with respect to changes in position and orientation between two points (ΔX, ΔY, ΔΘ) is searched from the relay point range RGi. . Details of this search process will be described later.

次に、中継点RPiが目標点TP側から求められているか否かを判定する(ステップS9)。例えば図7に示す中継点RP1、RP2(i=1、2)のように、目標点TP側から中継点が求められていない場合には、中継点RPiを最新点に設定し(ステップS10)、i=i+1とし(ステップS11)、ステップS6に戻る。一方、図7に示す中継点RP3’、RP3”(i=3)のように、目標点TP側からも中継点RP3”が求められている場合には、ステップS20に進む。   Next, it is determined whether or not the relay point RPi is obtained from the target point TP side (step S9). For example, when a relay point is not obtained from the target point TP as in the relay points RP1 and RP2 (i = 1, 2) shown in FIG. 7, the relay point RPi is set to the latest point (step S10). I = i + 1 (step S11), and the process returns to step S6. On the other hand, when the relay point RP3 ″ is also obtained from the target point TP side like the relay points RP3 ′ and RP3 ″ (i = 3) shown in FIG. 7, the process proceeds to step S20.

次に、目標点TP側から中継点を決める処理を説明する。まず、目標点TPを最新点に設定する(ステップS12)。ここで、「最新点(目標点側)」等の表記は、その点が目標点TP側から決められていることを表す。次に、j=N−1を設定する(ステップS13)。次に、j≧1である場合には(ステップS14)、中継点範囲RGjを取得する(ステップS15)。次に、最新点を基準として、中継点範囲RGjにおいて中継点RPjを求める(ステップS16)。即ち、目標点TP側から順次、中継点RP5、RP4、・・・と求めていく。現在点CP側から求める場合と同様に、ジョイント角度の変化(Δθ1、Δθ2、Δθ3)を実現できる中継点RPjを求める。   Next, processing for determining a relay point from the target point TP side will be described. First, the target point TP is set to the latest point (step S12). Here, the notation such as “latest point (target point side)” indicates that the point is determined from the target point TP side. Next, j = N-1 is set (step S13). Next, when j ≧ 1 (step S14), the relay point range RGj is acquired (step S15). Next, the relay point RPj is obtained in the relay point range RGj using the latest point as a reference (step S16). That is, relay points RP5, RP4,... Are sequentially obtained from the target point TP side. As in the case of obtaining from the current point CP side, the relay point RPj capable of realizing the joint angle change (Δθ1, Δθ2, Δθ3) is obtained.

次に、中継点RPjが現在点CP側から求められているか否かを判定する(ステップS17)。例えば図7に示す中継点RP5、RP4(i=5、4)のように、現在点CP側から中継点が求められていない場合には、中継点RPjを最新点に設定し(ステップS18)、j=j−1とし(ステップS19)、ステップS14に戻る。一方、図7に示す中継点RP3’、RP3”(j=3)のように、現在点CP側からも中継点RP3’が求められている場合には、ステップS20に進む。   Next, it is determined whether or not the relay point RPj is obtained from the current point CP side (step S17). For example, when the relay point is not obtained from the current point CP as in the relay points RP5 and RP4 (i = 5, 4) shown in FIG. 7, the relay point RPj is set to the latest point (step S18). , J = j−1 (step S19), and the process returns to step S14. On the other hand, when the relay point RP3 'is obtained also from the current point CP side as in the relay points RP3' and RP3 "(j = 3) shown in FIG. 7, the process proceeds to step S20.

ステップS20では、中継点範囲RG1〜RG5の中から、現在点CP側及び目標点TP側の双方から中継点が求められている中継点範囲RGkを選択する。次に、中継点範囲RGkにおいて、現在点CP側及び目標点TP側から求めた中継点を連結する(ステップS21)。図7の例では、中継点範囲RG3(k=3)を選択し、現在点CP側及び目標点TP側から求めた中継点RP3’、RP3”を連結し、最終的な中継点RP3を決定する。連結処理の詳細については後述する。   In step S20, the relay point range RGk for which relay points are determined from both the current point CP side and the target point TP side is selected from the relay point ranges RG1 to RG5. Next, in the relay point range RGk, the relay points obtained from the current point CP side and the target point TP side are connected (step S21). In the example of FIG. 7, the relay point range RG3 (k = 3) is selected, the relay points RP3 ′ and RP3 ″ obtained from the current point CP side and the target point TP side are connected, and the final relay point RP3 is determined. Details of the connection process will be described later.

以上の実施形態では、ロボット制御システム10は、ロボット30のアーム320のエンドポイントの移動経路を演算する移動経路演算部112と、その移動経路の情報に基づいてロボット30を制御するロボット制御部120と、を含む。移動経路演算部112は、エンドポイントの現在位置及び現在姿勢である現在点CPと、エンドポイントの目標位置及び目標姿勢である目標点TPと、現在点CPから目標点TPまでの経路を中継するエンドポイントの位置及び姿勢である中継点RPiの許容範囲(中継点範囲RGi)と、を取得する。そして、移動経路演算部112は、その許容範囲に中継点RPiが位置するように、アーム320の関節の関節角(ジョイント角度θ1〜θ3)を求める経路決定処理を行う。   In the embodiment described above, the robot control system 10 includes the movement path calculation unit 112 that calculates the movement path of the end point of the arm 320 of the robot 30 and the robot control unit 120 that controls the robot 30 based on the movement path information. And including. The movement path calculation unit 112 relays a current point CP that is the current position and posture of the end point, a target point TP that is the target position and target posture of the end point, and a route from the current point CP to the target point TP. An allowable range (relay point range RGi) of the relay point RPi, which is the position and orientation of the end point, is acquired. And the movement path | route calculating part 112 performs the path | route determination process which calculates | requires the joint angles (joint angles (theta) 1- (theta) 3) of the arm 320 so that the relay point RPi may be located in the tolerance | permissible_range.

このようにすれば、ロボットアームの経路を決定する処理の処理時間や計算量を低減することができる。例えば、各中継点を1点で指定して経路の候補を作成した場合には、その各中継点を実現するジョイント角度を求められない場合がある。このような場合、新たに経路の候補を生成し、ジョイント角度の存在を確かめる必要があるが、経路に制限のない作業空間内でこれを行うと、無数の経路の候補があるため処理量が増加する可能性がある。この点、本実施形態によれば、中継点範囲RG1〜RGNによって中継点RP1〜RPNの許容範囲が決まっているため、経路の範囲をある程度制限することが可能であり、処理量を低減できる。また、1点でなく許容範囲(中継点範囲RGi)内で中継点RPiを決めることにより、ジョイント角度を実現できる中継点RPiを設定することが可能である。   In this way, it is possible to reduce the processing time and the calculation amount of the process for determining the path of the robot arm. For example, when a route candidate is created by designating each relay point as one point, the joint angle that realizes each relay point may not be obtained. In such a case, it is necessary to generate a new route candidate and confirm the existence of the joint angle. However, if this is performed in a work space where there are no restrictions on the route, there are innumerable route candidates, and the amount of processing is reduced. May increase. In this respect, according to the present embodiment, since the allowable ranges of the relay points RP1 to RPN are determined by the relay point ranges RG1 to RGN, the route range can be limited to some extent, and the processing amount can be reduced. Further, by determining the relay point RPi within the allowable range (relay point range RGi) instead of one point, it is possible to set the relay point RPi that can realize the joint angle.

ここで、中継点RPi及び許容範囲(中継点範囲RGi)は、ロボット30のアーム320が動作する空間(又は、それに対応する仮想空間)に設定される。上記の実施形態では2次元空間である場合を説明したが、一般的には3次元空間である。即ち、中継点RPiは、位置の3自由度(例えばXYZ座標)と姿勢の3自由度(例えばロール角、ピッチ角、ヨー角)を有する。また、許容範囲(中継点範囲RGi)は、中継点RPiの6自由度それぞれについて範囲が設定される。3次元空間は、例えばロボット制御システム10が作業空間に対応して設定するワールド座標系である。或は、ロボット30の動作をシミュレーションする場合、ロボット30のモデルを設置する仮想の3次元空間である。   Here, the relay point RPi and the allowable range (relay point range RGi) are set in a space (or a virtual space corresponding thereto) in which the arm 320 of the robot 30 operates. In the above embodiment, the case of a two-dimensional space has been described, but generally a three-dimensional space. In other words, the relay point RPi has three degrees of freedom (for example, XYZ coordinates) and three degrees of freedom (for example, roll angle, pitch angle, and yaw angle). The allowable range (relay point range RGi) is set for each of the 6 degrees of freedom of the relay point RPi. The three-dimensional space is a world coordinate system set by the robot control system 10 corresponding to the work space, for example. Alternatively, when the operation of the robot 30 is simulated, it is a virtual three-dimensional space in which a model of the robot 30 is installed.

また本実施形態では、移動経路演算部112は、第1〜第Nの許容範囲(第1〜第Nの中継点範囲RG1〜RGN)を取得し、第1〜第Nの許容範囲(NはN≦2の自然数)の各許容範囲(RGi)に中継点RPiが位置するように、関節角を求める経路決定処理を行う。   Moreover, in this embodiment, the movement path | route calculating part 112 acquires the 1st-Nth permissible range (1st-Nth relay point range RG1-RGN), and the 1st-Nth permissible range (N is N). A route determination process for obtaining the joint angle is performed so that the relay point RPi is positioned in each allowable range (RGi) of N ≦ natural number.

このようにすれば、第1〜第Nの許容範囲の各許容範囲(RGi)に中継点RPiを決定できるので、現在点CPと目標点TPの間に複数の中継点RP1〜RPNを決定し、アームのエンドポイントの移動経路を演算できる。   In this way, since the relay point RPi can be determined for each of the first to Nth allowable ranges (RGi), a plurality of relay points RP1 to RPN are determined between the current point CP and the target point TP. The movement path of the arm end point can be calculated.

また本実施形態では、移動経路演算部112は、現在点CP側から中継点RPiを決定する経路決定処理(図6のステップS4〜S11)と、目標点TP側から中継点RPiを決定する経路決定処理(ステップS12〜S19)と、を並列に実行する。   Further, in the present embodiment, the movement route calculation unit 112 determines the relay point RPi from the current point CP side (steps S4 to S11 in FIG. 6) and the route to determine the relay point RPi from the target point TP side. The determination process (steps S12 to S19) is executed in parallel.

このようにすれば、中継点RP1〜RPNを現在点CP側と目標点TP側の両側から決定することにより、処理時間を短縮することが可能になる。例えば、後述のように最新点から次の中継点までのジョイント角度変化を求めることにより、1点ずつ順に中継点を決める手法が考えられる。このような手法では、並列処理で両側から順に中継点を求めていき、両側から中継点が求まる中継点範囲(図7のRG3)まで演算を行えばよいので、一方の側から中継点を決めていく場合に比べて処理時間を短縮できる。   In this way, it is possible to shorten the processing time by determining the relay points RP1 to RPN from both sides of the current point CP side and the target point TP side. For example, as will be described later, a method is conceivable in which a relay point is determined in order one by one by obtaining a joint angle change from the latest point to the next relay point. In such a method, the relay points are obtained in order from both sides in parallel processing, and calculation is performed up to the relay point range (RG3 in FIG. 7) from which the relay points are obtained, so the relay point is determined from one side. The processing time can be shortened compared with the case where it goes.

また本実施形態では、移動経路演算部112は、第1〜第Nの許容範囲の第kの許容範囲(中継点範囲RGk)において、現在点CP側及び目標点TP側から決定した中継点(図7のRP3’、RP3”)が存在する場合に、現在点CP側及び目標点TP側から決定した中継点を連結処理する(図6のステップS21)。   Further, in the present embodiment, the movement path calculation unit 112 has a relay point (determined from the current point CP side and the target point TP side) in the kth allowable range (relay point range RGk) of the first to Nth allowable ranges. When RP3 ′, RP3 ″) in FIG. 7 exists, the relay points determined from the current point CP side and the target point TP side are connected (step S21 in FIG. 6).

このようにすれば、現在点CP側と目標点TP側から並列処理で決定した経路を連結することが可能となる。即ち、図6のステップS9、S17に示すように、1つの許容範囲(RGk)に両側から求めた中継点(即ち、それを実現するジョイント角度)が存在するに至った場合に、それらの中継点を許容範囲内で連結することにより、1つの経路を生成することができる。   In this way, it is possible to connect paths determined by parallel processing from the current point CP side and the target point TP side. That is, as shown in steps S9 and S17 in FIG. 6, when there is a relay point (that is, a joint angle that realizes it) obtained from both sides in one allowable range (RGk), the relay points thereof are reached. By connecting the points within an allowable range, one path can be generated.

また本実施形態では、ロボット制御システム10は、許容範囲(RGi)を設定する設定画面を表示する表示部を含んでもよい。例えば、図4で説明した各中継点範囲RGiの基準位置(Xi,Yi)、位置範囲(Hi,Wi)、姿勢範囲の最大値及び最小値(Θimin,Θimax)を設定する画面を表示する。   In the present embodiment, the robot control system 10 may include a display unit that displays a setting screen for setting an allowable range (RGi). For example, a screen for setting the reference position (Xi, Yi), position range (Hi, Wi), maximum value and minimum value (Θimin, Θimax) of the posture range of each relay point range RGi described in FIG. 4 is displayed.

このようにすれば、例えばアームの経路をユーザーが教示する場合などに、設定画面を介してユーザーが許容範囲(RG1〜RGN)を設定することが可能となる。表示部は、例えば図1のようなロボット30と別体のロボット制御システム10(情報処理装置)に設けられてもよいし、図2のようなロボット30と一体のロボット制御システム10に設けられてもよい。   In this way, for example, when the user teaches the arm route, the user can set the allowable range (RG1 to RGN) via the setting screen. The display unit may be provided, for example, in the robot control system 10 (information processing apparatus) separate from the robot 30 as shown in FIG. 1, or provided in the robot control system 10 integrated with the robot 30 as shown in FIG. May be.

また本実施形態では、ロボット制御システム10は、許容範囲RGiを表示する表示部を含んでもよい。   In the present embodiment, the robot control system 10 may include a display unit that displays the allowable range RGi.

このようにすれば、例えばロボット制御システム10が許容範囲(RG1〜RGN)を生成する場合などに、その生成した許容範囲をユーザーが確認することができる。   In this way, for example, when the robot control system 10 generates the allowable range (RG1 to RGN), the generated allowable range can be confirmed by the user.

なお、以上の実施形態では、経路決定処理をロボット制御システム10が行う場合を例に説明したが、本実施形態はこれに限定されない。例えば経路決定処理を、ロボット30と別体の経路作成装置(例えばPC等の情報処理装置など)が行ってもよい。   In the above embodiment, the case where the robot control system 10 performs the route determination process has been described as an example. However, the present embodiment is not limited to this. For example, the route determination process may be performed by a route creation device (for example, an information processing device such as a PC) separate from the robot 30.

経路作成装置は、移動経路演算部112と、移動経路演算部112が求めた移動経路の情報を出力する出力部と、を含む。移動経路の情報は、例えば現在点・中継点・目標点の位置及び姿勢、或はそれらの点におけるジョイント角度、或はそれらのジョイント角度をロボットに指示する制御信号などである。出力部は、例えばUSB等の通信インターフェースや、メモリーカード等の外部記憶装置のインターフェース等などにより実現できる。   The route creation device includes a movement route calculation unit 112 and an output unit that outputs information on the movement route obtained by the movement route calculation unit 112. The information on the movement path is, for example, the position and posture of the current point, the relay point, and the target point, the joint angle at those points, or a control signal for instructing the robot of these joint angles. The output unit can be realized by, for example, a communication interface such as a USB or an interface of an external storage device such as a memory card.

3.3.中継点の探索処理
次に、図6のステップS8、S16の処理、即ちジョイント角度(θ1、θ2、θ3)を実現できる中継点RPiを求める処理について説明する。図8に、その処理のフローチャートを示す。
3.3. Relay Point Search Processing Next, processing in steps S8 and S16 in FIG. 6, that is, processing for obtaining a relay point RPi capable of realizing joint angles (θ1, θ2, θ3) will be described. FIG. 8 shows a flowchart of the processing.

処理を開始すると、中継点を求める中継点範囲の情報を取得する(ステップS31)。取得する情報は、基準位置のXY座標(X,Y)、X軸方向の幅W、Y軸方向の幅H、姿勢を表す角度の最大値Θmaxと最小値Θminである。なお、ここでは、基準位置のXY座標(X,Y)を中継点範囲の左下隅(座標値X、Yが最も小さい位置)とする。次に、最新点の情報を取得する(ステップS32)。取得する情報は、最新点のXY座標(Xc,Yc)、最新点の姿勢を表す角度Θcである。   When the process is started, information on the relay point range for obtaining the relay point is acquired (step S31). The acquired information includes the XY coordinates (X, Y) of the reference position, the width W in the X-axis direction, the width H in the Y-axis direction, and the maximum angle Θmax and the minimum value Θmin representing the posture. Here, the XY coordinates (X, Y) of the reference position are the lower left corner of the relay point range (the position where the coordinate values X and Y are the smallest). Next, the latest point information is acquired (step S32). The information to be acquired is the XY coordinates (Xc, Yc) of the latest point and the angle Θc representing the posture of the latest point.

次に、中継点範囲から中継点の候補を選択し、その中継点の候補を実現できるジョイント角度を計算する。そして、ジョイント角度を計算できる中継点が見つかるまで候補を順次変えながら、処理を繰り返す。   Next, a relay point candidate is selected from the relay point range, and a joint angle capable of realizing the relay point candidate is calculated. Then, the process is repeated while sequentially changing candidates until a relay point that can calculate the joint angle is found.

具体的には、所定の自然数Mで中継点範囲を分割する(ステップS33)。即ち、δx=W/(M−1)、δy=H/(M−1)、δθ=(Θmax−Θmin)/(M−1)を求める。次に、i=0を設定する(ステップS34)。次に、i<Mであるか否かを判定する(ステップS36)。i<Mである場合には、中継点範囲内の座標Xa=X+δx×iを取得する(ステップS37)。次に、j=0を設定する(ステップS38)。次に、j<Mであるか否かを判定する(ステップS40)。j<Mである場合には、中継点範囲内の座標Ya=Y+δy×jを取得する(ステップS41)。次に、k=0を設定する(ステップS42)。次に、k<Mであるか否かを判定する(ステップS43)。k<Mである場合には、中継点範囲内の角度Θa=Θmin+δθ×kを取得する(ステップS44)。   Specifically, the relay point range is divided by a predetermined natural number M (step S33). That is, δx = W / (M−1), δy = H / (M−1), and δθ = (Θmax−Θmin) / (M−1) are obtained. Next, i = 0 is set (step S34). Next, it is determined whether i <M is satisfied (step S36). If i <M, the coordinates Xa = X + δx × i within the relay point range are acquired (step S37). Next, j = 0 is set (step S38). Next, it is determined whether j <M is satisfied (step S40). If j <M, the coordinates Ya = Y + δy × j within the relay point range are acquired (step S41). Next, k = 0 is set (step S42). Next, it is determined whether or not k <M (step S43). If k <M, the angle Θa = Θmin + δθ × k within the relay point range is acquired (step S44).

次に、中継点の候補(Xa,Ya,Θa)を実現するジョイント角度(θ1,θ2,θ3)を求める(ステップS45)。このステップS45の処理の詳細については後述する。次に、ジョイント角度(θ1,θ2,θ3)が求められたか否かを判定する(ステップS46)。ジョイント角度を求められなかった場合には、中継点の候補を変更して繰り返し演算を行う。即ち、k=k+1とし(ステップS47)、ステップS43に戻る。k<Mでなくなった場合には、j=j+1とし(ステップS39)、ステップS40に戻る。j<Mでなくなった場合には、i=i+1とし(ステップS35)、ステップS36に戻る。この繰り返し演算により、中継点の候補を実現するジョイント角度が求められた場合(ステップS46)、その中継点の候補(Xa,Ya,Θa)を中継点とし、その中継点を実現するジョイント角度(θ1,θ2,θ3)を保持し(ステップS48)、処理を終了する。   Next, joint angles (θ1, θ2, θ3) that realize relay point candidates (Xa, Ya, Θa) are obtained (step S45). Details of the processing in step S45 will be described later. Next, it is determined whether or not the joint angles (θ1, θ2, θ3) have been obtained (step S46). If the joint angle cannot be obtained, the relay point candidate is changed and the calculation is repeated. That is, k = k + 1 is set (step S47), and the process returns to step S43. If k <M is not satisfied, j = j + 1 is set (step S39), and the process returns to step S40. If j <M is not satisfied, i = i + 1 is set (step S35), and the process returns to step S36. When a joint angle that realizes a relay point candidate is obtained by this iterative calculation (step S46), the relay point candidate (Xa, Ya, Θa) is set as a relay point, and the joint angle ( (θ1, θ2, θ3) are held (step S48), and the process is terminated.

なお、ステップS36においてi<Mでない場合には、中継点範囲に含まれる中継点を決定できなかった旨のエラー通知を行い(ステップS49)、処理を終了する。   If i <M is not satisfied in step S36, an error notification indicating that the relay points included in the relay point range could not be determined is made (step S49), and the process is terminated.

3.4.ジョイント角度の算出処理
次に、図8のステップS45の処理、即ち中継点の候補Pa=(Xa,Ya,Θa)を実現するジョイント角度θ=(θ1,θ2,θ3)を求める処理について説明する。図9に、処理のフローチャートを示す。
3.4. Next, the processing in step S45 of FIG. 8, that is, the processing for obtaining the joint angle θ = (θ1, θ2, θ3) for realizing the relay point candidate Pa = (Xa, Ya, Θa) will be described. . FIG. 9 shows a flowchart of the process.

この処理では、反復演算によりジョイント角度θ=θc+Δθを求める。例えば、図7の現在点CP側から中継点RP1を決める場合、θc=(θ1c、θ2c、θ3c)は、現在点CP(最新点)でのジョイント角度であり、中継点RP1でのジョイント角度θ=(θ1,θ2,θ3)を求めることになる。Δθ=(Δθ1,Δθ2,Δθ3)は、θとθcの間のジョイント角度変化である。   In this process, the joint angle θ = θc + Δθ is obtained by iterative calculation. For example, when determining the relay point RP1 from the current point CP side in FIG. 7, θc = (θ1c, θ2c, θ3c) is the joint angle at the current point CP (latest point), and the joint angle θ at the relay point RP1. = (Θ1, θ2, θ3). Δθ = (Δθ1, Δθ2, Δθ3) is a joint angle change between θ and θc.

図9の処理を開始すると、まず、ジョイント角度の初期値θ0=(θ1_0,θ2_0,θ3_0)を設定する(ステップS61)。次に、n=0を設定する(ステップS62)。次に、n<nmaxであるか否かを判定する(ステップS63)。nmaxは反復回数の上限である。n<nmaxである場合には、ジョイント角度θn=(θ1_n,θ2_n,θ3_n)におけるヤコビ行列[J]_nを求める(ステップS64)。次に、ヤコビ行列[J]_nの逆行列[J−1]_nを求める(ステップS65)。 When the processing of FIG. 9 is started, first, an initial value θ0 = (θ1_0, θ2_0, θ3_0) of the joint angle is set (step S61). Next, n = 0 is set (step S62). Next, it is determined whether n <nmax is satisfied (step S63). nmax is the upper limit of the number of iterations. If n <nmax, the Jacobian matrix [J] _n at the joint angle θn = (θ1_n, θ2_n, θ3_n) is obtained (step S64). Next, an inverse matrix [J −1 ] _n of the Jacobian matrix [J] _n is obtained (step S65).

次に、△θn=(△θ1_n,△θ2_n,△θ3_n)をΔθn=[J−1]_n・ΔPから求め、θn+1=θn+Δθnを求める(ステップS66)。ここで、ΔP=Pa−Pc=(Xa−Xc,Ya−Yc,Θa−Θc)は、最新点Pcから中継点の候補Paまでの位置及び姿勢の変化である。Δθnは、反復演算のn回目に求めたジョイント角度変化Δθである。初期値θ0は、一般には解とは異なるので、演算を繰り返すに従ってΔθnは変化する。 Next, Δθn = (Δθ1_n, Δθ2_n, Δθ3_n) is obtained from Δθn = [J −1 ] _n · ΔP, and θn + 1 = θn + Δθn is obtained (step S66). Here, ΔP = Pa−Pc = (Xa−Xc, Ya−Yc, Θa−Θc) is a change in position and posture from the latest point Pc to the relay point candidate Pa. Δθn is the joint angle change Δθ obtained at the nth iteration. Since the initial value θ0 is generally different from the solution, Δθn changes as the calculation is repeated.

次に、差分θn+1−θnを求める(ステップS67)。次に、差分θn+1−θnが十分に小さい(例えば所定閾値より小さい)か否かを判定する(ステップS68)。差分θn+1−θnが十分に小さくない場合には、n=n+1とし(ステップS69)、ステップS63に戻る。一方、差分θn+1−θnが十分に小さい場合には、θ=θn+1とする。即ち、中継点の候補Pa=(Xa,Ya,Θa)を実現するジョイント角度θ=(θ1,θ2,θ3)として、θn+1=(θ1_n+1,θ2_n+1,θ3_n+1)を保持し(ステップS70)、処理を終了する。   Next, the difference θn + 1−θn is obtained (step S67). Next, it is determined whether or not the difference θn + 1−θn is sufficiently small (for example, smaller than a predetermined threshold) (step S68). If the difference θn + 1−θn is not sufficiently small, n = n + 1 is set (step S69), and the process returns to step S63. On the other hand, if the difference θn + 1−θn is sufficiently small, θ = θn + 1 is set. That is, θn + 1 = (θ1_n + 1, θ2_n + 1, θ3_n + 1) is held as the joint angle θ = (θ1, θ2, θ3) for realizing the relay point candidate Pa = (Xa, Ya, Θa) (step S70), and the process is performed. finish.

なお、ステップS63においてnが反復回数の上限nmaxに達した場合には、中継点範囲内において中継点の候補Paを実現するジョイント角度θを求められなかった旨のエラー通知を行い、処理を終了する(ステップS71)。   If n has reached the upper limit nmax of the number of iterations in step S63, an error notification is given to the effect that the joint angle θ for realizing the relay point candidate Pa cannot be obtained within the relay point range, and the process ends. (Step S71).

以上の実施形態では、移動経路演算部112は、関節角(ジョイント角度θ=(θ1,θ2,θ3))が存在する中継点を各許容範囲(各中継点範囲)において決定する。   In the above embodiment, the movement path calculation unit 112 determines a relay point where the joint angle (joint angle θ = (θ1, θ2, θ3)) exists in each allowable range (each relay point range).

アームの移動経路が成立するためには、その経路を実現するジョイント角度が存在する必要がある。本実施形態では、ジョイント角度が存在する中継点を許容範囲内で決定することにより、各許容範囲に中継点が位置するようにジョイント角度を求め、アームの移動経路を生成できる。   In order for the movement path of the arm to be established, a joint angle that realizes the path needs to exist. In this embodiment, by determining the relay point where the joint angle exists within the allowable range, the joint angle is obtained so that the relay point is located in each allowable range, and the movement path of the arm can be generated.

また本実施形態では、移動経路演算部112は、第1〜第Nの中継点RP1〜RPNの第iの中継点RPiが決定されている場合に、第i+1の中継点RPi+1の候補点Pa=(Xa,Ya,Θa)を、第i+1の許容範囲(中継点範囲RGi+1)から選択する(図8のステップS34〜S44)。そして、移動経路演算部112は、第iの中継点RPiから候補点Paへの移動に対応する関節角の変化Δθ=(Δθ1,Δθ2,Δθ3)が存在すると判定した場合には、その候補点Paを第i+1の中継点RPi+1に決定する(図8のステップS45〜S48、図9のフロー)。一方、関節角の変化Δθが存在しないと判定した場合には、次の候補点を第i+1の許容範囲(RGi+1)から選択する(図8のステップS35、S39、S47)。   Further, in the present embodiment, when the i-th relay point RPi of the 1st to N-th relay points RP1 to RPN is determined, the movement route calculation unit 112 determines the candidate point Pa = i + 1-th relay point RPi + 1. (Xa, Ya, Θa) is selected from the (i + 1) th allowable range (relay point range RGi + 1) (steps S34 to S44 in FIG. 8). If the movement path calculation unit 112 determines that there is a change in joint angle Δθ = (Δθ1, Δθ2, Δθ3) corresponding to the movement from the i-th relay point RPi to the candidate point Pa, the candidate point Pa is determined as the i + 1th relay point RPi + 1 (steps S45 to S48 in FIG. 8, flow in FIG. 9). On the other hand, when it is determined that there is no joint angle change Δθ, the next candidate point is selected from the (i + 1) th allowable range (RGi + 1) (steps S35, S39, and S47 in FIG. 8).

このようにすれば、ジョイント角度θ=(θ1,θ2,θ3)が存在する中継点を各許容範囲において決定できる。即ち、許容範囲内の点を順次、中継点の候補に設定し、その候補を実現するジョイント角度θが存在するか否かを判断することにより、中継点を決定できる。   In this way, a relay point where the joint angle θ = (θ1, θ2, θ3) exists can be determined in each allowable range. That is, a relay point can be determined by sequentially setting points within the allowable range as relay point candidates and determining whether or not there is a joint angle θ that realizes the candidate.

例えば、図9で説明したように、ジョイント角度θを初期値θ0から始め、逆ヤコビ行列[j−1]_nを用いた繰り返し演算によりジョイント角度θnを収束させ、ジョイント角度θを決定してもよい。 For example, as described with reference to FIG. 9, the joint angle θ may be determined by starting the joint angle θ from the initial value θ0 and converging the joint angle θn by an iterative operation using the inverse Jacobian matrix [j −1 ] _n. Good.

この手法によれば、繰り返し演算によるジョイント角度θnが十分に小さくなった場合に、ジョイント角度θの解(中継点を実現する解)が存在すると判断できる。また、初期値θ0を、最新点(1つ前の中継点範囲で決定した中継点)のジョイント角度に基づいて設定できる。求める中継点のジョイント角度は、1つ前の中継点のジョイント角度に近しいと考えられるので、そのような初期値を設定することにより、ジョイント角度θnを速く収束させ、反復演算の繰り返し回数を削減できる。   According to this method, when the joint angle θn by the repetitive calculation becomes sufficiently small, it can be determined that there is a solution for the joint angle θ (a solution for realizing the relay point). Also, the initial value θ0 can be set based on the joint angle of the latest point (the relay point determined in the previous relay point range). Since the joint angle of the desired relay point is considered to be close to the joint angle of the previous relay point, setting such an initial value allows the joint angle θn to converge quickly and reduce the number of iterations. it can.

3.5.中継点の連結処理
次に、図6のステップS21の処理、即ち同一の中継点範囲について現在点CP側及び目標点TP側から求めた中継点(例えば、図7の中継点RP3’、RP3”)を連結する処理について説明する。
3.5. Relay Point Connection Processing Next, the processing of step S21 in FIG. 6, that is, the relay points obtained from the current point CP side and the target point TP side for the same relay point range (for example, relay points RP3 ′ and RP3 ″ in FIG. 7). ) Will be described.

図10に、第1の連結処理を行う場合のフローチャートを示す。この処理では、現在点CP側から求めた中継点を採用する。即ち、処理を開始すると、現在点CP側及び目標点TP側から求めた中継点が求められている中継点範囲について、現在点CP側から求めた中継点を実現するジョイント角度を取得する(ステップS81)。次に、取得したジョイント角度を、その中継点範囲でのジョイント角度として保持する(ステップS82)。   FIG. 10 shows a flowchart when the first connection process is performed. In this process, the relay point obtained from the current point CP side is adopted. That is, when the processing is started, a joint angle that realizes the relay point obtained from the current point CP side is acquired for the relay point range for which the relay point obtained from the current point CP side and the target point TP side is obtained (step) S81). Next, the acquired joint angle is held as a joint angle in the relay point range (step S82).

図11に、第2の連結処理を行う場合のフローチャートを示す。この処理では、目標点TP側から求めた中継点を採用する。即ち、処理を開始すると、現在点CP側及び目標点TP側から求めた中継点が求められている中継点範囲について、目標点TP側から求めた中継点を実現するジョイント角度を取得する(ステップS91)。次に、取得したジョイント角度を、その中継点範囲でのジョイント角度として保持する(ステップS92)。   FIG. 11 shows a flowchart when the second connection process is performed. In this process, the relay point obtained from the target point TP side is adopted. That is, when the process is started, a joint angle that realizes the relay point obtained from the target point TP side is obtained for the relay point range for which the relay point obtained from the current point CP side and the target point TP side is obtained (step) S91). Next, the acquired joint angle is held as a joint angle in the relay point range (step S92).

図12に、第3の連結処理を行う場合のフローチャートを示す。この処理では、現在点CP側及び目標点TP側から求めた中継点の平均を採用する。即ち、処理を開始すると、現在点CP側及び目標点TP側から求めた中継点が求められている中継点範囲について、現在点CP側から求めた中継点を実現するジョイント角度を取得する(ステップS101)。次に、その中継点範囲について、目標点TP側から求めた中継点を実現するジョイント角度を取得する(ステップS102)。次に、取得したジョイント角度の平均値を求め、その平均値を、その中継点範囲でのジョイント角度として保持する(ステップS103)。   FIG. 12 shows a flowchart when the third connection process is performed. In this process, the average of the relay points obtained from the current point CP side and the target point TP side is adopted. That is, when the processing is started, a joint angle that realizes the relay point obtained from the current point CP side is acquired for the relay point range for which the relay point obtained from the current point CP side and the target point TP side is obtained (step) S101). Next, for the relay point range, a joint angle for realizing the relay point obtained from the target point TP side is acquired (step S102). Next, an average value of the acquired joint angles is obtained, and the average value is held as a joint angle in the relay point range (step S103).

以上の実施形態では、移動経路演算部112は、現在点CP側及び目標点TP側から決定した中継点(図7のRP3’、RP3”)の一方を最終の中継点に決定する処理(図10、図11)、又は現在点CP側及び目標点TP側から決定した中継点の平均値を最終の中継点に決定する処理を、連結処理として行う。   In the above embodiment, the movement route calculation unit 112 determines one of the relay points (RP3 ′ and RP3 ″ in FIG. 7) determined from the current point CP side and the target point TP side as the final relay point (FIG. 10, FIG. 11), or the process of determining the average value of the relay points determined from the current point CP side and the target point TP side as the final relay point is performed as a connection process.

このようにすれば、現在点CP側及び目標点TP側から決定した中継点が1つの許容範囲(中継点範囲)内に存在する場合に、その中継点を許容範囲内で連結し、その許容範囲の最終的な中継点を決定できる。なお、連結処理は上記手法に限定されず、種々の手法を採用できる。例えば、現在点CP側及び目標点TP側から決定した中継点を共に採用し、その2つの中継点の間のジョイント角度変化を求めてもよい。   In this way, when the relay point determined from the current point CP side and the target point TP side is within one allowable range (relay point range), the relay points are connected within the allowable range, The final relay point of the range can be determined. In addition, a connection process is not limited to the said method, A various method is employable. For example, a relay point determined from the current point CP side and the target point TP side may be employed together to determine a joint angle change between the two relay points.

なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また、ロボット制御システム、ロボット、経路作成装置の構成・動作や、中継点の決定手法、ロボットの制御手法等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。   Although the present embodiment has been described in detail as described above, it will be easily understood by those skilled in the art that many modifications can be made without departing from the novel matters and effects of the present invention. Accordingly, all such modifications are intended to be included in the scope of the present invention. For example, a term described at least once together with a different term having a broader meaning or the same meaning in the specification or the drawings can be replaced with the different term in any part of the specification or the drawings. All combinations of the present embodiment and the modified examples are also included in the scope of the present invention. In addition, the configuration and operation of the robot control system, the robot, and the route creation device, the relay point determination method, the robot control method, and the like are not limited to those described in the present embodiment, and various modifications can be made. .

10 ロボット制御システム、30 ロボット(ロボット本体)、
40 ワーク、110 処理部、112 移動経路演算部、
120 ロボット制御部、130 記憶部、140 I/F部、
310 制御部、320 アーム、330 エンドエフェクター、
H,W 位置範囲、JT1〜JT3 ジョイント、
RG1〜RG5 中継点範囲(許容範囲)、RP1〜RP5 中継点、
TP 目標点、X,Y 座標(位置)、Θ 角度(姿勢)、
Θimax 姿勢範囲の最大値、Θimin:姿勢範囲の最小値、
θ1〜θ3 ジョイント角度(関節角)
10 robot control system, 30 robot (robot body),
40 workpieces, 110 processing unit, 112 movement path calculation unit,
120 robot control unit, 130 storage unit, 140 I / F unit,
310 control unit, 320 arm, 330 end effector,
H, W position range, JT1-JT3 joint,
RG1-RG5 relay point range (allowable range), RP1-RP5 relay point,
TP target point, X and Y coordinates (position), Θ angle (posture),
Θimax Maximum value of posture range, Θimin: Minimum value of posture range,
θ1-θ3 Joint angle (joint angle)

Claims (15)

ロボットのアームのエンドポイントの移動経路を演算する移動経路演算部と、
前記移動経路の情報に基づいて前記ロボットを制御するロボット制御部と、
を含み、
前記移動経路演算部は、
前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、
前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行うことを特徴とするロボット制御システム。
A movement path calculation unit for calculating the movement path of the end point of the robot arm;
A robot controller that controls the robot based on the information of the movement path;
Including
The travel route calculation unit
The current point and the current posture of the end point, the target point of the target position and the target posture of the end point, and the position and posture of the end point that relays the path from the current point to the target point And the allowable range of the relay point is
A robot control system that performs a route determination process for obtaining a joint angle of the joint of the arm so that the relay point is located within the allowable range.
請求項1において、
前記移動経路演算部は、
第1〜第Nの前記許容範囲を取得し、前記第1〜第Nの前記許容範囲(NはN≦2の自然数)の各許容範囲に前記中継点が位置するように、前記関節角を求める前記経路決定処理を行うことを特徴とするロボット制御システム。
In claim 1,
The travel route calculation unit
The first to Nth allowable ranges are acquired, and the joint angle is set so that the relay point is located in each allowable range of the first to Nth allowable ranges (N is a natural number of N ≦ 2). A robot control system that performs the route determination process to be obtained.
請求項2において、
前記移動経路演算部は、
前記現在点側から前記中継点を決定する前記経路決定処理と、前記目標点側から前記中継点を決定する前記経路決定処理と、を並列に実行することを特徴とするロボット制御システム。
In claim 2,
The travel route calculation unit
The robot control system, wherein the route determination process for determining the relay point from the current point side and the route determination process for determining the relay point from the target point side are executed in parallel.
請求項3において、
前記移動経路演算部は、
前記第1〜第Nの前記許容範囲の第kの前記許容範囲(kはk≦Nの自然数)において、前記現在点側及び前記目標点側から決定した前記中継点が存在する場合に、前記現在点側及び前記目標点側から決定した前記中継点を連結処理することを特徴とするロボット制御システム。
In claim 3,
The travel route calculation unit
When the relay point determined from the current point side and the target point side exists in the kth allowable range (k is a natural number of k ≦ N) of the first to Nth allowable ranges, A robot control system characterized in that the relay point determined from the current point side and the target point side is connected.
請求項4において、
前記移動経路演算部は、
前記現在点側及び前記目標点側から決定した前記中継点の一方を最終の中継点に決定する処理、又は前記現在点側及び前記目標点側から決定した前記中継点の平均値を前記最終の中継点に決定する処理を、前記連結処理として行うことを特徴とするロボット制御システム。
In claim 4,
The travel route calculation unit
A process of determining one of the relay points determined from the current point side and the target point side as a final relay point, or an average value of the relay points determined from the current point side and the target point side A robot control system characterized in that a process for determining a relay point is performed as the connection process.
請求項2乃至5のいずれかにおいて、
前記移動経路演算部は、
前記関節角が存在する前記中継点を前記各許容範囲において決定することを特徴とするロボット制御システム。
In any of claims 2 to 5,
The travel route calculation unit
The robot control system characterized in that the relay point where the joint angle exists is determined in each allowable range.
請求項6において、
前記移動経路演算部は、
前記第1〜第Nの前記許容範囲の前記中継点を第1〜第Nの中継点とし、前記第1〜第Nの中継点の第iの中継点(iはi≦N−1の自然数)が決定されている場合に、
前記第1〜第Nの中継点の第i+1の中継点の候補点を、前記第1〜第Nの前記許容範囲の第i+1の前記許容範囲から選択し、
前記第iの中継点から前記候補点への移動に対応する前記関節角の変化が存在すると判定した場合には、前記候補点を前記第i+1の中継点に決定し、
前記関節角の変化が存在しないと判定した場合には、次の前記候補点を前記第i+1の前記許容範囲から選択することを特徴とするロボット制御システム。
In claim 6,
The travel route calculation unit
The first to Nth relay points in the first to Nth allowable ranges are the first to Nth relay points, and the i-th relay point (i is a natural number where i ≦ N−1). ) Is determined,
A candidate point of the (i + 1) th relay point of the first to Nth relay points is selected from the (i + 1) th allowable range of the first to Nth allowable ranges;
When it is determined that there is a change in the joint angle corresponding to the movement from the i-th relay point to the candidate point, the candidate point is determined as the i + 1-th relay point;
If it is determined that there is no change in the joint angle, the next candidate point is selected from the (i + 1) th allowable range.
請求項1乃至7のいずれかにおいて、
前記許容範囲を設定する設定画面を表示する表示部を含むことを特徴とするロボット制御システム。
In any one of Claims 1 thru | or 7,
A robot control system comprising a display unit for displaying a setting screen for setting the allowable range.
請求項1乃至7のいずれかにおいて、
前記許容範囲を表示する表示部を含むことを特徴とするロボット制御システム。
In any one of Claims 1 thru | or 7,
A robot control system comprising a display unit for displaying the allowable range.
関節を有するアームと、
前記アームのエンドポイントの移動経路を演算する移動経路演算部と、
前記移動経路の情報に基づいて前記アームを制御するロボット制御部と、
を含み、
前記移動経路演算部は、
前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、
前記許容範囲に前記中継点が位置するように、前記アームの前記関節の関節角を求める経路決定処理を行うことを特徴とするロボット。
An arm having a joint;
A movement path calculation unit for calculating a movement path of the end point of the arm;
A robot controller that controls the arm based on the information of the movement path;
Including
The travel route calculation unit
The current point and the current posture of the end point, the target point of the target position and the target posture of the end point, and the position and posture of the end point that relays the path from the current point to the target point And the allowable range of the relay point is
A robot that performs a route determination process for obtaining a joint angle of the joint of the arm so that the relay point is located within the allowable range.
ロボットのアームのエンドポイントの移動経路を演算する移動経路演算部と、
前記移動経路の情報を出力する出力部と、
を含み、
前記移動経路演算部は、
前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、
前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行うことを特徴とする経路作成装置。
A movement path calculation unit for calculating the movement path of the end point of the robot arm;
An output unit for outputting information of the travel route;
Including
The travel route calculation unit
The current point and the current posture of the end point, the target point of the target position and the target posture of the end point, and the position and posture of the end point that relays the path from the current point to the target point And the allowable range of the relay point is
A route creation device that performs route determination processing for obtaining a joint angle of the joint of the arm so that the relay point is located within the allowable range.
請求項11において、
前記許容範囲を設定する設定画面を表示する表示部を含むことを特徴とする経路作成装置。
In claim 11,
A route creation device comprising a display unit for displaying a setting screen for setting the allowable range.
請求項11において、
前記許容範囲を表示する表示部を含むことを特徴とする経路作成装置。
In claim 11,
A route creation device including a display unit for displaying the allowable range.
ロボットのアームのエンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得する処理を行い、
前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行い、
前記経路決定処理により求めた移動経路の情報に基づいて前記ロボットを制御する処理を行う、
ことを特徴とする経路作成方法。
A current point that is the current position and posture of the end point of the arm of the robot, a target point that is the target position and posture of the end point, and the end point that relays the path from the current point to the target point. Perform the process of obtaining the allowable range of the relay point that is the position and orientation,
A route determination process for obtaining a joint angle of the joint of the arm so that the relay point is located in the allowable range,
Performing a process of controlling the robot based on the information of the movement path obtained by the path determination process;
A route creation method characterized by that.
ロボットのアームのエンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得する処理を行い、
前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行い、
前記経路決定処理により求めた移動経路の情報に基づいて前記ロボットを制御する処理を行う、
ステップをコンピューターに実行させる経路作成プログラム。
A current point that is the current position and posture of the end point of the arm of the robot, a target point that is the target position and posture of the end point, and the end point that relays the path from the current point to the target point. Perform the process of obtaining the allowable range of the relay point that is the position and orientation,
A route determination process for obtaining a joint angle of the joint of the arm so that the relay point is located in the allowable range,
Performing a process of controlling the robot based on the information of the movement path obtained by the path determination process;
A route creation program that causes a computer to execute steps.
JP2013146147A 2013-07-12 2013-07-12 Robot control system, robot, path creation device, path creation method and path creation program Pending JP2015016536A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013146147A JP2015016536A (en) 2013-07-12 2013-07-12 Robot control system, robot, path creation device, path creation method and path creation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013146147A JP2015016536A (en) 2013-07-12 2013-07-12 Robot control system, robot, path creation device, path creation method and path creation program

Publications (1)

Publication Number Publication Date
JP2015016536A true JP2015016536A (en) 2015-01-29

Family

ID=52438058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013146147A Pending JP2015016536A (en) 2013-07-12 2013-07-12 Robot control system, robot, path creation device, path creation method and path creation program

Country Status (1)

Country Link
JP (1) JP2015016536A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200107461A (en) * 2019-03-08 2020-09-16 (주)아이로텍 Collision avoidance simulation system: A method of displaying a guidance tool for robot routing to avoid collision
KR20200107462A (en) * 2019-03-08 2020-09-16 (주)아이로텍 Collision avoidance simulation system: A method of displaying a guidance tool for robot routing to avoid collision
KR20200109552A (en) * 2019-03-13 2020-09-23 (주)아이로텍 Obstacle avoidance pathe generation simulation system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200107461A (en) * 2019-03-08 2020-09-16 (주)아이로텍 Collision avoidance simulation system: A method of displaying a guidance tool for robot routing to avoid collision
KR20200107462A (en) * 2019-03-08 2020-09-16 (주)아이로텍 Collision avoidance simulation system: A method of displaying a guidance tool for robot routing to avoid collision
KR102190101B1 (en) 2019-03-08 2020-12-11 (주)아이로텍 Collision avoidance simulation system: A method of displaying a guidance tool for robot routing to avoid collision
KR102190102B1 (en) * 2019-03-08 2020-12-11 (주)아이로텍 Collision avoidance simulation system: A method of displaying a guidance tool for robot routing to avoid collision
KR20200109552A (en) * 2019-03-13 2020-09-23 (주)아이로텍 Obstacle avoidance pathe generation simulation system
KR102170752B1 (en) 2019-03-13 2020-10-27 (주)아이로텍 Obstacle avoidance pathe generation simulation system

Similar Documents

Publication Publication Date Title
JP7222803B2 (en) Trajectory planning device, trajectory planning method and program
JP6576255B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
JP6311421B2 (en) Teaching system, robot system, and teaching method
JP4137909B2 (en) Robot program correction device
JP5729404B2 (en) Teaching system and teaching method
US20150151431A1 (en) Robot simulator, robot teaching device, and robot teaching method
JP6683671B2 (en) Robot controller for setting the jog coordinate system
WO2004085120A1 (en) Robot simulation device, and robot simulation program
JP6598454B2 (en) Teaching data creation method, creation device, and creation program
JP2013132731A (en) Robot control system, robot system and robot control method
JP6750909B2 (en) Robot trajectory generation method, robot trajectory generation apparatus, and manufacturing method
JP2015066668A (en) Method for adjusting teaching point of robot, method for calculating installation position of robot, robot system, program, and recording medium
US20200246975A1 (en) Method and system for teaching a robot in reaching a given target in robot manufacturing
JP2015016536A (en) Robot control system, robot, path creation device, path creation method and path creation program
EP3520084B1 (en) System and method for element quality improvement in 3d quadrilateral-dominant surface meshes
JP2009119589A (en) Robot simulator
JP2009066738A (en) Teaching device for robot
JP2015174184A (en) Controller
JP3639873B2 (en) Robot control method and robot control system
JP7046531B2 (en) Robot control method, robot control device, information processing method, information processing device, teaching method, teaching device, manufacturing method of articles using robot control method, program and recording medium
US20220281103A1 (en) Information processing apparatus, robot system, method of manufacturing products, information processing method, and recording medium
US20210129331A1 (en) Control method, control apparatus, robot apparatus, method of manufacturing an article, motion program creation method, motion program creation apparatus, display apparatus, and control program recording medium
JP2018118330A (en) Operational equipment, operating method, operation program and robot system
JP4794937B2 (en) Programming device for arc welding
JP7232704B2 (en) ROBOT PROGRAM EVALUATION DEVICE, ROBOT PROGRAM EVALUATION METHOD AND ROBOT PROGRAM EVALUATION PROGRAM

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150113