IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 川崎重工業株式会社の特許一覧

<>
  • 特許-制御装置、ロボット及び制御方法 図1
  • 特許-制御装置、ロボット及び制御方法 図2
  • 特許-制御装置、ロボット及び制御方法 図3
  • 特許-制御装置、ロボット及び制御方法 図4
  • 特許-制御装置、ロボット及び制御方法 図5
  • 特許-制御装置、ロボット及び制御方法 図6
  • 特許-制御装置、ロボット及び制御方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-13
(45)【発行日】2024-12-23
(54)【発明の名称】制御装置、ロボット及び制御方法
(51)【国際特許分類】
   B25J 13/08 20060101AFI20241216BHJP
【FI】
B25J13/08 Z
【請求項の数】 7
(21)【出願番号】P 2021024980
(22)【出願日】2021-02-19
(65)【公開番号】P2022127061
(43)【公開日】2022-08-31
【審査請求日】2024-02-15
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】110000556
【氏名又は名称】弁理士法人有古特許事務所
(72)【発明者】
【氏名】梶原 慎司
(72)【発明者】
【氏名】田邊 雅隆
(72)【発明者】
【氏名】渡邉 圭
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2017-087375(JP,A)
【文献】特開2005-242794(JP,A)
【文献】特開2017-056544(JP,A)
【文献】米国特許出願公開第2019/0009410(US,A1)
【文献】特開平1-281891(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
第2ロボットアームを支持する少なくとも2つのリンクと、前記少なくとも2つのリンクを相互に接続する少なくとも1つの関節とを有する第1ロボットアームの制御装置であって、
前記第1ロボットアームに目標動作である第1目標動作をさせるための第1動作指令を取得し、前記第1ロボットアームが前記第1動作指令に従って動作する場合の前記少なくとも1つの関節の動作を推定する第1推定部と、
前記第2ロボットアームに目標動作である第2目標動作をさせるための第2動作指令を取得し、前記第2ロボットアームが前記第2動作指令に従って動作する場合に、前記第2ロボットアームと前記リンクとの接続部分が前記第2ロボットアームから受ける力を推定する第2推定部と、
前記第1推定部によって推定される前記少なくとも1つの関節の動作に基づき、前記少なくとも1つの関節が動作することによって前記リンクに発生する慣性力を推定する慣性力推定部と、
前記慣性力推定部によって推定される慣性力と、前記第2推定部によって推定される力とに基づき、前記リンクが受ける力を推定する第3推定部と、
前記第3推定部によって推定される力に基づき、前記リンクの変形量と、前記少なくとも1つの関節の変形量とのうちの少なくとも一方を推定する第4推定部と、
前記第4推定部によって推定される変形量に基づき、前記第1目標動作に従って前記接続部分を移動させるように前記変形量を補償するための前記第1動作指令の補正指令を生成し、前記補正指令を前記第1ロボットアームに指令する補正指令部とを含む
制御装置。
【請求項2】
前記少なくとも2つのリンクは、基端リンクと、前記基端リンク及び前記第2ロボットアームと接続される第1リンクとを含み、
前記少なくとも1つの関節は、前記第1リンクを前記基端リンクに接続する第1関節を含み、
前記第1推定部は、前記第1関節の動作を推定し、
前記慣性力推定部は、前記第1推定部によって推定される前記第1関節の動作に基づき、前記第1関節が動作することによって前記第1リンクに発生する慣性力を推定し、
前記第3推定部は、前記慣性力推定部によって推定される前記第1リンクに発生する慣性力と、前記第2推定部によって推定される力とに基づき、前記第1リンクが受ける力を推定し、
前記第4推定部は、前記第3推定部によって推定される前記第1リンクが受ける力に基づき、前記第1リンクの変形量と前記第1関節の変形量とのうちの少なくとも一方を推定する
請求項1に記載の制御装置。
【請求項3】
前記少なくとも2つのリンクは、基端リンクと、前記基端リンクと接続される第1リンクと、前記第2ロボットアームと接続される第2リンクとを含み、
前記少なくとも1つの関節は、前記第1リンクを前記基端リンクに接続する第1関節と、前記第2リンクを前記第1リンクに接続する第2関節とを含み、
前記第1推定部は、前記第1関節及び前記第2関節の動作を推定し、
前記慣性力推定部は、前記第1推定部によって推定される前記第1関節及び前記第2関節の動作に基づき、前記第1関節及び前記第2関節が動作することによって前記第1リンク及び前記第2リンクに発生する慣性力を推定し、
前記第3推定部は、前記慣性力推定部によって推定される前記第1リンクに発生する慣性力と、前記第2推定部によって推定される力とに基づき、前記第1リンクが受ける力を推定し、
前記第3推定部は、前記慣性力推定部によって推定される前記第2リンクに発生する慣性力と、前記第2推定部によって推定される力とに基づき、前記第2リンクが受ける力を推定し、
前記第4推定部は、前記第3推定部によって推定される前記第1リンクが受ける力に基づき、前記第1リンクの変形量と前記第1関節の変形量とのうちの少なくとも一方を推定し、
前記第4推定部は、前記第3推定部によって推定される前記第2リンクが受ける力に基づき、前記第2リンクの変形量と前記第2関節の変形量とのうちの少なくとも一方を推定する
請求項1に記載の制御装置。
【請求項4】
前記リンクの位置を推定する第1位置推定部と、
前記接続部分の位置を推定する第2位置推定部と、
前記リンクの慣性的特徴と前記第2ロボットアームの慣性的特徴とを推定する慣性要素推定部とをさらに含み、
前記リンクの慣性的特徴は、前記リンクの慣性モーメント及び質量を要素として含み、
前記第2ロボットアームの慣性的特徴は、前記第2ロボットアームの慣性モーメント及び質量を要素として含み、
前記慣性力推定部は、前記リンクの慣性的特徴と、前記第2ロボットアームの慣性的特徴と、前記少なくとも1つの関節の加速度と、前記少なくとも1つの関節のジョイントスクリュとを用いて、前記リンクに発生する前記慣性力を推定し、
前記ジョイントスクリュは、前記少なくとも1つの関節の向きを示す要素を含む、前記少なくとも1つの関節の状態を示す特徴である
請求項1~3のいずれか一項に記載の制御装置。
【請求項5】
請求項1~のいずれか一項に記載の制御装置と、
前記第1ロボットアームと、
前記第2ロボットアームとを備える
ロボット。
【請求項6】
前記制御装置は、前記第1動作指令及び前記第2動作指令を生成し、前記第1ロボットアーム及び前記第2ロボットアームの動作を制御するように構成される
請求項に記載のロボット。
【請求項7】
第2ロボットアームを支持する少なくとも2つのリンクと、前記少なくとも2つのリンクを相互に接続する少なくとも1つの関節とを有する第1ロボットアームの制御方法であって、
前記第1ロボットアームに目標動作である第1目標動作をさせるための第1動作指令を取得することと、
前記第1ロボットアームが前記第1動作指令に従って動作する場合の前記少なくとも1つの関節の動作である推定関節動作を推定することと、
前記第2ロボットアームに目標動作である第2目標動作をさせるための第2動作指令を取得することと、
前記第2ロボットアームが前記第2動作指令に従って動作する場合に、前記第2ロボットアームと前記リンクとの接続部分が前記第2ロボットアームから受ける力である推定接続部分力を推定することと、
前記推定関節動作に基づき、前記少なくとも1つの関節が動作することによって前記リンクに発生する慣性力である推定慣性力を推定することと、
前記推定慣性力と、前記推定接続部分力とに基づき、前記リンクが受ける力である推定リンク力を推定することと、
前記推定リンク力に基づき、前記リンクの変形量と、前記少なくとも1つの関節の変形量とのうちの少なくとも一方を含む推定変形量を推定することと、
前記推定変形量に基づき、前記第1目標動作に従って前記接続部分を移動させるように前記推定変形量を補償するための前記第1動作指令の補正指令を生成することと、
前記補正指令を前記第1ロボットアームに指令することと、を含む
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御装置及びロボットに関する。
【背景技術】
【0002】
従来、移動装置に搭載されるロボットアームがある。例えば、特許文献1は、多関節型の工業用ロボットと、工業用ロボットを移動させる移動装置とを備える工業用ロボット装置を開示する。移動装置は、2つのリンクにより構成される水平2関節のリンク機構を有し、据付面に固定される。工業用ロボットは先端側のリンクの先端部に取り付けられる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平1-281891号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の工業用ロボット装置では、工業用ロボットが動作すると、工業用ロボットの重心が変動し、工業用ロボットが移動装置のリンクに与えるモーメントが変動し得る。例えば、工業用ロボットがワークを把持すると、工業用ロボットが移動装置のリンクに与える荷重及びモーメントが変動し得る。このような荷重及びモーメントの変動は、移動装置のリンク及び関節にたわみ等の変形を生じ得る。リンク及び関節の変形は、工業用ロボットの位置を変動し、当該位置の変動は、工業用ロボットを振動させる。これにより、工業用ロボットの作業の精度が低下する可能性がある。
【0005】
本開示は、第1ロボットアームによって支持される第2ロボットアームの基部の位置の意図しない変動を抑制する制御装置及びロボットを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様に係る制御装置は、第2ロボットアームを支持する少なくとも2つのリンクと、前記少なくとも2つのリンクを相互に接続する少なくとも1つの関節とを有する第1ロボットアームの制御装置であって、前記第1ロボットアームに目標動作である第1目標動作をさせるための第1動作指令を取得し、前記第1ロボットアームが前記第1動作指令に従って動作する場合の前記少なくとも1つの関節の動作を推定する第1推定部と、前記第2ロボットアームに目標動作である第2目標動作をさせるための第2動作指令を取得し、前記第2ロボットアームが前記第2動作指令に従って動作する場合に、前記第2ロボットアームと前記リンクとの接続部分が前記第2ロボットアームから受ける力を推定する第2推定部と、前記第1推定部によって推定される前記少なくとも1つの関節の動作と、前記第2推定部によって推定される力とに基づき、前記リンクが受ける力を推定する第3推定部と、前記第3推定部によって推定される力に基づき、前記リンクの変形量と、前記少なくとも1つの関節の変形量とのうちの少なくとも一方を推定する第4推定部と、前記第4推定部によって推定される変形量に基づき、前記第1目標動作に従って前記接続部分を移動させるように前記変形量を補償するための前記第1動作指令の補正指令を生成し、前記補正指令を前記第1ロボットアームに指令する補正指令部とを含む。
【発明の効果】
【0007】
本開示の技術によれば、第1ロボットアームによって支持される第2ロボットアームの基部の位置の意図しない変動を抑制することが可能になる。
【図面の簡単な説明】
【0008】
図1】実施の形態に係るロボットの構成の一例を示す側面図
図2】実施の形態に係るロボットの構成の一例をモデル化した側面図
図3】実施の形態に係る制御装置のハードウェア構成の一例を示すブロック図
図4】実施の形態に係る制御装置の機能的構成の一例を示すブロック図
図5】実施の形態に係る制御装置の動作の一例を示すフローチャート
図6】変形例1に係るロボットの構成をモデル化した側面図
図7】変形例2に係るロボットの構成をモデル化した側面図
【発明を実施するための形態】
【0009】
(実施の形態)
以下において、本開示の実施の形態を、図面を参照しつつ説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、添付の図面における各図は、模式的な図であり、必ずしも厳密に図示されたものでない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。また、本明細書及び特許請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
【0010】
[ロボットの構成]
図1及び図2を参照しつつ、実施の形態に係るロボット1の構成を説明する。図1は、実施の形態に係るロボット1の構成の一例を示す側面図である。図2は、実施の形態に係るロボット1の構成の一例をモデル化した側面図である。
【0011】
実施の形態に係るロボット1は、第1ロボットアーム100と、第2ロボットアーム200と、制御装置300とを備える。第1ロボットアーム100は、支持面Sに固定され、第2ロボットアーム200を支持する。第1ロボットアーム100は、少なくとも1つの関節と少なくとも2つのリンクとを有し、第2ロボットアーム200は、少なくとも1つの関節と少なくとも1つのリンクとを有する。
【0012】
これに限定されないが、本実施の形態では、第1ロボットアーム100は、2つの関節JTA1及びJTA2と、3つのリンク101~103と、関節JTA1及びJTA2の駆動装置MA1及びMA2とを備える。第2ロボットアーム200は、6つの関節JTB1~JTB6と、7つのリンク201~207と、関節JTB1~JTB6それぞれの駆動装置MB1~MB6とを備える。第2ロボットアーム200は、垂直多関節型のロボットアームであるが、いかなる形式のロボットアームであってもよい。例えば、第2ロボットアーム200は、水平多関節型、極座標型、円筒座標型、直角座標型、又はその他の型式のロボットアームであってもよい。また、第2ロボットアーム200のリンクの数量は7つに限定されず、6つ以下又は8つ以上であってもよく、第2ロボットアーム200の関節の数量は6つに限定されず、5つ以下又は7つ以上であってもよい。
【0013】
第1ロボットアーム100について、リンク103は、第1ロボットアーム100の基部に位置し、支持面Sに固定される。これに限定されないが、本実施の形態では、リンク103は、台状の形状を有し、リンク101及び102の基台として機能する。リンク102は、第1ロボットアーム100の先端部に位置し、リンク101は、リンク102及び103の間に位置する。リンク103は、基端リンクの一例である。
【0014】
関節JTA1は、1自由度の回転関節であり、柱状のリンク101の一端をリンク103に第1軸S1を中心に回動可能に接続する。関節JTA2は、1自由度の回転関節であり、柱状のリンク102の一端をリンク101の他端に第2軸S2を中心に回動可能に接続する。リンク102の他端には、第2ロボットアーム200が取り付けられる。よって、リンク101及び102は、関節JTA1及びJTA2によって動作可能である。
【0015】
これに限定されないが、本実施の形態では、第1軸S1は、支持面Sに沿う方向、例えば、水平方向に延び、第2軸S2は、支持面Sと垂直な方向、例えば、鉛直方向に延びる。リンク101は、支持面Sと垂直な面に沿う方向に回動でき、リンク102は、支持面Sに沿う方向に回動できる。なお、第1軸S1及び第2軸S2の方向は、いかなる方向であってもよく、互いに異なっていても同じであってもよい。第1軸S1及び第2軸S2はそれぞれ、関節JTA1及びJTA2の関節軸でもある。
【0016】
駆動装置MA1及びMA2はそれぞれ、関節JTA1及びJTA2を回転駆動するように構成される。駆動装置MA1及びMA2はそれぞれ、駆動源としての電気モータ(図示略)と、減速機(図示略)とを含む。駆動装置MA1及びMA2の減速機はそれぞれ、それぞれの電気モータの回転駆動力の回転速度を減速し且つ回転駆動力を増大させて関節JTA1及びJTA2に伝達する。本実施の形態では、電気モータはサーボモータである。
【0017】
なお、本明細書及び特許請求の範囲において、「水平方向」及び「鉛直方向」はそれぞれ、水平な支持面S上にロボット1が配置される場合での「水平方向」及び「鉛直方向」を意味する。さらに、「上方向」は、同様の場合での支持面Sに垂直な上向きの方向、つまり、鉛直上方向を意味し、「下方向」は、同様の場合での支持面Sに垂直な下向きの方向、つまり、鉛直下方向を意味する。さらに、本明細書及び特許請求の範囲において、「垂直」、「鉛直」、「水平」及び「平行」はそれぞれ、完全に垂直、鉛直、水平又は平行である場合と、完全な垂直、鉛直、水平又は平行の近傍を含む実質的に垂直、鉛直、水平又は平行とみなすことができる場合とを含み得る。
【0018】
第2ロボットアーム200について、リンク207は、第2ロボットアーム200の基部に位置し、リンク102の上面に固定される。リンク207は、第1ロボットアーム100よりも上方に位置する。リンク207とリンク102との界面110は、ロボットアーム100及び200の接続部分の一例である。これに限定されないが、本実施の形態では、界面110の中心点110Aは、ロボットアーム100及び200の基準点である。以下において、「界面110」を「接続部分110」と表現する場合があり、「中心点110A」を「基準点110A」と表現する場合がある。
【0019】
これに限定されないが、本実施の形態では、リンク207は、台状の形状を有し、リンク201~206の基台として機能する。リンク206は、第2ロボットアーム200の先端部に位置し、リンク201~205は、リンク206及び207の間で、リンク207からリンク206に向かってこの順で配列される。リンク206の先端に、作業の対象物Wに作用を加えることができるエンドエフェクタEが取り付けられる。これに限定されないが、本実施の形態では、エンドエフェクタEは対象物Wを把持できるように構成される。
【0020】
関節JTB1~JTB6はいずれも、1つの軸を中心に回転可能である1自由度の回転関節である。関節JTB1は、リンク201をリンク207に回動可能に接続する。関節JTB2は、リンク202をリンク201に回動可能に接続する。関節JTB3は、リンク203をリンク202に回動可能に接続する。関節JTB4は、リンク204をリンク203に回動可能に接続する。関節JTB5は、リンク205をリンク204に回動可能に接続する。関節JTB6は、リンク206をリンク205に回動可能に接続する。
【0021】
駆動装置MB1~MB6はそれぞれ、関節JTB1~JTB6を回転駆動するように構成される。駆動装置MB1~MB6はそれぞれ、駆動源としての電気モータ(図示略)と、減速機(図示略)とを含む。本実施の形態では、電気モータはサーボモータである。
【0022】
これに限定されないが、本実施の形態では、制御装置300は、ロボット1全体の動作を制御するように構成される。制御装置300は、情報処理装置300Aとロボットコントローラ300Bとを含む。ロボットコントローラ300Bは、ロボットアーム100及び200の動作を制御するように構成される。情報処理装置300Aは、ロボットアーム100及び200の動作制御に関連する演算処理を行うように構成される。
【0023】
情報処理装置300A及びロボットコントローラ300Bはコンピュータ装置を含む。情報処理装置300Aの構成は特に限定されないが、例えば、情報処理装置300Aは、電子回路基板、電子制御ユニット、マイクロコンピュータ、パーソナルコンピュータ、ワークステーション、スマートフォン及びタブレットなどのスマートデバイス、並びにその他の電子機器等であってもよい。ロボットコントローラ300Bは、ロボットアーム100及び200等に供給する電力を制御するための電気回路を含んでもよい。
【0024】
[制御装置のハードウェア構成]
図3を参照しつつ、実施の形態に係る制御装置300のハードウェア構成を説明する。図3は、実施の形態に係る制御装置300のハードウェア構成の一例を示すブロック図である。情報処理装置300Aは、プロセッサ301Aと、メモリ302Aと、ストレージ303Aと、入出力I/F(インタフェース:Interface)304Aとを構成要素として含む。情報処理装置300Aの各構成要素は、バス310Aによって相互に接続されるが、他のいかなる有線通信又は無線通信で接続されてもよい。ロボットコントローラ300Bは、プロセッサ301Bと、メモリ302Bと、入出力I/F304Bと、駆動I/F305B及び306Bとを構成要素として含む。ロボットコントローラ300Bは、ストレージを含んでもよい。ロボットコントローラ300Bの各構成要素は、バス310Bによって相互に接続されるが、他のいかなる有線通信又は無線通信で接続されてもよい。情報処理装置300A及びロボットコントローラ300Bそれぞれに含まれる構成要素の全てが必須ではない。
【0025】
プロセッサ301A及びメモリ302Aの組、及び、プロセッサ301B及びメモリ302Bの組はそれぞれ、演算器を構成する。演算器は、他の装置との指令、情報及びデータ等の送受信を行う。演算器は、各種機器からの信号の入力及び各制御対象への制御信号の出力を行う。
【0026】
メモリ302A及び302Bはそれぞれ、プロセッサ301A及び301Bが実行するプログラム、及び各種固定データ等を記憶する。メモリ302A及び302Bは、揮発性メモリ及び不揮発性メモリなどの半導体メモリ等の記憶装置で構成されてもよい。これに限定されないが、本実施の形態では、メモリ302A及び302Bは、揮発性メモリであるRAM(Random Access Memory)と不揮発性メモリであるROM(Read-Only Memory)とを含む。
【0027】
ストレージ303Aは、各種データを記憶する。ストレージ303Aは、半導体メモリ、ハードディスクドライブ(HDD:Hard Disk Drive)及び固体ドライブ(SSD:Solid State Drive)等の記憶装置で構成されてもよい。
【0028】
プロセッサ301A及び301Bはいずれも、RAM及びROMと一緒にコンピュータシステムを形成する。情報処理装置300Aのコンピュータシステムは、プロセッサ301AがRAMをワークエリアとして用いてROMに記録されたプログラムを実行することによって、情報処理装置300Aの機能を実現してもよい。ロボットコントローラ300Bのコンピュータシステムは、プロセッサ301BがRAMをワークエリアとして用いてROMに記録されたプログラムを実行することによって、ロボットコントローラ300Bの機能を実現してもよい。
【0029】
情報処理装置300A及びロボットコントローラ300Bの機能の一部又は全部は、上記コンピュータシステムにより実現されてもよく、電子回路又は集積回路等の専用のハードウェア回路により実現されてもよく、上記コンピュータシステム及びハードウェア回路の組み合わせにより実現されてもよい。情報処理装置300A及びロボットコントローラ300Bはそれぞれ、単一の装置による集中制御により各処理を実行するように構成されてもよく、複数の装置の協働による分散制御により各処理を実行するように構成されてもよい。なお、情報処理装置300A及びロボットコントローラ300Bは、互いの機能の少なくとも一部を含むように構成されてもよく、一体化されてもよい。
【0030】
これに限定されないが、例えば、プロセッサ301A及び301Bは、CPU(中央処理装置:Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を含み、IC(集積回路)チップ、LSI(Large Scale Integration)等に形成された論理回路又は専用回路によって各処理を実現してもよい。複数の処理は、1つ又は複数の集積回路により実現されてもよく、1つの集積回路により実現されてもよい。
【0031】
情報処理装置300Aの入出力I/F304Aは、情報処理装置300Aとロボットコントローラ300Bとを接続し、これらの間での情報、指令及びデータ等の入出力を可能にする。ロボットコントローラ300Bの入出力I/F304Bは、ロボットコントローラ300Bと情報処理装置300Aの入出力I/F304Aとを接続し、これらの間での情報、指令及びデータ等の入出力を可能にする。
【0032】
第1駆動I/F305Bは、ロボットコントローラ300Bと第1ロボットアーム100の第1駆動回路120とを接続し、これらの間での信号等の送受信を可能にする。第1駆動回路120は、ロボットコントローラ300Bから受信する信号に含まれる指令値に従って、第1ロボットアーム100の駆動装置MA1及びMA2に供給する電力を制御するように構成される。
【0033】
第2駆動I/F306Bは、ロボットコントローラ300Bと第2ロボットアーム200の第2駆動回路220とを接続し、これらの間での信号等の送受信を可能にする。第2駆動回路220は、ロボットコントローラ300Bから受信する信号に含まれる指令値に従って、第2ロボットアーム200の駆動装置MB1~MB6に供給する電力を制御するように構成される。
【0034】
なお、ロボットコントローラ300Bは、駆動装置MA1、MA2及びMB1~MB6のサーボモータをサーボ制御するように構成されてもよい。ロボットコントローラ300Bは、各サーボモータが備える回転センサの検出値と、駆動回路120及び220から各サーボモータへの電流の指令値とを、フィードバック情報として駆動回路120及び220から受信する。ロボットコントローラ300Bは、フィードバック情報を用いて各サーボモータの駆動の指令値を決定し、駆動回路120及び220に送信する。
【0035】
ロボットコントローラ300Bは、複数のサーボモータの軸制御を互いに連携できるように構成されてもよい。ロボットコントローラ300Bは、複数の軸制御のうちの一部であるロボット軸制御として駆動装置MB1~MB6のサーボモータを制御し、複数の軸制御のうちの一部である外部軸制御として駆動装置MA1及びMA2のサーボモータを制御するように構成されてもよい。
【0036】
[制御装置の機能的構成]
図4を参照しつつ、実施の形態に係る制御装置300の機能的構成を説明する。図4は、実施の形態に係る制御装置300の機能的構成の一例を示すブロック図である。情報処理装置300Aは、第1動作指令部401と、第2動作指令部402と、第1推定部403と、第2推定部404と、第3推定部405と、第4推定部406と、第1位置推定部407と、第2位置推定部408と、慣性要素推定部409と、慣性力推定部410と、補正指令部411と、記憶部421~423とを機能的構成要素として含む。記憶部421~423を除く機能的構成要素の機能は、プロセッサ301A等によって実現され、記憶部421~423の機能は、メモリ302A及び/又はストレージ303A等の記憶装置によって実現される。記憶部421~423それぞれの機能は、別々の記憶装置によって実現されてもよく、記憶部421~423の機能の少なくとも2つが1つの記憶装置によって実現されてもよい。上記の機能的構成要素の全てが必須ではない。
【0037】
ロボットコントローラ300Bは、第1駆動指令部501と、第2駆動指令部502とを機能的構成要素として含む。駆動指令部501及び502の機能は、プロセッサ301B等によって実現される。上記の機能的構成要素の全てが必須ではない。
【0038】
記憶部421~423は、様々な情報及びデータ等を記憶し、記憶している情報及びデータ等の読み出しを可能にする。例えば、第1記憶部421は、ロボットアーム100及び200の制御プログラムを記憶する。これに限定されないが、本実施の形態では、制御装置300は、制御プログラムに従ってロボットアーム100及び200に自律的に動作させる、つまり、ロボットアーム100及び200に自動運転させるように構成される。第1記憶部421は、ロボットアーム100及び200に自律的に動作させるための教示データ等の目標動作データを記憶してもよい。なお、制御装置300は、図示しない操作装置から受け取る操作指令に従ってロボットアーム100及び200に動作させる、つまり、ロボットアーム100及び200に手動運転させるように構成されてもよい。
【0039】
例えば、第2記憶部422は、第1ロボットアーム100の情報を記憶する。第1ロボットアーム100の情報は、リンク101~103並びに関節JTA1及びJTA2の情報を含む。リンク101~103の情報は、リンク101~103それぞれの質量、寸法、形状、重心位置、慣性モーメント、剛性、及び関節との接続位置等の情報を含んでもよい。リンクの剛性は、リンクの曲げ剛性及び捻り剛性等を含んでもよい。関節JTA1及びJTA2の情報は、関節JTA1及びJTA2それぞれの質量、寸法、形状、重心位置、慣性モーメント、剛性、回転中心軸の位置及び方向、並びにリンクとの接続位置等の情報を含んでもよい。関節の剛性は、関節を構成する部材の剛性、関節の回転部分の剛性、及び関節の減速機の剛性等を含んでもよい。
【0040】
リンク101~103の情報は、リンク101~103の上記情報が反映された仮想的なモデルであってもよく、関節JTA1及びJTA2の情報は、関節JTA1及びJTA2の上記情報が反映された仮想的なモデルであってもよい。例えば、仮想的なモデルは、3次元CAD(Computer-Aided Design)モデル等の3次元モデルであってもよい。
【0041】
例えば、第3記憶部423は、第2ロボットアーム200の情報を記憶する。第2ロボットアーム200の情報は、リンク201~207及び関節JTB1~JTB6の情報を含む。さらに、第2ロボットアーム200の情報は、第2ロボットアーム200に装着されるエンドエフェクタEの情報、及び、エンドエフェクタEによって保持されるワーク等の対象物Wの情報等を含み得る。リンク201~207の情報は、リンク201~207それぞれの質量、寸法、形状、重心位置、慣性モーメント、及び関節との接続位置等の情報を含んでもよい。関節JTB1~JTB6の情報は、関節JTB1~JTB6それぞれの質量、寸法、形状、重心位置、慣性モーメント、回転中心軸の位置及び方向、並びにリンクとの接続位置等の情報を含んでもよい。エンドエフェクタEの情報は、その質量、寸法、形状、重心位置、慣性モーメント、及びリンク206との接続位置等の情報を含んでもよい。対象物Wの情報は、その質量、寸法、形状、重心位置及び保持されるときの姿勢等の情報を含んでもよい。リンク201~207、関節JTB1~JTB6、エンドエフェクタE及び対象物Wの情報は、それぞれの上記情報が反映された仮想的なモデルであってもよい。例えば、仮想的なモデルは、3次元CADモデル等の3次元モデルであってもよい。
【0042】
第1動作指令部401は、第1記憶部421に記憶される第1ロボットアーム100の目標動作データである第1目標動作データに従った目標動作を第1ロボットアーム100に実行させるための動作指令(以下、「第1動作指令」とも称する)を生成する。第1目標動作データは、制御プログラムに従って第1ロボットアーム100を動作させるためのデータである。例えば、第1動作指令部401は、第1目標動作データに従って接続部分110を移動させるための接続部分110の目標位置及び目標姿勢を、第2記憶部422に記憶される第1ロボットアーム100の情報を用いて演算する。目標位置及び目標姿勢は、基準点110Aの3次元の位置及び接続部分110の界面の3次元の姿勢であってもよい。
【0043】
さらに、第1動作指令部401は、接続部分110を目標位置及び目標姿勢に移動させるための関節JTA1及びJTA2の目標回転方向及び目標回転量を、第2記憶部422に記憶される第1ロボットアーム100の情報を用いて演算する。つまり、第1動作指令部401は、関節JTA1及びJTA2の目標回転位置を演算する。第1動作指令部401は、第1目標動作データと第1ロボットアーム100の情報とを用いて、関節JTA1及びJTA2の目標回転位置を演算するように構成されてもよい。第1動作指令部401は、関節JTA1及びJTA2の目標回転位置を含む第1動作指令を生成する。なお、手動運転の場合、第1動作指令部401は、操作装置(図示略)から受けとる操作指令に従った目標動作を第1ロボットアーム100に実行させるための第1動作指令を上記と同様に生成する。
【0044】
第2動作指令部402は、第1記憶部421に記憶される第2ロボットアーム200の目標動作データである第2目標動作データに従った目標動作を第2ロボットアーム200に実行させるための動作指令(以下、「第2動作指令」とも称する)を生成する。第2目標動作データは、制御プログラムに従って第2ロボットアーム200を動作させるためのデータである。例えば、第2動作指令部402は、第2目標動作データに従ってリンク206を移動させるためのリンク206の目標位置及び目標姿勢を、第3記憶部423に記憶される第2ロボットアーム200の情報を用いて演算する。目標位置及び目標姿勢は、リンク206の先端部の3次元の位置及び3次元の姿勢であってもよい。
【0045】
さらに、第2動作指令部402は、リンク206を目標位置及び目標姿勢に移動させるための関節JTB1~JTB6の目標回転方向及び目標回転量を、第3記憶部423に記憶される第2ロボットアーム200の情報を用いて演算する。つまり、第2動作指令部402は、関節JTB1~JTB6の目標回転位置を演算する。第2動作指令部402は、第2目標動作データと第2ロボットアーム200の情報とを用いて、関節JTB1~JTB6の目標回転位置を演算するように構成されてもよい。第2動作指令部402は、関節JTB1~JTB6の目標回転位置を含む第2動作指令を生成する。なお、手動運転の場合、第2動作指令部402は、操作装置(図示略)から受けとる操作指令に従った目標動作を第2ロボットアーム200に実行させるための第2動作指令を上記と同様に生成する。
【0046】
第1推定部403は、第1動作指令部401から第1動作指令を取得し、第1ロボットアーム100が第1動作指令に従って動作する場合の関節JTA1及びJTA2の動作を推定する。例えば、第1推定部403は、関節JTA1及びJTA2の動作として、関節JTA1及びJTA2の回転位置の推定値である推定回転位置を算出する。関節JTA1及びJTA2の推定回転位置は、関節JTA1及びJTA2の回転方向及び回転量の推定値を含む。関節JTA1及びJTA2の推定回転位置は、第1動作指令に含まれる関節JTA1及びJTA2の目標回転位置に対応する。さらに、第1推定部403は、関節JTA1及びJTA2の推定回転位置に基づき、関節JTA1及びJTA2の回転速度の推定値である推定回転速度を算出する。
【0047】
第2推定部404は、第2動作指令部402から第2動作指令を取得し、第2ロボットアーム200が第2動作指令に従って動作する場合に、接続部分110が基準点110Aにおいて第2ロボットアーム200から受ける力を推定する。これに限定されないが、本実施の形態では、第2推定部404は、基準点110Aを原点Оとする基準座標系を用いて、上記力を推定する。
【0048】
基準座標系は、基準点110Aを原点Оとする座標系であればよい。これに限定されないが、本実施の形態では、基準座標系は、図2に示すように、基準点110Aから接続部分110の界面に沿って延び且つ互いに直交するX軸及びY軸と、基準点110Aから接続部分110の界面と垂直な方向に延び且つX軸及びY軸と直交するZ軸とにより定義される。Z軸正方向は、リンク207からリンク102に向かう方向である。又は、例えば、基準座標系は、基準点110Aから水平方向に延び且つ互いに直交するX軸及びY軸と、基準点110Aから鉛直下方向に延び且つX軸及びY軸と直交するZ軸とにより定義されてもよい。鉛直下方向は重力方向であってもよく、水平方向は重力方向に垂直な方向であってもよい。
【0049】
例えば、上記力は、第2ロボットアーム200の荷重と、第2ロボットアーム200が接続部分110に発生するモーメントとを含み得る。例えば、第2推定部404は、第2ロボットアーム200が第2動作指令に従って動作する場合のリンク201~207及び関節JTB1~JTB6の位置及び姿勢を推定し、推定結果と第3記憶部423に記憶される第2ロボットアーム200の情報とを用いて、上記力を推定してもよい。
【0050】
第2ロボットアーム200の荷重は、第2ロボットアーム200自体の質量と、エンドエフェクタEの質量と、エンドエフェクタEによって保持されている対象物Wの質量とを含み得る。第2ロボットアーム200のモーメントは、第2ロボットアーム200自体とエンドエフェクタEと対象物Wとが接続部分110に発生するモーメントを含み得る。第2推定部404は、第3記憶部423に記憶される第2ロボットアーム200の情報と第2動作指令に含まれる関節JTB1~JTB6の目標回転位置とを用いて、第2ロボットアーム200の荷重及びモーメントを演算する。第2推定部404は、基準座標系を用いた第2ロボットアーム200の荷重及びモーメントを表す。さらに、第2推定部404は、第3記憶部423に記憶される第2ロボットアーム200の情報と第2動作指令に含まれる関節JTB1~JTB6の目標回転位置とを用いて、第2ロボットアーム200全体の慣性モーメントを、基準座標系を基準に演算する。当該慣性モーメントは、基準座標系の原点Оを基準とする慣性モーメントである。
【0051】
第3推定部405は、第1推定部403によって推定される関節JTA1及びJTA2の動作と、第2推定部404によって推定される接続部分110が第2ロボットアーム200から受ける力とに基づき、リンク101~103が受ける力を推定する。これに限定されないが、本実施の形態では、台状形状のリンク103は、リンク101及び関節JTA1を介して力を受けても、たわみ等の変形をほとんど生じず不動であるため、第3推定部405は、リンク101及び102が受ける力を推定する。
【0052】
例えば、第3推定部405は、第1推定部403によって推定される関節JTA1及びJTA2の動作に基づき慣性力推定部410によって推定される、リンク101及び102に発生する慣性力と、接続部分110が第2ロボットアーム200から受ける力とに基づき、リンク101及び102が受ける力を推定する。
【0053】
第4推定部406は、第3推定部405によって推定されるリンク101及び102が受ける力に基づき、リンク101及び102の変形量と関節JTA1及びJTA2の変形量とのうちの少なくとも一方を推定する。本実施の形態では、第4推定部406は、リンク101及び102の変形量と、関節JTA1及びJTA2の変形量との両方を推定する。
【0054】
第1位置推定部407は、リンク101及び102並びに関節JTA1及びJTA2それぞれの位置及び姿勢を推定する。第1位置推定部407は、リンク101及び102並びに関節JTA1及びJTA2それぞれの3次元の位置及び3次元の姿勢を、基準座標系を用いて推定する。例えば、第1位置推定部407は、第1推定部403によって推定される関節JTA1及びJTA2の推定回転位置と、第2記憶部422に記憶される第1ロボットアーム100の情報とを用いて、当該推定回転位置でのリンク101及び102並びに関節JTA1及びJTA2それぞれの推定位置及び推定姿勢を演算する。第1位置推定部407は、リンク101及び102並びに関節JTA1及びJTA2それぞれの推定位置及び推定姿勢に基づき、リンク101及び102の慣性モーメントを、基準座標系を基準に演算する。当該慣性モーメントは、基準座標系の原点Оを基準とする慣性モーメントである。
【0055】
第2位置推定部408は、接続部分110の位置を推定する。具体的には、第2位置推定部408は、接続部分110の基準点110Aの3次元の位置及び接続部分110の界面の3次元の姿勢を、基準座標系を用いて推定する。例えば、第1位置推定部407は、第1推定部403によって推定される関節JTA1及びJTA2の推定回転位置と、第2記憶部422に記憶される第1ロボットアーム100の情報とを用いて、当該推定回転位置での接続部分110の推定位置及び推定姿勢を演算してもよい。第2位置推定部408は、第1位置推定部407によって推定されるリンク101及び102並びに関節JTA1及びJTA2それぞれの推定位置及び推定姿勢を用いて、接続部分110の推定位置及び推定姿勢を演算してもよい。第2位置推定部408は、第1動作指令部401から、関節JTA1及びJTA2の目標回転位置に対応する接続部分110の目標位置及び目標姿勢を取得し、当該目標位置及び目標姿勢を基準座標系に変換し推定位置及び推定姿勢としてもよい。
【0056】
慣性要素推定部409は、リンク101~103の慣性的特徴と第2ロボットアーム200の慣性的特徴とを推定する。これに限定されないが、本実施の形態では、リンク103は、リンク101及び関節JTA1を介して力を受けても、たわみ等の変形をほとんど生じず不動であるため、慣性要素推定部409は、リンク101及び102の慣性的特徴を推定する。リンク101及び102の慣性的特徴は、リンク101及び102の慣性モーメント及び質量を要素として含む。第2ロボットアーム200の慣性的特徴は、第2ロボットアーム200の慣性モーメント及び質量を要素として含む。
【0057】
慣性力推定部410は、第1推定部403によって推定される関節JTA1及びJTA2の動作に基づき、関節JTA1及びJTA2それぞれが動作することによってリンク101~103に発生する慣性力(以下、「関節起因慣性力」とも称する)を推定する。これに限定されないが、本実施の形態では、リンク103は、リンク101及び関節JTA1を介して力を受けても、たわみ等の変形をほとんど生じず不動であるため、慣性力推定部410は、リンク101及び102に発生する関節起因慣性力を推定する。
【0058】
具体的には、慣性力推定部410は、リンク101及び102の慣性的特徴と、第2ロボットアーム200の慣性的特徴と、関節JTA1及びJTA2の加速度と、関節JTA1及びJTA2のジョイントスクリュとを用いて、リンク101及び102に発生する関節起因慣性力を推定する。関節JTA1及びJTA2のジョイントスクリュはそれぞれ、当該関節の向きを示す要素を含む当該関節の状態を示す特徴である。
【0059】
補正指令部411は、第4推定部406によって推定されるリンク101及び102の変形量並びに/又は関節JTA1及びJTA2の変形量に基づき、第1目標動作に従って接続部分110を移動させるように上記変形量を補償するための第1動作指令の補正指令を生成する。補正指令部411は、当該補正指令を第1ロボットアーム100、具体的には、第1駆動指令部501に出力する。これに限定されないが、本実施の形態では、補正指令部411は、上記変形量を補償するために第1動作指令を補正し、補正後の第1動作指令を補正指令として生成する。補正指令部411は、第1動作指令を補正しない場合、未補正の第1動作指令を補正指令として、第1駆動指令部501に出力する。また、補正指令部411は、第2動作指令を第2ロボットアーム200、具体的には、第2駆動指令部502に出力する。
【0060】
第1駆動指令部501は、補正指令に含まれる関節JTA1及びJTA2の目標回転位置にまで駆動装置MA1及びMA2に関節JTA1及びJTA2を駆動させるための駆動指令を生成し、駆動装置MA1及びMA2に出力する。駆動指令は、駆動装置MA1及びMA2のサーボモータの電流の指令値を含む。第1駆動指令部501は、サーボモータのフィードバック情報を用いて駆動指令を生成する。
【0061】
第2駆動指令部502は、第2動作指令に含まれる関節JTB1~JTB6の目標回転位置にまで駆動装置MB1~MB6に関節JTB1~JTB6を駆動させるための駆動指令を生成し、駆動装置MB1~MB6に出力する。駆動指令は、駆動装置MB1~MB6のサーボモータの電流の指令値を含む。第2駆動指令部502は、サーボモータのフィードバック情報を用いて駆動指令を生成する。
【0062】
[制御装置の動作]
図5を参照しつつ、制御装置300の動作を説明する。図5は、実施の形態に係る制御装置300の動作の一例を示すフローチャートである。まず、情報処理装置300Aにおいて、第1動作指令部401は、第1記憶部421に記憶される第1目標動作データに従って第1ロボットアーム100を動作させるための第1動作指令を生成する(ステップS101)。
【0063】
次いで、第2動作指令部402は、第1記憶部421に記憶される第2目標動作データに従って第2ロボットアーム200を動作させるための第2動作指令を生成する(ステップS102)。
【0064】
次いで、第1推定部403は、第1ロボットアーム100が第1動作指令に従って動作する場合の関節JTA1及びJTA2の動作を推定する(ステップS103)。第1推定部403は、推定対象動作として、関節JTA1及びJTA2の推定回転位置及び推定回転速度を算出する。
【0065】
次いで、第1位置推定部407は、第1ロボットアーム100が第1動作指令に従って動作する場合のリンク101及び102並びに関節JTA1及びJTA2それぞれの位置及び姿勢を推定する(ステップS104)。例えば、第1位置推定部407は、第1推定部403によって推定される関節JTA1及びJTA2の推定回転位置と、第2記憶部422に記憶される第1ロボットアーム100の情報とを用いて、リンク101及び102並びに関節JTA1及びJTA2それぞれの推定位置及び推定姿勢を演算してもよい。
【0066】
例えば、第1位置推定部407は、リンク101及び102の推定位置として、リンク101及び102の重心の推定位置を、基準座標系を基準に演算する。例えば、第1位置推定部407は、基準座標系での第1リンク101の重心の推定位置ベクトルγg1оと、基準座標系での第2リンク102の重心の推定位置ベクトルγg2оとを算出する。以下において、基準座標系の原点Оである基準点110Aを基準とする第iリンクの位置ベクトルを「γgiо」と表す。リンクの番号「i」は、第1ロボットアーム100の基端から先端に向かって増加する。なお、第1位置推定部407は、リンク101及び102に設定される他の基準点の推定位置を、基準座標系を基準に演算するように構成されてもよい。
【0067】
例えば、第1位置推定部407は、関節JTA1及びJTA2の推定位置及び推定姿勢として、関節JTA1及びJTA2の重心の推定位置及び基準軸の推定姿勢を、基準座標系を基準に演算する。例えば、第1位置推定部407は、基準座標系での第1関節JTA1の重心の推定位置ベクトルγ1оと、基準座標系での第2関節JTA2の重心の推定位置ベクトルγとを算出する。以下において、基準座標系の原点Оを基準とする第j関節の位置ベクトルを「γjо」と表す。関節の番号「j」は、第1ロボットアーム100の基端から先端に向かって増加する。なお、第1位置推定部407は、関節JTA1及びJTA2に設定される他の基準点の推定位置を、基準座標系を基準に演算するように構成されてもよい。
【0068】
例えば、第1位置推定部407は、関節JTA1及びJTA2の基準軸の推定姿勢として、基準座標系での第1関節JTA1の推定方向ベクトルd1оと、基準座標系での第2関節JTA2の推定方向ベクトルd2оとを算出する。以下において、基準座標系の原点Оを基準とする第j関節の方向ベクトルを「djо」と表す。方向ベクトルdjоは、第j関節の動作の基準軸の方向を示すベクトルである。例えば、第j関節が回転関節である場合、方向ベクトルdjоは、関節軸である回転中心軸の方向ベクトルである。第j関節が直動関節である場合、方向ベクトルdjоは、関節軸である直動方向の軸の方向ベクトルである。
【0069】
さらに、第1位置推定部407は、リンク101及び102の推定位置並びに関節JTA1及びJTA2の推定位置及び推定姿勢と、第2記憶部422に記憶される第1ロボットアーム100の情報とを用いて、基準座標系の原点Оを基準とするリンク101及び102の慣性モーメントl1О及びl2Оを演算する。以下において、基準座標系の原点Оを基準とする第iリンクの慣性モーメントを「liО」と表す。
【0070】
次いで、第2位置推定部408は、第1ロボットアーム100が第1動作指令に従って動作する場合の接続部分110の位置及び姿勢を推定する(ステップS105)。例えば、第1位置推定部407は、第1位置推定部407によって推定されるリンク101及び102並びに関節JTA1及びJTA2の推定位置及び推定姿勢と、第2記憶部422に記憶される第1ロボットアーム100の情報とを用いて、接続部分110の推定位置及び推定姿勢を演算してもよい。
【0071】
第2位置推定部408は、基準点110Aの推定位置と、接続部分110の界面の推定姿勢とを、ロボット座標系を基準に算出する。つまり、第2位置推定部408は、基準座標系の推定位置及び推定姿勢を、ロボット座標系を基準に算出する。ロボット座標系は、ロボット1を基準に定義される座標系である。これに限定されないが、本実施の形態では、図2に示すように、ロボット座標系の原点Оrは、支持面S上のリンク103の位置に設定される。Xr軸及びYr軸は、原点Оrから支持面Sに沿って延び、互いに直交する。Zr軸は、原点Оrから支持面Sに垂直に上方へ延び、Xr軸及びYr軸と直交する。
【0072】
次いで、第2推定部404は、第2ロボットアーム200が第2動作指令に従って動作する場合に接続部分110が第2ロボットアーム200から受ける力を推定する(ステップS106)。上記力は、第2ロボットアーム200の荷重と、第2ロボットアーム200が接続部分110に発生するモーメントとを含む。例えば、第2推定部404は、第2動作指令に含まれる関節JTB1~JTB6の目標回転位置に基づき、基準座標系を基準とするリンク201~207及び関節JTB1~JTB6の推定位置及び推定姿勢を演算する。さらに、第2推定部404は、リンク201~207及び関節JTB1~JTB6の推定位置及び推定姿勢と、第2位置推定部408によって推定された接続部分110の推定位置及び推定姿勢と、第3記憶部423に記憶される第2ロボットアーム200の情報とを用いて、第2ロボットアーム200が接続部分110に発生するモーメント及び第2ロボットアーム200の荷重を、基準座標系を基準として算出する。
【0073】
さらに、第2推定部404は、リンク201~207及び関節JTB1~JTB6の推定位置及び推定姿勢と、第2ロボットアーム200の情報とを用いて、第2ロボットアーム200全体の重心位置である推定重心位置と、第2ロボットアーム200全体の慣性モーメントである推定慣性モーメントとを算出する。このとき、第2推定部404は、第2ロボットアーム200の情報として、リンク201~207の重心位置及び質量、関節JTB1~JTB6の重心位置及び質量、エンドエフェクタEの重心位置及び質量、並びに、対象物Wの重心位置及び質量等を用い得る。
【0074】
次いで、慣性要素推定部409は、第1ロボットアーム100のリンク101及び102それぞれの慣性的特徴と第2ロボットアーム200全体の慣性的特徴とを推定する(ステップS107)。慣性要素推定部409は、第2記憶部422に記憶される第1ロボットアーム100の情報及び第3記憶部423に記憶される第2ロボットアーム200の情報を用いて、基準座標系を基準とする各慣性的特徴を算出する。
【0075】
以下において、第iリンクの慣性的特徴を「Liо」と表し、第2ロボットアーム200全体の慣性的特徴を「Laо」と表す。慣性的特徴「Liо」及び「Laо」は、基準座標系の原点Оを基準とする。慣性的特徴Liоは、第iリンクの質量及び慣性モーメントを表す6×6行列である。慣性的特徴Laоは、第2ロボットアーム200全体の質量及び慣性モーメントを表す6×6行列である。慣性要素推定部409は、慣性的特徴Liо及びLaоをそれぞれ、下記の式1及び式2を用いて算出する。式1及び式2に示される慣性的特徴Liо及びLaоは、慣性バイナとも呼ばれる。
【0076】
【数1】
【0077】
式1において、要素「m」は第iリンクの質量であり、スカラーである。要素「liО」は第iリンクの慣性モーメントを表す3×3行列である。要素「E」は、単位行列である。要素「γgiО」は第iリンクの重心の3次元の位置ベクトルである。[γgiО×]は、位置ベクトルγgiОの外積を歪対称行列で表現したものであり、位置ベクトルγgiОの外積行列とも呼ばれる。
【0078】
式2において、要素「m」は第2ロボットアーム200全体の質量であり、スカラーである。要素「laО」は第2ロボットアーム200全体の慣性モーメントを表す3×3行列である。要素「γgaО」は第2ロボットアーム200全体の重心の3次元の位置ベクトルである。[γgaО×]は、位置ベクトルγgaОの外積を歪対称行列で表現したものである。
【0079】
次いで、慣性力推定部410は、第1推定部403によって推定される関節JTA1及びJTA2の動作に基づき、関節JTA1及びJTA2それぞれが動作することによってリンク101及び102に発生する慣性力(関節起因慣性力)を推定する(ステップS108)。慣性力推定部410は、第1推定部403によって推定される関節JTA1及びJTA2の推定回転位置と、慣性要素推定部409によって推定される慣性的特徴とを用いて、リンク101及び102に発生する関節起因慣性力を演算する。
【0080】
具体的には、慣性力推定部410は、関節JTA1及びJTA2それぞれのジョイントスクリュを演算する。第j関節のジョイントスクリュを「Mjо」と表す。慣性力推定部410は、第1関節JTA1の推定ジョイントスクリュM1оと、第2関節JTA2の推定ジョイントスクリュM2оとを、基準座標系を基準として算出する。ジョイントスクリュMjоは、6次元のベクトルで表される。
【0081】
本実施の形態では、関節JTA1及びJTA2はいずれも、1つの回転中心軸を中心に回転可能である回転関節である。例えば、慣性力推定部410は、下記の式3に示すように、第j関節の推定ジョイントスクリュMjоを算出する。式3において、γjо×djоは、γjо及びdjоの外積を示す。要素「γjо」は第j関節の3次元の推定位置ベクトルであり、要素「djо」は第j関節の3次元の推定方向ベクトルである。第j関節の推定方向ベクトルdjоは、第j関節の関節軸である回転中心軸の方向ベクトルを示す。
【0082】
【数2】
【0083】
上記の式3は、第j関節が回転関節である場合の第j関節のジョイントスクリュを示すが、第j関節が他の形式の関節であっても、第j関節のジョイントスクリュを算出することができる。例えば、第j関節が直動関節である場合、第j関節のジョイントスクリュは、下記の式4のように表され得る。第j関節がネジ関節である場合、第j関節のジョイントスクリュは、下記の式5のように表され得る。式4において、要素「djо」は、第j関節の関節軸である直動方向の軸の方向ベクトルを示す。式5において、要素「djо」は、第j関節の関節軸であるネジ回転の回転中心軸の方向ベクトルを示し、当該方向ベクトルは、ネジ回転による進退方向の軸の方向ベクトルでもある。ネジ関節は、ネジ関節に接続されているリンクが回転中心軸周りに回動すると、回転中心軸方向に当該リンクを進退させるように構成される。要素「h」は、ネジ回転のピッチを示し、例えば、1ラジアンの回転当たりのリンクの回転中心軸方向の進退量を示す。
【0084】
【数3】
【0085】
さらに、慣性力推定部410は、関節JTA1及びJTA2の加速度を推定する。当該加速度は、関節JTA1及びJTA2が推定回転位置へ動作するときに関節JTA1及びJTA2が発生する加速度である。例えば、慣性力推定部410は、第1推定部403によって推定される関節JTA1及びJTA2それぞれの推定回転速度を時間微分することによって、関節JTA1及びJTA2それぞれの推定加速度θ ’’及びθ ’’を算出する。
【0086】
慣性力推定部410は、慣性的特徴L1о、L2о及びLaоと、ジョイントスクリュM1о及びM2оと、推定加速度θ ’’及びθ ’’とを用いて、推定加速度θ ’’及びθ ’’によって第iリンクに加わる関節起因慣性力Fijоを、基準座標系を基準として算出する。関節起因慣性力Fijоは、基準座標系の原点Оを基準として、第j関節の推定加速度θ ’’によって第iリンクに発生する慣性力を表す。関節起因慣性力Fijоは、3つの並進方向の成分と3つの回転方向の成分とを含み、6次元のベクトルで表される。慣性力推定部410は、推定加速度θ ’’及びθ ’’によってリンク101及び102に発生する関節起因慣性力F11о、F12о、F21о及びF22оを下記の式6~式9に示すように算出する。関節起因慣性力Fijоは、第j関節が動作することで移動するリンクの慣性的特徴と、第2ロボットアーム200の慣性的特徴とを要素として含む。
【0087】
【数4】
【0088】
次いで、第3推定部405は、慣性力推定部410によって推定される関節起因慣性力と、第2推定部404によって推定される力とに基づき、リンク101及び102が受ける力を推定する(ステップS109)。第3推定部405は、第2推定部404によって推定される力として、第2ロボットアーム200の推定慣性力Faоを用いる。推定慣性力Faоは、基準座標系の原点Оを基準として第2ロボットアーム200が原点Оに加える慣性力であってもよい。これに限定されないが、本実施の形態では、推定慣性力Faоとして、第2推定部404によって推定される第2ロボットアーム200の荷重及びモーメントが用いられる。推定慣性力Faоは、荷重の3方向の成分とモーメントの3方向の成分とを含み、6次元のベクトルで表される。
【0089】
第3推定部405は、関節起因慣性力Fijоと推定慣性力Faоとを用いて、基準座標系の原点Оを基準として第iリンクに発生する推定慣性力Fiоを、第iリンクが受ける力として算出する。推定慣性力Fiоは、3つの並進方向の成分と3つの回転方向の成分とを含み、6次元のベクトルで表される。第3推定部405は、リンク101及び102に発生する推定慣性力F1о及びF2оを下記の式10及び式11に示すように算出する。
【0090】
【数5】
【0091】
次いで、第4推定部406は、第3推定部405によって推定されるリンク101及び102が受ける力に基づき、リンク101及び102の変形量と関節JTA1及びJTA2の変形量とを推定する(ステップS110)。
【0092】
第4推定部406は、第2記憶部422に記憶される第1ロボットアーム100の情報に含まれる関節JTA1及びJTA2の剛性kg1及びkg2と、推定慣性力F1о及びF2оとを用いて、関節JTA1及びJTA2の推定変形量を演算する。この場合、第4推定部406は、推定慣性力F1о及びF2оと、ジョイントスクリュM1о及びM2оとを用いて、関節JTA1及びJTA2それぞれに作用する推定トルクτ及びτを、下記の式12及び式13に示すように算出する。以下において、第j関節の剛性を「kgj」と表し、第j関節の推定トルクを「τ」と表す。剛性kgjは、3つの並進方向の成分と3つの回転方向の成分とを含み、6次元のベクトルで表される。剛性kgjは、第j関節の減速機の剛性である減速機のばね定数等を含む。推定トルクτはスカラーである。
【0093】
【数6】
【0094】
式12及び式13における演算子「〇」は、ベクトルの分配演算を示す。例えば、6次元のベクトルAが、3次元の並進方向の成分を含むベクトルaと、3次元の回転方向の成分を含むベクトルaとを含み、6次元のベクトルBが、3次元の並進方向の成分を含むベクトルbと、3次元の回転方向の成分を含むベクトルbとを含む場合、演算子「〇」を用いたベクトルA及びBの演算は、下記の式14のように示される。
【0095】
【数7】
【0096】
さらに、第4推定部406は、推定トルクτを剛性kgjで除算することによって、第j関節の推定変形量Δθを算出する。第4推定部406は、関節JTA1及びJTA2それぞれの推定変形量Δθ及びΔθを下記の式15及び式16に示すように算出する。推定変形量Δθは、第j関節での変形に対する補償量とすることができる。
【0097】
【数8】
【0098】
また、第4推定部406は、第2記憶部422に記憶される第1ロボットアーム100の情報に含まれるリンク101及び102のコンプライアンスCI1о及びCI2оと、推定慣性力F1о及びF2оとを用いて、リンク101及び102の推定変形量を演算する。以下において、第iリンクのコンプライアンスを「CIiо」と表す。コンプライアンスCIiоは、基準座標系の原点Оを基準とする第iリンクの剛性を示し、6×6行列で表される。
【0099】
第4推定部406は、推定慣性力F1о及びF2оと、コンプライアンスCI1о及びCI2оとを用いて、リンク101及び102それぞれの推定変形量Δ1о及びΔ2оを、下記の式17及び式18に示すように算出する。以下において、第iリンクの推定変形量を「Δiо」と表す。推定変形量Δiоは、3つの並進方向の成分と3つの回転方向の成分とを含み、基準座標系を基準とする6次元のベクトルで表される。
【0100】
【数9】
【0101】
さらに、第4推定部406は、第iリンクの推定変形量Δiоと第j関節のジョイントスクリュMjоとを用いて、第iリンクの推定変形量Δiоを第j関節の推定変形量に変換してもよい。推定変形量Δiоに含まれる3次元の並進方向の成分を含むベクトルを、ベクトルδtiоとし、ジョイントスクリュMjоに含まれる3次元の並進方向の成分を含むベクトルを、ベクトルυjоとする。第iリンクの推定変形量Δiоは、下記の式19に示すように、第j関節の推定変形量ΔθLに変換することができる。推定変形量ΔθLは、リンクの変形に対する補償量とすることができる。
【0102】
【数10】
【0103】
次いで、補正指令部411は、第4推定部406によって推定される変形量に基づき、第1目標動作に従って接続部分110を移動させるように上記変形量を補償するための第1動作指令の補正指令を生成する(ステップS111)。補正指令部411は、補正指令及び第2動作指令を関連付けて、ロボットコントローラ300Bに送信する。補正指令部411は、上記変形量を補償することで接続部分110の位置及び姿勢を目標位置及び目標姿勢にするように第1動作指令を補正し、補正後の第1動作指令を補正指令として送信する。
【0104】
例えば、補正指令部411は、第1動作指令に含まれる第j関節の目標回転位置に、第j関節の推定変形量Δθを加えることによって、第1動作指令を補正してもよい。補正指令部411は、第1動作指令に含まれる第j関節の目標回転位置に、第j関節の推定変形量ΔθLを加えることによって、第1動作指令を補正してもよい。これにより、リンク及び関節の両方の変形量が補償される。なお、本実施の形態では、第j関節は、1つの自由度を有する回転関節であるため、補正指令部411は、推定変形量Δθと推定変形量ΔθLとのうちの一方を、第j関節の目標回転位置に加えるが、両方を第j関節の目標回転位置に加えることもある。第j関節が2以上の自由度を有する場合、補正指令部411は、推定変形量Δθと推定変形量ΔθLとの両方を、第j関節の目標回転位置に加えることもある。
【0105】
次いで、ロボットコントローラ300Bにおいて、駆動指令部501及び502は駆動指令を生成しロボットアーム100及び200に出力する(ステップS112)。第1駆動指令部501は、補正指令に従った駆動指令を生成し、第1ロボットアーム100の駆動装置MA1及びMA2に出力する。第2駆動指令部502は、第2動作指令に従った駆動指令を生成し、第2ロボットアーム200の駆動装置MB1~MB6に出力する。駆動指令部501及び502は、それぞれの駆動指令の出力タイミングを同期させるように、互いに協働してそれぞれの駆動指令を出力する。これにより、ロボットアーム100及び200は、同時にそれぞれの目標動作を実行するが、2つのロボットアーム100及び200の動作に起因して、接続部分110の位置及び姿勢が目標位置及び目標姿勢から変動することが抑えられる。よって、第2ロボットアーム200は、作用を加える対象物Wに対して目標の動作を正確に行うことができる。
【0106】
(変形例1)
本変形例は、第1ロボットアーム100Aが1つの関節のみを備える点で、実施の形態と異なる。以下、本変形例について、実施の形態と異なる点を中心に説明し、実施の形態と同様の点の説明を適宜省略する。
【0107】
図6は、変形例1に係るロボット1Aの構成をモデル化した側面図である。図6に示すように、ロボット1Aは、実施の形態と同様の第2ロボットアーム200と、第1ロボットアーム100Aとを備える。第1ロボットアーム100Aは、リンク101A及び102Aと、リンク101A及び102Aを回転可能に接続する関節JTAA1とを備える。これに限定されないが、本変形例の第1リンク101Aは、実施の形態の第2リンク102と同様の構成を有し、本変形例の第2リンク102Aは、実施の形態の第3リンク103と同様の構成を有する。本変形例の第1関節JTAA1は、実施の形態の第2関節JTA2と同様の構成を有する。ロボット1Aは、実施の形態と同様である情報処理装置300A及びロボットコントローラ300Bを含む制御装置300を備える。情報処理装置300Aは、実施の形態と同様の処理を行うが、下記の点で実施の形態と異なる演算式を用いて演算する。
【0108】
慣性力推定部410は、実施の形態の式6~式9の代わりに下記の式20を用いて、第1関節JTAA1の推定加速度θ ’’によって第1リンク101Aに発生する関節起因慣性力F11оを演算する。
【0109】
【数11】
【0110】
第3推定部405は、実施の形態の式10及び式11の代わりに下記の式21を用いて、第1リンク101Aに発生する推定慣性力F1оを演算する。
【0111】
【数12】
【0112】
第4推定部406は、式12を用いて第1関節JTAA1の推定トルクτを演算する。さらに、第4推定部406は、式15を用いて第1関節JTAA1の推定変形量Δθを演算する。第4推定部406は、式17を用いて第1リンク101Aの推定変形量Δ1оを演算する。第4推定部406は、式19を用いて第1リンク101Aの推定変形量Δ1оを第1関節JTAA1の推定変形量ΔθLに変換する。
【0113】
(変形例2)
本変形例は、第1ロボットアーム100Bが3つの関節を備える点で、実施の形態と異なる。以下、本変形例について、実施の形態及び変形例1と異なる点を中心に説明し、実施の形態及び変形例1と同様の点の説明を適宜省略する。
【0114】
図7は、変形例2に係るロボット1Bの構成をモデル化した側面図である。図7に示すように、ロボット1Bは、実施の形態と同様の第2ロボットアーム200と、第1ロボットアーム100Bとを備える。第1ロボットアーム100Bは、リンク101B、102B、103B及び104Bと、関節JTAB1、JTAB2及びJTAB3とを備える。これに限定されないが、本変形例のリンク101B及び102Bはそれぞれ、実施の形態のリンク101及び102と同様の構成を有し、本変形例の第4リンク104Bは、実施の形態の第3リンク103と同様の構成を有する。本変形例の関節JTAB1及びJTAB2はそれぞれ、実施の形態の関節JTA1及びJTA2と同様の構成を有する。
【0115】
本変形例の第3リンク103Bの一端は、第3関節JTAB3によって第2リンク102Bと接続される。本変形例の第3リンク103Bの他端には、実施の形態の第2リンク102と同様に、第2ロボットアーム200が取り付けられる。第3関節JTAB3は、支持面Sと垂直な方向に延びる第3軸S3を中心に回動可能である。なお、第1軸S1、第2軸S2及び第3軸S3の方向は、いかなる方向であってもよく、互いに異なっていても同じであってもよい。ロボット1Bは、実施の形態と同様である情報処理装置300A及びロボットコントローラ300Bを含む制御装置300を備える。情報処理装置300Aは、実施の形態と同様の処理を行うが、下記の点で実施の形態と異なる演算式を用いて演算する。
【0116】
慣性要素推定部409は、式1を用いて、リンク101B、102B及び103Bそれぞれの慣性的特徴L1о、L2о及びL3оを演算する。
【0117】
慣性力推定部410は、式3を用いて、関節JTAB1、JTAB2及びJTAB3それぞれのジョイントスクリュM1о、M2о及びM3оを演算する。
【0118】
慣性力推定部410は、実施の形態の式6~式9の代わりに下記の式22~式30を用いて、関節JTAB1、JTAB2及びJTAB3それぞれの推定加速度θ ’’、θ12 ’’及びθ ’’によってリンク101B、102B及び103Bに発生する関節起因慣性力F11о、F12о、F13о、F21о、F22о、F23о、F31о、F32о及びF33оを演算する。この演算において、慣性力推定部410は、関節JTAB1、JTAB2及びJTAB3それぞれの推定加速度θ ’’、θ12 ’’及びθ ’’と、リンク101B、102B及び103Bそれぞれの慣性的特徴L1о、L2о及びL3оと、第2ロボットアーム200の慣性的特徴Laоと、関節JTAB1、JTAB2及びJTAB3それぞれのジョイントスクリュM1о、M2о及びM3оとを用いる。
【0119】
【数13】
【0120】
第3推定部405は、実施の形態の式10及び式11の代わりに下記の式31~式33を用いて、リンク101B、102B及び103Bそれぞれに発生する推定慣性力F1о、F2о及びF3оを演算する。
【0121】
【数14】
【0122】
第4推定部406は、実施の形態の式12及び式13の代わりに下記の式34~式36を用いて、関節JTAB1、JTAB2及びJTAB3それぞれに作用する推定トルクτ、τ及びτを演算する。
【0123】
【数15】
【0124】
第4推定部406は、実施の形態の式15及び式16の代わりに下記の式37~式39を用いて、関節JTAB1、JTAB2及びJTAB3それぞれの推定変形量Δθ、Δθ及びΔθを演算する。この演算において、第4推定部406は、関節JTAB1、JTAB2及びJTAB3それぞれの剛性kg1、kg2及びkg3を用いる。
【0125】
【数16】
【0126】
第4推定部406は、実施の形態の式17及び式18の代わりに下記の式40~式42を用いて、リンク101B、102B及び103Bそれぞれの推定変形量Δ1о、Δ2о及びΔ3оを演算する。この演算において、第4推定部406は、リンク101B、102B及び103BそれぞれのコンプライアンスCI1о、CI2о及びCI3оを用いる。
【0127】
【数17】
【0128】
第4推定部406は、式19を用いてリンク101B、102B及び103Bの推定変形量Δ1о、Δ2о及びΔ3оを関節JTAB1、JTAB2及びJTAB3の推定変形量ΔθL、ΔθL及びΔθLに変換する。
【0129】
(その他の実施の形態)
以上、本開示の実施の形態及び変形例について説明したが、本開示は、上記実施の形態及び変形例に限定されない。すなわち、本開示の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態及び変形例に施したもの、及び、異なる実施の形態及び変形例における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれる。
【0130】
例えば、実施の形態及び変形例において、第1ロボットアームの関節の数量が1、2又は3であるケースが例示されるが、第1ロボットアームの関節の数量は、4以上であってもよい。この場合も、制御装置300は、実施の形態及び変形例と同様の制御を行うことができる。
【0131】
また、実施の形態及び変形例において、第1ロボットアーム及び第2ロボットアームの関節の自由度は1であるが、これに限定されない。第1ロボットアーム及び第2ロボットアームの関節の自由度が2以上であっても、制御装置300は、実施の形態及び変形例と同様の制御を行うことができる。
【0132】
また、実施の形態及び変形例において、ロボット1が対象物Wを保持する作業を行うケースが例示されるが、ロボット1がいかなる作業を行う場合であっても、制御装置300は、実施の形態及び変形例と同様の制御を行うことができる。
【0133】
また、本開示の技術の各態様例は、以下のように挙げられる。本開示の一態様に係る制御装置は、第2ロボットアームを支持する少なくとも2つのリンクと、前記少なくとも2つのリンクを相互に接続する少なくとも1つの関節とを有する第1ロボットアームの制御装置であって、前記第1ロボットアームに目標動作である第1目標動作をさせるための第1動作指令を取得し、前記第1ロボットアームが前記第1動作指令に従って動作する場合の前記少なくとも1つの関節の動作を推定する第1推定部と、前記第2ロボットアームに目標動作である第2目標動作をさせるための第2動作指令を取得し、前記第2ロボットアームが前記第2動作指令に従って動作する場合に、前記第2ロボットアームと前記リンクとの接続部分が前記第2ロボットアームから受ける力を推定する第2推定部と、前記第1推定部によって推定される前記少なくとも1つの関節の動作と、前記第2推定部によって推定される力とに基づき、前記リンクが受ける力を推定する第3推定部と、前記第3推定部によって推定される力に基づき、前記リンクの変形量と、前記少なくとも1つの関節の変形量とのうちの少なくとも一方を推定する第4推定部と、前記第4推定部によって推定される変形量に基づき、前記第1目標動作に従って前記接続部分を移動させるように前記変形量を補償するための前記第1動作指令の補正指令を生成し、前記補正指令を前記第1ロボットアームに指令する補正指令部とを含む。
【0134】
上記態様によると、制御装置は、第1ロボットアームが第1目標動作を実行し且つ第2ロボットアームが第2目標動作を実行する場合に第1ロボットアームのリンク及び/又は関節に生じる変形量を推定する。上記変形量は、第1動作指令に従った接続部分の実際の動作と第1目標動作との間に差異を生じさせ得る。制御装置は、補正指令を第1ロボットアームに指令することによって、第1ロボットアームに、上記差異を低減した動作、つまり、変形量を補償した動作をさせることができる。よって、制御装置は、リンクの変形及び/又は関節の変形に起因して、接続部分が、意図しない目標位置からの位置ずれを生じること及び意図しない揺動を生じることを抑えることができる。従って、第2ロボットアームの基部である接続部分の位置の意図しない変動が抑えられる。
【0135】
本開示の一態様に係る制御装置において、前記少なくとも2つのリンクは、基端リンクと、前記基端リンク及び前記第2ロボットアームと接続される第1リンクとを含み、前記少なくとも1つの関節は、前記第1リンクを前記基端リンクに接続する第1関節を含み、前記第1推定部は、前記第1関節の動作を推定し、前記第3推定部は、前記第1推定部によって推定される前記第1関節の動作と、前記第2推定部によって推定される力とに基づき、前記第1リンクが受ける力を推定し、前記第4推定部は、前記第3推定部によって推定される前記第1リンクが受ける力に基づき、前記第1リンクの変形量と前記第1関節の変形量とのうちの少なくとも一方を推定してもよい。
【0136】
上記態様によると、制御装置は、1つの関節を有する第1ロボットアームを制御し、第2ロボットアームの基部の位置の意図しない変動を抑えることができる。
【0137】
本開示の一態様に係る制御装置において、前記少なくとも2つのリンクは、基端リンクと、前記基端リンクと接続される第1リンクと、前記第2ロボットアームと接続される第2リンクとを含み、前記少なくとも1つの関節は、前記第1リンクを前記基端リンクに接続する第1関節と、前記第2リンクを前記第1リンクに接続する第2関節とを含み、前記第1推定部は、前記第1関節及び前記第2関節の動作を推定し、前記第3推定部は、前記第1推定部によって推定される前記第1関節及び前記第2関節の動作と、前記第2推定部によって推定される力とに基づき、前記第1リンクが受ける力を推定し、前記第3推定部は、前記第1推定部によって推定される前記第1関節及び前記第2関節の動作と、前記第2推定部によって推定される力とに基づき、前記第2リンクが受ける力を推定し、前記第4推定部は、前記第3推定部によって推定される前記第1リンクが受ける力に基づき、前記第1リンクの変形量と前記第1関節の変形量とのうちの少なくとも一方を推定し、前記第4推定部は、前記第3推定部によって推定される前記第2リンクが受ける力に基づき、前記第2リンクの変形量と前記第2関節の変形量とのうちの少なくとも一方を推定してもよい。
【0138】
上記態様によると、制御装置は、2つの関節を有する第1ロボットアームを制御し、第2ロボットアームの基部の位置の意図しない変動を抑えることができる。制御装置は、第1リンクが受ける力及び第2リンクが受ける力それぞれの推定に、第1関節の推定動作及び第2関節の推定動作の全てを用いる。よって、各リンクが受ける力の推定精度が向上し、それにより、各リンク及び各関節の変形量の推定精度が向上する。
【0139】
本開示の一態様に係る制御装置は、前記第1推定部によって推定される前記少なくとも1つの関節の動作に基づき、前記少なくとも1つの関節が動作することによって前記リンクに発生する慣性力を推定する慣性力推定部をさらに含み、前記第3推定部は、前記慣性力推定部によって推定される慣性力と、前記第2推定部によって推定される力とに基づき、前記リンクが受ける力を推定してもよい。
【0140】
上記態様によると、制御装置は、関節の動作に起因して発生するリンクの慣性力を推定し、推定されたリンクの慣性力を用いて当該リンクが受ける力を推定する。よって、リンクが受ける力の推定精度が向上する。
【0141】
本開示の一態様に係る制御装置は、前記リンクの位置を推定する第1位置推定部と、前記接続部分の位置を推定する第2位置推定部と、前記リンクの慣性的特徴と前記第2ロボットアームの慣性的特徴とを推定する慣性要素推定部とをさらに含み、前記リンクの慣性的特徴は、前記リンクの慣性モーメント及び質量を要素として含み、前記第2ロボットアームの慣性的特徴は、前記第2ロボットアームの慣性モーメント及び質量を要素として含み、前記慣性力推定部は、前記リンクの慣性的特徴と、前記第2ロボットアームの慣性的特徴と、前記少なくとも1つの関節の加速度と、前記少なくとも1つの関節のジョイントスクリュとを用いて、前記リンクに発生する前記慣性力を推定し、前記ジョイントスクリュは、前記少なくとも1つの関節の向きを示す要素を含む、前記少なくとも1つの関節の状態を示す特徴であってもよい。
【0142】
上記態様によると、慣性的特徴は、慣性モーメントの要素と質量の要素とを含む。制御装置は、リンク及び第2ロボットアームの慣性的特徴を用いて、関節の動作に起因して発生するリンクに発生する慣性力を推定する。よって、当該慣性力の推定精度が向上する。
【0143】
本開示の一態様に係るロボットは、本開示の一態様に係る制御装置と、前記第1ロボットアームと、前記第2ロボットアームとを備える。上記態様によると、本開示の一態様に係る制御装置と同様の効果が得られる。ロボットは、第2ロボットアームの基部の位置の意図しない変動を抑えつつ、第1ロボットアーム及び第2ロボットアームに目標動作をさせることができる。
【0144】
本開示の一態様に係るロボットにおいて、前記制御装置は、前記第1動作指令及び前記第2動作指令を生成し、前記第1ロボットアーム及び前記第2ロボットアームの動作を制御するように構成されてもよい。上記態様によると、制御装置は、ロボットコントローラとして機能することができる。つまり、ロボットコントローラは、第2ロボットアームの基部の位置の意図しない変動を抑えつつ、第1ロボットアーム及び第2ロボットアームに目標動作をさせることができる。
【0145】
また、上記で用いた序数、数量等の数字は、全て本開示の技術を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。また、構成要素間の接続関係は、本開示の技術を具体的に説明するために例示するものであり、本開示の機能を実現する接続関係はこれに限定されない。
【0146】
また、機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、及び/又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【符号の説明】
【0147】
1,1A,1B ロボット
100,100A,100B 第1ロボットアーム
101,101A,101B 第1リンク
102,102A,102B 第2リンク
103 リンク(基端リンク)
103B 第3リンク
104B 第4リンク(基端リンク)
110 接続部分(界面)
200 第2ロボットアーム
300 制御装置
300A 情報処理装置
300B ロボットコントローラ
403 第1推定部
404 第2推定部
405 第3推定部
406 第4推定部
407 第1位置推定部
408 第2位置推定部
409 慣性要素推定部
410 慣性力推定部
411 補正指令部
JTA1,JTAA1,JTAB1 第1関節
JTA2,JTAB2 第2関節
JTAB3 第3関節
図1
図2
図3
図4
図5
図6
図7