JP6079350B2 - Robot control method, robot control apparatus, robot, and robot control program - Google Patents
Robot control method, robot control apparatus, robot, and robot control program Download PDFInfo
- Publication number
- JP6079350B2 JP6079350B2 JP2013062051A JP2013062051A JP6079350B2 JP 6079350 B2 JP6079350 B2 JP 6079350B2 JP 2013062051 A JP2013062051 A JP 2013062051A JP 2013062051 A JP2013062051 A JP 2013062051A JP 6079350 B2 JP6079350 B2 JP 6079350B2
- Authority
- JP
- Japan
- Prior art keywords
- scenario
- execution
- robot
- parameter
- work
- 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.)
- Active
Links
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、ロボット制御方法、ロボット制御装置、ロボット及びロボット制御プログラムに関する。 The present invention relates to a robot control method, a robot control device, a robot, and a robot control program.
特許文献1には、従来の物体把持装置の制御方法に制御目標値の設定変更と制御系パラメーターの変更に関する学習機能を追加し、過去に把持経験のある物体と同程度の硬さの物体の把持を行う場合に把持達成までに要する時間を短縮することが記載されている。
特許文献1に記載の発明は、過去の把持履歴を使って、把持成功までの試行回数を少なくする点に特徴がある。特許文献1に記載の発明では、把持動作のみが対象であるため、データベースに蓄えられる履歴におけるパラメーターの組み合わせは一通りである。したがって、特許文献1に記載の発明においては、学習機能においてパラメーターの比較を行うときに、データベースに蓄えらえた過去の履歴を全て使用することができる。
The invention described in
しかしながら、ロボットを用いて把持した対象物を移動等させる場合は、単にロボットを用いて対象物を把持する場合と比較して、様々なパラメーターが存在する。例えば、対象物を移動させる場合には、移動開始位置、移動先の位置、中継点、速度等の複数のパラメーターが存在する。また、対象物に対する一連の動作は、移動開始位置、移動先の位置、中継点、速度等の複数のパラメーターの一部又は全てを組み合わせることにより規定される。そのため、過去の履歴としてデータベースに蓄えられるデータにおいては、パラメーターの組み合わせが複数存在する。 However, when moving an object gripped using a robot, there are various parameters as compared to the case of simply gripping an object using a robot. For example, when an object is moved, there are a plurality of parameters such as a movement start position, a movement destination position, a relay point, and a speed. In addition, a series of operations on the object is defined by combining some or all of a plurality of parameters such as a movement start position, a movement destination position, a relay point, and a speed. Therefore, there are a plurality of parameter combinations in the data stored in the database as the past history.
したがって、学習機能においてパラメーターの比較を行うときに、単にデータベースに蓄えられた過去の履歴を用いることはできず、ロボットを用いて把持した対象物を移動等させる場合に特許文献1に記載の発明を適用することはできない。
Therefore, when the parameters are compared in the learning function, the past history stored in the database cannot simply be used, and the invention described in
本発明は、把持した対象物の移動等の作業をロボットに行わせる場合に、過去の実行結果に基づいて、作業に適したシナリオかつ成功率の高いシナリオを選択することができるロボット制御方法、ロボット制御装置、ロボット及びロボット制御プログラムを提供することを目的とする。 The present invention relates to a robot control method capable of selecting a scenario suitable for work and a scenario with a high success rate based on past execution results when causing the robot to perform work such as movement of the grasped object. An object is to provide a robot control device, a robot, and a robot control program.
上記の課題を解決するための本発明の第一の態様は、ロボットの単位動作を複数組み合わせたシナリオを用いて前記ロボットに目的の作業を行わせるロボット制御方法であって、前記ロボットが実行したシナリオと、当該シナリオを定める第1のパラメーターの選択値と、当該シナリオの実行結果と、を関連付けた実行ログが複数含まれる第1の実行情報を取得し、かつ前記目的の作業の内容と、当該目的の作業を定める第2のパラメーターの選択値と、を含む指示情報を取得する第1のステップと、前記第1の実行情報から、前記シナリオが示す作業内容が前記目的の作業の内容と同一、かつ前記第1のパラメーターの選択値が前記第2のパラメーターの選択値に類似する実行ログを第2の実行情報として抽出する第2のステップと、前記第2の実行情報に含まれるシナリオから、前記実行結果に基づいて成功率の最も高いシナリオを選出する第3のステップと、前記選出された最適なシナリオを出力する第4のステップと、を含むことを特徴とする。 A first aspect of the present invention for solving the above problem is a robot control method for causing a robot to perform a desired work using a scenario in which a plurality of robot unit operations are combined. Obtaining first execution information including a plurality of execution logs in which a scenario, a selected value of a first parameter defining the scenario, and an execution result of the scenario are associated, and the content of the target work; A first step of obtaining instruction information including a selected value of a second parameter that defines the target work; and from the first execution information, the work content indicated by the scenario is the content of the target work. A second step of extracting, as second execution information, an execution log that is the same and whose selection value of the first parameter is similar to the selection value of the second parameter; Including a third step of selecting a scenario having the highest success rate based on the execution result from a scenario included in the execution information of 2, and a fourth step of outputting the selected optimal scenario. It is characterized by.
第一の態様によれば、ロボットが実行したシナリオと、当該シナリオを定める第1のパラメーターの選択値と、当該シナリオの実行結果と、を関連付けた実行ログが複数含まれる第1の実行情報を取得する。また、ロボットの目的の作業の内容と、当該目的の作業を定める第2のパラメーターの選択値と、を含む指示情報を取得する。そして、第1の実行情報から、シナリオが示す作業内容が目的の作業の内容と同一、かつ第1のパラメーターの選択値が第2のパラメーターの選択値に類似する実行ログを第2の実行情報として抽出する。第2の実行情報の実行ログに含まれるシナリオから、目的の作業に最適なシナリオを選出し、選出されたシナリオを出力する。これにより、目的の作業をロボットに行わせる場合に、過去の実行結果のうちのシナリオが示す作業内容が目的の作業の内容と同一の実行ログに基づいて、作業に適したシナリオかつ成功率の高いシナリオを選択することができる。また、目的の作業に近い環境で、過去に成功した作業結果を選出することにより、現実的、実用的、汎用的、かつ柔軟にロボットを制御することができる。 According to the first aspect, the first execution information including a plurality of execution logs associating the scenario executed by the robot, the selected value of the first parameter defining the scenario, and the execution result of the scenario. get. In addition, instruction information including the content of the target work of the robot and the selected value of the second parameter that defines the target work is acquired. Then, from the first execution information, an execution log in which the work content indicated by the scenario is the same as the content of the target work and the selection value of the first parameter is similar to the selection value of the second parameter is obtained as the second execution information. Extract as From the scenarios included in the execution log of the second execution information, a scenario that is optimal for the target work is selected, and the selected scenario is output. As a result, when the target work is to be performed by the robot, the work content indicated by the scenario in the past execution results is based on the same execution log as the content of the target work, and the scenario suitable for the work and the success rate A high scenario can be selected. Further, by selecting work results that have been successful in the past in an environment close to the target work, the robot can be controlled realistically, practically, universally, and flexibly.
ここで、前記第1のステップでは、前記第1のパラメーター及び前記第2のパラメーターとして、前記ロボットを移動させる速度に関する情報である速度情報を取得してもよい。これにより、実行結果に大きな影響を与える速度情報を、目的の作業に近い環境の実行結果の抽出に用いることができる。 Here, in the first step, speed information that is information about a speed at which the robot is moved may be acquired as the first parameter and the second parameter. As a result, speed information that greatly affects the execution result can be used to extract an execution result in an environment close to the target work.
ここで、前記実行ログ及び前記指示情報は、前記ロボットを移動させる速度に関する情報である速度情報を含み、前記第2のステップでは、前記第1の実行情報から、前記指示情報の速度情報と同一の速度情報が関連付けられた実行ログを抽出してもよい。これにより、実行結果に大きな影響を与える速度情報が一致する実行ログのみを用いてシナリオを選出することで、より適切なシナリオを選出することができる。 Here, the execution log and the instruction information include speed information that is information related to a speed at which the robot is moved. In the second step, the speed information of the instruction information is the same as the speed information of the instruction information. An execution log associated with the speed information may be extracted. As a result, a more appropriate scenario can be selected by selecting a scenario using only the execution log that matches the speed information that greatly affects the execution result.
ここで、前記第2のステップでは、前記第1のパラメーターの選択値と前記第2のパラメーターの選択値との差が大きいほど値が小さくなる算出式を用いて算出した類似度に基づいて、第2の実行情報を抽出してもよい。これにより、目的の作業に近い環境の実行結果を抽出することができる。 Here, in the second step, based on the similarity calculated using a calculation formula that decreases as the difference between the selected value of the first parameter and the selected value of the second parameter increases. The second execution information may be extracted. As a result, it is possible to extract an execution result in an environment close to the target work.
上記の課題を解決するための本発明の第二の態様は、ロボットの単位動作を複数組み合わせたシナリオを用いて前記ロボットに目的の作業を行わせるロボット制御装置であって、前記ロボットが実行したシナリオと、当該シナリオを定める第1のパラメーターの選択値と、当該シナリオの実行結果と、を関連付けた実行ログが複数含まれる第1の実行情報を取得する第1の取得部と、前記目的の作業の内容と、当該目的の作業を定める第2のパラメーターの選択値と、を含む指示情報を取得する第2の取得部と、前記第1の実行情報から、前記シナリオが示す作業内容が前記目的の作業の内容と同一、かつ前記第1のパラメーターの選択値が前記第2のパラメーターの選択値に類似する実行ログを第2の実行情報として抽出するシナリオ群抽出部と、前記第2の実行情報に含まれるシナリオから、前記実行結果に基づいて成功率の最も高いシナリオを選出するシナリオ選出部と、前記選出された最適なシナリオを出力する出力部と、を備えることを特徴とする。これにより、把持した対象物の移動等の作業をロボットに行わせる場合に、過去の実行結果のうちのシナリオが示す作業内容が目的の作業の内容と同一の実行ログに基づいて、作業に適したシナリオかつ成功率の高いシナリオを選択することができる。また、目的の作業に近い環境で、過去に成功した作業結果を選出することにより、現実的、実用的、汎用的、かつ柔軟にロボットを制御することができる。 A second aspect of the present invention for solving the above-described problem is a robot control apparatus that causes the robot to perform a desired work using a scenario in which a plurality of unit operations of the robot are combined. A first acquisition unit that acquires first execution information including a plurality of execution logs that associate a scenario, a selected value of a first parameter that defines the scenario, and an execution result of the scenario; From the first acquisition information, the second acquisition unit that acquires the instruction information including the contents of the work and the selected value of the second parameter that defines the target work, and the work contents indicated by the scenario are A scenario group extraction that extracts, as second execution information, an execution log that is the same as the content of the target work and whose selected value of the first parameter is similar to the selected value of the second parameter. A scenario selection unit that selects a scenario with the highest success rate based on the execution result from scenarios included in the second execution information, and an output unit that outputs the selected optimal scenario. It is characterized by providing. As a result, when the robot performs an operation such as moving the gripped object, the work content indicated by the scenario in the past execution results is suitable for the work based on the same execution log as the content of the target work. Scenario with high success rate can be selected. Further, by selecting work results that have been successful in the past in an environment close to the target work, the robot can be controlled realistically, practically, universally, and flexibly.
上記の課題を解決するための本発明の第三の態様は、ロボットの単位動作を複数組み合わせたシナリオを用いて前記ロボットの可動部に目的の作業を行わせるロボットであって、前記ロボットが実行したシナリオと、当該シナリオを定める第1のパラメーターの選択値と、当該シナリオの実行結果と、を関連付けた実行ログが複数含まれる第1の実行情報を取得する第1の取得部と、前記目的の作業の内容と、当該目的の作業を定める第2のパラメーターの選択値と、を含む指示情報を取得する第2の取得部と、前記第1の実行情報から、前記シナリオが示す作業内容が前記目的の作業の内容と同一、かつ前記第1のパラメーターの選択値が前記第2のパラメーターの選択値に類似する実行ログを第2の実行情報として抽出するシナリオ群抽出部と、前記第2の実行情報に含まれるシナリオから、前記実行結果に基づいて成功率の最も高いシナリオを選出するシナリオ選出部と、前記選出された最適なシナリオを用いて前記可動部を制御する駆動制御部と、を備えることを特徴とする。これにより、把持した対象物の移動等の作業をロボットに行わせる場合に、過去の実行結果のうちのシナリオが示す作業内容が目的の作業の内容と同一の実行ログに基づいて、作業に適したシナリオかつ成功率の高いシナリオを選択することができる。また、目的の作業に近い環境で、過去に成功した作業結果を選出することにより、現実的、実用的、汎用的、かつ柔軟にロボットを制御することができる。 A third aspect of the present invention for solving the above problem is a robot that causes a movable part of the robot to perform a desired work using a scenario in which a plurality of unit operations of the robot are combined. A first acquisition unit that acquires first execution information including a plurality of execution logs in which the scenario, the selected value of the first parameter that defines the scenario, and the execution result of the scenario are associated with each other; From the first acquisition information, the second acquisition unit that acquires the instruction information including the content of the work and the selected value of the second parameter that defines the target work, the work content indicated by the scenario is A scenario group extraction that extracts, as second execution information, an execution log that is the same as the content of the target work and whose selected value of the first parameter is similar to the selected value of the second parameter. A scenario selection unit that selects a scenario with the highest success rate based on the execution result from the scenario included in the second execution information, and controls the movable unit using the selected optimal scenario. And a drive control unit. As a result, when the robot performs an operation such as moving the gripped object, the work content indicated by the scenario in the past execution results is suitable for the work based on the same execution log as the content of the target work. Scenario with high success rate can be selected. Further, by selecting work results that have been successful in the past in an environment close to the target work, the robot can be controlled realistically, practically, universally, and flexibly.
上記の課題を解決するための本発明の第四の態様は、ロボットの単位動作を複数組み合わせたシナリオを用いて前記ロボットに目的の作業を行わせるロボット制御プログラムであって、前記ロボットが実行したシナリオと、当該シナリオを定める第1のパラメーターの選択値と、当該シナリオの実行結果と、を関連付けた実行ログが複数含まれる第1の実行情報を取得し、かつ前記目的の作業の内容と、当該目的の作業を定める第2のパラメーターの選択値と、を含む指示情報を取得する第1のステップと、前記第1の実行情報から、前記シナリオが示す作業内容が前記目的の作業の内容と同一、かつ前記第1のパラメーターの選択値が前記第2のパラメーターの選択値に類似する実行ログを第2の実行情報として抽出する第2のステップと、前記第2の実行情報に含まれるシナリオから、前記実行結果に基づいて成功率の最も高いシナリオを選出する第3のステップと、前記選出された最適なシナリオを出力する第4のステップと、を演算装置に実行させることを特徴とする。これにより、把持した対象物の移動等の作業をロボットに行わせる場合に、過去の実行結果のうちのシナリオが示す作業内容が目的の作業の内容と同一の実行ログに基づいて、作業に適したシナリオかつ成功率の高いシナリオを選択することができる。また、目的の作業に近い環境で、過去に成功した作業結果を選出することにより、現実的、実用的、汎用的、かつ柔軟にロボットを制御することができる。 A fourth aspect of the present invention for solving the above-described problem is a robot control program for causing a robot to perform a desired work using a scenario in which a plurality of robot unit operations are combined. Obtaining first execution information including a plurality of execution logs in which a scenario, a selected value of a first parameter defining the scenario, and an execution result of the scenario are associated, and the content of the target work; A first step of obtaining instruction information including a selected value of a second parameter that defines the target work; and from the first execution information, the work content indicated by the scenario is the content of the target work. A second step of extracting, as second execution information, an execution log that is the same and whose selection value of the first parameter is similar to the selection value of the second parameter; A third step of selecting a scenario having the highest success rate based on the execution result from scenarios included in the second execution information; and a fourth step of outputting the selected optimal scenario. It is characterized by being executed by an arithmetic unit. As a result, when the robot performs an operation such as moving the gripped object, the work content indicated by the scenario in the past execution results is suitable for the work based on the same execution log as the content of the target work. Scenario with high success rate can be selected. Further, by selecting work results that have been successful in the past in an environment close to the target work, the robot can be controlled realistically, practically, universally, and flexibly.
<第1の実施の形態>
本発明の第一実施形態について、図面を参照して説明する。
<First Embodiment>
A first embodiment of the present invention will be described with reference to the drawings.
図1は、本発明の一実施形態におけるロボットシステム1の構成の一例を示すシステム構成図である。本実施形態におけるロボットシステム1は、主として、ロボット10と、制御装置20と、第1撮像部30と、第2撮像部31と、を備える。
FIG. 1 is a system configuration diagram showing an example of a configuration of a
ロボット10は、2本のアームを有するアーム型のロボットである。本実施の形態では、2本のアーム11を備えた双腕ロボットを例に説明するが、ロボット10のアーム11の数は1本でも構わない。
アーム11は、複数のジョイント(関節)12と、複数のリンク13と備える。
The
The
アーム11の先端には、ロボット10の操作対象物であるワークAを把持したり、道具を把持して対象物に対して所定の作業を行ったりすることが可能なハンド14(いわゆるエンドエフェクター又は手先効果器)が設けられる。アーム11及びハンド14は、本発明の可動部に相当する。
At the tip of the
ジョイント12及びハンド14には、それらを動作させるためのアクチュエーター(図示せず)が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、制御装置20によるロボット10のフィードバック制御に使用される。
The joint 12 and the hand 14 are provided with an actuator (not shown) for operating them. The actuator includes, for example, a servo motor and an encoder. The encoder value output by the encoder is used for feedback control of the
ハンド14の内部又はアーム11の先端等には、力覚センサー(図示せず)が設けられる。力覚センサーは、ハンド14に加わる力を検出する。力覚センサーとしては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーを用いることができる。また、力覚センサーで使用される物理量は、電流、電圧、電荷量、インダクタンス、ひずみ、抵抗、電磁誘導、磁気、空気圧、光等である。力覚センサーは、所望の物理量を電気信号に変換することにより、6成分を検出可能である。なお、力覚センサーは、6軸に限らず、例えば3軸でもよい。また、力覚センサーを設ける位置は、ハンド14に加わる力を検出できるのであれば、特に限定されるものではない。
A force sensor (not shown) is provided inside the hand 14 or the tip of the
なお、ロボット10の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。一般的な把持ロボットが備える構成を排除するものではない。例えば、図1では6軸のアームが示されているが、軸数(ジョイント数)をさらに増加させてもよいし、減らしてもよい。リンクの数を増減させてもよい。また、アーム、ハンド、リンク、ジョイント等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。また、エンドエフェクターはハンド14に限られない。
Note that the configuration of the
制御装置20は、ロボット10の全体を制御する処理を行う。制御装置20は、ロボット10の本体とは離れた場所に設置してもよいし、ロボット10等に内蔵してもよい。制御装置20がロボット10の本体と離れた場所に設置されている場合には、制御装置20は、有線又は無線でロボット10と接続される。
The
第1撮像部30、第2撮像部31は、ロボット10の作業領域付近をそれぞれ異なる角度から撮像して、画像データを生成するユニットである。第1撮像部30、第2撮像部31は、例えば、カメラを含み、作業台、天井、壁などに設けられる。本実施の形態では、第1撮像部30及び第2撮像部31は作業台に設けられる。第1撮像部30、第2撮像部31としては、可視光カメラ、赤外線カメラ等を採用することができる。
The
次に、ロボットシステム1の機能構成例について説明する。図2は、制御装置20の機能ブロック図の一例である。制御装置20は、主として、情報取得部201と、シナリオ選出部202と、ロボット駆動部203と、ライブラリー記憶部204と、実行ログ記憶部205とを有する。
Next, a functional configuration example of the
情報取得部201は、入力装置25(図6参照)等から入力されたゴールG及び速度レベルを取得する。ゴールGとは、ロボット10に行わせたい作業の内容を示す情報である。ゴールGは、作業内容と、作業内容を定める変数(パラメーター)とを含む。ここで、作業内容は、例えば「Move A from XS to XE」のような形式であり、「Move A from XS to XE」は、ワークAをXSからXEへ移動させることを意味する。パラメーターは、例えば、作業内容に含まれるパラメーター(ワークA、位置XS、位置XE)と、その他のパラメーターである速度レベルとを含む。なお、速度レベルとは、ハンド14を移動させる速度であり、例えばハンド14がワークAを把持している場合には、ワークAを移動させる速度である。情報取得部201は、本発明の第1の取得部に相当する。ゴールGは、本発明の指示情報に相当する。ゴールGに含まれるパラメーターは、本発明の第2のパラメーターに相当する。
The
シナリオ選出部202は、ライブラリー記憶部204(後に詳述)に格納された情報及び実行ログ記憶部205(後に詳述)に格納された実行ログに基づいて、任意のシナリオを1個選出する。本実施形態では、ロボット駆動部203で解釈可能な動作命令群を「シナリオ」と呼ぶ。シナリオは、動作を実現するために必要なロボットの単位動作を複数組み合わせたものである。例えば、動作が「ワークAを目的位置Dに置く」である場合、動作命令群は、「ワークAに(ワークAの位置に)手先を移動する」、「ワークAを把持する」、「位置Dに手先を移動する」「ワークAを解放する」などとすることができる。シナリオ選出部202が行う処理については、後に詳述する。シナリオ選出部202は、本発明の第2の取得部、シナリオ群抽出部、及びシナリオ選出部に相当する。
The
ロボット駆動部203は、ロボット10の現在の状態(例えば、ジョイントの角度、手先の位置、力覚センサーなどのセンサーの出力値など)を特定する情報等をロボット10から取得し、ロボット10の周囲の環境の現在の状態(例えば、ワークAの位置及びワークAが空間を占める領域、障害物の位置及び障害物が空間を占める領域など)を特定する情報等を第1撮像部30及び第2撮像部31からを取得する。そして、ロボット駆動部203は、取得した情報に基づいて、シナリオ選出部202で選出されたシナリオでワークAを移動させるようにロボット10を制御する。ロボット駆動部203の処理は、公知の技術により実現できるので、詳細な説明は省略する。ロボット駆動部203は、本発明の駆動制御部に相当する。
The
ライブラリー記憶部204には、複数の動作命令群で構成されるシナリオが複数記憶される。図3は、ライブラリー記憶部204に記録されるデータ構成の一例を示す図である。
The
図3に示すように、ライブラリー記憶部204には、シナリオの識別情報であるシナリオ名と、作業内容と、作業内容を構成する動作命令群とが、シナリオ毎に関連付けられて記憶されている。
As illustrated in FIG. 3, the
ここで、シナリオ名、作業内容及び動作命令群について、シナリオ名がシナリオ1の場合を例に説明する。シナリオ1の作業内容は、「Move A from XS to XE」であり、ワークAをXSからXEへ移動させるという内容である。作業内容は、本発明のシナリオが示す作業内容に相当する。
Here, the scenario name, work content, and operation instruction group will be described by taking the scenario name as
シナリオ1の作業内容「Move A from XS to XE」は、「Move to XS」、「Grasp A」、「Move from XS to X1」、「Move from X1 to XE」、及び「Release A」の複数の動作命令(動作命令群)からなる。
Work contents of
動作命令「Move to XS」は、ハンド14の位置を位置XSへ移動させる、という動作命令である。
動作命令「Grasp A」は、ハンド14でワークAを把持する、という動作命令である。
動作命令「Move from XS to X1」は、ハンド14の位置を位置XSから位置X1へ移動させる、という動作命令である。
動作命令「Move from X1 to XE」は、ハンド14の位置を位置X1から位置XEへ移動させる、という動作命令である。
動作命令「Release A」ハンドで把持されたワークAを解放する、という動作命令である。
The operation command “Move to XS” is an operation command to move the position of the hand 14 to the position XS.
The operation command “Grasp A” is an operation command for gripping the workpiece A with the hand 14.
The operation command “Move from XS to X1” is an operation command for moving the position of the hand 14 from the position XS to the position X1.
The operation command “Move from X1 to XE” is an operation command to move the position of the hand 14 from the position X1 to the position XE.
The operation command “Release A” is an operation command for releasing the workpiece A held by the hand.
ここで、シナリオ中、大文字で表示されたワークA、位置XS、位置X1、位置XEは、変更可能なパラメーターである。このパラメーターは、本発明の第1のパラメーターに相当する。 Here, the workpiece A, the position XS, the position X1, and the position XE displayed in capital letters in the scenario are changeable parameters. This parameter corresponds to the first parameter of the present invention.
図4(A)、(B)、(C)は、複数のシナリオに対し、パラメーターが異なる場合のハンド14の移動経路を模式的に示す図である。図4(A)、(B)、(C)における[1]、[2]等の数字は、実行ログ番号(後に詳述、図5参照)を示している。また、図4(A)、(B)、(C)においては、シナリオ1でハンド14を移動させた場合を実線で示し、シナリオ2(図3参照)でハンド14を移動させた場合を一点鎖線で示し、シナリオ3(図3参照)でハンド14を移動させた場合を二点鎖線で示す。
FIGS. 4A, 4 </ b> B, and 4 </ b> C are diagrams schematically illustrating movement paths of the hand 14 when parameters are different for a plurality of scenarios. Numbers such as [1] and [2] in FIGS. 4A, 4B, and 4C indicate execution log numbers (detailed later, see FIG. 5). 4A, 4B, and 4C, the case where the hand 14 is moved in the
図4に示すように、シナリオが異なれば、異なる経路でハンド14が移動する。例えば、図3に示すように、シナリオ1、シナリオ2、及びシナリオ3の作業内容は、全て「Move A from XS to XE」である。しかしながら、シナリオ1、シナリオ2、及びシナリオ3は動作命令群が異なるため、図4に示すように、シナリオ1でハンド14を移動させた場合と、シナリオ2でハンド14を移動させた場合と、シナリオ3でハンド14を移動させた場合とでは、異なる経路でハンド14が移動する。
As shown in FIG. 4, if the scenario is different, the hand 14 moves along a different route. For example, as shown in FIG. 3, the work contents of
また、同じシナリオの場合であっても、パラメーターが異なれば、異なる経路でハンド14が移動する。例えば、シナリオ1でハンド14を移動させた場合であっても、パラメーターである位置XS、位置X1、位置XEが異なると、異なる経路でハンド14が移動する。
Even in the same scenario, if the parameters are different, the hand 14 moves along a different route. For example, even when the hand 14 is moved in the
なお、図3及び図4は、シナリオ及びハンド14の移動経路のあくまで一例を示したものであり、図3及び図4に示す場合に限られるものではない。 3 and 4 show only an example of the scenario and the movement route of the hand 14, and are not limited to the cases shown in FIGS. 3 and 4.
図2の説明に戻る。実行ログ記憶部205には、ロボット10が過去に実行した結果である実行ログが格納されている。実行ログ記憶部205には、図5に示すように、主として、実行ログを特定する実行ログ番号を格納する番号格納領域2051と、シナリオを特定するシナリオ名を格納するシナリオ名格納領域2052と、シナリオを定めるパラメーターを格納するパラメーター格納領域2053と、シナリオの実行結果を格納する実行結果格納領域2054とが互いに関連付けられた実行ログテーブルが格納されており、実行ログテーブル内に実行ログが格納されている。
Returning to the description of FIG. The execution
パラメーター格納領域2053は、ライブラリー記憶部204に格納されたシナリオに登場するパラメーターの全てに対して、パラメーターの情報を格納するための格納領域を有する。本実施の形態では、パラメーター格納領域2053は、主として、ワークAに関する情報が格納されるA格納領域2053aと、位置XSに関する情報が格納されるXS格納領域2053bと、位置XEに関する情報が格納されるXE格納領域2053cと、位置X1に関する情報が格納されるX1格納領域2053dと、位置X2に関する情報が格納されるX2格納領域2053eと、ハンド14の移動速度を示す速度レベルが格納される速度格納領域2053fと、を有する。他のパラメーターについては、図示を省略する。パラメーター格納領域2053に格納される値は、本発明の第1のパラメーターの選択値に相当する。速度レベルは、本発明の速度情報に相当する。
The
なお、パラメーター格納領域2053は、全てのパラメーター格納する領域を有するため、シナリオによっては使用しないパラメーターが存在する。使用しないパラメーターについては、パラメーター格納領域2053に、例えば、使用しないことを示す「‐」が格納される。
Since the
図6は、制御装置20の概略構成の一例を示すブロック図である。図示するように、例えばコンピューターなどで構成される制御装置20は、演算装置であるCPU(Central Processing Unit)21と、揮発性の記憶装置であるRAM(Random Access Memory)や不揮発性の記憶装置であるROM(Read only Memory)からなるメモリー22と、外部記憶装置23と、ロボット10等の外部の装置と通信を行う通信装置24と、マウスやキーボード等の入力装置25と、ディスプレイ等の出力装置26と、制御装置20と他のユニットを接続するインターフェイス(I/F)27とを備える。
FIG. 6 is a block diagram illustrating an example of a schematic configuration of the
各機能部は、例えば、CPU21が外部記憶装置23等に格納された所定のプログラムをメモリー22等に読み出して実行すること、及びCPU21がメモリー22又は外部記憶装置23を利用することにより実現される。なお、所定のプログラムは、例えば、予め外部記憶装置23等にインストールされてもよいし、通信装置24を介してネットワークからダウンロードされてインストール又は更新されてもよい。
Each functional unit is realized, for example, when the
以上のロボットシステム1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。制御装置20の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
The configuration of the
また、ロボット10が制御装置20の少なくとも一部の機能や、第1撮像部30及び第2撮像部31を備えていてもよい。また、一般的なロボットシステムが備える構成を排除するものではない。
Further, the
次に、本実施形態における、上記構成からなるロボットシステム1の特徴的な処理について説明する。
Next, a characteristic process of the
図7は、シナリオ選出処理の流れを示すフローチャートである。この処理は、任意のタイミングで、例えば、図示しないボタン等を介してシナリオ選出の開始指示が入力されることにより開始される。 FIG. 7 is a flowchart showing a flow of scenario selection processing. This process is started at an arbitrary timing, for example, by inputting a scenario selection start instruction via a button or the like (not shown).
情報取得部201は、入力装置25等を介して入力されたゴールGを取得し、シナリオ選出部202に出力する(ステップS100、本発明の第1のステップに相当)。
The
シナリオ選出部202は、ライブラリー記憶部204からシナリオの内容を取得し、かつ実行ログ記憶部205に格納されている実行ログを取得する(本発明の第1のステップに相当する)。そして、シナリオ選出部202は、実行ログ記憶部205に格納されている実行ログからシナリオ群Aを抽出する(ステップS102、本発明の第2のステップに相当する)。ここで、ステップS102の処理について、詳細に説明する。
The
図8は、シナリオ群A抽出処理の流れを示すフローチャートである。
シナリオ選出部202は、Jを1に設定する(ステップS1021)。なお、Jは、実行ログ記憶部205に格納された実行ログ番号を示す数値(ここでは自然数)である。
FIG. 8 is a flowchart showing the flow of the scenario group A extraction process.
The
シナリオ選出部202は、実行ログ記憶部205にJ番の実行ログがあるか否かを判断する(ステップS1022)。
The
実行ログ記憶部205にJ番の実行ログがある場合(ステップS102でYES)には、シナリオ選出部202は、J番の実行ログのシナリオの作業内容が、ステップS100で取得されたゴールGの作業内容と一致するか否かを判断する(ステップS1023)。ステップS1023の処理について、J=1であり、ステップS100で取得されたゴールGの作業内容が「Move A from XS to XE」である場合を例に説明する。
If there is a Jth execution log in the execution log storage unit 205 (YES in step S102), the
J=1であるため、シナリオ選出部202は、実行ログ記憶部205から1番の実行ログを取得する。1番の実行ログのシナリオ名はシナリオ1であるため、シナリオ選出部202は、ライブラリー記憶部204からシナリオ1の作業内容を取得する。シナリオ1の作業内容は、「Move A from XS to XE」である。
Since J = 1, the
なお、本実施の形態では、実行ログ記憶部205にシナリオ名のみが含まれ、シナリオの詳細はライブラリー記憶部204に記憶されているため、シナリオ選出部202は、ライブラリー記憶部204及び実行ログ記憶部205から情報を取得する。ただし、実行ログ記憶部205にシナリオの詳細が記憶されている場合には、シナリオ選出部202は、実行ログ記憶部205のみから情報を取得すればよく、ライブラリー記憶部204から情報を取得する必要はない。
In this embodiment, since only the scenario name is included in the execution
シナリオ選出部202は、シナリオ1の作業内容「Move A from XS to XE」と、ゴールGの作業内容「Move A from XS to XE」とを比較する。この場合には、シナリオ1の作業内容「Move A from XS to XE」と、ゴールGの作業内容「Move A from XS to XE」とは一致するため、シナリオ選出部202は、1番のシナリオの作業内容が、ステップS100で取得されたゴールGの作業内容と一致すると判断する。
The
J番の実行ログの作業内容が、ゴールGと一致する場合(ステップS1023でYES)には、シナリオ選出部202は、J番の実行ログとゴールGとの類似度を算出する(ステップS1024)。ステップS1024の処理について、J=1であり、ゴールGの作業内容が「Move A from XS to XE」であり、ゴールGのパラメーターが、Aが球11、XSが(15,50,0)、XEが(60,0,0)、速度レベルが2である場合を例に説明する。なお、Aの球11は、把持対象物の種類を示し、XSの(15,50,0)、XEの(60,0,0)は、3次元空間における座標を示す。なお、球11の内容等については、メモリー22等に記憶されている。ゴールGのパラメーターの値は、本発明の第2のパラメーターの選択値に相当する。
When the work content of the Jth execution log matches the goal G (YES in step S1023), the
シナリオ選出部202は、数式(1)にゴールGのパラメーターと、1番の実行ログのパラメーターとを代入することで、1番の実行ログとゴールGとの類似度を算出する。
[数1]
類似度=Σw[i]/(Goal.Param[i]−Log.Param[i]) ・・・(1)
The
[Equation 1]
Similarity = Σw [i] / (Goal.Param [i] −Log.Param [i]) (1)
ここで、w[i]は、各パラメーターiの重み付け固定値であり、各パラメーターに任意の値とすることができる。Goal.Param[i]は、ゴールGのパラメーターiの値であり、Log.Param[i]は、シナリオのパラメーターiの値である。このように、数式(1)は、パラメーター毎に差の逆数をとり、これらを所定の重みづけて加算したものである。 Here, w [i] is a weighted fixed value of each parameter i, and can be an arbitrary value for each parameter. Goal. Param [i] is the value of the parameter i of the goal G, and Log. Param [i] is the value of parameter i of the scenario. Thus, Equation (1) takes the reciprocal of the difference for each parameter, and adds them with a predetermined weight.
1番の実行ログのパラメーターは、Aが球10、XSが(50,10,0)、XEが(20,50,0)、速度レベルが2(図5参照)である。本実施の形態では、w[i]を全て1とするため、球11と球10との差の逆数と、座標(15,50,0)座標(50,10,0)との距離の逆数と、座標(60,0,0)と座標(20,50,0)との逆数と、速度レベル2と速度レベル2との差の逆数(すなわち0)との和が、類似度として算出される。ここで、球10、球11の値は、例えばメモリー22等に記憶された球の大きさや、球の重さ等の値を類似度の算出に用いることができる。また、速度レベルについても、例えばメモリー22等に記憶された速度の値を用いることができる。
The parameters of the No. 1 execution log are A for
なお、数式(1)は、差が大きいほど類似度が小さくなるような数式の一例であり、類似度の計算に用いる式はこれに限られない。類似度の計算に用いる式は、パラメーターの差が大きいほど、類似度が小さくなるような数式であれば、様々な形態の式を用いることができる。 The formula (1) is an example of a formula in which the similarity decreases as the difference increases, and the formula used for calculating the similarity is not limited thereto. As the formula used for calculating the similarity, various types of formulas can be used as long as the difference in parameters is large and the similarity becomes small.
また、数式(1)において、w[i]は1に限定されない。例えば、速度レベルについては、他のパラメーターに対して重みづけが重くなるようにw[i]を設定してもよい。 In the formula (1), w [i] is not limited to 1. For example, for the speed level, w [i] may be set so that the weighting is heavy with respect to other parameters.
シナリオ選出部202は、J番の実行ログとゴールGとの類似度が閾値(任意の値)以上であるか否かを判断する(ステップS1025)。
The
J番の実行ログとゴールGとの類似度が閾値以上である場合(ステップS1025でYES)には、シナリオ選出部202は、J番の実行ログをシナリオ群Aに追加する(ステップS1026)。
If the similarity between the Jth execution log and the goal G is equal to or greater than the threshold (YES in step S1025), the
ステップS1026が行われた場合、J番の実行ログのシナリオの作業内容が、ゴールGと一致しない場合(ステップS1023でNO)、及びJ番の実行ログとゴールGとの類似度が閾値(任意の値)以上でない場合(ステップS1025でNO)には、シナリオ選出部202は、Jに1を追加し(ステップS1027)、再度ステップS1022を行う。
When step S1026 is performed, the work content of the scenario of the Jth execution log does not match the goal G (NO in step S1023), and the similarity between the Jth execution log and the goal G is a threshold (optional) If the value is not greater than or equal to (NO in step S1025), the
実行ログ記憶部205にJ番の実行ログがない場合(ステップS1022でNO)には、シナリオ選出部202は、シナリオ群A抽出処理(ステップS102)を終了する。
If there is no J-th execution log in the execution log storage unit 205 (NO in step S1022), the
なお、本実施の形態では、先にゴールGを取得し、次にライブラリー記憶部204及び実行ログ記憶部205の情報を取得したが、情報の取得順はこれに限定されない。先にライブラリー記憶部204及び実行ログ記憶部205の情報を取得してから、ゴールGを取得してもよいし、全ての情報を同時に取得してもよい。
In the present embodiment, the goal G is acquired first, and then the information in the
シナリオ選出部202は、ステップS102で選出されたシナリオ群Aから、シナリオSを選出する(ステップS104、本発明の第3のステップに相当)。ここで、ステップS104の処理について、詳細に説明する。
The
図9は、シナリオS選出処理の流れを示すフローチャートである。
シナリオ選出部202は、Kを1に設定し、かつ最大成功率を0に設定する(ステップS1041)。ここで、Kは、ライブラリー記憶部204に格納されているシナリオのシナリオ名を示す番号である。例えば、Kが1の場合は、シナリオ1の場合である。
FIG. 9 is a flowchart showing the flow of the scenario S selection process.
The
シナリオ選出部202は、シナリオ群Aに含まれる実行ログの中に、シナリオ名がシナリオKであるものがあるか否かを判断する(ステップS1042)。
The
シナリオ群AにシナリオKの実行ログがある場合(ステップ1042でYES)には、シナリオ選出部202は、シナリオKの成功率を算出する(ステップS1043)。ステップS1043の処理について、具体例を用いて説明する。
When there is an execution log of scenario K in scenario group A (YES in step 1042),
例えば、Kが1であり、図5に示す実行ログテーブルのうち、番号が1〜10、32、33、87、146の実行ログがシナリオ群Aに含まれている場合には、シナリオ選出部202は、番号が1〜10、32、33、87、146の実行ログのうち、シナリオ名がシナリオ1である番号1、4、7、10をシナリオ群Aから抽出する。
For example, when K is 1 and the execution logs with
シナリオ選出部202は、シナリオ群Aから抽出された番号1、4、7、10の実行ログの成功率を算出する。実行ログテーブルの実行結果格納領域2054を参照すると、番号7の実行ログは結果が成功であるが、番号1、4、10は結果が失敗である。したがって、シナリオ選出部202は、成功率を1/4と算出する。
The
シナリオ選出部202は、ステップS1043で算出された成功率が最大成功率より大きいか否かを判断する(ステップS1044)。
The
ステップS1043で算出された成功率が最大成功率より大きい場合(ステップS1044でYES)には、シナリオ選出部202は、シナリオKをシナリオSとし、シナリオKの成功率を最大成功率とする(ステップS1045)。最初にステップS1044、S1045を行う場合には、ステップS1041で最大成功率が0とされているので、シナリオ1の成功率が0でない限り、シナリオ1がシナリオSとされ、シナリオ1の成功率が最大成功率とされる。
If the success rate calculated in step S1043 is larger than the maximum success rate (YES in step S1044), the
ステップS1045が行われた場合、及びステップS1043で算出された成功率が最大成功率より大きくない場合(ステップS1044でNO)には、シナリオ選出部202は、Kに1を追加し(ステップS1046)、再度ステップS1042を行う。
When step S1045 is performed and when the success rate calculated in step S1043 is not greater than the maximum success rate (NO in step S1044), the
シナリオ群AにシナリオKの実行ログがない場合(ステップS1042でNO)には、シナリオ選出部202は、すべてのシナリオについて成功率の算出が行われたか否かを判断する(ステップS1047)。例えば、ライブラリー記憶部204に格納されたシナリオがシナリオ1〜シナリオ10である場合には、シナリオ選出部202は、Kが10より大きい場合には、全てのシナリオについて処理が行われたと判断するようにしてもよい。
If there is no execution log for scenario K in scenario group A (NO in step S1042),
すべてのシナリオについて処理が終了していない場合(ステップS1047でNO)には、シナリオ選出部202は、再度ステップS1042を行う。すべてのシナリオについて処理が終了した場合(ステップS1047でYES)には、シナリオ選出部202は、シナリオS選出処理(ステップS104)を終了する。
If processing has not been completed for all scenarios (NO in step S1047),
シナリオ選出部202は、ステップS104で選出されたシナリオSをロボット駆動部203に出力する。ロボット駆動部203は、シナリオ選出部202から出力されたシナリオSでロボット10を移動させるように、ロボット10を制御する(ステップS106、本発明の第4のステップに相当)。
The
ロボット駆動部203は、ステップS106でロボット10を制御した結果が成功か否かを判断し、その結果とシナリオSとを関連付けて実行ログ記憶部205に記憶する(ステップS108)。ロボット駆動部203は、例えば、シナリオSの動作命令群が最後まで実行できた場合には、シナリオSの実行は成功であると判断することができる。
The
本実施の形態によれば、把持した対象物の移動等の作業をロボットに行わせる場合に、過去の実行結果に基づいて、作業に適したシナリオかつ成功率の高いシナリオを選択することができる。また、過去の実行結果から状況(パラメーターとして設定されるワークのサイズや、スタート及びゴールの位置等)に合わせて、成功率の高い作業結果を選択して実行できるため、処理の信頼性を向上させることができる。 According to the present embodiment, when a robot performs a task such as movement of a grasped object, a scenario suitable for the task and a scenario with a high success rate can be selected based on a past execution result. . In addition, it is possible to select and execute work results with a high success rate according to the situation (workpiece size set as parameters, start and goal positions, etc.) from past execution results, improving process reliability. Can be made.
なお、厳密に一致した環境(ワークのサイズや、スタート及びゴールの位置等)で再度作業を行う場合というのは、実際は稀である。したがって、本実施の形態のように、より近い環境で、過去に成功した作業結果を選出することにより、現実的、実用的、汎用的、かつ柔軟にロボットを制御することができる。 In practice, it is rare that the work is performed again in an exactly matched environment (work size, start and goal positions, etc.). Therefore, the robot can be controlled realistically, practically, versatilely and flexibly by selecting work results that have been successful in the past in a closer environment as in the present embodiment.
また、本実施の形態では、実行に大きな影響を与える速度情報をパラメーターとし、類似度の算出に用いることで、目的の作業に近い環境の実行結果の抽出に用いることができる。 Further, in this embodiment, speed information that has a large influence on execution is used as a parameter, and is used for calculation of similarity, so that it can be used for extraction of execution results in an environment close to the target work.
<第2の実施の形態>
本発明の第1の実施の形態は、速度レベルを含めて類似度を算出したが、速度レベルは、他のパラメーターと比べると、作業結果に対する影響が大きい。
<Second Embodiment>
In the first embodiment of the present invention, the similarity including the speed level is calculated. However, the speed level has a greater influence on the work result than other parameters.
本発明の第2の実施の形態は、速度レベルが同じ実行ログのみを用いてシナリオSを選出する形態である。以下。第2の実施の形態のロボットシステム2について説明する。ロボットシステム2の構成は、ロボットシステム1と同一であるため、説明を省略する。また、第1の実施の形態と同一の部分については、同一の符号を付し、説明を省略する。
本実施形態における、上記構成からなるロボットシステム2の特徴的な処理について説明する。
In the second embodiment of the present invention, the scenario S is selected using only execution logs having the same speed level. Less than. A
A characteristic process of the
図10は、シナリオ選出処理の流れを示すフローチャートである。この処理は、任意のタイミングで、例えば、図示しないボタン等を介してシナリオ選出の開始指示が入力されることにより開始される。 FIG. 10 is a flowchart showing the flow of scenario selection processing. This process is started at an arbitrary timing, for example, by inputting a scenario selection start instruction via a button or the like (not shown).
情報取得部201は、入力装置25等を介して入力されたゴールGを取得し、シナリオ選出部202に出力する(ステップS100)。
The
シナリオ選出部202は、実行ログ記憶部205に格納されている実行ログから、シナリオ群Aを抽出する(ステップS103)。ここで、ステップS103の処理について、詳細に説明する。
The
図11は、シナリオ群A抽出処理の流れを示すフローチャートである。
シナリオ選出部202は、Jを1に設定する(ステップS1031)。シナリオ選出部202は、実行ログ記憶部205にJ番の実行ログがあるか否かを判断する(ステップS1032)。実行ログ記憶部205にJ番の実行ログがある場合(ステップS1032でYES)には、シナリオ選出部202は、J番の実行ログのシナリオの作業内容が、ステップS100で取得されたゴールGの作業内容と一致するか否かを判断する(ステップS1033)。なお、ステップS1031の処理は、ステップS1021の処理と同じであり、ステップS1032の処理は、ステップS1022の処理と同じであり、ステップS1033の処理は、ステップS1023の処理と同じである。
FIG. 11 is a flowchart showing the flow of the scenario group A extraction process.
The
J番の実行ログの作業内容が、ゴールGと一致する場合(ステップS1033でYES)には、シナリオ選出部202は、実行ログ記憶部205に格納された実行ログテーブルの速度格納領域2053fを参照して、J番の実行ログの速度レベルがゴールGの速度レベルと一致するか否かを判断する(ステップS1034)。
When the work content of the Jth execution log matches the goal G (YES in step S1033), the
J番の実行ログの速度レベルがゴールGの速度レベルと一致する場合(ステップS1034でYES)には、シナリオ選出部202は、J番の実行ログとゴールGとの類似度を算出する(ステップS1035)。ステップS1035の処理は、ステップS1024の処理に対して、類似度の算出式(1)のパラメーターに速度レベルが含まれないだけであるため、詳細な説明は省略する。
If the speed level of the Jth execution log matches the speed level of the goal G (YES in step S1034), the
シナリオ選出部202は、J番の実行ログとゴールGとの類似度が閾値(任意の値)以上であるか否かを判断する(ステップS1036)。ステップS1036の処理は、ステップS1025の処理と同一である。
The
J番の実行ログとゴールGとの類似度が閾値(任意の値)以上である場合(ステップS1036でYES)には、シナリオ選出部202は、J番の実行ログをシナリオ群Aに追加する(ステップS1037)。ステップS1037の処理は、ステップS1026と同一である。
If the similarity between the Jth execution log and the goal G is equal to or greater than a threshold (arbitrary value) (YES in step S1036), the
ステップS1026が行われた場合、J番の実行ログのシナリオの作業内容が、ゴールGと一致しない場合(ステップS1033でNO)、J番の実行ログの速度レベルがゴールGの速度レベルと一致しない場合(ステップS1034でNO)、及びJ番の実行ログとゴールGとの類似度が閾値(任意の値)以上でない場合(ステップS1036でNO)には、シナリオ選出部202は、Jに1を追加し(ステップS1038)、再度ステップS1032を行う。ステップS1038の処理は、ステップS1027と同一である。
When step S1026 is performed, if the work content of the scenario of the Jth execution log does not match the goal G (NO in step S1033), the speed level of the Jth execution log does not match the speed level of the goal G If this is the case (NO in step S1034), and if the similarity between the Jth execution log and the goal G is not equal to or greater than a threshold (arbitrary value) (NO in step S1036), the
実行ログ記憶部205にJ番の実行ログがない場合(ステップS1032でNO)には、シナリオ選出部202は、シナリオ群A抽出処理(ステップS103)を終了する。
シナリオ選出部202は、ステップS102で選出されたシナリオ群Aから、シナリオSを選出する(ステップS104)。
If there is no J-th execution log in the execution log storage unit 205 (NO in step S1032), the
The
シナリオ選出部202は、ステップS104で選出されたシナリオSをロボット駆動部203に出力する。ロボット駆動部203は、シナリオ選出部202から出力されたシナリオSでロボット10を移動させるように、ロボット10を制御する(ステップS106)。
The
ロボット駆動部203は、ステップS106でロボット10を制御した結果が成功か否かを判断し、その結果とシナリオSとを関連付けて実行ログ記憶部205に記憶する(ステップS108)。
The
本実施の形態によれば、実行ログのうち、速度レベルがゴールGの速度レベルと一致するもののみを用いてシナリオSを選出するため、より適切なシナリオを選出することができる。 According to the present embodiment, since the scenario S is selected using only the execution log whose speed level matches the speed level of the goal G, a more appropriate scenario can be selected.
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。特に、第1、第2の実施の形態では、ロボットと制御装置とが別に設けられたロボットシステムを提供する場合を例示したが、本発明は、ロボットと制御装置とが別に設けられたロボットシステムとして提供してもよいし、ロボットに制御装置等が含まれたロボットとして提供してもよいし、制御装置を備えたロボット制御装置として提供してもよい。また、本発明は、ロボット等を制御するプログラムやプログラムを記憶した記憶媒体として提供することもできる。 As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be made to the above embodiment. In addition, it is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention. In particular, in the first and second embodiments, a case where a robot system in which a robot and a control device are separately provided is illustrated, but the present invention is a robot system in which a robot and a control device are separately provided. Or a robot including a control device or the like in the robot, or a robot control device including the control device. The present invention can also be provided as a program for controlling a robot or the like or a storage medium storing the program.
1、2:ロボットシステム、10:ロボット、11:アーム、12:ジョイント、13:リンク、14:ハンド、20:制御装置、21:CPU、22:メモリー、23:外部記憶装置、24:通信装置、25:入力装置、26:出力装置、30:第1撮像部、31:第2撮像部、201:情報取得部、202:シナリオ選出部、203:ロボット駆動部、204:ライブラリー記憶部、205:実行ログ記憶部、2051:番号格納領域、2052 :シナリオ名格納領域、2053:パラメーター格納領域、2053a:A格納領域、2053b:XS格納領域、2053c:XE格納領域、2053d:X1格納領域、2053e:X2格納領域、2053f:速度格納領域、2054:実行結果格納領域 1, 2: Robot system, 10: Robot, 11: Arm, 12: Joint, 13: Link, 14: Hand, 20: Control device, 21: CPU, 22: Memory, 23: External storage device, 24: Communication device 25: input device, 26: output device, 30: first imaging unit, 31: second imaging unit, 201: information acquisition unit, 202: scenario selection unit, 203: robot drive unit, 204: library storage unit, 205: execution log storage unit, 2051: number storage area, 2052: scenario name storage area, 2053: parameter storage area, 2053a: A storage area, 2053b: XS storage area, 2053c: XE storage area, 2053d: X1 storage area, 2053e: X2 storage area, 2053f: Speed storage area, 2054: Execution result storage area
Claims (7)
前記ロボットが実行したシナリオと、当該シナリオを定める第1のパラメーターの選択値と、当該シナリオの実行結果と、を関連付けた実行ログが複数含まれる第1の実行情報を取得し、かつ前記目的の作業の内容と、当該目的の作業を定める第2のパラメーターの選択値と、を含む指示情報を取得する第1のステップと、
前記第1の実行情報から、前記シナリオが示す作業内容が前記目的の作業の内容と同一、かつ前記第1のパラメーターの選択値が前記第2のパラメーターの選択値に類似する実行ログを第2の実行情報として抽出する第2のステップと、
前記第2の実行情報に含まれるシナリオから、前記実行結果に基づいて成功率の最も高いシナリオを選出する第3のステップと、
前記選出されたシナリオを出力する第4のステップと、
を含むことを特徴とするロボット制御方法。 A robot control method for causing a robot to perform a desired work using a scenario in which a plurality of robot unit operations are combined.
Obtaining first execution information including a plurality of execution logs in which a scenario executed by the robot, a selected value of a first parameter defining the scenario, and an execution result of the scenario are associated; A first step of obtaining instruction information including a content of the work and a selected value of a second parameter that defines the target work;
Based on the first execution information, an execution log in which the work content indicated by the scenario is the same as the content of the target work and the selected value of the first parameter is similar to the selected value of the second parameter is stored in the second execution log. A second step of extracting as execution information of
A third step of selecting a scenario with the highest success rate based on the execution result from the scenarios included in the second execution information;
A fourth step of outputting the selected scenario;
A robot control method comprising:
前記第1のステップでは、前記第1のパラメーター及び前記第2のパラメーターとして、前記ロボットを移動させる速度に関する情報である速度情報を取得する
ことを特徴とするロボット制御方法。 The robot control method according to claim 1,
In the first step, speed information that is information about a speed at which the robot is moved is acquired as the first parameter and the second parameter.
前記実行ログ及び前記指示情報は、前記ロボットを移動させる速度に関する情報である速度情報を含み、
前記第2のステップでは、前記第1の実行情報から、前記指示情報の速度情報と同一の速度情報が関連付けられた実行ログを抽出する
ことを特徴とするロボット制御方法。 The robot control method according to claim 1,
The execution log and the instruction information include speed information that is information about a speed at which the robot moves.
In the second step, an execution log associated with the same speed information as the speed information of the instruction information is extracted from the first execution information.
前記第2のステップでは、前記第1のパラメーターの選択値と前記第2のパラメーターの選択値との差が大きいほど値が小さくなる算出式を用いて算出した類似度に基づいて、第2の実行情報を抽出する
ことを特徴とするロボット制御方法。 The robot control method according to any one of claims 1 to 3,
In the second step, based on the similarity calculated using a calculation formula that decreases as the difference between the selected value of the first parameter and the selected value of the second parameter increases, A robot control method characterized by extracting execution information.
前記ロボットが実行したシナリオと、当該シナリオを定める第1のパラメーターの選択値と、当該シナリオの実行結果と、を関連付けた実行ログが複数含まれる第1の実行情報を取得する第1の取得部と、
前記目的の作業の内容と、当該目的の作業を定める第2のパラメーターの選択値と、を含む指示情報を取得する第2の取得部と、
前記第1の実行情報から、前記シナリオが示す作業内容が前記目的の作業の内容と同一、かつ前記第1のパラメーターの選択値が前記第2のパラメーターの選択値に類似する実行ログを第2の実行情報として抽出するシナリオ群抽出部と、
前記第2の実行情報に含まれるシナリオから、前記実行結果に基づいて成功率の最も高いシナリオを選出するシナリオ選出部と、
前記選出された最適なシナリオを出力する出力部と、
を備えることを特徴とするロボット制御装置。 A robot control device for causing the robot to perform a desired work using a scenario in which a plurality of robot unit operations are combined.
A first acquisition unit that acquires first execution information including a plurality of execution logs that associate a scenario executed by the robot, a selected value of a first parameter that defines the scenario, and an execution result of the scenario. When,
A second acquisition unit that acquires instruction information including the content of the target work and a selection value of a second parameter that defines the target work;
Based on the first execution information, an execution log in which the work content indicated by the scenario is the same as the content of the target work and the selected value of the first parameter is similar to the selected value of the second parameter is stored in the second execution log. A scenario group extraction unit that extracts the execution information of
A scenario selection unit that selects a scenario having the highest success rate based on the execution result from the scenarios included in the second execution information;
An output unit for outputting the selected optimum scenario;
A robot control device comprising:
前記ロボットが実行したシナリオと、当該シナリオを定める第1のパラメーターの選択値と、当該シナリオの実行結果と、を関連付けた実行ログが複数含まれる第1の実行情報を取得する第1の取得部と、
前記目的の作業の内容と、当該目的の作業を定める第2のパラメーターの選択値と、を含む指示情報を取得する第2の取得部と、
前記第1の実行情報から、前記シナリオが示す作業内容が前記目的の作業の内容と同一、かつ前記第1のパラメーターの選択値が前記第2のパラメーターの選択値に類似する実行ログを第2の実行情報として抽出するシナリオ群抽出部と、
前記第2の実行情報に含まれるシナリオから、前記実行結果に基づいて成功率の最も高いシナリオを選出するシナリオ選出部と、
前記選出された最適なシナリオを用いて前記可動部を制御する駆動制御部と、
を備えることを特徴とするロボット。 A robot that causes a movable part of the robot to perform a desired work using a scenario in which a plurality of robot unit operations are combined,
A first acquisition unit that acquires first execution information including a plurality of execution logs that associate a scenario executed by the robot, a selected value of a first parameter that defines the scenario, and an execution result of the scenario. When,
A second acquisition unit that acquires instruction information including the content of the target work and a selection value of a second parameter that defines the target work;
Based on the first execution information, an execution log in which the work content indicated by the scenario is the same as the content of the target work and the selected value of the first parameter is similar to the selected value of the second parameter is stored in the second execution log. A scenario group extraction unit that extracts the execution information of
A scenario selection unit that selects a scenario having the highest success rate based on the execution result from the scenarios included in the second execution information;
A drive control unit that controls the movable unit using the selected optimal scenario;
A robot characterized by comprising:
前記ロボットが実行したシナリオと、当該シナリオを定める第1のパラメーターの選択値と、当該シナリオの実行結果と、を関連付けた実行ログが複数含まれる第1の実行情報を取得し、かつ前記目的の作業の内容と、当該目的の作業を定める第2のパラメーターの選択値と、を含む指示情報を取得する第1のステップと、
前記第1の実行情報から、前記シナリオが示す作業内容が前記目的の作業の内容と同一、かつ前記第1のパラメーターの選択値が前記第2のパラメーターの選択値に類似する実行ログを第2の実行情報として抽出する第2のステップと、
前記第2の実行情報に含まれるシナリオから、前記実行結果に基づいて成功率の最も高いシナリオを選出する第3のステップと、
前記選出された最適なシナリオを出力する第4のステップと、
を演算装置に実行させることを特徴とするロボット制御プログラム。 A robot control program for causing a robot to perform a desired work using a scenario in which a plurality of robot unit operations are combined.
Obtaining first execution information including a plurality of execution logs in which a scenario executed by the robot, a selected value of a first parameter defining the scenario, and an execution result of the scenario are associated; A first step of obtaining instruction information including a content of the work and a selected value of a second parameter that defines the target work;
Based on the first execution information, an execution log in which the work content indicated by the scenario is the same as the content of the target work and the selected value of the first parameter is similar to the selected value of the second parameter is stored in the second execution log. A second step of extracting as execution information of
A third step of selecting a scenario with the highest success rate based on the execution result from the scenarios included in the second execution information;
A fourth step of outputting the selected optimal scenario;
A robot control program that causes an arithmetic device to execute the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013062051A JP6079350B2 (en) | 2013-03-25 | 2013-03-25 | Robot control method, robot control apparatus, robot, and robot control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013062051A JP6079350B2 (en) | 2013-03-25 | 2013-03-25 | Robot control method, robot control apparatus, robot, and robot control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014184531A JP2014184531A (en) | 2014-10-02 |
JP6079350B2 true JP6079350B2 (en) | 2017-02-15 |
Family
ID=51832596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013062051A Active JP6079350B2 (en) | 2013-03-25 | 2013-03-25 | Robot control method, robot control apparatus, robot, and robot control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6079350B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102108389B1 (en) * | 2017-12-27 | 2020-05-11 | (주) 퓨처로봇 | Method for generating control scenario of service robot and device thereof |
JP7384005B2 (en) * | 2019-11-27 | 2023-11-21 | セイコーエプソン株式会社 | Control method and robot system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07152420A (en) * | 1993-11-29 | 1995-06-16 | Sanyo Electric Co Ltd | Assembling device using robot |
JP2003140744A (en) * | 2001-11-07 | 2003-05-16 | Ntt Docomo Inc | Knowledge data base equipment and method for constructing the same and system controller and its automatic handling method and program |
JP4728565B2 (en) * | 2003-07-16 | 2011-07-20 | 日本電気株式会社 | Failure recovery apparatus, failure recovery method and program |
JP2012206219A (en) * | 2011-03-30 | 2012-10-25 | Seiko Epson Corp | Robot control device and robot system |
JP5787642B2 (en) * | 2011-06-28 | 2015-09-30 | キヤノン株式会社 | Object holding device, method for controlling object holding device, and program |
-
2013
- 2013-03-25 JP JP2013062051A patent/JP6079350B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014184531A (en) | 2014-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7058126B2 (en) | Robot control device and automatic assembly system | |
US9878446B2 (en) | Determination of object-related gripping regions using a robot | |
US11745355B2 (en) | Control device, control method, and non-transitory computer-readable storage medium | |
EP2931485B1 (en) | Bare hand robot path teaching | |
JP7015068B2 (en) | Collision processing by robot | |
US20140277731A1 (en) | Robot picking system, control device, and method of manufacturing a workpiece | |
US10286557B2 (en) | Workpiece position/posture calculation system and handling system | |
JP6640060B2 (en) | Robot system | |
KR101860200B1 (en) | Selection of a device or an object by means of a camera | |
US20150273689A1 (en) | Robot control device, robot, robotic system, teaching method, and program | |
JP7264253B2 (en) | Information processing device, control method and program | |
JP2020104216A (en) | Robot control device, robot system and robot control method | |
WO2017119088A1 (en) | Robot system, and control method | |
JP6322949B2 (en) | Robot control apparatus, robot system, robot, robot control method, and robot control program | |
CN114025928A (en) | End effector control system and end effector control method | |
JP6079350B2 (en) | Robot control method, robot control apparatus, robot, and robot control program | |
JP7179971B2 (en) | Control device, robotic device, method, computer program and machine-readable storage medium for robotic device | |
JP6067547B2 (en) | Object recognition device, robot, and object recognition method | |
JP2020082314A (en) | Learning device, robot control method, and robot control system | |
JP7452657B2 (en) | Control device, control method and program | |
JP7376318B2 (en) | annotation device | |
JPWO2019069361A1 (en) | Gripping position / posture teaching apparatus, gripping position / posture teaching method, and robot system | |
CN112533739B (en) | Robot control device, robot control method, and storage medium | |
JP2008006518A (en) | Robot control system, robot control method and robot | |
US20240300095A1 (en) | Operation control method, operation control device, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160307 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161214 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170102 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6079350 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |