JP2012157965A - Device and method for determining moving method of robot, and program for the same - Google Patents

Device and method for determining moving method of robot, and program for the same Download PDF

Info

Publication number
JP2012157965A
JP2012157965A JP2011021107A JP2011021107A JP2012157965A JP 2012157965 A JP2012157965 A JP 2012157965A JP 2011021107 A JP2011021107 A JP 2011021107A JP 2011021107 A JP2011021107 A JP 2011021107A JP 2012157965 A JP2012157965 A JP 2012157965A
Authority
JP
Japan
Prior art keywords
control value
value
robot
evaluation
control
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.)
Granted
Application number
JP2011021107A
Other languages
Japanese (ja)
Other versions
JP5828539B2 (en
Inventor
Hiroshi Ritsuya
宏 立矢
Michio Hayashi
道大 林
Masashi Takeda
昌士 武田
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.)
Kanazawa University NUC
Original Assignee
Kanazawa University NUC
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 Kanazawa University NUC filed Critical Kanazawa University NUC
Priority to JP2011021107A priority Critical patent/JP5828539B2/en
Publication of JP2012157965A publication Critical patent/JP2012157965A/en
Application granted granted Critical
Publication of JP5828539B2 publication Critical patent/JP5828539B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a device for determining a moving method of a robot, which can determine an optimal trajectory even when a dynamics model of an objective robot is unknown.SOLUTION: The device 100 for determining a moving method of a robot, includes: an actual machine control part 102 for determining a control value candidate that is a set of control value candidates for controlling a plurality of driving parts provided with the robot so that the robot is moved to a second position from a first position; an actual measurement value obtaining part 104 for obtaining an actual measurement value that is a physical quantity indicating driving states of the plurality of driving parts controlled by the control value candidate; an evaluation part 106 for determining an evaluation value of the control value candidate corresponding to the actual measurement value, based on the actual measurement value; and a control value determination part 108 for determining whether to adapt the control value candidate as a set of control values for determining a moving method of the robot, based on the evaluation value.

Description

本発明は、ロボットの運動方法決定装置等に関し、特に、ロボットを事前に定められた第1の位置から第2の位置へ移動させるための運動方法を決定するロボットの運動方法決定装置に関する。   The present invention relates to a robot motion method determination device and the like, and more particularly, to a robot motion method determination device that determines a motion method for moving a robot from a predetermined first position to a second position.

近年、二酸化炭素排出量の削減のために、化石燃料使用量の低減が求められている。そのため、自動車や家電製品を使用する時のみでなく、それらの製造時においも化石燃料、及び電力の使用量を低減することが求められている。したがって、工業製品の製造過程で広く用いられている産業用ロボットの消費電力量を低減する必要性が高まっている。   In recent years, there has been a demand for a reduction in the amount of fossil fuel used in order to reduce carbon dioxide emissions. Therefore, not only when using automobiles and household electrical appliances, but also at the time of manufacturing them, it is required to reduce the amount of potato fossil fuel and electric power used. Therefore, there is an increasing need to reduce the power consumption of industrial robots widely used in the manufacturing process of industrial products.

一般に、複数の駆動関節をもつロボットの静力学、動力学特性は強い非線形性を示し、各関節の駆動力は、ロボットの位置、姿勢、速度、及び、加速度によって複雑に変化する。ここで、ロボットの出力部(例えば、ロボットアームのハンド部分)を第1の位置から第2の位置へ移動させる場合において、ロボットの出力部(例えば、ハンド部分)の時間に対する変位を「軌道」又は「運動方法」と呼ぶ。すなわち、以後、ロボットの軌道(又は、ロボットの運動方法)とは、ロボットの可動部分を第1の位置から第2の位置へ移動させる場合において、ロボットの可動部分の位置の時間変化を表す。   In general, the static and dynamic characteristics of a robot having a plurality of drive joints exhibit strong non-linearity, and the drive force of each joint varies in a complicated manner depending on the position, posture, speed, and acceleration of the robot. Here, when moving the output part (for example, the hand part of the robot arm) of the robot from the first position to the second position, the displacement of the output part (for example, the hand part) of the robot with respect to time is “trajectory”. Or, it is called “exercise method”. That is, hereinafter, the robot trajectory (or the robot movement method) represents a time change of the position of the robot movable part when the robot movable part is moved from the first position to the second position.

定型的な作業を行う産業用ロボットの軌道は事前に定めることができる。よって、各関節の駆動力、又は駆動させるために必要なエネルギーがより少なくなるように、事前に軌道を最適化しておくことで、ロボットの消費電力量を低減することができる。   The trajectory of an industrial robot that performs routine work can be determined in advance. Therefore, the power consumption of the robot can be reduced by optimizing the trajectory in advance so that the driving force of each joint or the energy required for driving is reduced.

従来、こうしたロボットの軌道を最適化する方法として、対象とするロボットの動力学モデルに基づくシミュレーションが試みられている(例えば、非特許文献1を参照)。   Conventionally, as a method for optimizing the trajectory of such a robot, simulation based on a dynamic model of a target robot has been attempted (for example, see Non-Patent Document 1).

シミュレーションで最適軌道の探索を行うことにより、計算時間をかけることで、多数の軌道の繰り返し探索が可能となり、ロボットの消費電力をより低減させる最適な軌道を決定することができる。   By searching for the optimal trajectory by simulation, it is possible to repeatedly search a large number of trajectories by taking a calculation time, and it is possible to determine an optimal trajectory that further reduces the power consumption of the robot.

林 道大,立矢 宏,浅川 直紀,「発見的手法を用いた多自由度マニピュレータの軌道決定」,日本機械学会論文集(C編),2009年2月,第75巻,第750号,p.14−21Michihiro Hayashi, Hiroshi Tachiya, Naoki Asakawa, “Determining the trajectory of a multi-degree-of-freedom manipulator using heuristic methods”, Transactions of the Japan Society of Mechanical Engineers (C), February 2009, Vol. 75, No. 750, p. 14-21 S., Lin, B., Kernighan, “An Effective Heuristic Algorithm for the Traveling-Salesman Problem”, Operations Research, 1973, Vol.21, No.2, p.498-516S., Lin, B., Kernighan, “An Effective Heuristic Algorithm for the Traveling-Salesman Problem”, Operations Research, 1973, Vol.21, No.2, p.498-516

しかしながら、従来のシミュレーションを用いる方法では、対象ロボットの動力学モデルを知る必要があるが、一般に、これを知ることは極めて困難である。   However, in the conventional method using simulation, it is necessary to know the dynamic model of the target robot, but it is generally very difficult to know this.

図14は、関連技術に係る、ロボットの動力学モデルに基づくシミュレーションを用いた軌道生成法の概略を示す図である。   FIG. 14 is a diagram illustrating an outline of a trajectory generation method using simulation based on a dynamic model of a robot according to related technology.

図14に示されるように、この方法において計算機900は、まず、発見的手法904によりロボットの軌道906を決定するパラメタセットの候補を特定する。計算機900は、このパラメタセットを当てはめた軌道906でロボットを動作させた場合に必要な駆動力の解析値を得る。この解析値を評価値として、例えば解析値がより小さくなるように、発見的手法904により軌道906の候補を繰り返し探索することで、計算機900は、最適な軌道906を決定することができる。   As shown in FIG. 14, in this method, the computer 900 first identifies parameter set candidates for determining the trajectory 906 of the robot by the heuristic method 904. The computer 900 obtains an analysis value of the driving force required when the robot is operated on the trajectory 906 to which this parameter set is applied. The computer 900 can determine the optimal trajectory 906 by repeatedly searching for candidates for the trajectory 906 by the heuristic method 904 so that the analytical value becomes smaller, for example, using the analytical value as an evaluation value.

この手法では、評価値を得るためには、計算機900がその内部に、対象とするロボットの動力学モデル902を数式として有していることが不可欠となる。   In this method, in order to obtain an evaluation value, it is indispensable that the computer 900 has a dynamic model 902 of the target robot as a mathematical formula therein.

図15は、関連技術に係るロボットの動力学モデル902の具体例を示す図である。   FIG. 15 is a diagram illustrating a specific example of a robot dynamic model 902 according to related technology.

図15に示されるように、ロボットの動力学モデル902は、例えば、ジョイントA〜ジョイントCの各ジョイントの運動状態を決定するパラメタ、リンクB及びリンクCのリンク長、質量及び重心位置、並びに、軸受け、減速機及びアクチュエータの効率など、対象ロボットの多様なパラメタを含む。シミュレーションを行うには、これらのパラメタを高い精度で事前に決定することが必要である。   As shown in FIG. 15, the robot dynamic model 902 includes, for example, parameters that determine the motion state of each of the joints A to C, the link lengths of the links B and C, the mass and the center of gravity, and It includes various parameters of the target robot, such as the efficiency of bearings, reducers and actuators. In order to perform simulation, it is necessary to determine these parameters in advance with high accuracy.

しかし、市販されている産業用ロボットの多くは、これらパラメタの値、又は、動力学モデルが有するパラメタそのものが不明であり、同手法を適用できない。そのため、ロボットのユーザが、動力学モデルを用いたシミュレーションによりロボットの軌道を最適化することは、極めて困難であるという課題がある。   However, many of industrial robots on the market are unclear about the values of these parameters or the parameters themselves of the dynamic model, and the method cannot be applied. Therefore, there is a problem that it is extremely difficult for a robot user to optimize the trajectory of the robot by simulation using a dynamic model.

そこで、本発明は、対象ロボットの動力学モデルが不明な場合でも、最適な軌道を決定することが可能なロボットの運動方法決定装置を提供することを目的とする。   Therefore, an object of the present invention is to provide a robot motion method determination device that can determine an optimum trajectory even when the dynamic model of the target robot is unknown.

本発明のある局面に係るロボットの運動方法決定装置は、ロボットを事前に定められた第1の位置から第2の位置へ移動させるための運動方法を決定するロボットの運動方法決定装置であって、ロボットが第1の位置から第2の位置へ移動するように、ロボットが備える複数の駆動部を制御するための制御値の候補の組である制御値候補を決定し、決定した制御値候補をロボットに送信する実機制御部と、制御値候補によって制御されている複数の駆動部の駆動状態を示す物理量である実測値を取得する実測値取得部と、実測値から、実測値に対応する制御値候補の評価値を決定する評価部と、評価値に基づいて、制御値候補を、ロボットの運動方法を決定するための制御値の組として採用するか否かを決定する制御値決定部とを備える。   A robot motion method determination device according to an aspect of the present invention is a robot motion method determination device that determines a motion method for moving a robot from a predetermined first position to a second position. The control value candidate that is a set of control value candidates for controlling a plurality of drive units included in the robot is determined so that the robot moves from the first position to the second position, and the determined control value candidate Corresponding to the actual measurement value from the actual value control unit, the actual value control unit that acquires the actual value that is the physical quantity indicating the driving state of the plurality of drive units controlled by the control value candidates, and the actual value An evaluation unit that determines an evaluation value of a control value candidate, and a control value determination unit that determines whether or not to adopt a control value candidate as a set of control values for determining a robot movement method based on the evaluation value With.

この構成によると、ロボットの運動方法決定装置は、対象ロボットの動力学モデルがなくても、制御値候補に対応する実測値を実機から取得することにより、制御値候補の評価値を得ることができる。よって、ロボットの運動方法決定装置は、実測値から得た評価値をもとに、ロボットの運動方法を決定する際の最終的な制御値の組として制御値候補を採用すべきか否かを判断し、決定することができる。その結果、対象ロボットの動力学モデルが不明な場合でも、最適な軌道を決定することが可能なロボットの運動方法決定装置を提供することができる。   According to this configuration, the robot motion method determination device can obtain the evaluation value of the control value candidate by acquiring the actual measurement value corresponding to the control value candidate from the actual machine without the dynamic model of the target robot. it can. Therefore, the robot motion method determination device determines whether or not the control value candidate should be adopted as the final set of control values when determining the robot motion method based on the evaluation value obtained from the actual measurement value. And can be determined. As a result, it is possible to provide a robot motion method determination device capable of determining an optimal trajectory even when the dynamic model of the target robot is unknown.

また、さらに、評価記憶部を備え、実機制御部は、互いに異なる複数の制御値候補を決定し、評価部は、複数の制御値候補の各々を、当該制御値候補の評価値と対応付けて評価記憶部に記憶させ、制御値決定部は、評価記憶部に記憶されている複数の評価値のうち、最も評価がよい評価値に対応する制御値候補を、制御値の組として採用するよう決定してもよい。   Furthermore, an evaluation storage unit is provided, the actual machine control unit determines a plurality of different control value candidates, and the evaluation unit associates each of the plurality of control value candidates with the evaluation value of the control value candidate. The control value determining unit stores the control value candidate corresponding to the evaluation value with the best evaluation among the plurality of evaluation values stored in the evaluation storage unit as a set of control values. You may decide.

この構成によると、ロボットの運動方法決定装置は、複数の制御値候補の各々を、実機に実行させ、その実測値から得た評価値を、制御値候補の各々に対応付けて記憶部に記憶させることができる。そのため、ロボットの運動方法決定装置100は、所定の終了条件が満たされるまで、実機による評価を繰り返し、評価値を最良にすることを目標に制御値候補の探索を行うことができる。その結果、より最適な軌道を決定することができる。   According to this configuration, the robot motion method determination device causes the actual machine to execute each of the plurality of control value candidates, and stores the evaluation value obtained from the actually measured value in the storage unit in association with each of the control value candidates. Can be made. Therefore, the robot motion method determination apparatus 100 can search for control value candidates with the goal of optimizing the evaluation value by repeating the evaluation with the actual machine until a predetermined end condition is satisfied. As a result, a more optimal trajectory can be determined.

本発明の他の局面に係るロボットの運動方法決定装置は、さらに、2つの制御値候補間の類似度を算出する類似度算出部を備え、実機制御部は、複数の制御値候補に含まれる任意の2つの制御値候補間の類似度が、事前に定められた類似度の閾値が示す類似性よりも類似しないように複数の制御値候補を決定するとしてもよい。   The robot motion method determination device according to another aspect of the present invention further includes a similarity calculation unit that calculates a similarity between two control value candidates, and the actual machine control unit is included in the plurality of control value candidates. A plurality of control value candidates may be determined such that the similarity between any two control value candidates is not similar to the similarity indicated by a predetermined similarity threshold.

一般に、既に評価値を取得した制御値候補と類似する制御値候補については、実機を用いて評価をしても、既に取得した評価値と大差のない評価値が得られる場合が多いと予想される。よって、実機制御部は、実機で評価する制御値候補を、既に評価した制御値候補と一定程度以上、類似しない制御値候補に限定することで、実機による無駄な評価回数を削減することができる。その結果、ロボットの運動方法決定装置が最終的な制御値の組を決定するまでに要する時間を削減することができる。   In general, for control value candidates that are similar to control value candidates for which evaluation values have already been acquired, it is expected that evaluation values that are not significantly different from evaluation values that have already been acquired are often obtained even when evaluation is performed using actual devices. The Therefore, the actual machine control unit can reduce the number of useless evaluations by the actual machine by limiting the control value candidates to be evaluated by the actual machine to control value candidates that are not similar to the already evaluated control value candidate to a certain degree or more. . As a result, the time required for the robot motion method determination device to determine the final set of control values can be reduced.

具体的には、制御値は、駆動部の駆動時間、駆動距離、駆動速度、駆動加速度、及び、位置のうち少なくとも1つに対応する値であり、実測値は、電流値、電力、及び、電力量のうちの少なくとも1つであり、評価部は、複数の駆動部における実測値の合計又は実測値のピーク値がより小さいほど、より大きくなるように評価値を決定し、類似度算出部は、2つの制御値候補間で対応する制御値の候補同士の差の絶対値の総和の逆数として類似度を算出し、実機制御部は、複数の制御値候補に含まれる任意の2つの制御値候補間の類似度が、事前に定められた閾値未満となるように複数の制御値候補を決定し、制御値決定部は、評価記憶部に記憶されている複数の評価値のうち、最も大きな評価値に対応する制御値候補を、制御値の組として採用するよう決定してもよい。   Specifically, the control value is a value corresponding to at least one of the driving time, driving distance, driving speed, driving acceleration, and position of the driving unit, and the actual measurement value is a current value, power, and The evaluation unit is at least one of the electric energy, and the evaluation unit determines the evaluation value so that the smaller the sum of the actual measurement values or the peak value of the actual measurement values in the plurality of driving units is smaller, the similarity calculation unit Calculates the similarity as the reciprocal of the sum of absolute values of the differences between the corresponding control value candidates between the two control value candidates, and the actual machine control unit controls any two controls included in the plurality of control value candidates. A plurality of control value candidates are determined such that the degree of similarity between the value candidates is less than a predetermined threshold, and the control value determination unit is the most of the plurality of evaluation values stored in the evaluation storage unit. Control value candidates corresponding to large evaluation values are set as a set of control values. It may be determined to use.

また、実機制御部は、複数の制御値候補に含まれる任意の2つの制御値候補のうち、一方の制御値候補に対応する評価値が、事前に定められた評価基準値未満である場合には、一方の制御値候補と、他方の制御値候補とが、事前に定められた閾値が示す類似性よりも類似しないように、複数の制御値候補を決定するとしてもよい。   In addition, the actual machine control unit, when the evaluation value corresponding to one control value candidate among any two control value candidates included in the plurality of control value candidates is less than a predetermined evaluation reference value May determine a plurality of control value candidates such that one control value candidate and the other control value candidate are not similar to the similarity indicated by a predetermined threshold.

一般に、既になされた評価の結果、評価が悪い制御値候補と類似する制御値候補は、やはり悪い評価となることが予想される。一方、評価がよい制御値候補と類似する制御値候補であれば、その軌道に類似する軌道のなかに、最適な軌道が含まれていることが期待できる。よって、実機制御部は、既に評価された結果、評価が低いことが判明している制御値候補に類似する制御値候補は、再度、実機で評価することは無駄と判断して破棄する。一方、評価が高いことが判明している制御値候補に類似する制御値候補は、実機に送信し、その評価を行う。これにより、ロボットの運動方法決定装置は、実機による評価回数を抑えつつ、より最適な制御値の組を決定することができる。   In general, as a result of the evaluation that has already been made, a control value candidate that is similar to a control value candidate that is poorly evaluated is expected to have a poor evaluation. On the other hand, if the control value candidate is similar to the control value candidate with good evaluation, it can be expected that the optimal trajectory is included in the trajectory similar to the trajectory. Therefore, the actual machine control unit determines that it is wasteful to evaluate the control value candidate similar to the control value candidate that has already been evaluated as a result of evaluation, and evaluates with the actual machine again. On the other hand, a control value candidate similar to a control value candidate that has been found to have a high evaluation is transmitted to the actual machine and evaluated. Thus, the robot motion method determination device can determine a more optimal set of control values while suppressing the number of evaluations by the actual machine.

なお、本発明は、このようなロボットの運動方法決定装置として実現できるだけでなく、ロボットの運動方法決定装置に含まれる特徴的な手段をステップとするロボットの運動方法決定方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM(Compact Disc Read Only Memory)等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのはいうまでもない。   The present invention can be realized not only as such a robot motion method determination device, but also as a robot motion method determination method using characteristic means included in the robot motion method determination device as a step. Such characteristic steps can also be realized as a program for causing a computer to execute. Needless to say, such a program can be distributed via a recording medium such as a CD-ROM (Compact Disc Read Only Memory) and a transmission medium such as the Internet.

さらに、本発明は、このようなロボットの運動方法決定装置の機能の一部又は全てを実現する半導体集積回路(LSI)として実現したり、このようなロボットの運動方法決定装置を含むロボットの運動方法決定システムとして実現したりできる。   Furthermore, the present invention can be realized as a semiconductor integrated circuit (LSI) that realizes part or all of the functions of such a robot motion method determination device, or a robot motion including such a robot motion method determination device. Or as a method decision system.

以上より、本発明は、対象ロボットの動力学モデルが不明な場合でも、最適な軌道を決定することが可能なロボットの運動方法決定装置を提供できる。   As described above, the present invention can provide a robot motion method determination device capable of determining an optimal trajectory even when the dynamic model of the target robot is unknown.

本発明の実施の形態1及び2に係るロボットの運動方法決定装置の使用状態を示す概念図である。It is a conceptual diagram which shows the use condition of the movement method determination apparatus of the robot which concerns on Embodiment 1 and 2 of this invention. 本発明の実施の形態1に係るロボットの運動方法決定装置の機能ブロックを示す図である。It is a figure which shows the functional block of the movement method determination apparatus of the robot which concerns on Embodiment 1 of this invention. 本発明の実施の形態1及び2におけるSHAに用いられる設計変数行列の一例を示す第1の図である。It is a 1st figure which shows an example of the design variable matrix used for SHA in Embodiment 1 and 2 of this invention. 本発明の実施の形態1及び2におけるSHAに用いられる設計変数行列の一例を示す第2の図である。It is a 2nd figure which shows an example of the design variable matrix used for SHA in Embodiment 1 and 2 of this invention. 本発明の実施の形態1及び2におけるSHAに用いられる絞り込み探索などの一例を示す図である。It is a figure which shows an example of the narrowing-down search used for SHA in Embodiment 1 and 2 of this invention. 実施の形態1に係るロボットの運動方法決定装置が軌道を決定する処理の手順を示す図である。It is a figure which shows the procedure of the process in which the movement method determination apparatus of the robot which concerns on Embodiment 1 determines a track | orbit. ロボットコマンドに対応するロボットハンド先端の移動速度の変化の一例を示す図である。It is a figure which shows an example of the change of the moving speed of the robot hand tip corresponding to a robot command. 実施の形態2に係るロボットの運動方法決定装置の機能ブロックを示す図である。It is a figure which shows the functional block of the movement method determination apparatus of the robot which concerns on Embodiment 2. FIG. 実施の形態2に係るロボットの運動方法決定装置が軌道を決定する処理の手順を示す図である。It is a figure which shows the procedure of the process in which the movement method determination apparatus of the robot which concerns on Embodiment 2 determines a track | orbit. 類似度に基づき類似すると実機制御部により判定される範囲の一例を示す図である。It is a figure which shows an example of the range determined by the real machine control part to be similar based on similarity. 実機の一例として検証で使用した6自由度垂直多関節型ロボットの外観図である。It is an external view of a 6-DOF vertical articulated robot used in verification as an example of an actual machine. 実施の形態2に係るロボットの運動方法決定装置により最適化された軌道と、標準軌道とで、モータの電流値を比較した結果の一例を示す図である。It is a figure which shows an example of the result of having compared the electric current value of the motor with the track | orbit optimized by the movement method determination apparatus of the robot which concerns on Embodiment 2, and a standard track. 本発明の実施の形態1及び2にかかるロボットの運動方法決定装置を実現するコンピュータシステムのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the computer system which implement | achieves the movement method determination apparatus of the robot concerning Embodiment 1 and 2 of this invention. 関連技術に係るロボットの動力学モデルに基づくシミュレーションを用いた軌道生成法の概略を示す図である。It is a figure which shows the outline of the trajectory generation method using the simulation based on the dynamic model of the robot which concerns on related technology. 関連技術に係るロボットの動力学モデルの具体例を示す図である。It is a figure which shows the specific example of the dynamic model of the robot which concerns on related technology.

以下、本発明に係るロボットの運動方法決定装置の実施の形態について、図面を参照しながら詳細に説明する。   DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of a robot motion method determining apparatus according to the present invention will be described below in detail with reference to the drawings.

(実施の形態1)
まず、本発明の実施の形態1に係るロボットの運動方法決定装置の構成を説明する。
(Embodiment 1)
First, the configuration of the robot motion method determination device according to the first embodiment of the present invention will be described.

図1は、本実施の形態に係る、ロボットの運動方法決定装置100の使用状態を示す概念図である。   FIG. 1 is a conceptual diagram showing a usage state of a robot motion method determination device 100 according to the present embodiment.

図1に示されるように、本実施の形態に係るロボットの運動方法決定装置100は、対象とするロボットの動力学モデルを有していない。その代わり、ロボットの実機200との、入出力インタフェースを備える。   As shown in FIG. 1, the robot movement method determination device 100 according to the present embodiment does not have a target robot dynamic model. Instead, an input / output interface with the actual robot 200 is provided.

具体的には、ロボットの運動方法決定装置100は、発見的手法550により実機200の制御値の候補の組(以後、制御値候補という)を決定する。実機200の制御値とは、例えば、実機200が備える複数の駆動部を制御するためのパラメタの値である。   Specifically, the robot motion method determination apparatus 100 determines a set of control value candidates (hereinafter referred to as control value candidates) of the real machine 200 using the heuristic method 550. The control value of the real machine 200 is, for example, a parameter value for controlling a plurality of drive units included in the real machine 200.

ロボットの運動方法決定装置100は、決定された制御値候補を、実機200へ送信する。   The robot motion method determination apparatus 100 transmits the determined control value candidates to the actual machine 200.

次に、実機200は、受信した制御値候補に従って(すなわち、軌道552で)実際に稼働する。例えば、実機200が備えるロボットアームを、第1の位置から第2の位置へと移動させる場合、ロボットアームは様々な軌道をとりうるが、軌道552はそのうちの1つである。   Next, the actual machine 200 actually operates according to the received control value candidate (that is, on the trajectory 552). For example, when the robot arm included in the actual machine 200 is moved from the first position to the second position, the robot arm can take various trajectories, and the trajectory 552 is one of them.

また実機200は、実機200が備える複数のモータに流れる各々の電流値又は電力量等、駆動部の駆動状態を示す物理量を計測する計測装置202を備えている。この計測装置202により計測された物理量の実測値を、ロボットの運動方法決定装置100は取得する。   The actual machine 200 includes a measuring device 202 that measures a physical quantity indicating the driving state of the drive unit, such as current values or electric power amounts flowing through a plurality of motors included in the actual machine 200. The robot motion method determination device 100 acquires the actual measurement value of the physical quantity measured by the measurement device 202.

ロボットの運動方法決定装置100は、取得した実測値を事前に定められた基準(例えば、評価関数など)に従って評価する。以後、ロボットの運動方法決定装置100は、所定の条件が満たされるまで、繰り返し、発見的手法550により新たな軌道552を生成し、この軌道522を実機200に与え、実測値を取得し、評価を行う。ロボットの運動方法決定装置100は、こうして生成された複数の軌道552の中で、最も評価がよい軌道522を、最適な軌道552として決定する。   The robot motion method determination device 100 evaluates the acquired actual measurement value according to a predetermined standard (for example, an evaluation function). Thereafter, the robot motion method determination device 100 repeatedly generates a new trajectory 552 by the heuristic method 550 until a predetermined condition is satisfied, gives this trajectory 522 to the actual machine 200, acquires an actual measurement value, and evaluates it. I do. The robot motion method determination apparatus 100 determines the trajectory 522 having the best evaluation among the plurality of trajectories 552 generated as described above as the optimal trajectory 552.

以上述べたように、ロボットの運動方法決定装置100は、制御値候補の評価を実機200によって行うことで、対象ロボットである実機200の動力学モデルが不明な場合であっても、ロボットの運動方法決定装置100は最適な軌道を決定することができる。   As described above, the robot motion method determination device 100 evaluates the control value candidates using the real machine 200, so that even if the dynamic model of the real machine 200 that is the target robot is unknown, the robot movement method is determined. The method determining apparatus 100 can determine an optimal trajectory.

図2は、本発明の実施の形態に係る、ロボットの運動方法決定装置100の機能ブロックを示す図である。   FIG. 2 is a diagram showing functional blocks of the robot motion method determining apparatus 100 according to the embodiment of the present invention.

図2に示されるように、ロボットの運動方法決定装置100は、実機制御部102と、実測値取得部104と、評価部106と、制御値決定部108と、評価記憶部112とを備える。   As illustrated in FIG. 2, the robot motion method determination device 100 includes an actual machine control unit 102, an actual measurement value acquisition unit 104, an evaluation unit 106, a control value determination unit 108, and an evaluation storage unit 112.

ロボットの運動方法決定装置100は、前述のとおり、ロボットを事前に定められた第1の位置から第2の位置へ移動させるための運動方法を決定する。   As described above, the robot movement method determining apparatus 100 determines a movement method for moving the robot from a first position to a second position.

その際に、実機制御部102は、図2において実機200として示されるロボットが第1の位置から第2の位置へ移動するように、実機200が備える複数の駆動部を制御するための制御値の候補の組である制御値候補を決定し、決定した制御値候補を実機200に送信する。   At that time, the real machine control unit 102 controls the plurality of drive units included in the real machine 200 so that the robot shown as the real machine 200 in FIG. 2 moves from the first position to the second position. A control value candidate that is a set of candidates is determined, and the determined control value candidate is transmitted to the real machine 200.

ここで、制御値とは、例えば、実機200が備える各々の駆動部の駆動時間、駆動距離、駆動速度、駆動加速度及び位置のうち少なくとも1つに対応する値である。   Here, the control value is, for example, a value corresponding to at least one of the driving time, driving distance, driving speed, driving acceleration, and position of each driving unit included in the actual machine 200.

実機制御部102は、具体的にはSHAと呼ばれる発見的手法により、制御値候補を決定する。その詳細は後述する。   Specifically, the actual machine control unit 102 determines control value candidates by a heuristic technique called SHA. Details thereof will be described later.

