JP6567998B2 - Control method - Google Patents
Control method Download PDFInfo
- Publication number
- JP6567998B2 JP6567998B2 JP2016058370A JP2016058370A JP6567998B2 JP 6567998 B2 JP6567998 B2 JP 6567998B2 JP 2016058370 A JP2016058370 A JP 2016058370A JP 2016058370 A JP2016058370 A JP 2016058370A JP 6567998 B2 JP6567998 B2 JP 6567998B2
- Authority
- JP
- Japan
- Prior art keywords
- target
- information
- joint
- control device
- force
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 35
- 230000001133 acceleration Effects 0.000 claims description 25
- 238000013179 statistical model Methods 0.000 claims description 16
- 230000007704 transition Effects 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 239000002245 particle Substances 0.000 description 26
- 230000008569 process Effects 0.000 description 21
- 239000012636 effector Substances 0.000 description 14
- 238000012952 Resampling Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 230000004069 differentiation Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 210000002310 elbow joint Anatomy 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 210000003857 wrist joint Anatomy 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、統計モデルを用いて可動部を制御する制御方法に関する。 The present invention relates to a control method for controlling a movable part using a statistical model.
動作する可動部の位置情報(ロボットの関節角度など)に基づき構築した統計モデル(隠れマルコフモデルなど)を用いて、可動部を制御する制御方法が知られている(例えば、特許文献1参照)。 A control method for controlling a movable part using a statistical model (such as a hidden Markov model) constructed based on position information (such as a joint angle of a robot) of a moving part is known (for example, see Patent Document 1). .
上記制御方法においては、位置情報に基づいて統計モデルを構築している。このため、統計モデル構築時と、実際の可動部の制御時とで、例えば、その可動部と操作対象物との位置関係が変化した場合に、可動部と操作対象物との間に過大な力が発生する、あるいは可動部が操作対象物に接触できない虞がある。
本発明は、かかる課題を解決するためになされたものであり、統計モデル構築時と可動部の制御時で、可動部と操作対象物の位置関係が異なる場合でも、可動部と操作対象物との間に過大な力が発生する、あるいは可動部が操作対象物に接触できない状況を抑制できる制御方法を提供することを主たる目的とする。
In the above control method, a statistical model is constructed based on position information. For this reason, for example, when the positional relationship between the movable part and the operation target changes between the statistical model construction and the actual control of the movable part, there is an excessive amount between the movable part and the operation target. There is a possibility that a force is generated or the movable part cannot contact the operation target.
The present invention has been made to solve such a problem, and even when the positional relationship between the movable part and the operation target is different between the statistical model construction and the control of the movable part, the movable part and the operation target It is a main object to provide a control method that can suppress a situation in which an excessive force is generated during this period or a movable part cannot contact an operation target.
上記目的を達成するための本発明の一態様は、
動作する可動部の位置又は速度情報と該可動部に対する力情報とに基づき構築したモデルであって、各ノード間の遷移確率が設定され該各ノードは前記位置又は速度情報と力情報の分布を有する統計モデルと、時刻t(tは自然数)における前記可動部の位置又は速度情報と力情報と、に基づいて、時刻t+1における前記可動部の目標位置情報又は目標速度情報をサンプリングするステップと、
前記サンプリングした目標位置情報又は目標速度情報に基づいて、時刻t+1における前記可動部の目標位置情報又は目標速度情報と、目標加速度情報と、を算出するステップと、
前記算出した時刻t+1における目標位置情報、目標速度情報及び目標加速度情報に基づいて、逆動力学演算を行って、時刻t+1における前記可動部の目標力情報を算出するステップと、
前記時刻tにおける位置情報及び力情報と、前記統計モデルと、に基づいて、前記算出した時刻t+1における目標位置情報及び目標力情報が前記統計モデルから生成される確率を算出するステップと、
前記算出した時刻t+1における目標位置情報及び目標力情報と、前記算出した確率と、に基づいて、前記時刻t+1における目標位置情報及び目標力情報の期待値を算出するステップと、
前記算出した目標位置情報及び目標力情報の期待値に基づいて、前記可動部を制御するステップと、
を含む、ことを特徴とする制御方法
である。
この一態様によれば、可動部の位置指令値と力指令値の整合性を取ることができるため、統計モデル構築時と可動部制御時で、可動部と操作対象物の位置関係が異なる場合などでも、可動部と操作対象物との間で、過大な力が発生する、あるいは可動部が操作対象物に接触できない状況を抑制できる。
In order to achieve the above object, one embodiment of the present invention provides:
A model constructed based on the position or speed information of the movable part to be operated and the force information for the movable part, and a transition probability between the nodes is set, and each node has a distribution of the position or speed information and the force information. Sampling the position or speed information and force information of the movable part at time t (t is a natural number), and sampling the target position information or target speed information of the movable part at time t + 1 based on
Calculating target position information or target speed information of the movable part and target acceleration information at time t + 1 based on the sampled target position information or target speed information;
Performing reverse dynamics calculation based on the calculated target position information, target speed information and target acceleration information at time t + 1 to calculate target force information of the movable part at time t + 1;
Calculating a probability that the calculated target position information and target force information at time t + 1 are generated from the statistical model based on the position information and force information at time t and the statistical model;
Calculating expected values of target position information and target force information at time t + 1 based on the calculated target position information and target force information at time t + 1 and the calculated probability;
Controlling the movable part based on the calculated target position information and expected value of the target force information;
A control method characterized by comprising:
According to this aspect, since the consistency between the position command value and the force command value of the movable part can be taken, the positional relationship between the movable part and the operation target is different between the statistical model construction and the movable part control. Even in such a case, it is possible to suppress a situation in which an excessive force is generated between the movable part and the operation target or the movable part cannot contact the operation target.
本発明によれば、統計モデル構築時と可動部の制御時で、可動部と操作対象物の位置関係が異なる場合でも、可動部と操作対象物との間に過大な力が発生する、あるいは可動部が操作対象物に接触できない状況を抑制できる制御方法を提供できる。 According to the present invention, an excessive force is generated between the movable unit and the operation target even when the positional relationship between the movable unit and the operation target is different between the statistical model construction and the control of the movable unit, or It is possible to provide a control method capable of suppressing a situation in which the movable part cannot contact the operation target.
以下、図面を参照して本発明の実施の形態について説明する。
実施形態1
図1は、本発明の実施形態1に係るロボットアームの概略的な構成を示す図である。本実施形態1に係る制御装置は、例えば、多関節型のロボットアーム(可動部の一具体例)2を制御する。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram showing a schematic configuration of a robot arm according to the first embodiment of the present invention. The control device according to the first embodiment controls, for example, an articulated robot arm (one specific example of a movable part) 2.
ロボットアーム2は、複数のリンク21と、各リンク21を回動可能に連結する関節部(手首関節、肘関節、肩関節など)22と、その先端に設けられ操作対象を操作するエンドエフェクタ23と、を有する。
The
図2は、本発明の実施形態1に係るロボットアーム及び制御装置の概略的なシステム構成を示すブロック図である。各関節部22には、各関節部22の関節角度(位置情報の一具体例)を検出するエンコーダなどの角度センサ24と、各関節部22を駆動するサーボモータなどのアクチュエータ25と、各関節部22の操作力を検出する力センサ26と、が設けられている。
FIG. 2 is a block diagram illustrating a schematic system configuration of the robot arm and the control device according to the first embodiment of the present invention. Each
力センサ26は、例えば、各関節部22の関節トルク(力情報の一具体例)を検出するトルクセンサなどである。各関節部22には、減速機構が設けられている。エンドエフェクタ23は、例えば、物体を把持、接触などして物体に操作力を加える。エンドエフェクタ23には、エンドエフェクタ23を駆動するアクチュエータ25と、エンドエフェクタ23の操作力を検出する力センサ26と、が設けられている。
The
制御装置1は、例えば、各関節部22の角度センサ24からの角度情報(関節角度など)と、力センサ26からの操作力と、に基づいて、各関節部22及びエンドエフェクタ23のアクチュエータ25を制御することで、ロボットアーム2をフィードバック制御する。
The
なお、制御装置1は、例えば、演算処理等と行うCPU(Central Processing Unit)1a、CPU1aによって実行される演算プログラム、制御プログラム等が記憶されたROM(Read Only Memory)やRAM(Random Access Memory)からなるメモリ1b、外部と信号の入出力を行うインターフェイス部(I/F)1c、などからなるマイクロコンピュータを中心にして、それぞれ、ハードウェア構成されている。CPU1a、メモリ1b、及びインターフェイス部1cは、データバス1dなどを介して相互に接続されている。
The
本実施形態1に係る制御装置1は、例えば、隠れマルコフモデル(Hidden Markov Model:HMM)などの統計モデルを用いて、人の動作を模倣学習することで、ロボットアーム2によるテーブル拭きのような力を加えて行う物理タスクを実行する。
The
ところで、ロボットアームが上記のような物理タスクを実行するために、制御装置は、ロボットアームの位置情報(関節角度や手先位置)に加えて、ロボットアームの力情報(関節トルクや手先反力)についても学習する必要がある。この場合、制御装置が単にロボットアームの位置情報と同様に、力情報を学習するだけでは次のような問題が生じる。例えば、その学習時と制御時とでそのロボットアームと操作対象物との位置関係が変化した場合(テーブルの高さが変化した場合など)に、ロボットアームと操作対象物との間に過大な力が発生する、あるいはロボットアームが操作対象物に接触できない虞がある。 By the way, in order for the robot arm to execute the physical tasks as described above, the control device, in addition to the robot arm position information (joint angle and hand position), the robot arm force information (joint torque and hand reaction force) Need to learn about. In this case, the following problems arise when the control device simply learns the force information, just like the position information of the robot arm. For example, if the positional relationship between the robot arm and the operation target changes during learning and control (such as when the height of the table changes), the robot arm and the operation target are excessively large. There is a possibility that a force is generated or the robot arm cannot contact the operation target.
これに対し、本実施形態1に係る制御装置1は、隠れマルコフモデルによるロボットアーム2の目標軌道生成時に、後述の動力学演算式を用いて力学的整合性を確保する。
On the other hand, the
制御装置1は、予め用意されたデータに基づいて学習を行い隠れマルコフモデルを構築する学習処理と、学習処理で構築した隠れマルコフモデルを用いてロボットアーム2を制御する実行処理と、を実行する。
The
(学習処理)
制御装置1は、学習処理において、例えば、予め用意されたロボットアーム2の各関節部22の関節角度および関節トルクの時系列データ(シミュレーションデータなど)を用いて学習を行い、Baum-Welch法によりleft-right隠れマルコフモデルを構築する(図3)。
(Learning process)
In the learning process, for example, the
なお、制御装置1は、実際にロボットアーム2を遠隔的に動作させ、その際に角度センサ24及び力センサ26により検出されたロボットアーム2の各関節部22の関節角度および関節トルクの時系列データを用いて学習を行い、隠れマルコフモデルを構築してもよい。
The
図3に示す如く、隠れマルコフモデルにおいて、各ノードqと、ノードq間を遷移する遷移確率aが設定される。各ノードqは、各関節部22の関節角度θおよび関節トルクτの分布を有している。制御装置1は、上記各関節部22の関節角度および関節トルクの時系列データを用いてノード間の遷移確率aと、各関節部22の関節角度θおよび関節トルクτの分布を表すパラメータと、を学習した隠れマルコフモデルを構築する。
As shown in FIG. 3, in the hidden Markov model, each node q and a transition probability a for transitioning between the nodes q are set. Each node q has a distribution of a joint angle θ and a joint torque τ of each
このように、学習処理において、ロボットアーム2の関節角度と関節トルクを使用して隠れマルコフモデルを構築する。これにより、ロボットアーム2の関節角度と関節トルクの相関関係も含めて時系列データを保存でき、ロボットアーム2が操作対象物の接触動作を行うための位置指令と力指令の両者を同時に生成できる。また、そのデータの情報量を圧縮しつつ、ロボットアーム2の動作認識等を行うこともできる。
Thus, in the learning process, a hidden Markov model is constructed using the joint angle and joint torque of the
(実行処理)
制御装置1は、本実行処理において、図4に示す如く、各関節部22の目標軌道生成と、ロボットアーム制御と、を同時に実行する。さらに、制御装置1は、このロボットアーム制御時において、力センサ26及び角度センサ24により検出された現在時刻tのセンサ値に基づいて、次瞬間である時刻t+1のロボットアーム2の目標位置情報θplan及び目標力情報τplanを決定し、これら目標位置情報θplan及び目標力情報τplanに基づいてロボットアーム2のコンプライアンス制御を実行する。これにより、ロボットアーム2の現在の状態から大きく離れた指令値が生成され、ロボットアーム2が急激に動作するような状況を回避できる。さらに、ロボットアーム2の位置指令及び力指令を同時に厳密に満たせない場合でも、上記目標位置情報及び目標力情報を用いて、ロボットアーム2の位置及び力を予め設定したパラメータに従ったバランス状態で適正に制御できる。
(Execution process)
In this execution process, the
制御装置1は、所定時間毎に、以下の[prediction](1)〜(8)および[resampling]を繰り返して関節部22の目標軌道を生成する。
The
[prediction]
(1)制御装置1は、まず、現在時刻tにおける隠れマルコフモデルのノードqtと、角度センサ24及び力センサ26により検出された現在時刻tにおける関節角度θt及び関節トルクτtと、を保持する。
[prediction]
(1) The
(2)制御装置1は、隠れマルコフモデルのノード間の遷移確率aを用いて、次瞬間である時刻t+1におけるノードqt+1をサンプリングする。
(2) The
(3)制御装置1は、サンプリングしたノードqt+1が有する関節角度の分布(ノードqt+1における出力確率)に基づいて、時刻t+1における関節部22の目標関節角度(目標位置情報の一具体例)θt+1 refをサンプリングする。
このように、関節部22の目標軌道生成時に関節部22の関節角度び関節トルクを含む隠れマルコフモデルと、角度センサ24及び力センサ26により検出された現在時刻tにおける関節角度及び関節トルクと、に基づいて、目標関節角度をサンプリングしている。
(3) The
Thus, the hidden Markov model including the joint angle and joint torque of the
(4)制御装置1は、サンプリングした目標関節角度θt+1 refを1階微分して関節部22の目標関節角速度(目標速度情報の一具体例)θ(ドット)t+1 refを算出し、目標関節角度θt+1 refを2階微分して関節部22の目標関節角加速度(目標加速度情報の一具体例)θ(2ドット)t+1 refを算出する。なお、上記のようにθの上部に1つのドット記号を付したもの(1階微分値)をθ(ドット)と表記し、θの上部に2つのドット記号を付したもの(2階微分値)をθ(2ドット)と表記し、以降、他のパラメータについても同様に表記する。
(4) The
(5)制御装置1は、算出した目標関節角加速度θ(2ドット)t+1 refを下記(式1)を用いて修正する。下記式1において、Kp及びKdは、予め設定される係数行列である。
この修正により、制御安定性をより高めることができる。
This correction can further increase the control stability.
(6)制御装置1は、算出した目標関節角度θt+1 ref、目標関節角速度θ(ドット)t+1 ref、および修正した目標関節角加速度θ(2ドット)t+1 refと、目標反力Ft+1 refとを実現する、目標関節トルクτt+1を算出する。
なお、上記目標反力Ft+1 refは、ロボットアーム2の操作内容に基づいてユーザにより設定される。例えば、ロボットアーム2を操作対象物に強く接触させる場合は、目標反力10[N]に設定し、軽く接触させる場合は、1[N]に設定する。
制御装置1は、算出した目標関節角度θt+1 ref、目標関節角速度θ(ドット)t+1 ref、および修正した目標関節角加速度θ(2ドット)t+1 refと、目標反力Ft+1 refと、に基づいて、下記逆動力学演算式(運動方程式)(式2)を用いて関節部22の目標関節トルク(目標力情報の一具体例)τt+1を算出する。なお、下記(式2)において、Mは慣性行列であり、Cは遠心及びコリオリ項であり、Gは重力項である。Jは、関節角速度をロボットアーム2(可動部)の速度に関係付けるヤコビ行列である。
このように、下記逆動力学演算式を用いて目標関節トルクτt+1を算出することで、隠れマルコフモデルによる関節部22の目標軌道生成時において、ロボットアーム2の力学的な整合性を確保することができる。
The target reaction force F t + 1 ref is set by the user based on the operation content of the
The
Thus, by calculating the target joint torque τ t + 1 using the following inverse dynamic equation, the mechanical consistency of the
(7)制御装置1は、角度センサ24及び力センサ26により検出された現在時刻tでの関節角度θt及び関節トルクτtと、隠れマルコフモデルと、に基づいて、目標関節角度θt+1 ref、および目標関節トルクτt+1が隠れマルコフモデルから生成される(qt+1、θt+1 ref、τt+1に到達する)確率P(θt+1 ref、τt+1|θt、τt、λ)を算出する。このように、角度センサ24及び力センサ26により検出された現在時刻tの関節角度及び関節トルク(センサ値)と、隠れマルコフモデルと、から、その目標関節角度θt+1 refおよび目標関節トルクτt+1になる確率(尤度)を算出する。
制御装置1は、パーティクル毎に上記確率Pを算出する。ここで、制御装置1は、各パーティクルの確率Pの総和が1にするため、次の修正処理を行う。例えば、制御装置1は、各パーティクルの確率の総和を算出し、各パーティクルの確率を算出した総和で除算する。
(7) The
The
(8)制御装置1は、目標関節角度θt+1 ref、目標関節トルクτt+1および修正した確率に基づいて下記(式3)を用いて、次瞬間の指令値である時刻t+1における目標関節角度の推定値θ(ハット)t+1 ref及び目標関節トルクの推定値τ(ハット)t+1を、パーティクル毎の関節角度及び関節トルクの期待値として算出する。なお、θ及びτの上部にハット記号を付したものを、夫々、θ(ハット)及びτ(ハット)と表記し、以降、他のパラメータについても同様に表記する。
このように、上記(7)で算出した確率による重みづけ平均により次瞬間の指令値を算出する。
Thus, the command value at the next moment is calculated by the weighted average based on the probability calculated in (7) above.
制御装置1は、上記(8)において算出した目標関節角度の推定値θ(ハット)t+1 ref及び目標関節トルクの推定値τ(ハット)t+1と、角度センサ24により検出された各関節部22の関節角度θと、に基づいて、各関節部22のコンプライアンス制御を行う。制御装置1は、上記(8)において算出した目標関節角度の推定値θ(ハット)t+1 ref及び目標関節トルクの推定値τ(ハット)t+1を、夫々、角度指令θplan、及びトルク指令τplanとして、下記(式4)を用いて、トルク指令τrefを算出する。なお、下記(式4)において、K及びDは予め設定される係数行列である。
制御装置1は、算出したトルク指令τrefを各関節部22のアクチュエータ25に送信することで、各アクチュエータ25を制御する。
さらに、制御装置1は、力センサ26により検出された関節トルクτが、算出したトルク指令τrefに追従するように、関節部22のアクチュエータ25に対して、フィードバック制御を行う。
The
Furthermore, the
以上のように、目標軌道生成時において、関節部22の関節角度及び関節トルクを含む隠れマルコフモデルと、角度センサ24及び力センサ26により検出された関節角度及び関節トルクに基づいて、目標関節角度をサンプリングする。サンプリングした目標関節角度に基づいて目標関節角速度及び目標関節角加速度を算出し、目標関節角度と、算出した目標関節角速度および目標関節角加速度と、目標反力と、に基づいて、逆動力学演算を行い目標関節トルクを算出して、ロボットアーム2の力学的な整合性を確保する。現在時刻tの角度センサ値及びトルクセンサ値と、隠れマルコフモデルと、から、その目標関節角度および目標関節トルクになる確率を算出する。算出した確率による重みづけ平均により時刻t+1の目標関節角度及び目標関節トルクの期待値を算出し、この目標関節角度及び目標関節トルクの期待値を用いてロボットアーム2の関節部22を制御する。
As described above, the target joint angle is determined based on the hidden Markov model including the joint angle and joint torque of the
これにより、ロボットアーム2の位置指令値と力指令値の整合性を取ることができる。したがって、隠れマルコフモデル構築時とロボットアーム制御時で、例えば、操作対象物の大きさ、形状が異なる場合や、ロボットアーム2と操作対象物の位置関係(テーブルの高さが異なるなど)が異なる場合などでも、ロボットアーム2と操作対象物との間で、過大な力が発生する、あるいはロボットアームが操作対象物に接触できない状況を抑制できる。
Thereby, the consistency between the position command value of the
[resampling]
制御装置1は、上記算出した確率Pを正規化して、確率密度分布pkを算出する。
制御装置1は、各パーティクルの確率Pとなるように、確率密度分布pkに従ってパーティクルをばらまき、時刻t+1でのパーティクルを更新する。これにより、確率の低いパーティクルを除去し、確率の高いパーティクルを残すことができる。
制御装置1は、選択したパーティクルsのノードqt+1を次のフレームのためにqtにセットし、上記(1)に戻り処理を繰り返す。
[resampling]
The
図5は、本実施形態1に係る制御方法のフローを示すフローチャートである。なお、図5に示す制御処理は、例えば、所定時間毎に繰返し実行される。
制御装置1は、隠れマルコフモデルのノード間の遷移確率aを用いて時刻t+1(次瞬間)におけるノードqt+1をサンプリングする(ステップS101)。
FIG. 5 is a flowchart showing a flow of the control method according to the first embodiment. Note that the control process shown in FIG. 5 is repeatedly executed at predetermined time intervals, for example.
The
制御装置1は、サンプリングしたノードqt+1が有する関節角度の分布に基づいて、時刻t+1における目標関節角度θt+1 refをサンプリングする(ステップS102)。
制御装置1は、サンプリングした目標関節角度θt+1 refを1階微分して目標関節角速度θ(ドット)t+1 refを算出し、目標関節角度θt+1 refを2階微分して目標関節角加速度θ(2ドット)t+1 refを算出する(ステップS103)。
The
制御装置1は、算出した目標関節角加速度θ(2ドット)t+1 refを上記(式1)を用いて修正する(ステップS104)。
制御装置1は、算出した目標関節角度θt+1 ref、目標関節角速度θ(ドット)t+1 ref、および修正した目標関節角加速度θ(2ドット)t+1 refと、目標反力Ft+1 refと、に基づいて、上記逆動力学演算式(式2)を用いて目標関節トルクτt+1を算出する(ステップS105)。
The
The
制御装置1は、角度センサ24及び力センサ26により検出された現在時刻tでの関節角度θt及び関節トルクτtと、隠れマルコフモデルと、に基づいて、目標関節角度θt+1 ref、および目標関節トルクτt+1が隠れマルコフモデルから生成される確率P(θt+1 ref、τt+1|θt、τt、λ)を算出する(ステップS106)。
The
制御装置1は、目標関節角度θt+1 ref、目標関節トルクτt+1および修正した確率に基づいて上記(式3)を用いて、時刻t+1における目標関節角度の推定値θ(ハット)t+1 ref及び目標関節トルクの推定値τ(ハット)t+1(次瞬間の指令値)を、パーティクル毎の関節角度及び関節トルクの期待値として算出する(ステップS107)。
The
制御装置1は、上記(8)において算出した目標関節角度の推定値θ(ハット)t+1 ref及び目標関節トルクの推定値τ(ハット)t+1と、角度センサ24により検出された各関節部の関節角度θと、に基づいて、各関節部22のコンプライアンス制御を行う(ステップS108)。
制御装置1は、各パーティクルの確率Pとなるように、確率密度分布pkに従ってパーティクルをばらまき、時刻t+1でのパーティクルを更新する(ステップS109)。
The
The
以上、本実施形態1において、関節部22の関節角度及び関節トルクを含む隠れマルコフモデルと、角度センサ24及び力センサ26により検出された関節角度及び関節トルクに基づいて、目標関節角度をサンプリングする。サンプリングした目標関節角度に基づいて目標関節角速度及び目標関節角加速度を算出し、目標関節角度と、算出した目標関節角速度および目標関節角加速度と、目標反力と、に基づいて、逆動力学演算を行い目標関節トルクを算出する。現在時刻tの角度センサ値及びトルクセンサ値と、隠れマルコフモデルと、から、その目標関節角度および目標関節トルクになる確率を算出する。算出した確率による重みづけ平均により時刻t+1の目標関節角度及び目標関節トルクの期待値を算出し、この目標関節角度及び目標関節トルクの期待値を用いてロボットアーム2の関節部22を制御する。
As described above, in the first embodiment, the target joint angle is sampled based on the hidden Markov model including the joint angle and joint torque of the
これにより、ロボットアーム2の位置指令値と力指令値の整合性を取ることができる。したがって、隠れマルコフモデル構築時とロボットアーム制御時で、例えば、操作対象物の大きさ、形状が異なる場合や、ロボットアーム2と操作対象物の位置関係が異なる場合などでも、ロボットアーム2と操作対象物との間で、過大な力が発生する、あるいはロボットアームが操作対象物に接触できない状況を抑制できる。
Thereby, the consistency between the position command value of the
実施形態2
本発明の実施形態2において、制御装置1は、エンドエフェクタ23の手先位置(位置情報の一具体例)および、エンドエフェクタ23の手先反力(力情報の一具体例)の時系列データに基づいて、隠れマルコフモデルを構築してもよい。この場合、制御装置1は、上記実施形態1における[prediction](1)〜(8)および[resampling]の関節角度および関節トルクを、夫々、手先位置および手先反力に置き換えて同様の処理を行う。
In
(学習処理)
制御装置1は、学習処理において、例えば、予め用意されたエンドエフェクタ23の手先位置および手先反力の時系列データを用いて学習を行い、Baum-Welch法によりleft-right隠れマルコフモデルを構築する。
(Learning process)
In the learning process, for example, the
(実行処理)
制御装置1は、所定時間毎に、以下の[prediction](1)〜(8)および[resampling]を繰り返す。
(Execution process)
The
[prediction]
(1)制御装置1は、まず、現在時刻tにおける隠れマルコフモデルのノードqtと、センサにより検出された現在時刻tにおける手先位置及び手先反力と、(パーティクル)を保持する。
[prediction]
(1) The
(2)制御装置1は、隠れマルコフモデルのノード間の遷移確率aを用いて時刻t+1(次瞬間)におけるノードqt+1をサンプリングする。
(2) The
(3)制御装置1は、サンプリングしたノードqt+1が有する手先位置の分布に基づいて、時刻t+1における目標手先位置(目標位置情報の一具体例)をサンプリングする。
(3) The
(4)制御装置1は、サンプリングした目標手先位置にを1階微分して目標手先速度(目標速度情報の一具体例)を算出し、目標手先位置にを2階微分して目標手先加速度(目標加速度情報の一具体例)を算出する。
(4) The
(5)制御装置1は、制御安定性を向上させるために、算出した目標手先加速度を修正する。本実施形態2において、制御装置1は、上記(5)による目標手先加速度の修正を行わなくても良い。
(5) The
(6)制御装置1は、算出した目標手先位置、目標手先速度、および修正した目標手先加速度と、目標反力とを実現する、目標手先反力(目標力情報の一具体例)を算出する。
(6) The
(7)制御装置1は、センサにより検出された現在時刻tでの手先位置及び手先反力と、隠れマルコフモデルと、に基づいて、目標手先位置および目標手先反力が隠れマルコフモデルから生成される確率Pを算出する。
制御装置1は、パーティクル毎に上記確率Pを算出する。ここで、制御装置1は、各パーティクルの確率Pの総和が1にするため、次の修正処理を行う。例えば、制御装置1は、各パーティクルの確率の総和を算出し、各パーティクルの確率を算出した総和で除算する。
制御装置1は、算出した確率Pを正規化して、確率密度分布pkを算出する。
(7) The
The
(8)制御装置1は、目標手先位置、目標手先反力および修正した確率に基づいて、時刻t+1における目標手先位置の推定値及び目標手先反力の推定値(次瞬間の指令値)を、パーティクル毎の手先位置及び手先反力の期待値として算出する。
制御装置1は、上記(8)において算出した目標手先位置の推定値及び目標手先反力の推定値と、センサにより検出された手先位置と、に基づいて、各関節部22のコンプライアンス制御を行う。
(8) The
The
[resampling]
制御装置1は、各パーティクルの確率Pとなるように、確率密度分布pkに従ってパーティクルをばらまき、時刻t+1でのパーティクルを更新する。
[resampling]
The
実施形態3
本発明の実施形態3において、制御装置1は、ロボットアーム2の各関節部22の関節角度および関節トルクと、エンドエフェクタ23の手先反力と、の時系列データに基づいて隠れマルコフモデルを構築する。
Embodiment 3
In Embodiment 3 of the present invention, the
この場合、制御装置1は、上記実施形態1の[prediction](3)において、サンプリングしたノードqt+1が有する関節角度の分布に基づいて、時刻t+1における目標関節角度θt+1 ref及び目標反力をサンプリングする。
In this case, the
そして、制御装置1は、上記[prediction](3)において、算出した目標関節角度θt+1 ref、目標関節角速度θ(ドット)t+1 ref、および修正した目標関節角加速度θ(2ドット)t+1 refと、サンプリングした目標反力Ft+1と、に基づいて、上記運動方程式(逆動力学演算式)(式3)を用いて目標関節トルクτt+1を算出する。
これにより、隠れマルコフモデルに手先反力を含めることで、[prediction]の過程で自動的に目標反力を設定することができる。
Then, in [prediction] (3), the
Thus, by including the hand reaction force in the hidden Markov model, the target reaction force can be automatically set in the process of [prediction].
本実施形態3において、上記[prediction](3)及び(6)以外の他の処理は、上記実施形態1と同一であるため、詳細な説明は省略する。 In the third embodiment, processes other than the above [prediction] (3) and (6) are the same as those in the first embodiment, and thus detailed description thereof is omitted.
実施形態4
本発明の実施形態4において、制御装置1は、エンドエフェクタ23の手先速度(速度情報の一具体例)および、エンドエフェクタ23の手先反力、の時系列データに基づいて、隠れマルコフモデルを構築する。
Embodiment 4
In Embodiment 4 of the present invention, the
(学習処理)
制御装置1は、学習処理において、例えば、予め用意されたエンドエフェクタ23の手先速度および手先反力の時系列データを用いて学習を行い、Baum-Welch法によりleft-right隠れマルコフモデルを構築する。
(Learning process)
In the learning process, the
(実行処理)
[prediction]
(1)制御装置1は、まず、現在時刻tにおける隠れマルコフモデルのノードqtと、センサにより検出された現在時刻tにおける手先速度及び手先反力と、(パーティクル)を保持する。
(Execution process)
[prediction]
(1) First, the
(2)制御装置1は、隠れマルコフモデルのノード間の遷移確率aを用いて時刻t+1(次瞬間)におけるノードqt+1をサンプリングする。
(2) The
(3)制御装置1は、サンプリングしたノードqt+1が有する手先速度の分布に基づいて、時刻t+1における目標手先速度をサンプリングする。
(3) The
(4)制御装置1は、サンプリングした目標手先速度を1階積分して目標手先位置を算出し、目標手先速度を1階微分して目標手先加速度を算出する。
上記(1)乃至(4)以外の処理は、上記実施形態2と同一であるため、詳細な説明は省略する。
(4) The
Since processes other than the above (1) to (4) are the same as those in the second embodiment, detailed description thereof is omitted.
実施形態5
本発明の実施形態5において、制御装置1は、ロボットアーム2の各関節部22の関節角速度および関節トルクの時系列データに基づいて、隠れマルコフモデルを構築する。
Embodiment 5
In the fifth embodiment of the present invention, the
(学習処理)
制御装置1は、学習処理において、例えば、予め用意されたロボットアーム2の各関節部22の関節角速度および関節トルクの時系列データを用いて学習を行い、Baum-Welch法によりleft-right隠れマルコフモデルを構築する。
(Learning process)
In the learning process, the
(実行処理)
[prediction]
(1)制御装置1は、まず、現在時刻tにおける隠れマルコフモデルのノードqtと、センサにより検出された現在時刻tにおける関節角速度及び関節トルクと、(パーティクル)を保持する。
(Execution process)
[prediction]
(1) The
(2)制御装置1は、隠れマルコフモデルのノード間の遷移確率aを用いて時刻t+1(次瞬間)におけるノードqt+1をサンプリングする。
(2) The
(3)制御装置1は、サンプリングしたノードqt+1が有する関節角速度の分布に基づいて、時刻t+1における目標関節角速度をサンプリングする。
(3) The
(4)制御装置1は、サンプリングした目標関節角速度にを1階積分して目標関節角度を算出し、目標関節角速度にを1階微分して目標関節角加速度を算出する。
上記(1)乃至(4)以外の処理は、上記実施形態1と同一であるため、詳細な説明は省略する。
(4) The
Since the processes other than the above (1) to (4) are the same as those in the first embodiment, detailed description thereof is omitted.
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
上記実施形態において、制御装置1は、隠れマルコフモデルを構築し、構築した隠れマルコフモデルを用いて制御を行っているが、これに限定されない。制御装置1は、各ノード間に遷移確率が設定され各ノードは位置又は速度情報と力情報の分布を有する、グラフィカルな統計モデルを構築し、この統計モデル用いて制御を行っても良い。制御装置1は、例えば、マルコフモデル、やCRF(Conditional Random Field)などのグラフィカルな統計モデルを構築してもよい。
Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.
In the above embodiment, the
上記実施形態において、制御装置1は、ロボットアーム2を制御しているが、これに限定されない。制御装置1は、例えば、複数の関節部を有するロボット脚部や、人の脚部に装着されその歩行を補助する歩行支援ロボットを制御してよく、複数の関節部を有するロボットの各部を制御できる。さらに、制御装置1は、ロボットの制御だけでなく、工作機械(力制御を行う加工機械における人の加工方法の模倣等)、車両などの自動運転(人のハンドル操作の模倣等)、モータによる可動部分を含む装置、などを制御してもよい。
In the above embodiment, the
本発明は、例えば、図5に示す処理を、CPU1aにコンピュータプログラムを実行させることにより実現することも可能である。
In the present invention, for example, the processing shown in FIG. 5 can be realized by causing the
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。 The program may be stored using various types of non-transitory computer readable media and supplied to a computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W and semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)) are included.
プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 The program may be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
1 制御装置、2 ロボットアーム、21 リンク、22 関節部、23 エンドエフェクタ、24 角度センサ、25 アクチュエータ、26 力センサ
DESCRIPTION OF
Claims (1)
前記サンプリングした目標位置情報又は目標速度情報に基づいて、時刻t+1における前記可動部の目標位置情報又は目標速度情報と、目標加速度情報と、を算出するステップと、
前記算出した時刻t+1における目標位置情報、目標速度情報及び目標加速度情報に基づいて、逆動力学演算を行って、時刻t+1における前記可動部の目標力情報を算出するステップと、
前記時刻tにおける位置情報及び力情報と、前記統計モデルと、に基づいて、前記算出した時刻t+1における目標位置情報及び目標力情報が前記統計モデルから生成される確率を算出するステップと、
前記算出した時刻t+1における目標位置情報及び目標力情報と、前記算出した確率と、に基づいて、前記時刻t+1における目標位置情報及び目標力情報の期待値を算出するステップと、
前記算出した目標位置情報及び目標力情報の期待値に基づいて、前記可動部を制御するステップと、
を含む、ことを特徴とする制御方法。 A model constructed based on the position or speed information of the movable part to be operated and the force information on the movable part, and a transition probability between the nodes is set, and each node is distributed between the position or speed information and the force information. Sampling target position information or target speed information of the movable part at time t + 1 based on a statistical model having the following information: and position or speed information and force information of the movable part at time t (t is a natural number); ,
Calculating target position information or target speed information of the movable part and target acceleration information at time t + 1 based on the sampled target position information or target speed information;
Performing reverse dynamics calculation based on the calculated target position information, target speed information and target acceleration information at time t + 1 to calculate target force information of the movable part at time t + 1;
Calculating a probability that the calculated target position information and target force information at time t + 1 are generated from the statistical model based on the position information and force information at time t and the statistical model;
Calculating expected values of target position information and target force information at time t + 1 based on the calculated target position information and target force information at time t + 1 and the calculated probability;
Controlling the movable part based on the calculated target position information and expected value of the target force information;
A control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016058370A JP6567998B2 (en) | 2016-03-23 | 2016-03-23 | Control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016058370A JP6567998B2 (en) | 2016-03-23 | 2016-03-23 | Control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017170553A JP2017170553A (en) | 2017-09-28 |
JP6567998B2 true JP6567998B2 (en) | 2019-08-28 |
Family
ID=59971651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016058370A Expired - Fee Related JP6567998B2 (en) | 2016-03-23 | 2016-03-23 | Control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6567998B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7039389B2 (en) * | 2018-05-25 | 2022-03-22 | 川崎重工業株式会社 | Robot system and robot control method |
JP7167141B2 (en) * | 2018-05-25 | 2022-11-08 | 川崎重工業株式会社 | Robot system and additional learning method |
JP7391635B2 (en) * | 2019-11-28 | 2023-12-05 | 株式会社国際電気通信基礎技術研究所 | control system |
JP2022011402A (en) * | 2020-06-30 | 2022-01-17 | セイコーエプソン株式会社 | Robot control method and robot system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05111889A (en) * | 1991-10-23 | 1993-05-07 | Fanuc Ltd | Control of variable control type robot |
JP2960232B2 (en) * | 1991-11-26 | 1999-10-06 | 川崎重工業株式会社 | Robot control device |
JP2009066693A (en) * | 2007-09-12 | 2009-04-02 | Toyota Motor Corp | Motion data generating device, method, and robot device |
JP5465142B2 (en) * | 2010-09-27 | 2014-04-09 | 本田技研工業株式会社 | Robot and its action control system |
-
2016
- 2016-03-23 JP JP2016058370A patent/JP6567998B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2017170553A (en) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112428278B (en) | Control method and device of mechanical arm and training method of man-machine cooperation model | |
JP6567998B2 (en) | Control method | |
Sheng et al. | An integrated framework for human–robot collaborative manipulation | |
Thobbi et al. | Using human motion estimation for human-robot cooperative manipulation | |
JP4947073B2 (en) | Robot apparatus and control method thereof | |
Rozo et al. | Learning force and position constraints in human-robot cooperative transportation | |
CN106041912B (en) | Master-slave mode snake-shaped robot system and its position control method | |
WO2020138446A1 (en) | Robot control device, robot system, and robot control method | |
JP7295421B2 (en) | Control device and control method | |
CN112638596B (en) | Autonomous learning robot device and method for generating operation of autonomous learning robot device | |
JP7035309B2 (en) | Master-slave system | |
JP2013018113A (en) | Manipulator and method for generating path therefor | |
CN114516060A (en) | Apparatus and method for controlling a robotic device | |
JP7210201B2 (en) | Information processing method, program, recording medium, information processing device, robot system, article manufacturing method | |
CN115781685A (en) | High-precision mechanical arm control method and system based on reinforcement learning | |
Nemec et al. | Speed adaptation for self-improvement of skills learned from user demonstrations | |
JP6322949B2 (en) | Robot control apparatus, robot system, robot, robot control method, and robot control program | |
Anand et al. | Evaluation of variable impedance-and hybrid force/motioncontrollers for learning force tracking skills | |
JP7504398B2 (en) | Trajectory generation device, trajectory generation method, and trajectory generation program | |
JP2022122670A (en) | Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program | |
JP7263987B2 (en) | Control device, control method, and control program | |
TWI781708B (en) | Learning apparatus, learning method, learning program, control apparatus, control method, and control program | |
Sugimoto et al. | Trajectory-model-based reinforcement learning: Application to bimanual humanoid motor learning with a closed-chain constraint | |
JP4222338B2 (en) | Adaptive visual feedback control method | |
JPH05337860A (en) | Robot hand teaching device and robot hand |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180509 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190409 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190605 |
|
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: 20190709 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190801 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6567998 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |