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 PDFInfo
- 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
Links
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
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.
しかしながら、従来のシミュレーションを用いる方法では、対象ロボットの動力学モデルを知る必要があるが、一般に、これを知ることは極めて困難である。 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
この手法では、評価値を得るためには、計算機900がその内部に、対象とするロボットの動力学モデル902を数式として有していることが不可欠となる。
In this method, in order to obtain an evaluation value, it is indispensable that the
図15は、関連技術に係るロボットの動力学モデル902の具体例を示す図である。
FIG. 15 is a diagram illustrating a specific example of a robot
図15に示されるように、ロボットの動力学モデル902は、例えば、ジョイントA〜ジョイントCの各ジョイントの運動状態を決定するパラメタ、リンクB及びリンクCのリンク長、質量及び重心位置、並びに、軸受け、減速機及びアクチュエータの効率など、対象ロボットの多様なパラメタを含む。シミュレーションを行うには、これらのパラメタを高い精度で事前に決定することが必要である。
As shown in FIG. 15, the robot
しかし、市販されている産業用ロボットの多くは、これらパラメタの値、又は、動力学モデルが有するパラメタそのものが不明であり、同手法を適用できない。そのため、ロボットのユーザが、動力学モデルを用いたシミュレーションによりロボットの軌道を最適化することは、極めて困難であるという課題がある。 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
本発明の他の局面に係るロボットの運動方法決定装置は、さらに、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.
以下、本発明に係るロボットの運動方法決定装置の実施の形態について、図面を参照しながら詳細に説明する。 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
図1に示されるように、本実施の形態に係るロボットの運動方法決定装置100は、対象とするロボットの動力学モデルを有していない。その代わり、ロボットの実機200との、入出力インタフェースを備える。
As shown in FIG. 1, the robot movement
具体的には、ロボットの運動方法決定装置100は、発見的手法550により実機200の制御値の候補の組(以後、制御値候補という)を決定する。実機200の制御値とは、例えば、実機200が備える複数の駆動部を制御するためのパラメタの値である。
Specifically, the robot motion
ロボットの運動方法決定装置100は、決定された制御値候補を、実機200へ送信する。
The robot motion
次に、実機200は、受信した制御値候補に従って(すなわち、軌道552で)実際に稼働する。例えば、実機200が備えるロボットアームを、第1の位置から第2の位置へと移動させる場合、ロボットアームは様々な軌道をとりうるが、軌道552はそのうちの1つである。
Next, the
また実機200は、実機200が備える複数のモータに流れる各々の電流値又は電力量等、駆動部の駆動状態を示す物理量を計測する計測装置202を備えている。この計測装置202により計測された物理量の実測値を、ロボットの運動方法決定装置100は取得する。
The
ロボットの運動方法決定装置100は、取得した実測値を事前に定められた基準(例えば、評価関数など)に従って評価する。以後、ロボットの運動方法決定装置100は、所定の条件が満たされるまで、繰り返し、発見的手法550により新たな軌道552を生成し、この軌道522を実機200に与え、実測値を取得し、評価を行う。ロボットの運動方法決定装置100は、こうして生成された複数の軌道552の中で、最も評価がよい軌道522を、最適な軌道552として決定する。
The robot motion
以上述べたように、ロボットの運動方法決定装置100は、制御値候補の評価を実機200によって行うことで、対象ロボットである実機200の動力学モデルが不明な場合であっても、ロボットの運動方法決定装置100は最適な軌道を決定することができる。
As described above, the robot motion
図2は、本発明の実施の形態に係る、ロボットの運動方法決定装置100の機能ブロックを示す図である。
FIG. 2 is a diagram showing functional blocks of the robot motion
図2に示されるように、ロボットの運動方法決定装置100は、実機制御部102と、実測値取得部104と、評価部106と、制御値決定部108と、評価記憶部112とを備える。
As illustrated in FIG. 2, the robot motion
ロボットの運動方法決定装置100は、前述のとおり、ロボットを事前に定められた第1の位置から第2の位置へ移動させるための運動方法を決定する。
As described above, the robot movement
その際に、実機制御部102は、図2において実機200として示されるロボットが第1の位置から第2の位置へ移動するように、実機200が備える複数の駆動部を制御するための制御値の候補の組である制御値候補を決定し、決定した制御値候補を実機200に送信する。
At that time, the real
ここで、制御値とは、例えば、実機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
実機制御部102は、具体的にはSHAと呼ばれる発見的手法により、制御値候補を決定する。その詳細は後述する。
Specifically, the actual
なお、実機制御部102は、1回で最適な制御値候補を決定することは困難であるため、互いに異なる複数の制御値候補を決定し、実機200により繰り返し評価を行うことが好ましい。
Note that since it is difficult for the actual
実測値取得部104は、制御値候補によって制御されている実機200が備える複数の駆動部の駆動状態を示す物理量である実測値を取得するインタフェースである。実測値とは、例えば、駆動部を流れる電流、電力及び電力量のうちの、少なくとも1つが考えられる。また、実機200について計測可能な、他の任意の物理量(例えば、実機200が備えるロボットアームの先端部の位置、加速度、駆動部の表面温度、照度、周囲音の振幅など)を実測値として用いてもよい。
The actual measurement
評価部106は、実測値取得部104が取得した実測値から、実測値に対応する制御値候補の評価値を決定する。例えば、実測値が、実機200が備える複数の駆動部各々の電力量であれば、評価部106は、その合計値を評価値として決定することが考えられる。この場合、評価値が小さいほど、消費電力が少なく、評価がよいことを示す。
The
また、いわゆるデマンドコントロールのように、消費電力のピーク値が一定値以下となるように制御することで省エネ及び省コストを図る目的では、例えば、複数の駆動部各々の電力を実測値とし、実機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
また、評価部106は、実機制御部102により決定された複数の制御値候補の各々を、その制御値候補の評価値と対応付けて、後述する評価記憶部に記憶させる。
Further, the
制御値決定部108は、評価値に基づいて、制御値候補を、実機200の運動方法を決定するための制御値の組として採用するか否かを決定する。
Based on the evaluation value, the control
具体的には、制御値決定部108は、評価記憶部に記憶されている複数の評価値のうち、最も評価がよい評価値に対応する制御値候補を、制御値の組として採用するよう決定する。より具体的には、制御値決定部108は、評価記憶部112に記憶されている複数の評価値のうち、最も大きな評価値に対応する制御値候補を、制御値の組として採用するよう決定する。
Specifically, the control
評価記憶部112は、前述のとおり、制御値候補とその評価値とを対応付けて記憶する記憶部であり、具体的には、RAM(Random Access Memory)、ROM(Read Only Memory)、SRAM(Static Random Access Memory)等で実現される。
As described above, the
次に、図3及び図4を参照して、本実施の形態に係るロボットの運動方法決定装置100が備える実機制御部102が、評価値候補を決定するために使用する発見的手法による探索アルゴリズムである、SHAについて説明する。
Next, referring to FIG. 3 and FIG. 4, a search algorithm based on a heuristic method used by actual
発見的手法による探索アルゴリズムとしては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
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
以下、具体的な設計変数行列の操作手順(以下、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
・ステップ2:実機制御部102は、設計変数行列の各列において離散値をランダムに1つ選択し、初期経路を決定する。決定された初期経路を基準経路T0とする。図3ではT0として、実線で結ばれた要素S61〜S56が選択されている。なお、以後、SHAにおける制御値候補を、p1からp6へ向かうルートに見立てて、「経路」とも表記する。
Step 2: The actual
・ステップ3:実機制御部102は、設計変数行列の1列目から順に要素選択の操作を行っていく。まず、1列目において、基準経路T0として選択されている要素の他に一定数の要素をランダムに選択する。図4(a)では白丸の要素(S41、S61、S81)が選択されている。これらの要素をLook−ahead−Base Point(LBP)と呼び、新たな設計変数の候補とする。
Step 3: The actual
・ステップ4:実機制御部102は、LBPとした各要素に続く次列の要素をランダムに選択し、図4(b)に示すように複数の経路を生成する。具体的には、S41及びS22を含む経路、S61及びS32を含む経路、S61及びS52を含む経路、並びに、S81及びS82を含む経路が生成されている。
Step 4: The actual
・ステップ5:実機制御部102は、ステップ2で決定された基準経路及びステップ4であらたに生成された複数の経路の各々を実機200により評価し、得られた評価値が最も良い制御値の組合せを新たな基準経路とする。例えば、図4(b)ではS41及びS22を含む経路が新たな基準経路T1として選択されたとする。
Step 5: The actual
以後、実機制御部102は、対象とする列を順に次列へ進め、評価値の良い経路を基準経路として更新する操作(上記ステップ3〜5)をn−1列目(図4に示される例では、第5列)まで繰り返す。例えば、図4(c)は、2列目を対象に要素選択の操作(ステップ3)を行い、基準経路T2が選択された場合を示す。
Thereafter, the real
・ステップ6:実機制御部102は、最終列(図4に示される例では、第6列)では要素選択を行わず、最終列に含まれる全ての要素を対象として離散値と同数の経路を生成し、最も評価値の良い離散値の組を基準経路として更新する。
Step 6: The actual
・ステップ7:図4(d)に示されるように、実機制御部102は、設計変数行列の最終列(第6列)を第1列へ移動させ、その他の列は次列へと移動させ設計変数行列を再構築する。得られた行列に対し以上の操作を繰り返す。なお、実機制御部102は、ステップ3〜7の操作を繰り返し、最初に1列目であった設計変数(図4に示される例では、p1)が再び1列目となった時点で、SHA処理を終了する。
Step 7: As shown in FIG. 4D, the real
ロボットの運動方法決定装置100が備える制御値決定部108は、以上のSHA処理による繰り返し操作を通じて、最も評価値がよい経路に対応する制御値候補を、実機200の運動方法を決定するための最終的な制御値の組として採用する。
The control
なお、発見的手法では乱数を用いて解を探索するため、繰り返し計算時において最適解近傍の結果が得られたとしても、同結果近傍のさらに良好な解が探索されるとは限らない。また、各設計パラメタがとり得る離散値の幅を細分割するほど、より評価関数値が良い解が得られると予想されるが、離散値の数を増やすと行数が膨大となり探索が困難となる。 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
上記絞り込み探索について、図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
ここで、予備探索が終了し、図5(a)に示されるように、p1の制御値としてv1が、p2の制御値としてv2が、p3の制御値としてv3が、実機制御部102によって決定されたとする。
Here, the preliminary search is completed, and as shown in FIG. 5A, the
この場合、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
なお、実機制御部102は、必ずしも絞り込み探索を行う必要はない。例えば、予備探索で決定された制御値の評価値が、事前に定められた基準値よりも低い場合には、各設計パラメタの探索範囲をより広げた新たな探索範囲を設定し、この範囲内を対象として再度SHAを行ってもよい。図5(c)に示される探索範囲710は、この一例である。
The actual
また、例えば予備探索によって決定された制御値が、探索範囲の中央値よりの上下いずれかに偏っている場合には、実機制御部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
以上述べた、本実施の形態における実機制御部102が行うSHAは、GAと比較して次のような利点を有する。
The SHA performed by the actual
(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
次に、図6を参照して、本実施の形態に係るロボットの運動方法決定装置100が軌道を決定する処理の手順について説明する。
Next, with reference to FIG. 6, the procedure of the process in which the robot movement
まず、実機制御部102は、例えばGUI(Graphical User Interface;図示なし)により、又は、外部ファイルを読み込むことにより、ユーザにより決定される、軌道探索のための条件を取得する。より具体的には、(1)ロボットの軌道を決定するために必要な設計パラメタ、及び、(2)設計パラメタの値である制御値がとりうる上下限値とその分割数とを取得する(S102、S104)。
First, the actual
次に、実機制御部102は、前述のSHA処理ステップ7に示されるようなSHA処理の終了条件が満たされていないと判定した場合には(S106でNo)、前述のSHA処理を実行する。
Next, when the actual
ここで、実機制御部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
次に、実機200は、送信された制御値候補に従って動作を行う(S114)。その間に、実機200が有する駆動部の駆動状態を示す物理量が計測される(S116)。例えば、実機200が有する複数のモータの各々に電力計が接続され、各モータの消費電力が計測される。なお電力計は、実機200が備えていてもよく、実機200の外部に接続されてもよい。
Next, the
こうして計測された各モータの消費電力の実測値は、ロボットの運動方法決定装置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
なお評価関数としては、前述のように、例えば実機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
以上のステップ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
次に、制御値決定部108は、基準経路に対応する最良の評価値の推移により、SHAの探索条件の再設定又はSHAによる探索処理の打ち切りを判定する(S124)。
Next, the control
ここで、探索条件の再設定とは、例えば、ステップS122において基準経路が変更される割合が事前に定められた値よりも低下した場合に、制御値決定部108が、図5(c)に示されるように、各設計パラメタの上下限の幅が広がるように探索条件を再設定するよう決定することをいう。また、ステップS122において評価値が大幅に向上した場合には、制御値決定部108は、図5(b)に示されるように、各設計パラメタの上下限の幅が狭まるように探索条件を再設定するよう決定してもよい。
Here, the resetting of the search condition means, for example, that the control
また、探索処理の打ち切りとは、例えば、ステップ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
一方、制御値決定部108は、SHAによる制御値の組の探索を継続すると判定した場合には(S126でNo)、再度、実機制御部102が行うステップS106の処理に戻る。
On the other hand, if the control
また、実機制御部102が、SHA処理ステップ7に示されるようなSHA処理の終了条件が満たされていると判定した場合には(ステップS106でYes)、実機制御部102はSHA処理を終了する。その後、制御値決定部108が、その時点で最も良好な評価値を示した制御値候補を、実機200の運動方法を決定するための制御値の組として採用するよう決定する。
In addition, when the actual
次に、本実施の形態における制御値候補の具体例について、詳細に説明する。 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
一般に、産業用ロボットのほとんどはロボットコマンドにより制御される。例えば、ロボットのハンド先端の移動速度、座標などは、次のような複数のロボットコマンドの組がロボットに送信されることで、制御される。 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
例えば、ロボットの運動方法決定装置100は、次に示すロボットコマンド内の位置指令値x、y、z、及び、速度指令値v1、v2、v3を設計パラメタとし、これらのある値の組を制御値候補として実機200へ送信することで、対応する評価値を取得する。
For example, the robot motion
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
図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
なお実際は、ロボットコントローラが指定座標間を滑らかに制御するので、速度変化は滑らかとなる。しかし、同一のロボットコマンドであれば速度変化は同一となるため、本手法を軌道の表現方法として用いることができる。 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
すなわち、本実施の形態に係るロボットの運動方法決定装置100は、ロボットである実機200を事前に定められた第1の位置から第2の位置へ移動させるための運動方法を決定するロボットの運動方法決定装置であって、ロボットが第1の位置から第2の位置へ移動するように、ロボットが備える複数の駆動部を制御するための制御値の候補の組である制御値候補を決定し、決定した制御値候補をロボットに送信する実機制御部102と、制御値候補によって制御されている複数の駆動部の駆動状態を示す物理量である実測値を取得する実測値取得部104と、実測値から、実測値に対応する制御値候補の評価値を決定する評価部106と、評価値に基づいて、制御値候補を、ロボットの運動方法を決定するための制御値の組として採用するか否かを決定する制御値決定部108とを備える。
That is, the robot motion
また、本実施の形態に係るロボットの運動方法決定装置100は、さらに、評価記憶部112を備え、実機制御部102は、互いに異なる複数の制御値候補を決定し、評価部106は、複数の制御値候補の各々を、当該制御値候補の評価値と対応付けて評価記憶部112に記憶させ、制御値決定部108は、評価記憶部112に記憶されている複数の評価値のうち、最も評価がよい評価値に対応する制御値候補を、制御値の組として採用するよう決定してもよい。
The robot motion
以上の構成によると、ロボットの運動方法決定装置100により軌道を決定するために、実機200の動力学モデルの構築が不要となる。よって、ロボットの運動方法決定装置100によれば、対象ロボットである実機200の動力学モデルが不明な場合でも、最適な軌道を決定することができる。
According to the above configuration, since the trajectory is determined by the robot motion
特に、従来は動力学モデルの構築に、実機200の製造元の協力が不可欠であったが、本実施の形態に係るロボットの運動方法決定装置100によれば、実機200のユーザ側のみで、容易に軌道の最適化が可能となる。よって、既に工場で稼働中の実機200にも容易に適用することができる。
In particular, the cooperation of the manufacturer of the
さらに、実機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
以上、本実施の形態に係るロボットの運動方法決定装置100について説明した。
The robot motion
次に、軌道決定までの、制御値の組の探索時間をより短縮することが可能な、実施の形態2にかかるロボットの運動方法決定装置100について説明する。
Next, the robot motion
(実施の形態2)
図8は、実施の形態2に係るロボットの運動方法決定装置100の機能ブロックを示す図である。なお、図2に示される実施の形態1に係るロボットの運動方法決定装置100と同様の構成部には、同じ符号を付け、詳細な説明を省略する。
(Embodiment 2)
FIG. 8 is a diagram illustrating functional blocks of the robot motion
実施の形態1に係るロボットの運動方法決定装置100との違いは、本実施の形態に係るロボットの運動方法決定装置100は、さらに、2つの制御値候補間の類似度を算出する類似度算出部110を備えている点である。
The difference from the robot motion
動力学モデル902に代わり実機200を使用して軌道の評価値を取得する場合に、実機200による評価の繰り返し回数は、実用上の大きな制約となる。
When the evaluation value of the trajectory is acquired using the
そこで、本実施の形態に係る実機制御部102は、類似度算出部110により算出される、2つの制御値候補間の類似度を用いて、実機200による評価の繰り返し回数を削減する。
Therefore, the actual
具体的には、実機制御部102は、実機200に送信される複数の制御値候補に含まれる任意の2つの制御値候補間の類似度が、事前に定められた類似度の閾値が示す類似性よりも類似しないように複数の制御値候補を決定する。なお、実機制御部102は、複数の制御値候補間のうちで、少なくとも開始位置の差が事前に定められた閾値未満となる制御値候補間に対してのみ、類似性の判断を行うとすることが好ましい。ここで、開始位置とは、制御開始時における実機200の位置であり、例えば、ハンド先端座標の初期値などである。以下詳細に述べる。
Specifically, the real
図9は、本実施の形態に係るロボットの運動方法決定装置100の処理の手順を示すフローチャートである。なお、図6と同様の処理には、同じ符号を付け、詳細な説明を省略する。
FIG. 9 is a flowchart showing a processing procedure of the robot motion
実施の形態1に係るロボットの運動方法決定装置100の処理の手順と、本実施の形態に係るロボットの運動方法決定装置100の処理の手順の主な違いは、本実施形態には、図9に示されるステップS110が加わる点である。
The main difference between the processing procedure of the robot movement
実施の形態1に係る実機制御部102と同様、本実施の形態に係る実機制御部102は、SHA処理ステップ5において、まだ評価値が定まっていない制御値候補がある場合には、実機200へ送るために、その中から1つの制御値候補を選択する(S108)。
Similar to the real
ここで、本実施の形態に係る実機制御部102は、ステップS108で選択された制御値候補と、評価記憶部112に記憶されている複数の制御値候補の各々との類似度を類似度算出部110により算出し、ステップS108で選択された制御値候補と類似する制御値候補が、評価記憶部112に既に記憶されているか否かを判定する(S110)。
Here, the actual
例えば、類似度算出部110が、2つの制御値候補がより類似するほど、より大きな値となるように類似度を算出するとすれば、類似度算出部110により算出されたいずれかの類似度が、事前に定められた閾値以上である場合(S110でYes)、実機制御部102は、ステップS108で選択された制御値候補を実機200へ送ることなく破棄する。その後、実機制御部102はステップS108の処理に戻る。また、類似度算出部110により算出されたいずれかの類似度が、事前に定められた閾値未満である場合には(S110でNo)、実機制御部102は、ステップS108で選択された制御値候補を、実機200へ送信(転送)する(S112)。
For example, if the
ここで、類似度算出部110が類似度を算出する方法には様々なものが考えられる。
Here, various methods can be considered for the
例えば、類似度算出部は、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
図10は、こうして求められる類似度に基づき類似すると実機制御部102により判定される範囲の一例を示す図である。
FIG. 10 is a diagram showing an example of a range determined by the actual
点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
以上、本発明の実施の形態2に係るロボットの運動方法決定装置100は、さらに、2つの制御値候補間の類似度を算出する類似度算出部110を備え、実機制御部102は、複数の制御値候補に含まれる任意の2つの制御値候補間の類似度が、事前に定められた類似度の閾値が示す類似性よりも類似しないように複数の制御値候補を決定してもよい。
As described above, the robot motion
より具体的には、制御値は、駆動部の駆動時間、駆動距離、駆動速度、駆動加速度、及び、位置のうち少なくとも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
一般に、既に評価値を取得した制御値候補と類似する制御値候補については、実機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
次に、本実施の形態に係るロボットの運動方法決定装置100を用いて、実際にロボットの軌道を決定した場合の検証結果について述べる。
Next, a verification result when the robot trajectory is actually determined using the robot motion
図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
検証では、図11に示されるロボットのハンド部分204を、第1の位置から、第2の位置まで移動させる際の軌道の最適化を行った。その際の評価関数は、実機200の関節を駆動するモータを流れる電流のピーク値が、より小さいほど、より高い評価となるように定めた。
In the verification, the trajectory was optimized when the
図12は、本実施の形態に係るロボットの運動方法決定装置100により最適化された軌道752と、標準軌道750とで、ロボットを駆動させた際の、ロボットを駆動するモータの電流値を比較した結果の一例を示す図である。
FIG. 12 compares the current values of the motor that drives the robot when the robot is driven on the
ここで、標準軌道750とは、軌道を最適化する前のロボットの軌道として、もっとも頻度が高いと考えられる軌道であり、具体的には以下のように定めた。標準軌道750の開始位置は、実機200の可動領域の中央とした。また、実機200は、あらかじめ速度変化パターンが標準搭載されており、この標準搭載された変化パターンを、第1の位置から第2の位置への移動に用いる制御値の組として使用した。
Here, the
図12に示されるように、本実施の形態に係るロボットの運動方法決定装置100を用いて決定された軌道752は、軌道750と比較し、電流ピーク値が20%ほど低減されている。
As shown in FIG. 12, the
また、本実施の形態に係るロボットの運動方法決定装置100は、数十回の繰り返し回数で、上記電流ピーク値の低減効果が得られる軌道を決定することが可能であった。この回数は、実機200を用いて評価する際に、実用上問題のない回数といえる。
In addition, the robot motion
なお、前述した実施の形態1及び2において、ロボットの運動方法決定装置100が備える評価部106は、1台の実機200から実測値を取得し、その評価を行った。しかし、実機200が複数台ある場合には、複数台の実機200から実測値を取得し、その評価を行ってもよい。その際には、評価部106は、複数の実測値の平均値、中央値、最大値、最小値等を、対応する制御値候補の評価値の決定に使用することが考えられる。
In the first and second embodiments described above, the
また、ひとつの実機200を用いて決定した制御値を、同じ目的で使用する他の複数の実機200に適用することもできる。これにより、他の同機種のロボットに対しては探索を行わずに電力などが抑制されるため、非常に効率的に、多数のロボットの運動方法を決定することができる。
In addition, a control value determined using one
なお、実施の形態1に係るロボットの運動方法決定装置100は、必ずしも評価記憶部112を備えずともよい。例えば、実機200へ送信した制御値候補に対応する評価値が、事前に定められた閾値を初めて超えた場合に、制御値決定部108は、その制御値候補を制御値の組として採用するよう決定してもよい。この場合、ロボットの運動方法決定装置100は、評価記憶部112を備えずとも、同様の発明の効果を奏することができる。
Note that the robot motion
なお、実施の形態2に係る類似度算出部110は、差の絶対値に代わり、2乗誤差を用いて類似度を算出してもよい。また、各々の制御値が事前に定められた範囲に含まれているか否かで類似度を算出してもよい。例えば、各々の設計パラメタの制御値が、事前に定められた範囲に含まれていれば類似度に1を加算し、含まれていなければ1を減算する処理を、制御値候補に含まれる全ての設計パラメタについて行うことで類似度を算出してもよい。
Note that the
なお、実施の形態に係る類似度算出部110は、制御値候補1つにつき1つの類似度を算出する代わりに、制御値候補に含まれる設計パラメタごとに類似度を算出してもよい。この場合、実施の形態2に係る実機制御部102は、少なくとも1つの設計パラメタについて、類似度が事前に定められた閾値以上であれば、2つの制御値候補は類似すると判定してもよい。
Note that the
また、実施の形態2に係る実機制御部102は、図9に示されるステップS110でYesの場合、既に評価した制御値候補と類似する制御値候補の全てを破棄する代わりに、評価値が事前に定められた評価基準値未満である制御値候補に限り破棄するとしてもよい。
In addition, in the case of Yes in step S110 illustrated in FIG. 9, the real
一般に、既になされた評価の結果、評価が悪い制御値候補と類似する制御値候補は、やはり悪い評価となることが予想される。一方、評価がよい制御値候補と類似する制御値候補であれば、その軌道に類似する軌道のなかに、最適な軌道が含まれていることが期待できる。よって、実施の形態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
例えば、類似度算出部110が、2つの制御値候補が類似するほど、より大きな類似度を算出する場合には、実施の形態2に係る実機制御部102は、複数の制御値候補に含まれる任意の2つの制御値候補のうち、一方の制御値候補に対応する評価値が、事前に定められた評価基準値未満である場合に限り、一方の制御値候補と、他方の制御値候補との類似度が、事前に定められた閾値未満となるように、複数の制御値候補を決定するとしてもよい。
For example, when the
なお、本実施の形態に係る実機制御部102は、最適な制御値候補の探索アルゴリズムとしてSHAを使用したが、実機制御部102が使用する探索アルゴリズムはこれに限られない。例えば、焼きなまし法やタブーサーチのように広く知られている他の発見的(確率的)な探索アルゴリズムを使用してもよい。
In addition, although the actual
また、実機制御部102は、各々の制御値をランダムに決定することで制御値候補を生成してもよい。この場合であっても、実機制御部102は、類似する制御値候補を破棄することで、過剰な繰り返し回数を実行せずに、発明の効果を奏することができる。ただし、上記のSHA等の探索アルゴリズムを使用する場合と比較し、最適値へ収束するまでの繰り返し回数は増加すると考えられる。
The actual
なお、本実施の形態における閾値との比較処理において、「以上」という判断は「超えて」と判断してもよく、「以下」という判断は「未満」と判断してもよい。また、その逆に、「超えて」という判断を「以上」と判断してもよく、「未満」という判断を「以下」と判断してもよい。 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
図13を参照して、ロボットの運動方法決定装置100は、コンピュータ34と、コンピュータ34に指示を与えるためのキーボード36及びマウス38と、コンピュータ34の演算結果等の情報を提示するためのディスプレイ32と、コンピュータ34で実行されるプログラムを読み取るためのCD−ROM(Compact Disc-Read Only Memory)装置40及び通信モデム(図示せず)とを含む。
Referring to FIG. 13, robot movement
ロボットの運動方法決定装置100が行う処理であるプログラムは、コンピュータで読み取り可能な媒体であるCD−ROM42に記憶され、CD−ROM装置40で読み取られる。又は、コンピュータネットワークを通じて通信モデム52で読み取られる。
A program, which is a process performed by the robot movement
コンピュータ34は、CPU(Central Processing Unit)44と、ROM(Read Only Memory)46と、RAM(Random Access Memory)48と、ハードディスク50と、通信モデム52と、バス54とを含む。
The
CPU44は、CD−ROM装置40又は通信モデム52を介して読み取られたプログラムを実行する。ROM46は、コンピュータ34の動作に必要なプログラムやデータを記憶する。RAM48は、プログラム実行時のパラメタなどのデータを記憶する。ハードディスク50は、プログラムやデータなどを記憶する。通信モデム52は、コンピュータネットワークを介して他のコンピュータとの通信を行う。バス54は、CPU44、ROM46、RAM48、ハードディスク50、通信モデム52、ディスプレイ32、キーボード36、マウス38及びCD−ROM装置40を相互に接続する。
The
さらに、上記の各装置を構成する構成要素の一部又は全部は、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
44 CPU
46 ROM
48 RAM
50
Claims (9)
前記ロボットが前記第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に記載のロボットの運動方法決定装置。 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つであり、
前記評価部は、前記複数の駆動部における前記実測値の合計又は前記実測値のピーク値がより小さいほど、より大きくなるように評価値を決定し、
前記類似度算出部は、前記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.
請求項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の位置へ移動するように、前記ロボットが備える複数の駆動部を制御するための制御値の候補の組である制御値候補を決定し、決定した前記制御値候補を前記ロボットに送信する実機制御ステップと、
前記制御値候補によって制御されている前記複数の駆動部の駆動状態を示す物理量である実測値を取得する実測値取得ステップと、
前記実測値から、前記実測値に対応する前記制御値候補の評価値を決定する評価ステップと、
前記評価値に基づいて、前記制御値候補を、前記ロボットの運動方法を決定するための前記制御値の組として採用するか否かを決定する制御値決定ステップとを含む
ロボットの運動方法決定方法。 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. .
プログラム。 A program for causing a computer to execute the method for determining the movement method of the robot according to claim 6.
コンピュータ読み取り可能な記録媒体。 A computer-readable recording medium on which the program according to claim 7 is recorded.
前記ロボットが前記第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;
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)
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)
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 |
-
2011
- 2011-02-02 JP JP2011021107A patent/JP5828539B2/en active Active
Patent Citations (4)
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)
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)
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 |