なお、実機制御部102は、1回で最適な制御値候補を決定することは困難であるため、互いに異なる複数の制御値候補を決定し、実機200により繰り返し評価を行うことが好ましい。   Note that since it is difficult for the actual machine control unit 102 to determine an optimal control value candidate at a time, it is preferable to determine a plurality of different control value candidates from each other and perform repeated evaluation using the actual machine 200.

実測値取得部104は、制御値候補によって制御されている実機200が備える複数の駆動部の駆動状態を示す物理量である実測値を取得するインタフェースである。実測値とは、例えば、駆動部を流れる電流、電力及び電力量のうちの、少なくとも1つが考えられる。また、実機200について計測可能な、他の任意の物理量(例えば、実機200が備えるロボットアームの先端部の位置、加速度、駆動部の表面温度、照度、周囲音の振幅など)を実測値として用いてもよい。   The actual measurement value acquisition unit 104 is an interface that acquires actual measurement values that are physical quantities indicating the drive states of a plurality of drive units included in the real machine 200 controlled by the control value candidates. As the actual measurement value, for example, at least one of current, electric power, and electric energy flowing through the driving unit can be considered. Further, any other physical quantity that can be measured for the actual machine 200 (for example, the position of the tip of the robot arm included in the actual machine 200, the acceleration, the surface temperature of the drive unit, the illuminance, the amplitude of the ambient sound, etc.) is used as the actual measurement value. May be.

評価部106は、実測値取得部104が取得した実測値から、実測値に対応する制御値候補の評価値を決定する。例えば、実測値が、実機200が備える複数の駆動部各々の電力量であれば、評価部106は、その合計値を評価値として決定することが考えられる。この場合、評価値が小さいほど、消費電力が少なく、評価がよいことを示す。   The evaluation unit 106 determines an evaluation value of a control value candidate corresponding to the actual measurement value from the actual measurement value acquired by the actual measurement value acquisition unit 104. For example, if the actual measurement value is the amount of power of each of the plurality of drive units included in the actual machine 200, the evaluation unit 106 may determine the total value as the evaluation value. In this case, the smaller the evaluation value, the lower the power consumption and the better the evaluation.

また、いわゆるデマンドコントロールのように、消費電力のピーク値が一定値以下となるように制御することで省エネ及び省コストを図る目的では、例えば、複数の駆動部各々の電力を実測値とし、実機200の稼働時間を通じての、駆動部全体での消費電力の最大値を評価値としてもよい。この場合、評価値が小さいほど、ピーク電力を小さく抑えられており、評価がよいことを示す。   In addition, for the purpose of energy saving and cost saving by controlling the peak value of power consumption to be a certain value or less as in so-called demand control, for example, the power of each of a plurality of drive units is used as an actual measured value, The maximum value of power consumption in the entire drive unit over 200 operating hours may be used as the evaluation value. In this case, the smaller the evaluation value, the smaller the peak power is, indicating that the evaluation is good.

すなわち、実機200の消費電力の抑制を目的とする場合において、実測値が、駆動部を流れる電流、電力及び電力量のうちの、少なくとも1つである場合には、評価部106は、複数の駆動部における実測値の合計がより小さいほど、より大きくなるように評価値を決定してもよい。   That is, in the case where the power consumption of the actual machine 200 is intended to be suppressed, if the measured value is at least one of the current, power, and power amount flowing through the drive unit, the evaluation unit 106 The evaluation value may be determined to be larger as the total of the actual measurement values in the driving unit is smaller.

また、評価部106は、実機制御部102により決定された複数の制御値候補の各々を、その制御値候補の評価値と対応付けて、後述する評価記憶部に記憶させる。   Further, the evaluation unit 106 stores each of the plurality of control value candidates determined by the actual machine control unit 102 in an evaluation storage unit, which will be described later, in association with the evaluation value of the control value candidate.

制御値決定部108は、評価値に基づいて、制御値候補を、実機200の運動方法を決定するための制御値の組として採用するか否かを決定する。   Based on the evaluation value, the control value determination unit 108 determines whether or not to adopt the control value candidate as a set of control values for determining the exercise method of the actual machine 200.

具体的には、制御値決定部108は、評価記憶部に記憶されている複数の評価値のうち、最も評価がよい評価値に対応する制御値候補を、制御値の組として採用するよう決定する。より具体的には、制御値決定部108は、評価記憶部112に記憶されている複数の評価値のうち、最も大きな評価値に対応する制御値候補を、制御値の組として採用するよう決定する。   Specifically, the control value determination unit 108 determines to adopt the control value candidate corresponding to the evaluation value with the highest evaluation among the plurality of evaluation values stored in the evaluation storage unit as a set of control values. To do. More specifically, the control value determination unit 108 determines to adopt a control value candidate corresponding to the largest evaluation value among a plurality of evaluation values stored in the evaluation storage unit 112 as a set of control values. To do.

評価記憶部112は、前述のとおり、制御値候補とその評価値とを対応付けて記憶する記憶部であり、具体的には、RAM(Random Access Memory)、ROM(Read Only Memory)、SRAM(Static Random Access Memory)等で実現される。   As described above, the evaluation storage unit 112 is a storage unit that stores control value candidates and their evaluation values in association with each other. Specifically, the evaluation storage unit 112 includes RAM (Random Access Memory), ROM (Read Only Memory), SRAM ( Realized by Static Random Access Memory).

次に、図3及び図4を参照して、本実施の形態に係るロボットの運動方法決定装置100が備える実機制御部102が、評価値候補を決定するために使用する発見的手法による探索アルゴリズムである、SHAについて説明する。   Next, referring to FIG. 3 and FIG. 4, a search algorithm based on a heuristic method used by actual machine control unit 102 included in robot motion method determination apparatus 100 according to the present embodiment to determine evaluation value candidates. SHA which is is demonstrated.

発見的手法による探索アルゴリズムとしてはGA(Genetic Algorithm)が代表的であるが、本実施の形態ではS.Linらが非特許文献2において提案し、発明者らがロボットの運動方法決定装置100に適合するよう改良を加えたSHAを用いる。   A GA (Genetic Algorithm) is a typical search algorithm based on the heuristic method. Lin et al., Proposed in Non-Patent Document 2, use the SHA modified by the inventors so as to be compatible with the robot motion method determining apparatus 100.

SHAでは設計変数行列と呼ばれる、各列が決定すべき設計パラメタを示し、各行が各設計パラメタの取り得る値である離散値(すなわち、制御値)を示す行列を構築し、同行列を操作することで評価が最良となる変数の組合せを探索する。   In SHA, a design variable matrix called a design variable matrix, each column indicates a design parameter to be determined, and each row constructs a matrix indicating a discrete value (that is, a control value) that can be taken by each design parameter, and the matrix is operated. Thus, the combination of variables that is evaluated best is searched.

図3は、本実施の形態おけるSHAに用いられる設計変数行列の一例を示す図である。同図のi行j列の要素Sijはj番目の設計パラメタのi番目の制御値を表す。本実施の形態において、設計パラメタとは、例えば、実機200が備えるいずれかの駆動部の、ある時刻における、駆動時間、駆動距離、駆動速度、駆動加速度、位置のいずれかである。また、制御値とは、例えば設計パラメタが駆動時間であれば、事前に定められた駆動時間(1秒、3秒、5秒、7秒、9秒など)のいずれかに対応する値であり、設計パラメタが駆動距離であれば、事前に定められた駆動距離(1m、3m、5m、7m、9mなど)のいずれかに対応する値である。 FIG. 3 is a diagram showing an example of a design variable matrix used for SHA in the present embodiment. The element S ij in the i row and j column in the figure represents the i th control value of the j th design parameter. In the present embodiment, the design parameter is, for example, any one of a driving time, a driving distance, a driving speed, a driving acceleration, and a position of a driving unit included in the real machine 200 at a certain time. Further, the control value is a value corresponding to one of predetermined drive times (1 second, 3 seconds, 5 seconds, 7 seconds, 9 seconds, etc.) if the design parameter is the drive time, for example. If the design parameter is the driving distance, it is a value corresponding to one of the predetermined driving distances (1 m, 3 m, 5 m, 7 m, 9 m, etc.).

以下、具体的な設計変数行列の操作手順(以下、SHA処理ステップともいう)を、図3及び図4を参照して説明する。   Hereinafter, a specific procedure for operating the design variable matrix (hereinafter also referred to as SHA processing step) will be described with reference to FIGS.

・ステップ1:実機制御部102は、決定すべき設計パラメタの数がnである場合、n列の各々が設計パラメタの各々に対応し、各行が設計パラメタの制御値としてとり得る離散値に対応する設計変数行列を作成する。なお、設計パラメタごとに制御値としてとりうる離散値の数は同じとする。図3は設計変数が6、それぞれが取り得る離散値の数が9である場合の設計変数行列を示す。   Step 1: When the number of design parameters to be determined is n, the actual machine control unit 102 corresponds to each of the n design parameters and each row corresponds to a discrete value that can be taken as a control value of the design parameter. Create a design variable matrix. It is assumed that the number of discrete values that can be taken as control values for each design parameter is the same. FIG. 3 shows a design variable matrix in which the design variable is 6 and the number of possible discrete values is 9, respectively.

・ステップ2:実機制御部102は、設計変数行列の各列において離散値をランダムに1つ選択し、初期経路を決定する。決定された初期経路を基準経路Tとする。図3ではTとして、実線で結ばれた要素S61〜S56が選択されている。なお、以後、SHAにおける制御値候補を、pからpへ向かうルートに見立てて、「経路」とも表記する。 Step 2: The actual machine control unit 102 randomly selects one discrete value in each column of the design variable matrix and determines an initial path. The determined initial path and reference path T 0. In FIG. 3, elements S 61 to S 56 connected by a solid line are selected as T 0 . In the following, control value candidates in SHA are also referred to as “routes”, assuming a route from p 1 to p 6 .

・ステップ3:実機制御部102は、設計変数行列の1列目から順に要素選択の操作を行っていく。まず、1列目において、基準経路Tとして選択されている要素の他に一定数の要素をランダムに選択する。図4(a)では白丸の要素(S41、S61、S81)が選択されている。これらの要素をLook−ahead−Base Point(LBP)と呼び、新たな設計変数の候補とする。 Step 3: The actual machine control unit 102 performs element selection operations in order from the first column of the design variable matrix. First, in the first column, randomly selects an element of the fixed number in addition to the elements that are selected as the reference path T 0. In FIG. 4A, white circle elements (S 41 , S 61 , S 81 ) are selected. These elements are called “Look-ahead-Base Point (LBP)” and are candidates for new design variables.

・ステップ4:実機制御部102は、LBPとした各要素に続く次列の要素をランダムに選択し、図4(b)に示すように複数の経路を生成する。具体的には、S41及びS22を含む経路、S61及びS32を含む経路、S61及びS52を含む経路、並びに、S81及びS82を含む経路が生成されている。 Step 4: The actual machine control unit 102 randomly selects an element in the next row following each element set as the LBP, and generates a plurality of paths as shown in FIG. Specifically, the path comprising path including the S 41 and S 22, a path including the S 61 and S 32, the S 61 and S 52, as well, the path including the S 81 and S 82 are generated.

・ステップ5:実機制御部102は、ステップ2で決定された基準経路及びステップ4であらたに生成された複数の経路の各々を実機200により評価し、得られた評価値が最も良い制御値の組合せを新たな基準経路とする。例えば、図4(b)ではS41及びS22を含む経路が新たな基準経路Tとして選択されたとする。 Step 5: The actual machine control unit 102 evaluates each of the reference path determined in Step 2 and the plurality of newly generated paths in Step 4 with the actual machine 200, and the obtained evaluation value is the control value with the best control value. The combination is set as a new reference route. For example, the path including the S 41 and S 22 shown in FIG. 4 (b) and is selected as a new reference path T 1.

以後、実機制御部102は、対象とする列を順に次列へ進め、評価値の良い経路を基準経路として更新する操作(上記ステップ3〜5)をn−1列目(図4に示される例では、第5列)まで繰り返す。例えば、図4(c)は、2列目を対象に要素選択の操作(ステップ3)を行い、基準経路Tが選択された場合を示す。 Thereafter, the real machine control unit 102 sequentially advances the target column to the next column and performs an operation (steps 3 to 5 above) for updating a route with a good evaluation value as a reference route (steps 3 to 5 above) (shown in FIG. 4). In the example, repeat until the fifth column). For example, FIG. 4 (c), carried out subject to the element selection operations a second column (Step 3), shows a case where the reference path T 2 is selected.

・ステップ6:実機制御部102は、最終列(図4に示される例では、第6列)では要素選択を行わず、最終列に含まれる全ての要素を対象として離散値と同数の経路を生成し、最も評価値の良い離散値の組を基準経路として更新する。   Step 6: The actual machine control unit 102 does not select an element in the final column (sixth column in the example shown in FIG. 4), and takes the same number of paths as the discrete values for all elements included in the final column. A set of discrete values having the best evaluation value is generated and updated as a reference path.

・ステップ7:図4(d)に示されるように、実機制御部102は、設計変数行列の最終列(第6列)を第1列へ移動させ、その他の列は次列へと移動させ設計変数行列を再構築する。得られた行列に対し以上の操作を繰り返す。なお、実機制御部102は、ステップ3〜7の操作を繰り返し、最初に1列目であった設計変数(図4に示される例では、p)が再び1列目となった時点で、SHA処理を終了する。 Step 7: As shown in FIG. 4D, the real machine control unit 102 moves the last column (sixth column) of the design variable matrix to the first column, and moves the other columns to the next column. Reconstruct the design variable matrix. The above operation is repeated for the obtained matrix. The actual machine control unit 102 repeats the operations in steps 3 to 7, and when the design variable (p 1 in the example shown in FIG. 4) that is the first column first becomes the first column again. The SHA process is terminated.

ロボットの運動方法決定装置100が備える制御値決定部108は、以上のSHA処理による繰り返し操作を通じて、最も評価値がよい経路に対応する制御値候補を、実機200の運動方法を決定するための最終的な制御値の組として採用する。   The control value determination unit 108 included in the robot movement method determination device 100 performs the final operation for determining the movement method of the actual machine 200 by selecting the control value candidate corresponding to the route having the best evaluation value through the repetitive operation by the SHA process. It is adopted as a set of typical control values.

なお、発見的手法では乱数を用いて解を探索するため、繰り返し計算時において最適解近傍の結果が得られたとしても、同結果近傍のさらに良好な解が探索されるとは限らない。また、各設計パラメタがとり得る離散値の幅を細分割するほど、より評価関数値が良い解が得られると予想されるが、離散値の数を増やすと行数が膨大となり探索が困難となる。   In the heuristic method, since a solution is searched using random numbers, even if a result in the vicinity of the optimal solution is obtained at the time of iterative calculation, a better solution in the vicinity of the result is not always searched. In addition, it is expected that a better solution of the evaluation function value can be obtained as the width of the discrete values that each design parameter can take is subdivided, but if the number of discrete values is increased, the number of rows becomes enormous and the search is difficult. Become.

そこで本実施の形態に係る実機制御部102は、まず、離散値の幅を比較的粗く設定した設計変数行列を対象に、上記ステップ1〜ステップ7の操作により、評価値が良好な制御値候補を求めた後、さらに、得られた制御値候補に含まれる各々の制御値を中央値として、刻み幅をより細分割した設計変数行列を再構築し、再構築後の設計変数行列に対して、ステップ1〜ステップ7の探索処理を再度実行してもよい。実機制御部102は、この探索により最終的に得られた基準経路を解とすることで、制御値のより正確な最適化を行うことができる。なお、初めの探索を「予備探索」、その探索結果近傍での刻み幅を細分割した設計変数行列を用いた探索を「絞り込み探索」と呼ぶ。   Therefore, the actual machine control unit 102 according to the present embodiment first has a control value candidate having a good evaluation value by performing the operations of Step 1 to Step 7 for the design variable matrix in which the width of the discrete values is set relatively coarse. Then, the control variable included in the obtained control value candidate is set to the median value, and the design variable matrix is further subdivided into step sizes. The search process of step 1 to step 7 may be executed again. The real machine control unit 102 can optimize the control value more accurately by using the reference path finally obtained by this search as a solution. The initial search is referred to as “preliminary search”, and the search using the design variable matrix obtained by subdividing the step size in the vicinity of the search result is referred to as “narrowed search”.

上記絞り込み探索について、図5を参照してより具体的に説明する。   The narrowing search will be described more specifically with reference to FIG.

図5は、本実施の形態におけるSHAに用いられる絞り込み探索などの一例を示す図である。   FIG. 5 is a diagram illustrating an example of a refinement search used for SHA in the present embodiment.

図5(a)は、3つの時刻(t1、t2、t3)におけるロボットハンド先端部の駆動速度をそれぞれ設計パラメタp1、p2、p3とし、その各々の制御値(すなわち、ロボットハンド先端速度)を決定する場合の、予備探索の結果を示す。   In FIG. 5A, the driving speeds of the robot hand tip at three times (t1, t2, t3) are set as design parameters p1, p2, and p3, respectively, and the respective control values (that is, the robot hand tip speed) are set. The result of the preliminary search when determining is shown.

予備探索を開始する時点では、p1の探索範囲702、p2の探索範囲704、及び、p3の探索範囲706は、いずれも共通の幅(上下限値)をもつ。   At the time of starting the preliminary search, the search range 702 for p1, the search range 704 for p2, and the search range 706 for p3 all have a common width (upper and lower limit values).

ここで、予備探索が終了し、図5(a)に示されるように、p1の制御値としてv1が、p2の制御値としてv2が、p3の制御値としてv3が、実機制御部102によって決定されたとする。   Here, the preliminary search is completed, and as shown in FIG. 5A, the actual control unit 102 determines v1 as the control value of p1, v2 as the control value of p2, and v3 as the control value of p3. Suppose that

この場合、p1〜p3の最適解は、各々、v1〜v3の近傍に存在する可能性が高いと考えられる。そこで、実機制御部102は、絞り込み探索として、例えば図5(b)に示されるように、p1の探索範囲702を、予備探索時よりもv1の近傍へ絞り込んだ新たな探索範囲708を設定する。実機制御部102は、探索範囲704及び探索範囲706についても同様に、それぞれv2及びv3近傍へ絞り込んだ新たな探索範囲を設定する。ここで、絞り込み後の探索範囲と、絞り込み前の探索範囲の離散化数を同一とすると、絞り込み後の探索範囲では、離散化の粒度がより細かくなる。よって、実機制御部102は、絞り込み後の探索範囲について、再度SHAを実行することにより、予備探索によって決定した制御候補値近傍において、より最適な制御候補値を決定することができる。   In this case, it is considered that the optimal solutions of p1 to p3 are likely to exist in the vicinity of v1 to v3, respectively. Therefore, the real machine control unit 102 sets a new search range 708 in which the search range 702 of p1 is narrowed to the vicinity of v1 as compared with the time of the preliminary search, for example, as shown in FIG. . Similarly, the actual machine control unit 102 sets new search ranges narrowed down to the vicinity of v2 and v3 for the search range 704 and the search range 706, respectively. Here, if the number of discretizations in the search range after narrowing down and the search range before narrowing down are the same, the granularity of discretization becomes finer in the search range after narrowing down. Therefore, the actual machine control unit 102 can determine a more optimal control candidate value in the vicinity of the control candidate value determined by the preliminary search by executing SHA again for the search range after narrowing down.

なお、実機制御部102は、必ずしも絞り込み探索を行う必要はない。例えば、予備探索で決定された制御値の評価値が、事前に定められた基準値よりも低い場合には、各設計パラメタの探索範囲をより広げた新たな探索範囲を設定し、この範囲内を対象として再度SHAを行ってもよい。図5(c)に示される探索範囲710は、この一例である。   The actual machine control unit 102 does not necessarily need to perform a narrowing search. For example, if the evaluation value of the control value determined in the preliminary search is lower than a predetermined reference value, a new search range is set by expanding the search range of each design parameter. SHA may be performed again for the target. A search range 710 shown in FIG. 5C is an example of this.

また、例えば予備探索によって決定された制御値が、探索範囲の中央値よりの上下いずれかに偏っている場合には、実機制御部102は、図5(d)に示される探索範囲712のように、偏りをなくすように(すなわち、予備探索によって決定された制御値を、探索範囲の中央値へ近づける向きに)探索範囲をシフトさせた後、新たな探索範囲内を対象として再度SHAを行ってもよい。   Further, for example, when the control value determined by the preliminary search is biased either above or below the median value of the search range, the actual machine control unit 102 looks like the search range 712 shown in FIG. In addition, after the search range is shifted so as to eliminate the bias (that is, the control value determined by the preliminary search is brought closer to the median of the search range), the SHA is performed again in the new search range. May be.

以上述べた、本実施の形態における実機制御部102が行うSHAは、GAと比較して次のような利点を有する。   The SHA performed by the actual machine control unit 102 in the present embodiment described above has the following advantages compared with the GA.

(1)GAでは設計変数を2進数列で表現される遺伝子モデルへ変換する必要があるが、SHAでは設計変数として実値を直接取り扱える。   (1) In GA, it is necessary to convert a design variable into a gene model expressed by a binary sequence, but in SHA, a real value can be directly handled as a design variable.

(2)GAでは世代数、交叉率、突然変異率など解の探索の実行を左右する複数のパラメタの調整が必要である。これらの値は解の探索結果に大きな影響を及ぼすが、その決定は主として経験に頼らざるをえない。これに対し、SHAでは調整が困難なパラメタは特にない。   (2) In GA, it is necessary to adjust a plurality of parameters that influence the execution of solution search, such as the number of generations, crossover rate, and mutation rate. Although these values have a significant effect on the solution search results, the decision must be largely based on experience. On the other hand, there are no parameters that are difficult to adjust with SHA.

(3)繰り返し探索時において、GAでは毎回、多数の解の候補について評価値の取得が必要であり、評価関数の処理が複雑である場合は全体の処理量が膨大となる。これに対し、SHAで評価する解の候補は少数であるため1回ごとの処理時間は短く、全体の処理時間を短縮できる。   (3) At the time of iterative search, the GA needs to acquire evaluation values for a large number of solution candidates every time. When the processing of the evaluation function is complicated, the entire processing amount becomes enormous. On the other hand, since the number of solution candidates evaluated by SHA is small, the processing time for each time is short, and the entire processing time can be shortened.

特に、(3)に述べた処理時間を短縮できる利点は、本願発明において重要な利点である。動力学モデルとして計算機内で模擬されたロボットを使用する場合には、処理時間はさほど問題にならないが、ロボットの実機を使用する場合、安全面等を考えると、常にロボットのそばに人が待機する必要が生じる。また、既に現場に導入されているロボットであれば、軌道決定作業のために占有できる時間も通常は短時間に制限される。したがって、GAや、関連技術に係るSHAと比較し、絞り込み探索を併用する発明者らの独自のSHAは、本実施の形態に係るロボットの運動方法決定装置100を実現する上で、より適している。   In particular, the advantage of shortening the processing time described in (3) is an important advantage in the present invention. When using a robot simulated in a computer as a dynamic model, the processing time does not matter so much, but when using the actual robot, a person always stands by beside the robot in consideration of safety issues. Need to do. In addition, in the case of a robot that has already been introduced in the field, the time that can be occupied for the trajectory determination work is usually limited to a short time. Therefore, compared with GA and SHA related to the related art, the inventors' original SHA using the refinement search is more suitable for realizing the robot motion method determination device 100 according to the present embodiment. Yes.

次に、図6を参照して、本実施の形態に係るロボットの運動方法決定装置100が軌道を決定する処理の手順について説明する。   Next, with reference to FIG. 6, the procedure of the process in which the robot movement method determination device 100 according to the present embodiment determines the trajectory will be described.

まず、実機制御部102は、例えばGUI(Graphical User Interface;図示なし)により、又は、外部ファイルを読み込むことにより、ユーザにより決定される、軌道探索のための条件を取得する。より具体的には、(1)ロボットの軌道を決定するために必要な設計パラメタ、及び、(2)設計パラメタの値である制御値がとりうる上下限値とその分割数とを取得する(S102、S104)。   First, the actual machine control unit 102 acquires a condition for trajectory search determined by the user, for example, by a GUI (Graphical User Interface; not shown) or by reading an external file. More specifically, (1) design parameters necessary for determining the trajectory of the robot, and (2) upper and lower limit values that can be taken by the control values that are the values of the design parameters and the number of divisions thereof are acquired ( S102, S104).

次に、実機制御部102は、前述のSHA処理ステップ7に示されるようなSHA処理の終了条件が満たされていないと判定した場合には(S106でNo)、前述のSHA処理を実行する。   Next, when the actual machine control unit 102 determines that the SHA process end condition as shown in the SHA process step 7 is not satisfied (No in S106), the actual machine control unit 102 executes the SHA process.

ここで、実機制御部102は、前述のSHA処理ステップ5において、まだ評価値が定まっていない制御値候補がある場合には、評価値が定まらない制御値候補の中から1つを選択し(S108)、実機200へ送信する(S112)。より具体的には、制御値候補は、実機200のロボット動作プログラム内のパラメタとして、実機200へ送信される。   Here, when there is a control value candidate whose evaluation value is not yet determined in the above-described SHA processing step 5, the actual machine control unit 102 selects one of the control value candidates whose evaluation value is not determined ( S108), and transmits to the real machine 200 (S112). More specifically, the control value candidate is transmitted to the actual machine 200 as a parameter in the robot operation program of the actual machine 200.

次に、実機200は、送信された制御値候補に従って動作を行う(S114)。その間に、実機200が有する駆動部の駆動状態を示す物理量が計測される(S116)。例えば、実機200が有する複数のモータの各々に電力計が接続され、各モータの消費電力が計測される。なお電力計は、実機200が備えていてもよく、実機200の外部に接続されてもよい。   Next, the actual device 200 operates according to the transmitted control value candidate (S114). In the meantime, the physical quantity indicating the drive state of the drive unit of the real machine 200 is measured (S116). For example, a power meter is connected to each of a plurality of motors included in the actual machine 200, and the power consumption of each motor is measured. The wattmeter may be included in the actual device 200 or may be connected to the outside of the actual device 200.

こうして計測された各モータの消費電力の実測値は、ロボットの運動方法決定装置100が備える実測値取得部104へと、無線又は有線通信により送信される。この実測値は、評価部106により、所定の評価関数により評価され、制御候補値に対する評価値が決定される(S118)。その後、評価部106は、評価値と、評価値に対応する制御候補値を、評価記憶部112に記憶させる。   The actually measured values of the power consumption of the motors measured in this way are transmitted to the actual value acquisition unit 104 provided in the robot motion method determination device 100 by wireless or wired communication. The actual measurement value is evaluated by the evaluation unit 106 using a predetermined evaluation function, and an evaluation value for the control candidate value is determined (S118). Thereafter, the evaluation unit 106 causes the evaluation storage unit 112 to store the evaluation value and the control candidate value corresponding to the evaluation value.

なお評価関数としては、前述のように、例えば実機200の総消費電力が少ないほど評価値を高く決定するものや、ピーク電力が小さいほど評価値を高く決定するもの等が考えられるが、他の基準で評価関数を決定してもよい。   As described above, as the evaluation function, for example, a function that determines a higher evaluation value as the total power consumption of the real machine 200 is smaller, a function that determines a higher evaluation value as the peak power is smaller, and the like are considered. You may determine an evaluation function on the basis.

以上のステップS108からS118を、前述のSHA処理ステップ5における、全ての制御値候補について評価値が定まるまで繰り返す。さらに、制御値決定部108は、制御値候補の最適値を更新するため、前述のSHA処理ステップ5において、現在の基準経路に対応する制御値候補よりも評価のよい制御値候補が見つかったか否かを判定する(S120)。判定の結果、より評価がよい制御値候補が見つかった場合には(S120でYes)、制御値決定部108は、より評価がよい制御値候補を基準経路として設定する(S122)。一方、より評価がよい制御値候補が見つからなかったと判定した場合には(S120でNo)、制御値決定部108は、基準経路を更新しない。   The above steps S108 to S118 are repeated until evaluation values are determined for all control value candidates in the above-described SHA processing step 5. Furthermore, since the control value determination unit 108 updates the optimal value of the control value candidate, whether or not a control value candidate having a better evaluation than the control value candidate corresponding to the current reference route has been found in the SHA processing step 5 described above. Is determined (S120). As a result of the determination, if a control value candidate with better evaluation is found (Yes in S120), the control value determining unit 108 sets a control value candidate with better evaluation as a reference route (S122). On the other hand, when it is determined that a control value candidate with better evaluation has not been found (No in S120), the control value determination unit 108 does not update the reference route.

次に、制御値決定部108は、基準経路に対応する最良の評価値の推移により、SHAの探索条件の再設定又はSHAによる探索処理の打ち切りを判定する(S124)。   Next, the control value determination unit 108 determines whether to reset the SHA search condition or abort the search process by SHA based on the transition of the best evaluation value corresponding to the reference route (S124).

ここで、探索条件の再設定とは、例えば、ステップS122において基準経路が変更される割合が事前に定められた値よりも低下した場合に、制御値決定部108が、図5(c)に示されるように、各設計パラメタの上下限の幅が広がるように探索条件を再設定するよう決定することをいう。また、ステップS122において評価値が大幅に向上した場合には、制御値決定部108は、図5(b)に示されるように、各設計パラメタの上下限の幅が狭まるように探索条件を再設定するよう決定してもよい。   Here, the resetting of the search condition means, for example, that the control value determining unit 108 changes to that shown in FIG. 5C when the rate at which the reference route is changed in step S122 is lower than a predetermined value. As shown, it means to decide to reset the search conditions so that the upper and lower limits of each design parameter are widened. Further, when the evaluation value is significantly improved in step S122, the control value determination unit 108 resets the search condition so that the upper and lower limits of each design parameter are narrowed as shown in FIG. You may decide to set.

また、探索処理の打ち切りとは、例えば、ステップS122において基準経路の更新が滞った場合(より具体的には、事前に定められた回数以上連続して、基準経路が更新されなかった場合や、基準経路の更新率が所定の値を下回った場合など)に、制御値決定部108がSHAによる探索を打ち切り(S126でYes)、これまでに最も良好な評価値を示した制御値候補を、実機200の運動方法を決定するための制御値の組として採用するよう決定することをいう。   In addition, for example, when the search process is terminated, for example, when the update of the reference route is delayed in step S122 (more specifically, when the reference route is not updated continuously for a predetermined number of times, When the update rate of the reference route falls below a predetermined value), the control value determination unit 108 aborts the search by SHA (Yes in S126), and the control value candidate that has shown the best evaluation value so far is Deciding to adopt as a set of control values for deciding the exercise method of the actual machine 200.

一方、制御値決定部108は、SHAによる制御値の組の探索を継続すると判定した場合には(S126でNo)、再度、実機制御部102が行うステップS106の処理に戻る。   On the other hand, if the control value determining unit 108 determines that the search for the set of control values by SHA is to be continued (No in S126), the control value determining unit 108 returns to the process of step S106 performed by the actual machine control unit 102 again.

また、実機制御部102が、SHA処理ステップ7に示されるようなSHA処理の終了条件が満たされていると判定した場合には(ステップS106でYes)、実機制御部102はSHA処理を終了する。その後、制御値決定部108が、その時点で最も良好な評価値を示した制御値候補を、実機200の運動方法を決定するための制御値の組として採用するよう決定する。   In addition, when the actual machine control unit 102 determines that the SHA process end condition as shown in the SHA process step 7 is satisfied (Yes in step S106), the actual machine control unit 102 ends the SHA process. . After that, the control value determination unit 108 determines to adopt the control value candidate that showed the best evaluation value at that time as a set of control values for determining the exercise method of the actual machine 200.

次に、本実施の形態における制御値候補の具体例について、詳細に説明する。   Next, specific examples of control value candidates in the present embodiment will be described in detail.

関連技術にかかる動力学モデル902によって軌道を決定する場合には、関節角変位やハンド先端変位の時間変化を多項式などで表現し、その係数を適当に決定することでロボットの軌道が表現される。しかし、本実施の形態において、実機200を動作させる場合、多項式などで表現された通りに各関節の変位を制御することは困難である。そこで、本実施の形態に係るロボットの運動方法決定装置100では、産業用ロボットに標準的に備わっているロボットコマンドのパラメタを設計パラメタとし、その値の組合せを制御値候補とすることで、実機200の軌道を表現する。以下、より詳細に述べる。   When the trajectory is determined by the dynamic model 902 according to the related technology, the temporal change of the joint angle displacement and the hand tip displacement is expressed by a polynomial, and the robot trajectory is expressed by appropriately determining the coefficient. . However, in the present embodiment, when operating the actual machine 200, it is difficult to control the displacement of each joint as expressed by a polynomial or the like. Therefore, in the robot motion method determination device 100 according to the present embodiment, the robot command parameters that are standard in industrial robots are used as design parameters, and combinations of the values are used as control value candidates, so that the actual machine Represents 200 trajectories. This will be described in more detail below.

一般に、産業用ロボットのほとんどはロボットコマンドにより制御される。例えば、ロボットのハンド先端の移動速度、座標などは、次のような複数のロボットコマンドの組がロボットに送信されることで、制御される。   In general, most industrial robots are controlled by robot commands. For example, the moving speed and coordinates of the tip of the robot hand are controlled by transmitting a plurality of robot command sets as described below to the robot.

SPEED 500MM/S
LMOVE(500,1000,250)
SPEED 500MM / S
LMOVE (500, 1000, 250)

ここで、SPEEDコマンドは移動速度を指定し、LMOVEコマンドはハンド先端座標を指定する。ハンド先端部は、LMOVEコマンドで指定されたハンド先端座標を、SPEEDコマンドで指定された移動速度で通過するように、制御される。   Here, the SPEED command specifies the moving speed, and the LMOVE command specifies the hand tip coordinates. The hand tip is controlled so as to pass the hand tip coordinates specified by the LMOVE command at the moving speed specified by the SPEED command.

このようなコマンドの組により速度と位置を次々と指定することでロボットが動作する。これらの「速度指令」と「位置指令」はメーカが異なるロボットであっても、SPEED→velocity、LMOVE→move linear等の置き換えが可能な程度の差異しかない。よって、駆動部ごとに、速度の指令値(速度指令値)と、位置の指令値(位置指令値)の組を指定することで、ロボットの軌道が定まる。従って、ロボットの運動方法決定装置100は、各々の指令値の具体的な値を制御値候補として実機200へ送信することにより、実機200を制御し、これにより、制御値候補に対応する評価値を取得することができる。   The robot operates by designating the speed and position one after another using such a set of commands. These “speed commands” and “position commands” are different to the extent that they can be replaced with SPEED → velocity, LMOVE → move linear, etc. even if the robots are of different manufacturers. Therefore, the trajectory of the robot is determined by designating a set of a speed command value (speed command value) and a position command value (position command value) for each drive unit. Therefore, the robot motion method determining apparatus 100 controls the actual machine 200 by transmitting specific values of the respective command values to the actual machine 200 as control value candidates, and thereby the evaluation values corresponding to the control value candidates. Can be obtained.

例えば、ロボットの運動方法決定装置100は、次に示すロボットコマンド内の位置指令値x、y、z、及び、速度指令値v1、v2、v3を設計パラメタとし、これらのある値の組を制御値候補として実機200へ送信することで、対応する評価値を取得する。   For example, the robot motion method determination apparatus 100 uses a position command value x, y, z and a speed command value v1, v2, v3 in the following robot command as design parameters, and controls a set of these values. By transmitting to the real machine 200 as a value candidate, the corresponding evaluation value is acquired.

LMOVE([x],[y],[z])
SPEED[v1]MM/S
LMOVE([x]+100,[y]+100,[z]+100)
SPEED[v2]MM/S
LMOVE([x]+200,[y]+200,[z]+200)
SPEED[v3]MM/S
LMOVE([x]+300,[y]+300,[z]+300)
LMOVE ([x], [y], [z])
SPEED [v1] MM / S
LMOVE ([x] +100, [y] +100, [z] +100)
SPEED [v2] MM / S
LMOVE ([x] +200, [y] +200, [z] +200)
SPEED [v3] MM / S
LMOVE ([x] +300, [y] +300, [z] +300)

上記ロボットコマンドに対応する、実機200のハンド先端の移動速度の変化を、図7に示す。   FIG. 7 shows changes in the moving speed of the hand tip of the actual machine 200 corresponding to the robot command.

図7は、ロボットコマンドに対応するハンド先端の移動速度の変化の一例を示す図である。実機200のハンド先端部は、初期値(x,y,z)から、(x+100,y+100,z+100)で指定される点651に移動し、点651を速度v1で通過した後、(x+200,y+200,z+200)で指定される点652へ移動する。実機200のハンド先端部は、点652を速度v2で通過した後、(x+300,y+300,z+300)で指定される点653へ向かい、点653を速度v3で通過した後、停止する。   FIG. 7 is a diagram illustrating an example of a change in the moving speed of the hand tip corresponding to the robot command. The hand tip of the actual machine 200 moves from the initial value (x, y, z) to a point 651 specified by (x + 100, y + 100, z + 100), passes through the point 651 at a speed v1, and then (x + 200, y + 200). , Z + 200), move to the point 652 designated. The hand tip of the real machine 200 passes through the point 652 at the speed v2, then goes to the point 653 designated by (x + 300, y + 300, z + 300), passes through the point 653 at the speed v3, and then stops.

なお実際は、ロボットコントローラが指定座標間を滑らかに制御するので、速度変化は滑らかとなる。しかし、同一のロボットコマンドであれば速度変化は同一となるため、本手法を軌道の表現方法として用いることができる。   Actually, since the robot controller smoothly controls between designated coordinates, the speed change is smooth. However, since the speed change is the same for the same robot command, this method can be used as a method for expressing the trajectory.

ロボットの速度の変化に伴い、その時のロボットの関節駆動トルクや消費電力も変化する。したがって、制御値候補(ここでは、速度指令値と移動指令値の組)を適切に決定できれば、実機200の消費電力が最小となる最適軌道を決定することができる。   As the speed of the robot changes, the joint drive torque and power consumption of the robot at that time also change. Therefore, if a control value candidate (here, a set of speed command value and movement command value) can be appropriately determined, an optimal trajectory that minimizes the power consumption of the actual machine 200 can be determined.

すなわち、本実施の形態に係るロボットの運動方法決定装置100は、ロボットである実機200を事前に定められた第1の位置から第2の位置へ移動させるための運動方法を決定するロボットの運動方法決定装置であって、ロボットが第1の位置から第2の位置へ移動するように、ロボットが備える複数の駆動部を制御するための制御値の候補の組である制御値候補を決定し、決定した制御値候補をロボットに送信する実機制御部102と、制御値候補によって制御されている複数の駆動部の駆動状態を示す物理量である実測値を取得する実測値取得部104と、実測値から、実測値に対応する制御値候補の評価値を決定する評価部106と、評価値に基づいて、制御値候補を、ロボットの運動方法を決定するための制御値の組として採用するか否かを決定する制御値決定部108とを備える。   That is, the robot motion method determining apparatus 100 according to the present embodiment determines the motion method for moving the actual machine 200, which is a robot, from a predetermined first position to a second position. A method determination device that determines a control value candidate that is a set of control value candidates for controlling a plurality of drive units included in a robot such that the robot moves from a first position to a second position. An actual machine control unit 102 that transmits the determined control value candidates to the robot, an actual value acquisition unit 104 that acquires actual values that are physical quantities indicating the drive states of a plurality of drive units controlled by the control value candidates, The evaluation unit 106 that determines the evaluation value of the control value candidate corresponding to the actual measurement value from the value, and the control value candidate as a set of control values for determining the robot movement method based on the evaluation value And a control value determining unit 108 that determines whether Luke.

また、本実施の形態に係るロボットの運動方法決定装置100は、さらに、評価記憶部112を備え、実機制御部102は、互いに異なる複数の制御値候補を決定し、評価部106は、複数の制御値候補の各々を、当該制御値候補の評価値と対応付けて評価記憶部112に記憶させ、制御値決定部108は、評価記憶部112に記憶されている複数の評価値のうち、最も評価がよい評価値に対応する制御値候補を、制御値の組として採用するよう決定してもよい。   The robot motion method determining apparatus 100 according to the present embodiment further includes an evaluation storage unit 112, the actual machine control unit 102 determines a plurality of different control value candidates, and the evaluation unit 106 includes a plurality of control value candidates. Each of the control value candidates is stored in the evaluation storage unit 112 in association with the evaluation value of the control value candidate, and the control value determination unit 108 is the most of the plurality of evaluation values stored in the evaluation storage unit 112. Control value candidates corresponding to evaluation values with good evaluation may be determined to be adopted as a set of control values.

以上の構成によると、ロボットの運動方法決定装置100により軌道を決定するために、実機200の動力学モデルの構築が不要となる。よって、ロボットの運動方法決定装置100によれば、対象ロボットである実機200の動力学モデルが不明な場合でも、最適な軌道を決定することができる。   According to the above configuration, since the trajectory is determined by the robot motion method determination device 100, it is not necessary to construct a dynamic model of the actual machine 200. Therefore, according to the robot motion method determination device 100, the optimal trajectory can be determined even when the dynamic model of the real machine 200 that is the target robot is unknown.

特に、従来は動力学モデルの構築に、実機200の製造元の協力が不可欠であったが、本実施の形態に係るロボットの運動方法決定装置100によれば、実機200のユーザ側のみで、容易に軌道の最適化が可能となる。よって、既に工場で稼働中の実機200にも容易に適用することができる。   In particular, the cooperation of the manufacturer of the real machine 200 has been indispensable for the construction of the dynamic model in the past, but according to the robot movement method determination device 100 according to the present embodiment, it is easy only on the user side of the real machine 200. In addition, the trajectory can be optimized. Therefore, it can be easily applied to the actual machine 200 that is already operating in the factory.

さらに、実機200が有する個体差、環境及び経年変化の影響を含めて動力学モデルを作成することは極めて困難であるが、本実施の形態に係るロボットの運動方法決定装置100によれば、こうした実機200の特性のばらつきを考慮して軌道の最適化を行うことができる。   Furthermore, although it is extremely difficult to create a dynamic model including the effects of individual differences, environment, and secular changes that the actual machine 200 has, according to the robot motion method determination device 100 according to the present embodiment, The trajectory can be optimized in consideration of variations in characteristics of the actual machine 200.

以上、本実施の形態に係るロボットの運動方法決定装置100について説明した。   The robot motion method determining apparatus 100 according to the present embodiment has been described above.

次に、軌道決定までの、制御値の組の探索時間をより短縮することが可能な、実施の形態2にかかるロボットの運動方法決定装置100について説明する。   Next, the robot motion method determining apparatus 100 according to the second embodiment that can further reduce the search time for a set of control values until the trajectory is determined will be described.

(実施の形態2)
図8は、実施の形態2に係るロボットの運動方法決定装置100の機能ブロックを示す図である。なお、図2に示される実施の形態1に係るロボットの運動方法決定装置100と同様の構成部には、同じ符号を付け、詳細な説明を省略する。
(Embodiment 2)
FIG. 8 is a diagram illustrating functional blocks of the robot motion method determination device 100 according to the second embodiment. Components similar to those of the robot motion method determining apparatus 100 according to the first embodiment shown in FIG. 2 are denoted by the same reference numerals, and detailed description thereof is omitted.

実施の形態1に係るロボットの運動方法決定装置100との違いは、本実施の形態に係るロボットの運動方法決定装置100は、さらに、2つの制御値候補間の類似度を算出する類似度算出部110を備えている点である。   The difference from the robot motion method determination device 100 according to the first embodiment is that the robot motion method determination device 100 according to the present embodiment further calculates a similarity between two control value candidates. The point is that the unit 110 is provided.

動力学モデル902に代わり実機200を使用して軌道の評価値を取得する場合に、実機200による評価の繰り返し回数は、実用上の大きな制約となる。   When the evaluation value of the trajectory is acquired using the actual machine 200 instead of the dynamic model 902, the number of repetitions of the evaluation by the actual machine 200 is a large practical limitation.

そこで、本実施の形態に係る実機制御部102は、類似度算出部110により算出される、2つの制御値候補間の類似度を用いて、実機200による評価の繰り返し回数を削減する。   Therefore, the actual machine control unit 102 according to the present embodiment uses the similarity between two control value candidates calculated by the similarity calculation unit 110 to reduce the number of repetitions of evaluation by the actual machine 200.

具体的には、実機制御部102は、実機200に送信される複数の制御値候補に含まれる任意の2つの制御値候補間の類似度が、事前に定められた類似度の閾値が示す類似性よりも類似しないように複数の制御値候補を決定する。なお、実機制御部102は、複数の制御値候補間のうちで、少なくとも開始位置の差が事前に定められた閾値未満となる制御値候補間に対してのみ、類似性の判断を行うとすることが好ましい。ここで、開始位置とは、制御開始時における実機200の位置であり、例えば、ハンド先端座標の初期値などである。以下詳細に述べる。   Specifically, the real machine control unit 102 indicates that the similarity between any two control value candidates included in the plurality of control value candidates transmitted to the real machine 200 is similar to the similarity indicated by a predetermined similarity threshold. A plurality of control value candidates are determined so as not to be similar to each other. Note that the real machine control unit 102 determines similarity only between control value candidates at which the difference between the start positions is less than a predetermined threshold among the plurality of control value candidates. It is preferable. Here, the start position is the position of the actual machine 200 at the start of control, and is, for example, the initial value of the hand tip coordinates. Details will be described below.

図9は、本実施の形態に係るロボットの運動方法決定装置100の処理の手順を示すフローチャートである。なお、図6と同様の処理には、同じ符号を付け、詳細な説明を省略する。   FIG. 9 is a flowchart showing a processing procedure of the robot motion method determination device 100 according to the present embodiment. In addition, the same code | symbol is attached | subjected to the process similar to FIG. 6, and detailed description is abbreviate | omitted.

実施の形態1に係るロボットの運動方法決定装置100の処理の手順と、本実施の形態に係るロボットの運動方法決定装置100の処理の手順の主な違いは、本実施形態には、図9に示されるステップS110が加わる点である。   The main difference between the processing procedure of the robot movement method determination device 100 according to the first embodiment and the processing procedure of the robot movement method determination device 100 according to the present embodiment is as shown in FIG. This is the point to which step S110 shown in FIG.

実施の形態1に係る実機制御部102と同様、本実施の形態に係る実機制御部102は、SHA処理ステップ5において、まだ評価値が定まっていない制御値候補がある場合には、実機200へ送るために、その中から1つの制御値候補を選択する(S108)。   Similar to the real machine control unit 102 according to the first embodiment, the real machine control unit 102 according to the present embodiment returns to the real machine 200 when there is a control value candidate for which an evaluation value is not yet determined in the SHA processing step 5. In order to send, one control value candidate is selected from them (S108).

ここで、本実施の形態に係る実機制御部102は、ステップS108で選択された制御値候補と、評価記憶部112に記憶されている複数の制御値候補の各々との類似度を類似度算出部110により算出し、ステップS108で選択された制御値候補と類似する制御値候補が、評価記憶部112に既に記憶されているか否かを判定する(S110)。   Here, the actual machine control unit 102 according to the present embodiment calculates the similarity between the control value candidate selected in step S108 and each of the plurality of control value candidates stored in the evaluation storage unit 112. It is determined whether or not a control value candidate similar to the control value candidate calculated by the unit 110 and selected in step S108 is already stored in the evaluation storage unit 112 (S110).

例えば、類似度算出部110が、2つの制御値候補がより類似するほど、より大きな値となるように類似度を算出するとすれば、類似度算出部110により算出されたいずれかの類似度が、事前に定められた閾値以上である場合(S110でYes)、実機制御部102は、ステップS108で選択された制御値候補を実機200へ送ることなく破棄する。その後、実機制御部102はステップS108の処理に戻る。また、類似度算出部110により算出されたいずれかの類似度が、事前に定められた閾値未満である場合には(S110でNo)、実機制御部102は、ステップS108で選択された制御値候補を、実機200へ送信(転送)する(S112)。   For example, if the similarity calculation unit 110 calculates the similarity so that the more similar the two control value candidates are, the larger the value is, the similarity calculated by the similarity calculation unit 110 may be any of the similarities. If it is equal to or greater than the predetermined threshold (Yes in S110), the actual machine control unit 102 discards the control value candidate selected in Step S108 without sending it to the actual machine 200. Thereafter, the actual machine control unit 102 returns to the process of step S108. If any one of the similarities calculated by the similarity calculating unit 110 is less than a predetermined threshold (No in S110), the real machine control unit 102 determines the control value selected in Step S108. The candidate is transmitted (transferred) to the real machine 200 (S112).

ここで、類似度算出部110が類似度を算出する方法には様々なものが考えられる。   Here, various methods can be considered for the similarity calculation unit 110 to calculate the similarity.

例えば、類似度算出部は、2つの制御値候補間で対応する制御値の候補同士の差の絶対値の総和の逆数として類似度を算出することができる。この場合、制御値候補が似ているほど、類似度は大きくなる。また、類似度算出部110は、2つの制御値候補について、対応する制御値の候補同士の差の絶対値の総和として、類似度を算出してもよい。この場合、2つの制御値候補が似ているほど、類似度は小さくなる。   For example, the similarity calculation unit can calculate the similarity as the reciprocal of the sum of the absolute values of the differences between the control value candidates corresponding to the two control value candidates. In this case, the similarity is greater as the control value candidates are more similar. Further, the similarity calculation unit 110 may calculate the similarity as the sum of the absolute values of the differences between the corresponding control value candidates for the two control value candidates. In this case, the similarity is smaller as the two control value candidates are more similar.

図10は、こうして求められる類似度に基づき類似すると実機制御部102により判定される範囲の一例を示す図である。   FIG. 10 is a diagram showing an example of a range determined by the actual machine control unit 102 as being similar based on the similarity thus obtained.

点661、点662及び点663に対応する時刻におけるハンド先端速度の速度指令値が、それぞれ、v1、v2及びv3である制御値候補を第1の制御値候補とする。図10に示される太線は、第1の制御値候補に含まれる各制御値を直線で結んだものである。このとき、(1)動作開始時におけるハンド先端位置の差が事前に定められた閾値距離以内であり、(2)点661、点662及び点663に対応する時刻におけるハンド先端速度の速度指令値が、すべて、図10に示される太線の上下に引かれた2つの細線の間の領域に含まれるような第2の制御値候補は、第1の制御値候補と類似すると判定される。   Control value candidates whose hand tip speed command values at times corresponding to the points 661, 662, and 663 are v1, v2, and v3 are set as first control value candidates. The thick line shown in FIG. 10 is obtained by connecting each control value included in the first control value candidate with a straight line. At this time, (1) the difference of the hand tip position at the start of the operation is within a predetermined threshold distance, and (2) the speed command value of the hand tip speed at the time corresponding to the points 661, 662 and 663. However, it is determined that the second control value candidates that are all included in the region between the two thin lines drawn above and below the thick line shown in FIG. 10 are similar to the first control value candidates.

以上、本発明の実施の形態2に係るロボットの運動方法決定装置100は、さらに、2つの制御値候補間の類似度を算出する類似度算出部110を備え、実機制御部102は、複数の制御値候補に含まれる任意の2つの制御値候補間の類似度が、事前に定められた類似度の閾値が示す類似性よりも類似しないように複数の制御値候補を決定してもよい。   As described above, the robot motion method determination device 100 according to Embodiment 2 of the present invention further includes the similarity calculation unit 110 that calculates the similarity between two control value candidates, and the actual machine control unit 102 includes a plurality of A plurality of control value candidates may be determined so that the similarity between any two control value candidates included in the control value candidate is not similar to the similarity indicated by a predetermined similarity threshold.

より具体的には、制御値は、駆動部の駆動時間、駆動距離、駆動速度、駆動加速度、及び、位置のうち少なくとも1つに対応する値であり、実測値は、電流値、電力、及び、電力量のうちの少なくとも1つであり、評価部108は、複数の駆動部における実測値の合計又は実測値のピーク値がより小さいほど、より大きくなるように評価値を決定し、類似度算出部110は、2つの制御値候補間で対応する制御値の候補同士の差の絶対値の総和の逆数として類似度を算出し、実機制御部102は、複数の制御値候補に含まれる任意の2つの制御値候補間の類似度が、事前に定められた閾値未満となるように複数の制御値候補を決定し、制御値決定部108は、評価記憶部112に記憶されている複数の評価値のうち、最も大きな評価値に対応する制御値候補を、制御値の組として採用するよう決定してもよい。   More specifically, the control value is a value corresponding to at least one of the drive time, drive distance, drive speed, drive acceleration, and position of the drive unit, and the actually measured value is the current value, power, and , And the evaluation unit 108 determines the evaluation value so that the smaller the sum of the actual measurement values or the peak value of the actual measurement values in the plurality of drive units, the greater the similarity. The calculation unit 110 calculates the similarity as the reciprocal of the sum of the absolute values of the differences between the corresponding control value candidates between the two control value candidates, and the real machine control unit 102 is an arbitrary number included in the plurality of control value candidates. A plurality of control value candidates are determined such that the degree of similarity between the two control value candidates is less than a predetermined threshold, and the control value determination unit 108 includes a plurality of control value candidates stored in the evaluation storage unit 112. Corresponds to the largest of the evaluation values That the control value candidate may be determined to adopt as a set of control values.

一般に、既に評価値を取得した制御値候補と類似する制御値候補については、実機200を用いて評価をしても、既に取得した評価値と大差のない評価値が得られる場合が多いと考えられる。よって、実機制御部102は、実機200で評価する制御値候補を、既に評価した制御値候補と所定の閾値以上異なる制御値候補に限定することで、実機200による無駄な評価回数を削減することができる。その結果、ロボットの運動方法決定装置100が最終的な制御値の組を決定するまでに要する時間を削減することができる。   In general, for control value candidates that are similar to control value candidates that have already acquired evaluation values, evaluation values that are not significantly different from evaluation values that have already been acquired are often obtained even when evaluation is performed using the actual device 200. It is done. Therefore, the real machine control unit 102 reduces the number of useless evaluations by the real machine 200 by limiting the control value candidates evaluated by the real machine 200 to control value candidates that differ from the already evaluated control value candidates by a predetermined threshold or more. Can do. As a result, the time required for the robot motion method determination apparatus 100 to determine the final set of control values can be reduced.

次に、本実施の形態に係るロボットの運動方法決定装置100を用いて、実際にロボットの軌道を決定した場合の検証結果について述べる。   Next, a verification result when the robot trajectory is actually determined using the robot motion method determination device 100 according to the present embodiment will be described.

図11は、実機200の一例として検証で使用した6自由度垂直多関節型ロボットの外観図である。   FIG. 11 is an external view of a six-degree-of-freedom vertical articulated robot used in verification as an example of the actual machine 200.

検証では、図11に示されるロボットのハンド部分204を、第1の位置から、第2の位置まで移動させる際の軌道の最適化を行った。その際の評価関数は、実機200の関節を駆動するモータを流れる電流のピーク値が、より小さいほど、より高い評価となるように定めた。   In the verification, the trajectory was optimized when the hand portion 204 of the robot shown in FIG. 11 was moved from the first position to the second position. The evaluation function at that time was determined such that the smaller the peak value of the current flowing through the motor that drives the joint of the actual machine 200, the higher the evaluation.

図12は、本実施の形態に係るロボットの運動方法決定装置100により最適化された軌道752と、標準軌道750とで、ロボットを駆動させた際の、ロボットを駆動するモータの電流値を比較した結果の一例を示す図である。   FIG. 12 compares the current values of the motor that drives the robot when the robot is driven on the trajectory 752 optimized by the robot motion method determining apparatus 100 according to the present embodiment and the standard trajectory 750. It is a figure which shows an example of the result obtained.

ここで、標準軌道750とは、軌道を最適化する前のロボットの軌道として、もっとも頻度が高いと考えられる軌道であり、具体的には以下のように定めた。標準軌道750の開始位置は、実機200の可動領域の中央とした。また、実機200は、あらかじめ速度変化パターンが標準搭載されており、この標準搭載された変化パターンを、第1の位置から第2の位置への移動に用いる制御値の組として使用した。   Here, the standard trajectory 750 is the trajectory considered to be the most frequent as the trajectory of the robot before the trajectory is optimized. Specifically, the standard trajectory 750 is determined as follows. The starting position of the standard track 750 is the center of the movable area of the actual machine 200. In addition, the actual machine 200 is pre-installed with a speed change pattern as a standard, and the standard-mounted change pattern is used as a set of control values used for movement from the first position to the second position.

図12に示されるように、本実施の形態に係るロボットの運動方法決定装置100を用いて決定された軌道752は、軌道750と比較し、電流ピーク値が20%ほど低減されている。   As shown in FIG. 12, the trajectory 752 determined using the robot motion method determination device 100 according to the present embodiment has a current peak value reduced by about 20% compared to the trajectory 750.

また、本実施の形態に係るロボットの運動方法決定装置100は、数十回の繰り返し回数で、上記電流ピーク値の低減効果が得られる軌道を決定することが可能であった。この回数は、実機200を用いて評価する際に、実用上問題のない回数といえる。   In addition, the robot motion method determination device 100 according to the present embodiment can determine a trajectory that can obtain the effect of reducing the current peak value by repeating several tens of times. This number of times can be said to be a number of practically no problem when the evaluation is performed using the actual machine 200.

なお、前述した実施の形態1及び2において、ロボットの運動方法決定装置100が備える評価部106は、1台の実機200から実測値を取得し、その評価を行った。しかし、実機200が複数台ある場合には、複数台の実機200から実測値を取得し、その評価を行ってもよい。その際には、評価部106は、複数の実測値の平均値、中央値、最大値、最小値等を、対応する制御値候補の評価値の決定に使用することが考えられる。   In the first and second embodiments described above, the evaluation unit 106 included in the robot motion method determination device 100 acquires an actual measurement value from one actual machine 200 and performs the evaluation. However, when there are a plurality of actual machines 200, actual measurement values may be acquired from the plurality of actual machines 200 and evaluated. In that case, it is conceivable that the evaluation unit 106 uses an average value, median value, maximum value, minimum value, etc. of a plurality of actually measured values for determining an evaluation value of a corresponding control value candidate.

また、ひとつの実機200を用いて決定した制御値を、同じ目的で使用する他の複数の実機200に適用することもできる。これにより、他の同機種のロボットに対しては探索を行わずに電力などが抑制されるため、非常に効率的に、多数のロボットの運動方法を決定することができる。   In addition, a control value determined using one real machine 200 can be applied to a plurality of other real machines 200 used for the same purpose. As a result, power and the like are suppressed without performing a search for other robots of the same model, so that it is possible to determine a number of robot movement methods very efficiently.

なお、実施の形態1に係るロボットの運動方法決定装置100は、必ずしも評価記憶部112を備えずともよい。例えば、実機200へ送信した制御値候補に対応する評価値が、事前に定められた閾値を初めて超えた場合に、制御値決定部108は、その制御値候補を制御値の組として採用するよう決定してもよい。この場合、ロボットの運動方法決定装置100は、評価記憶部112を備えずとも、同様の発明の効果を奏することができる。   Note that the robot motion method determination device 100 according to Embodiment 1 does not necessarily include the evaluation storage unit 112. For example, when an evaluation value corresponding to a control value candidate transmitted to the actual device 200 exceeds a predetermined threshold value for the first time, the control value determination unit 108 adopts the control value candidate as a set of control values. You may decide. In this case, the robot motion method determination device 100 can achieve the same effects of the invention without the evaluation storage unit 112.

なお、実施の形態2に係る類似度算出部110は、差の絶対値に代わり、2乗誤差を用いて類似度を算出してもよい。また、各々の制御値が事前に定められた範囲に含まれているか否かで類似度を算出してもよい。例えば、各々の設計パラメタの制御値が、事前に定められた範囲に含まれていれば類似度に1を加算し、含まれていなければ1を減算する処理を、制御値候補に含まれる全ての設計パラメタについて行うことで類似度を算出してもよい。   Note that the similarity calculation unit 110 according to Embodiment 2 may calculate the similarity using a square error instead of the absolute value of the difference. Further, the similarity may be calculated depending on whether or not each control value is included in a predetermined range. For example, if the control value of each design parameter is included in a predetermined range, 1 is added to the similarity, and if it is not included, 1 is subtracted. The similarity may be calculated by performing the design parameters.

なお、実施の形態に係る類似度算出部110は、制御値候補1つにつき1つの類似度を算出する代わりに、制御値候補に含まれる設計パラメタごとに類似度を算出してもよい。この場合、実施の形態2に係る実機制御部102は、少なくとも1つの設計パラメタについて、類似度が事前に定められた閾値以上であれば、2つの制御値候補は類似すると判定してもよい。   Note that the similarity calculation unit 110 according to the embodiment may calculate the similarity for each design parameter included in the control value candidate instead of calculating one similarity for each control value candidate. In this case, the actual machine control unit 102 according to Embodiment 2 may determine that two control value candidates are similar if the similarity is equal to or greater than a predetermined threshold for at least one design parameter.

また、実施の形態2に係る実機制御部102は、図9に示されるステップS110でYesの場合、既に評価した制御値候補と類似する制御値候補の全てを破棄する代わりに、評価値が事前に定められた評価基準値未満である制御値候補に限り破棄するとしてもよい。   In addition, in the case of Yes in step S110 illustrated in FIG. 9, the real machine control unit 102 according to the second embodiment uses an evaluation value in advance instead of discarding all control value candidates similar to the already evaluated control value candidates. Only the control value candidates that are less than the evaluation reference value defined in (1) may be discarded.

一般に、既になされた評価の結果、評価が悪い制御値候補と類似する制御値候補は、やはり悪い評価となることが予想される。一方、評価がよい制御値候補と類似する制御値候補であれば、その軌道に類似する軌道のなかに、最適な軌道が含まれていることが期待できる。よって、実施の形態2に係る実機制御部102は、複数の制御値候補に含まれる任意の2つの制御値候補のうち、一方の制御値候補に対応する評価値が、事前に定められた評価基準値未満である場合に限り、一方の制御値候補と、他方の制御値候補とが、事前に定められた閾値が示す類似性よりも類似しないように、複数の制御値候補を決定するとしてもよい。   In general, as a result of the evaluation that has already been made, a control value candidate that is similar to a control value candidate that is poorly evaluated is expected to have a poor evaluation. On the other hand, if the control value candidate is similar to the control value candidate with good evaluation, it can be expected that the optimal trajectory is included in the trajectory similar to the trajectory. Therefore, the actual machine control unit 102 according to the second embodiment has an evaluation value in which an evaluation value corresponding to one control value candidate is determined in advance among any two control value candidates included in the plurality of control value candidates. Only when it is less than the reference value, a plurality of control value candidates are determined so that one control value candidate and the other control value candidate are not similar to the similarity indicated by a predetermined threshold. Also good.

例えば、類似度算出部110が、2つの制御値候補が類似するほど、より大きな類似度を算出する場合には、実施の形態2に係る実機制御部102は、複数の制御値候補に含まれる任意の2つの制御値候補のうち、一方の制御値候補に対応する評価値が、事前に定められた評価基準値未満である場合に限り、一方の制御値候補と、他方の制御値候補との類似度が、事前に定められた閾値未満となるように、複数の制御値候補を決定するとしてもよい。   For example, when the similarity calculation unit 110 calculates a larger similarity as the two control value candidates are similar, the actual machine control unit 102 according to the second embodiment is included in the plurality of control value candidates. Of the two arbitrary control value candidates, only when the evaluation value corresponding to one control value candidate is less than a predetermined evaluation reference value, one control value candidate and the other control value candidate A plurality of control value candidates may be determined such that the similarity is less than a predetermined threshold.

なお、本実施の形態に係る実機制御部102は、最適な制御値候補の探索アルゴリズムとしてSHAを使用したが、実機制御部102が使用する探索アルゴリズムはこれに限られない。例えば、焼きなまし法やタブーサーチのように広く知られている他の発見的(確率的)な探索アルゴリズムを使用してもよい。   In addition, although the actual machine control unit 102 according to the present embodiment uses SHA as a search algorithm for an optimal control value candidate, the search algorithm used by the actual machine control unit 102 is not limited to this. For example, other well-known heuristic search algorithms such as annealing and tabu search may be used.

また、実機制御部102は、各々の制御値をランダムに決定することで制御値候補を生成してもよい。この場合であっても、実機制御部102は、類似する制御値候補を破棄することで、過剰な繰り返し回数を実行せずに、発明の効果を奏することができる。ただし、上記のSHA等の探索アルゴリズムを使用する場合と比較し、最適値へ収束するまでの繰り返し回数は増加すると考えられる。   The actual machine control unit 102 may generate control value candidates by randomly determining each control value. Even in this case, the actual machine control unit 102 can achieve the effects of the invention by discarding similar control value candidates without executing an excessive number of repetitions. However, it is considered that the number of iterations until convergence to the optimum value is increased as compared with the case of using the search algorithm such as the above SHA.

なお、本実施の形態における閾値との比較処理において、「以上」という判断は「超えて」と判断してもよく、「以下」という判断は「未満」と判断してもよい。また、その逆に、「超えて」という判断を「以上」と判断してもよく、「未満」という判断を「以下」と判断してもよい。   In the comparison process with the threshold value in the present embodiment, the determination “above” may be determined as “beyond”, and the determination “below” may be determined as “less than”. Conversely, the determination “over” may be determined as “over”, and the determination “under” may be determined as “under”.

なお、本実施の形態で説明したロボットの運動方法決定装置100は、コンピュータにより実現することも可能である。図13は、ロボットの運動方法決定装置100を実現するコンピュータシステムのハードウェア構成を示すブロック図である。   Note that the robot motion method determination device 100 described in this embodiment can also be realized by a computer. FIG. 13 is a block diagram illustrating a hardware configuration of a computer system that implements the robot motion method determining apparatus 100.

図13を参照して、ロボットの運動方法決定装置100は、コンピュータ34と、コンピュータ34に指示を与えるためのキーボード36及びマウス38と、コンピュータ34の演算結果等の情報を提示するためのディスプレイ32と、コンピュータ34で実行されるプログラムを読み取るためのCD−ROM(Compact Disc-Read Only Memory)装置40及び通信モデム(図示せず)とを含む。   Referring to FIG. 13, robot movement method determining apparatus 100 includes a computer 34, a keyboard 36 and mouse 38 for giving instructions to computer 34, and a display 32 for presenting information such as the calculation results of computer 34. And a CD-ROM (Compact Disc-Read Only Memory) device 40 for reading a program executed by the computer 34 and a communication modem (not shown).

ロボットの運動方法決定装置100が行う処理であるプログラムは、コンピュータで読み取り可能な媒体であるCD−ROM42に記憶され、CD−ROM装置40で読み取られる。又は、コンピュータネットワークを通じて通信モデム52で読み取られる。   A program, which is a process performed by the robot movement method determination device 100, is stored in the CD-ROM 42, which is a computer-readable medium, and is read by the CD-ROM device 40. Alternatively, the data is read by the communication modem 52 through a computer network.

コンピュータ34は、CPU(Central Processing Unit)44と、ROM(Read Only Memory)46と、RAM(Random Access Memory)48と、ハードディスク50と、通信モデム52と、バス54とを含む。   The computer 34 includes a CPU (Central Processing Unit) 44, a ROM (Read Only Memory) 46, a RAM (Random Access Memory) 48, a hard disk 50, a communication modem 52, and a bus 54.

CPU44は、CD−ROM装置40又は通信モデム52を介して読み取られたプログラムを実行する。ROM46は、コンピュータ34の動作に必要なプログラムやデータを記憶する。RAM48は、プログラム実行時のパラメタなどのデータを記憶する。ハードディスク50は、プログラムやデータなどを記憶する。通信モデム52は、コンピュータネットワークを介して他のコンピュータとの通信を行う。バス54は、CPU44、ROM46、RAM48、ハードディスク50、通信モデム52、ディスプレイ32、キーボード36、マウス38及びCD−ROM装置40を相互に接続する。   The CPU 44 executes a program read via the CD-ROM device 40 or the communication modem 52. The ROM 46 stores programs and data necessary for the operation of the computer 34. The RAM 48 stores data such as parameters at the time of program execution. The hard disk 50 stores programs and data. The communication modem 52 communicates with other computers via a computer network. The bus 54 connects the CPU 44, the ROM 46, the RAM 48, the hard disk 50, the communication modem 52, the display 32, the keyboard 36, the mouse 38, and the CD-ROM device 40 to each other.

さらに、上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integrated Circuit:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。   Furthermore, some or all of the constituent elements constituting each of the above-described devices may be configured by a single system LSI (Large Scale Integrated Circuit). The system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, a computer system including a microprocessor, ROM, RAM, and the like. . A computer program is stored in the RAM. The system LSI achieves its functions by the microprocessor operating according to the computer program.

さらにまた、上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。ICカード又はモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカード又はモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカード又はモジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。   Furthermore, some or all of the constituent elements constituting each of the above-described devices may be configured from an IC card that can be attached to and detached from each device or a single module. The IC card or module is a computer system that includes a microprocessor, ROM, RAM, and the like. The IC card or the module may include the super multifunctional LSI described above. The IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.

また、本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。   Further, the present invention may be the method described above. Further, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal composed of the computer program.

さらに、本発明は、上記コンピュータプログラム又は上記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu-ray Disc(登録商標))、USBメモリ、SDカードなどのメモリカード、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている上記デジタル信号であるとしてもよい。   Furthermore, the present invention provides a computer-readable recording medium such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray Disc). (Registered trademark)), a memory card such as a USB memory or an SD card, or a semiconductor memory. Further, the digital signal may be recorded on these recording media.

また、本発明は、上記コンピュータプログラム又は上記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。   Further, the present invention may transmit the computer program or the digital signal via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like.

また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしてもよい。   The present invention may be a computer system including a microprocessor and a memory, wherein the memory stores the computer program, and the microprocessor operates according to the computer program.

また、上記プログラム又は上記デジタル信号を上記記録媒体に記録して移送することにより、又は上記プログラム又は上記デジタル信号を、上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。   In addition, the program or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like and executed by another independent computer system. You may do that.

さらに、上記実施の形態及びその変形例をそれぞれ組み合わせるとしてもよい。   Furthermore, the above embodiment and its modifications may be combined.

今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本発明は、ロボットの運動方法決定装置に適用でき、特にロボットを事前に定められた第1の位置から第2の位置へ移動させるための運動方法を決定するロボットの運動方法決定装置等に適用できる。   The present invention can be applied to a robot motion method determination device, and in particular, to a robot motion method determination device that determines a motion method for moving a robot from a predetermined first position to a second position. it can.

32 ディスプレイ
34 コンピュータ
36 キーボード
38 マウス
40 CD−ROM装置
42 CD−ROM
44 CPU
46 ROM
48 RAM
50 ハードディスク
52 通信モデム
54 バス
100 ロボットの運動方法決定装置
102 実機制御部
104 実測値取得部
106 評価部
108 制御値決定部
110 類似度算出部
112 評価記憶部
200 実機
202 計測装置
550 発見的手法
552、750、752 軌道
702、704、706、708、710、712 探索範囲
900 計算機
902 動力学モデル
904 発見的手法
906 軌道
32 Display 34 Computer 36 Keyboard 38 Mouse 40 CD-ROM device 42 CD-ROM
44 CPU
46 ROM
48 RAM
50 Hard Disk 52 Communication Modem 54 Bus 100 Robot Motion Method Determination Device 102 Actual Machine Control Unit 104 Actual Value Acquisition Unit 106 Evaluation Unit 108 Control Value Determination Unit 110 Similarity Calculation Unit 112 Evaluation Storage Unit 200 Actual Machine 202 Measurement Device 550 Heuristic Method 552 , 750, 752 Trajectory 702, 704, 706, 708, 710, 712 Search range 900 Computer 902 Dynamic model 904 Heuristic method 906 Trajectory

Claims (9)

ロボットを事前に定められた第1の位置から第2の位置へ移動させるための運動方法を決定するロボットの運動方法決定装置であって、
前記ロボットが前記第1の位置から前記第2の位置へ移動するように、前記ロボットが備える複数の駆動部を制御するための制御値の候補の組である制御値候補を決定し、決定した前記制御値候補を前記ロボットに送信する実機制御部と、
前記制御値候補によって制御されている前記複数の駆動部の駆動状態を示す物理量である実測値を取得する実測値取得部と、
前記実測値から、前記実測値に対応する前記制御値候補の評価値を決定する評価部と、
前記評価値に基づいて、前記制御値候補を、前記ロボットの運動方法を決定するための前記制御値の組として採用するか否かを決定する制御値決定部とを備える
ロボットの運動方法決定装置。
An apparatus for determining a movement method of a robot for determining a movement method for moving a robot from a predetermined first position to a second position,
A control value candidate that is a set of control value candidates for controlling a plurality of drive units included in the robot is determined and determined so that the robot moves from the first position to the second position. An actual machine control unit that transmits the control value candidates to the robot;
An actual measurement value acquisition unit that acquires an actual measurement value that is a physical quantity indicating a drive state of the plurality of drive units controlled by the control value candidate;
An evaluation unit that determines an evaluation value of the control value candidate corresponding to the actual measurement value from the actual measurement value;
And a control value determining unit that determines whether or not to adopt the control value candidate as the set of control values for determining the robot motion method based on the evaluation value. .
さらに、評価記憶部を備え、
前記実機制御部は、互いに異なる複数の前記制御値候補を決定し、
前記評価部は、前記複数の制御値候補の各々を、当該制御値候補の評価値と対応付けて前記評価記憶部に記憶させ、
前記制御値決定部は、前記評価記憶部に記憶されている複数の前記評価値のうち、最も評価がよい評価値に対応する前記制御値候補を、前記制御値の組として採用するよう決定する
請求項1に記載のロボットの運動方法決定装置。
Furthermore, an evaluation storage unit is provided,
The actual machine control unit determines a plurality of control value candidates different from each other,
The evaluation unit stores each of the plurality of control value candidates in the evaluation storage unit in association with the evaluation value of the control value candidate,
The control value determination unit determines to adopt the control value candidate corresponding to the evaluation value with the highest evaluation among the plurality of evaluation values stored in the evaluation storage unit as the set of control values. The robot motion method determination device according to claim 1.
さらに、2つの前記制御値候補間の類似度を算出する類似度算出部を備え、
前記実機制御部は、前記複数の制御値候補に含まれる任意の2つの制御値候補間の類似度が、事前に定められた類似度の閾値が示す類似性よりも類似しないように前記複数の制御値候補を決定する
請求項2に記載のロボットの運動方法決定装置。
Furthermore, a similarity calculation unit that calculates the similarity between the two control value candidates is provided,
The actual machine control unit is configured to prevent the similarity between any two control value candidates included in the plurality of control value candidates from being similar to the similarity indicated by a predetermined similarity threshold. The robot motion method determining apparatus according to claim 2, wherein control value candidates are determined.
前記制御値は、前記駆動部の駆動時間、駆動距離、駆動速度、駆動加速度、及び、位置のうち少なくとも1つに対応する値であり、
前記実測値は、電流値、電力、及び、電力量のうちの少なくとも1つであり、
前記評価部は、前記複数の駆動部における前記実測値の合計又は前記実測値のピーク値がより小さいほど、より大きくなるように評価値を決定し、
前記類似度算出部は、前記2つの制御値候補間で対応する前記制御値の候補同士の差の絶対値の総和の逆数として前記類似度を算出し、
前記実機制御部は、前記複数の制御値候補に含まれる任意の2つの制御値候補間の前記類似度が、事前に定められた閾値未満となるように前記複数の制御値候補を決定し、
前記制御値決定部は、前記評価記憶部に記憶されている複数の前記評価値のうち、最も大きな評価値に対応する前記制御値候補を、前記制御値の組として採用するよう決定する
請求項3に記載のロボットの運動方法決定装置。
The control value is a value corresponding to at least one of a driving time, a driving distance, a driving speed, a driving acceleration, and a position of the driving unit,
The actual measurement value is at least one of a current value, electric power, and electric energy,
The evaluation unit determines the evaluation value to be larger as the sum of the actual measurement values or the peak value of the actual measurement values in the plurality of driving units is smaller,
The similarity calculation unit calculates the similarity as a reciprocal of the sum of absolute values of differences between the control value candidates corresponding to the two control value candidates;
The actual machine control unit determines the plurality of control value candidates such that the similarity between any two control value candidates included in the plurality of control value candidates is less than a predetermined threshold;
The control value determination unit determines to adopt, as the set of control values, the control value candidate corresponding to the largest evaluation value among the plurality of evaluation values stored in the evaluation storage unit. 4. The robot motion method determination device according to 3.
前記実機制御部は、前記複数の制御値候補に含まれる任意の2つの制御値候補のうち、一方の制御値候補に対応する評価値が、事前に定められた評価基準値未満である場合には、前記一方の制御値候補と、他方の制御値候補とが、事前に定められた閾値が示す類似性よりも類似しないように、前記複数の制御値候補を決定する
請求項3に記載のロボットの運動方法決定装置。
The actual machine control unit, when an evaluation value corresponding to one control value candidate among any two control value candidates included in the plurality of control value candidates is less than a predetermined evaluation reference value The plurality of control value candidates are determined such that the one control value candidate and the other control value candidate are not similar to the similarity indicated by a predetermined threshold value. Robot movement method determination device.
ロボットを事前に定められた第1の位置から第2の位置へ移動させるための運動方法を決定するロボットの運動方法決定方法であって、
前記ロボットが前記第1の位置から前記第2の位置へ移動するように、前記ロボットが備える複数の駆動部を制御するための制御値の候補の組である制御値候補を決定し、決定した前記制御値候補を前記ロボットに送信する実機制御ステップと、
前記制御値候補によって制御されている前記複数の駆動部の駆動状態を示す物理量である実測値を取得する実測値取得ステップと、
前記実測値から、前記実測値に対応する前記制御値候補の評価値を決定する評価ステップと、
前記評価値に基づいて、前記制御値候補を、前記ロボットの運動方法を決定するための前記制御値の組として採用するか否かを決定する制御値決定ステップとを含む
ロボットの運動方法決定方法。
A method for determining a movement method of a robot for determining a movement method for moving the robot from a predetermined first position to a second position,
A control value candidate that is a set of control value candidates for controlling a plurality of drive units included in the robot is determined and determined so that the robot moves from the first position to the second position. An actual machine control step of transmitting the control value candidates to the robot;
An actual value acquisition step of acquiring an actual value that is a physical quantity indicating a driving state of the plurality of driving units controlled by the control value candidate;
An evaluation step for determining an evaluation value of the control value candidate corresponding to the actual measurement value from the actual measurement value;
A control value determining step for determining whether to adopt the control value candidate as the set of control values for determining the robot motion method based on the evaluation value. .
請求項6に記載のロボットの運動方法決定方法をコンピュータに実行させる
プログラム。
A program for causing a computer to execute the method for determining the movement method of the robot according to claim 6.
請求項7に記載のプログラムを記録した
コンピュータ読み取り可能な記録媒体。
A computer-readable recording medium on which the program according to claim 7 is recorded.
ロボットを事前に定められた第1の位置から第2の位置へ移動させるための運動方法を決定する集積回路であって、
前記ロボットが前記第1の位置から前記第2の位置へ移動するように、前記ロボットが備える複数の駆動部を制御するための制御値の候補の組である制御値候補を決定し、決定した前記制御値候補を前記ロボットに送信する実機制御部と、
前記制御値候補によって制御されている前記複数の駆動部の駆動状態を示す物理量である実測値を取得する実測値取得部と、
前記実測値から、前記実測値に対応する前記制御値候補の評価値を決定する評価部と、
前記評価値に基づいて、前記制御値候補を、前記ロボットの運動方法を決定するための前記制御値の組として採用するか否かを決定する制御値決定部とを備える
集積回路。
An integrated circuit for determining a motion method for moving a robot from a predetermined first position to a second position, comprising:
A control value candidate that is a set of control value candidates for controlling a plurality of drive units included in the robot is determined and determined so that the robot moves from the first position to the second position. An actual machine control unit that transmits the control value candidates to the robot;
An actual measurement value acquisition unit that acquires an actual measurement value that is a physical quantity indicating a drive state of the plurality of drive units controlled by the control value candidate;
An evaluation unit that determines an evaluation value of the control value candidate corresponding to the actual measurement value from the actual measurement value;
An integrated circuit comprising: a control value determining unit that determines whether or not to adopt the control value candidate as a set of control values for determining a motion method of the robot based on the evaluation value;
JP2011021107A 2011-02-02 2011-02-02 Robot motion method determination device, robot motion method determination method, and program thereof Active JP5828539B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011021107A JP5828539B2 (en) 2011-02-02 2011-02-02 Robot motion method determination device, robot motion method determination method, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011021107A JP5828539B2 (en) 2011-02-02 2011-02-02 Robot motion method determination device, robot motion method determination method, and program thereof

Publications (2)

Publication Number Publication Date
JP2012157965A true JP2012157965A (en) 2012-08-23
JP5828539B2 JP5828539B2 (en) 2015-12-09

Family

ID=46838929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011021107A Active JP5828539B2 (en) 2011-02-02 2011-02-02 Robot motion method determination device, robot motion method determination method, and program thereof

Country Status (1)

Country Link
JP (1) JP5828539B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104875203A (en) * 2014-02-27 2015-09-02 发那科株式会社 Robot simulation device for generating motion path of robot
JP2016042748A (en) * 2014-08-14 2016-03-31 株式会社Ihi Energy management system and power demand plan optimization method
US9925664B2 (en) 2014-02-27 2018-03-27 Fanuc Corporation Robot simulation device for generation motion path of robot
JP2018097810A (en) * 2016-12-16 2018-06-21 ファナック株式会社 Machine learning device for learning operations of robot and laser scanner, robot system and machine learning method
KR20180083052A (en) * 2017-01-12 2018-07-20 한국기계연구원 Method for deriving optimum structure of modular robot

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312755A (en) * 2001-04-18 2002-10-25 Fuji Heavy Ind Ltd Optimization system using genetic algorithm, controller, optimization method, program and recording medium
JP2004148492A (en) * 2002-10-11 2004-05-27 Sony Corp Motion editing device and motion editing method for the robotic device, robotic device and control method therefor, and computer program
JP2006262198A (en) * 2005-03-17 2006-09-28 Fujitsu Ltd Moving picture compressing and encoding device
JP2007173907A (en) * 2005-12-19 2007-07-05 Nippon Telegr & Teleph Corp <Ntt> Abnormal traffic detection method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312755A (en) * 2001-04-18 2002-10-25 Fuji Heavy Ind Ltd Optimization system using genetic algorithm, controller, optimization method, program and recording medium
JP2004148492A (en) * 2002-10-11 2004-05-27 Sony Corp Motion editing device and motion editing method for the robotic device, robotic device and control method therefor, and computer program
JP2006262198A (en) * 2005-03-17 2006-09-28 Fujitsu Ltd Moving picture compressing and encoding device
JP2007173907A (en) * 2005-12-19 2007-07-05 Nippon Telegr & Teleph Corp <Ntt> Abnormal traffic detection method and device

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6014046029; 林 俊孝、立矢 宏、三浦 由理江: '発見的手法によるマニピュレータの軌道生成' 機素潤滑設計部門講演会講演論文集 , 20020418, pp.125-128, 一般社団法人日本機械学会 *
JPN6014046032; 林 道大、立矢 宏、浅川 直紀: '発見的手法を用いた多自由度マニピュレータの軌道決定 : 鋼板搬送用マニピュレータの動的トルク抑制の実現' 日本機械学會論文集. C編 , 20090225, pp.262-269, 一般社団法人日本機械学会 *
JPN6014046034; 林 道大、立矢 宏、浅川 直紀、松原 豊: '発見的手法によるマニピュレータの省力化駆動(PTP制御の場合)' 第6回生産加工・工作機械部門講演会講演論文集 , 20061124, pp.121-122 *
JPN6014046036; 立矢 宏、伊谷 英之、林 道大、伊賀 裕和、樋口 理宏: '産業用ロボットのCP制御における動力学モデルを用いない最適軌道生成' 日本機械学會論文集. C編 79巻 805号, 201309, pp.3075-3087, 一般社団法人日本機械学会 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104875203A (en) * 2014-02-27 2015-09-02 发那科株式会社 Robot simulation device for generating motion path of robot
JP2015160277A (en) * 2014-02-27 2015-09-07 ファナック株式会社 Robot simulation device for creating motion path of robot
US9573273B2 (en) 2014-02-27 2017-02-21 Fanuc Corporation Robot simulation device for generating motion path of robot
US9925664B2 (en) 2014-02-27 2018-03-27 Fanuc Corporation Robot simulation device for generation motion path of robot
JP2016042748A (en) * 2014-08-14 2016-03-31 株式会社Ihi Energy management system and power demand plan optimization method
JP2018097810A (en) * 2016-12-16 2018-06-21 ファナック株式会社 Machine learning device for learning operations of robot and laser scanner, robot system and machine learning method
US10780577B2 (en) 2016-12-16 2020-09-22 Fanuc Corporation Machine learning device, robot system, and machine learning method for learning operations of robot and laser scanner
KR20180083052A (en) * 2017-01-12 2018-07-20 한국기계연구원 Method for deriving optimum structure of modular robot

Also Published As

Publication number Publication date
JP5828539B2 (en) 2015-12-09

Similar Documents

Publication Publication Date Title
JP5828539B2 (en) Robot motion method determination device, robot motion method determination method, and program thereof
JP5282493B2 (en) Optimal solution relation display device, method, and program
US9104203B2 (en) Robot and method for planning path of the same
CN110598867B (en) Quantum state information conversion method
EP2828044A1 (en) Trajectory generation device, moving object, trajectory generation method
JP2003108972A (en) Optimum fitting parameter determination method and device therefor, and optimum fitting parameter determination program
CN110942151B (en) Quantum state chromatography method and device
KR101234797B1 (en) Robot and method for localization of the robot using calculated covariance
Boscariol et al. Planning continuous-jerk trajectories for industrial manipulators
US20210081809A1 (en) Optimization apparatus, optimization program, and optimization method
JP2018077547A (en) Parallel processing apparatus, parallel processing method, and parallelization processing program
Luo et al. Balance between efficient and effective learning: Dense2sparse reward shaping for robot manipulation with environment uncertainty
US11514135B2 (en) Optimization apparatus, temperature setting method, and non-transitory computer-readable storage medium
CN110275489A (en) Data time series analysis device
JP2003288579A (en) Method and apparatus for optimum fitting parameter determination, and optimum fitting parameter determining program
KR102645576B1 (en) Method of simulating quantum computing system and quantum computing simulation system
US8726100B2 (en) Non-transitory computer-readable recording medium in which a failure analyzing program is recorded, failure analyzing apparatus, and method for analyzing failure
CN116052759A (en) Hamiltonian volume construction method and related device
CN113031510B (en) B-spline curve calculation acceleration method for complex multi-axis system
JP2021192139A (en) Information processing apparatus, information processing method, program, and information processing system
JP6999207B1 (en) Data analysis method, data analysis device, and data analysis program
US20230267165A1 (en) Computer-readable recording medium storing data processing program, data processing device, and data processing method
JP5595070B2 (en) CAD data transmission method, CAD data reception method, CAD data transmission device, CAD data reception device, CAD data transmission program, CAD data reception program, and data structure
JP2019096977A (en) Visualization method, visualization device and visualization program
Kormushev et al. Time manipulation technique for speeding up reinforcement learning in simulations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150911

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151016

R150 Certificate of patent or registration of utility model

Ref document number: 5828539

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250