JP6606265B1 - 探索装置、探索方法及び探索プログラム - Google Patents

探索装置、探索方法及び探索プログラム Download PDF

Info

Publication number
JP6606265B1
JP6606265B1 JP2018241666A JP2018241666A JP6606265B1 JP 6606265 B1 JP6606265 B1 JP 6606265B1 JP 2018241666 A JP2018241666 A JP 2018241666A JP 2018241666 A JP2018241666 A JP 2018241666A JP 6606265 B1 JP6606265 B1 JP 6606265B1
Authority
JP
Japan
Prior art keywords
qubits
search
robot
predetermined condition
angle
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
Application number
JP2018241666A
Other languages
English (en)
Other versions
JP2020099984A (ja
Inventor
翔太 永山
翔太 永山
智美 太田
智美 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mercari Inc
Original Assignee
Mercari Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mercari Inc filed Critical Mercari Inc
Priority to JP2018241666A priority Critical patent/JP6606265B1/ja
Application granted granted Critical
Publication of JP6606265B1 publication Critical patent/JP6606265B1/ja
Priority to US16/724,515 priority patent/US11602846B2/en
Priority to CN201911337273.4A priority patent/CN111382872A/zh
Publication of JP2020099984A publication Critical patent/JP2020099984A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

【課題】量子アルゴリズムを用いて、ロボットアーム等、ロボットの姿勢が所定の条件を満たすような関節の角度を量子コンピュータに探索させる探索装置、探索方法及び探索プログラムを提供する。【解決手段】探索装置10は、ロボットの姿勢が所定の条件を満たすか否かを識別する関数を特定する特定部11と、ロボットの関節の角度に対応する複数の量子ビットに対して、関数に基づいて構成されるユニタリ変換を複数の量子ビットの数に応じた回数作用させて、所定の条件を満たす角度に対応する量子ビットの状態を量子アルゴリズムによって探索するように、量子コンピュータを設定する設定部12と、複数の量子ビットの測定値に対応する角度を算出する算出部13と、を備える。【選択図】図1

Description

本発明は、探索装置、探索方法及び探索プログラムに関する。
従来、ロボットアームに備えられたエンドエフェクタを所望の位置に制御するため、エンドエフェクタの目標位置からロボットアームの関節の角度を算出することがある。
例えば、下記特許文献1には、CORDIC(COordinate Rotational DIgital Computer)アルゴリズムによって座標逆変換を実行する座標逆変換プロセッサが記載されている。
特開平2−5129号公報
近年、物質の量子力学的性質を利用して計算を行う量子コンピュータの研究が進められている。量子コンピュータは確率的コンピュータであり、確率振幅を操作して正当の出力確率のみを大きくすることで古典コンピュータに比べて計算を高速に行うことができ、特定の問題について計算時間を飛躍的に短縮できる場合がある。
例えばロボットアームのエンドエフェクタの目標位置からロボットアームの関節の角度を算出するような、ロボットの姿勢を制御する問題についても、量子コンピュータを用いることで計算時間を短縮できると期待される。しかしながら、量子コンピュータを用いれば常に古典コンピュータよりも計算時間が短くなるわけではなく、問題に応じて適切な量子アルゴリズムを採用する必要がある。
そこで、本発明は、量子アルゴリズムを用いて、ロボットアーム等、ロボットの姿勢が所定の条件を満たすような関節の角度を量子コンピュータに探索させる探索装置、探索方法及び探索プログラムを提供する。
本発明の一態様に係る探索装置は、ロボットの姿勢が所定の条件を満たすか否かを識別する関数を特定する特定部と、ロボットの関節の角度に対応する複数の量子ビットに対して、関数に基づいて構成されるユニタリ変換を複数の量子ビットの数に応じた回数作用させて、所定の条件を満たす角度に対応する複数の量子ビットの状態を量子アルゴリズムによって探索するように、量子コンピュータを設定する設定部と、複数の量子ビットの測定値に対応する角度を算出する算出部と、を備える。
この態様によれば、量子アルゴリズムとして例えばグローバーのアルゴリズムを用いることで、ロボットの姿勢が所定の条件を満たすような関節の角度を量子コンピュータに探索させることができ、同じ処理を古典コンピュータによって実行する場合よりも高速に角度を探索することができる。
本発明によれば、量子アルゴリズムを用いて、ロボットアーム等、ロボットの姿勢が所定の条件を満たすような関節の角度を量子コンピュータに探索させる探索装置、探索方法及び探索プログラムを提供することができる。
本発明の実施形態に係る探索装置を含む探索システムの概要を示す図である。 本実施形態に係る探索装置の機能ブロックを示す図である。 本実施形態に係る探索装置の物理的構成を示す図である。 本実施形態に係る探索装置による探索対象となるロボットアームの角度の概要を示す図である。 本実施形態に係る探索装置により実行される探索処理のフローチャートである。 本実施形態に係る探索装置により設定される量子コンピュータによって実行されるグローバーのアルゴリズムのフローチャートである。 本実施形態に係る探索装置により実行される探索処理のフローチャートである。
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
図1は、本発明の実施形態に係る探索装置10を含む探索システム100の概要を示す図である。探索システム100は、探索装置10、量子コンピュータ20、ロボット制御装置30及びロボット40を含む。
探索装置10は、ロボット40の姿勢が所定の条件を満たす関節の角度を探索する装置である。ここではロボットの一例として、ロボットアームの例について説明する。探索装置10は、適切な関節の角度を探索する量子アルゴリズムを実行するように量子コンピュータ20を設定する。以下では、角度を探索する量子アルゴリズムとして、グローバーのアルゴリズムを用いる例を説明する。
量子コンピュータ20は、物質の量子力学的性質を利用して計算を行うコンピュータであり、ゲート型であってよい。量子コンピュータ20は、任意のハードウェアで構成されるものであってよく、通信ネットワークNを介して探索装置10から量子ビットと、量子ビットを操作するためのユニタリ変換に関する設定を受け付ける。通信ネットワークNは、有線又は無線の通信ネットワークであり、例えばインターネットであってよいが、LAN(Local Area Network)等であってもよい。
ロボット制御装置30は、通信ネットワークNを介して、探索装置10からロボットアームの角度に関する情報を受け付けて、ロボット40を制御する。ロボット制御装置30は、例えばPLC(Programmable Logic Controller)によって構成されてよい。
ロボット40は、1又は複数のロボットアームを備え、ロボットアームの先端に設けられたエンドエフェクタによって所定の動作を行う。ロボットアームは、1又は複数のサーボモータによって動作するものであってよく、探索装置10により探索された関節の角度は、サーボモータの角度を表してよい。なお、関節は、ロボットアームにおいて当該関節よりも先端側を回転駆動させる機構(例えば図4のC1、C2である)をいい、ロボットアームの根元の機構を含む。また、ロボットアームにおいて関節同士、又は関節とエンドエフェクタとをつなぐ機構をアーム(例えば図4の41,42である)という。
図2は、本実施形態に係る探索装置10の機能ブロックを示す図である。探索装置10は、特定部11、設定部12及び算出部13を備える。
特定部11は、ロボット40の姿勢が所定の条件を満たすか否かを識別する関数を特定する。ここで、所定の条件は、ロボットアームに備えられたエンドエフェクタの位置が目標位置に最も近いことを表す条件を含んでよい。関数の具体的な形については、後に詳細に説明する。
設定部12は、ロボット40の関節の角度に対応する複数の量子ビットに対して、特定した関数に基づいて構成されるユニタリ変換を複数の量子ビットの数に応じた回数作用させて、所定の条件を満たす角度に対応する量子ビットの状態をグローバーのアルゴリズムによって探索するように、量子コンピュータ20を設定する。
ロボットアームの関節の角度は、CORDICアルゴリズムによってビット列で表されてよい。例えば、ロボットアームがM個の関節を有し、CORDICアルゴリズムによってM個の関節の角度θ1、θ2、…、θMをそれぞれa個のビット列で表す場合、設定部12は、n=a×M個の量子ビットを量子コンピュータ20に設定してよい。これにより、量子状態の次元はN=2a×Mとなる。CORDICアルゴリズムを用いることで、ロボットアームの関節の角度をビット列で表すことができ、関節の角度に対応する複数の量子ビットを適切に設定することができる。
また、設定部12は、ロボットアームの関節が障害物と干渉するか否かに対応するカウンタ量子ビットを量子コンピュータ20に設定してよい。ロボットアームがM個の関節を有する場合、設定部12は、(log2M)を切り上げた個数のカウンタ量子ビットを量子コンピュータ20に設定してよい。なお、エンドエフェクタについては目標位置に近接するように制御を行い、障害物と干渉するかどうかは考慮しない場合には、設定部12は、(log2(M-1))を切り上げた個数のカウンタ量子ビットを量子コンピュータ20に設定してよい。後に詳細に説明するように、カウンタ量子ビットを設定することで、ロボットアームの関節が障害物と干渉するか否かをカウンタ量子ビットによって識別し、グローバーのアルゴリズムによって障害物と干渉しない関節の角度を高速に探索することができる。
量子ビットの2状態を|0>及び|1>と表すとき、設定部12は、N個の量子ビット及び(log2M)を切り上げた個数のカウンタ量子ビットの初期状態|s>を、以下の数式(1)で表される状態に設定してよい。
Figure 0006606265
ここで、|x>は、n個の量子ビットの直積状態である。また、|cx>は、(log2M)を切り上げた個数のカウンタ量子ビットの直積状態であり、|cx>=|00…0>という状態に初期化されていてよい。
設定部12により設定されるユニタリ変換は、複数の量子ビットに対応するロボットアームの角度が所定の条件を満たし、かつ、カウンタ量子ビットが、ロボットアームの関節が障害物と干渉しないことに対応する場合に、複数の量子ビット及びカウンタ量子ビットの直積状態の位相を反転させ、複数の量子ビットに対応するロボットアームの角度が所定の条件を満たさないか、又は、カウンタ量子ビットが、ロボットアームの関節が障害物と干渉することに対応する場合に、複数の量子ビット及びカウンタ量子ビットの直積状態の位相を変えない、第1ユニタリ変換を含む。また、ユニタリ変換は、複数の量子ビット及びカウンタ量子ビットの直積状態を所定の量子状態に関して反転させる第2ユニタリ変換を含む。第1ユニタリ変換及び第2ユニタリ変換の詳細については、図4を用いて説明する。
算出部13は、複数の量子ビットの測定値に対応するロボット40の関節の角度を算出する。量子コンピュータ20は、設定部12により設定された量子ビット及びユニタリ変換によってグローバーのアルゴリズムを用いた量子計算を行い、量子ビットを測定した値を探索装置10に送信する。算出部13は、受信した測定値に基づいて、CORDICアルゴリズムを用いてロボット40の関節の角度を算出する。
このように、本実施形態に係る探索装置10によれば、量子アルゴリズムとしてグローバーのアルゴリズムを用いることで、ロボット40の姿勢が所定の条件を満たすような関節の角度を量子コンピュータ20に探索させることができ、同じ処理を古典コンピュータによって実行する場合よりも高速に角度を探索することができる。
図3は、本実施形態に係る探索装置10の物理的構成を示す図である。探索装置10は、プロセッサに相当するCPU(Central Processing Unit)10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では探索装置10が一台の古典コンピュータで構成される場合について説明するが、探索装置10は、複数の古典コンピュータが組み合わされて実現されてもよい。また、図3で示す構成は一例であり、探索装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行うプロセッサである。CPU10aは、ロボット40の姿勢が所定の条件を満たすロボット40の関節の角度を量子コンピュータに探索させるプログラム(探索プログラム)を実行する。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bやROM10cに格納したりする。CPU10aは、物質の量子力学的性質を積極的に利用することがない古典プロセッサであってよい。
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行する探索プログラム、目標位置等を記憶してよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば探索プログラムや、書き換えが行われないデータを記憶してよい。
通信部10dは、探索装置10を他の機器に接続するインターフェースである。通信部10dは、インターネット等の通信ネットワークNに接続されてよい。
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボードやタッチパネルを含んでよい。
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fは、関節の角度の探索結果を表示してよい。
探索プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。探索装置10では、CPU10aが探索プログラムを実行することにより、図2を用いて説明した様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、探索装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
図4は、本実施形態に係る探索装置10による探索対象となるロボットアームの角度の概要を示す図である。同図では、第1アーム41、第2アーム42及びエンドエフェクタ43を備えるロボットアームがx−y平面内で動作する例を示している。
第1アーム41は、長さがL1であり、x軸から反時計回りに測った角度がθ1である。第2アーム42は、長さがL2であり、第1アーム41の延伸方向から時計回りに測った角度がθ2である。なお、本例で示している第2アーム42の角度は、第1アーム41の延伸方向から反時計回りに測ると負の値になっている。また、エンドエフェクタ43は、第2アーム42の先端に備えられ、x−y平面における位置が(x,y)である。また、同図では、エンドエフェクタ43の目標位置を(x*,y*)で表している。
エンドエフェクタ43の位置(x,y)が目標位置(x*,y*)に最も近いことを表す条件を満たすか否かを識別する第1関数f(θ1,θ2)は、以下の数式(2)で表されるものであってよい。
Figure 0006606265
ここで、(x,y)は、(θ1,θ2)の関数として以下の数式(3)のように表される。
Figure 0006606265
また、数式(2)のεは、CORDICアルゴリズムの誤差に基づいて定められる微小量であり、実質的に0を意味する。すなわち、第1関数f(θ1,θ2)は、エンドエフェクタ43の位置が目標位置に一致している場合に1となり、一致していない場合に0となる関数である。
図4では、障害物50を図示している。本例の障害物50の外形は、y=g(x)という関数で与えられるものとする。その場合、第1アーム41と第2アーム42を接続する関節が障害物50と干渉しないことを表す条件を満たすか否かを識別する第2関数h1(θ1)は、以下の数式(4)で表されるものであってよい。
Figure 0006606265
また、第2アーム42の先端(エンドエフェクタ43)が障害物50と干渉しないことを表す条件を満たすか否かを識別する第2関数h2(θ1,θ2)は、以下の数式(5)で表されるものであってよい。
Figure 0006606265
量子コンピュータ20は、第1関数及び第2関数少なくともいずれかの値が1となる状態xについて、カウンタ量子ビットをインクリメントする。これにより、いずれかの関節が障害物50と干渉する場合、カウンタ量子ビットが1以上の値となる。一方、全ての関節が障害物50と干渉していない場合、カウンタ量子ビットの値は0となる。
設定部12は、以下の数式(6)で表される第1ユニタリ変換U1を量子コンピュータ20に設定してよい。ここで、xはCODICアルゴリズムによって(θ1,θ2)をビット列で表した量である。
Figure 0006606265
設定部12は、以下の数式(7)で表される第2ユニタリ変換U2を量子コンピュータ20に設定してよい。ここで、状態|s>は、数式(1)で表されるものである。
Figure 0006606265
設定部12は、初期状態|s>を量子コンピュータ20に設定し、第1ユニタリ変換及び第2ユニタリ変換U21を複数の量子ビットの数に応じた回数作用させる。具体的には、U21をπ/4√Nを切り上げ又は切り下げた回数作用させることとしてよい。このように、複数の量子ビット及びカウンタ量子ビットの直積状態にユニタリ変換を作用させることで、所定の条件を満たす量子状態の振幅が増幅され、ロボット40の姿勢が所定の条件を満たすような関節の角度を表す量子状態が測定される確率を高めることができる。
また、関節が障害物と干渉しないことを表す条件を第2関数として表し、第1ユニタリ変換を構成することで、ロボット40と障害物が干渉しない関節の角度を高速に探索することができる。
図5は、本実施形態に係る探索装置10により実行される探索処理のフローチャートである。探索装置10は、はじめにエンドエフェクタの目標位置の入力を受け付ける(S10)。また、探索装置10は、障害物の設定を受け付ける(S11)。
その後、探索装置10は、エンドエフェクタの位置が目標位置に最も近い場合に1となり、それ以外の場合に0となる第1関数を特定する(S12)。また、探索装置10は、関節の位置が障害物と重なる場合に1となり、それ以外の場合に0となる第2関数を特定する(S13)。
探索装置10は、関節の角度に対応する複数の量子ビットを量子コンピュータ20に設定する(S14)。また、探索装置10は、カウンタ量子ビットを量子コンピュータ20に設定する(S15)。さらに、探索装置10は、第1関数及び第2関数に基づき構成されるユニタリ変換を量子コンピュータ20に設定する(S16)。
その後、量子コンピュータ20による処理を実行する(S17)。量子コンピュータ20による処理については、次図を用いて詳細に説明する。
最後に、探索装置10は、複数の量子ビットの測定値に対応する角度を算出する(S18)。この後、探索装置10は、算出した角度をロボット制御装置30に送信してもよい。以上により、探索処理が終了する。
図6は、本実施形態に係る探索装置10により設定される量子コンピュータ20によって実行されるグローバーのアルゴリズムのフローチャートである。同図では、図5に示す量子コンピュータ20による処理(S17)の詳細を示している。はじめに、量子コンピュータ20は、複数の量子ビット及びカウンタ量子ビットを初期化する(S171)。
その後、量子コンピュータ20は、複数の関節それぞれの回転によるエンドエフェクタの変位を算出し、量子メモリに格納する(S172)。例えば、図4に示す例の場合、第1アーム41の角度θ1を取り得る全ての値にわたって変化させた場合におけるエンドエフェクタ43の変位を算出し、第2アーム42の角度θ2を取り得る全ての値にわたって変化させた場合におけるエンドエフェクタ43の変位を算出してよい。
量子コンピュータ20は、複数の関節に関するエンドエフェクタの変位の総和を算出する(S173)。そして、量子コンピュータ20は、複数の関節の角度を取り得る全ての値にわたって変化させたそれぞれの場合について第2関数の値を算出し、第2関数が1となる場合、カウンタ量子ビットをインクリメントする(S174)。これにより、いずれかの関節が障害物と干渉するような関節の角度を表す量子状態について、カウンタ量子ビットが1以上の値となる。
量子コンピュータ20は、第1関数が1であり、カウンタ量子ビットが0である量子状態の位相を反転させ、それ以外の量子状態の位相を変えない第1ユニタリ変換を、複数の量子ビット及びカウンタ量子ビットの直積状態に作用させる(S175)。また、量子コンピュータ20は、量子状態を初期状態に関して反転させる第2ユニタリ変換を、複数の量子ビット及びカウンタ量子ビットの直積状態に作用させる(S176)。
その後、第1ユニタリ変換及び第2ユニタリ変換を所定回数作用させたか判定する(S177)。ここで、所定回数は、おおよそ√Nである。所定回数の処理が終了していない場合(S177:NO)、量子コンピュータ20は、処理S172から処理S176までを再び実行する。一方、所定回数の処理が終了した場合(S177:YES)、量子コンピュータ20は、複数の量子ビットを測定し(S178)、測定値を探索装置10に送信する。以上により、量子コンピュータ20による処理が終了する。
図7は、本実施形態に係る探索装置10により実行される探索処理のフローチャートである。同図では、ロボットアームに備えられたエンドエフェクタの軌跡が目標軌跡に最も近いことを表す条件を満たすような、ロボットアームの姿勢の時間変化を探索する処理を示している。
探索装置10は、はじめにエンドエフェクタの目標軌跡の入力を受け付ける(S20)。また、探索装置10は、障害物の設定を受け付ける(S21)。
その後、探索装置10は、エンドエフェクタの軌跡が目標軌跡に最も近い場合に1となり、それ以外の場合に0となる第1関数を特定する(S22)。このような第1関数fは、例えば、エンドエフェクタを動かす時間をt=1〜Tまでの区間に分割して、各区間についてエンドエフェクタの目標位置(x*t,y*t)を定めて、各区間について数式(2)によってftを定義して、f=Πt=1 Ttによって特定してよい。
また、探索装置10は、関節の位置が障害物と重なる場合に1となり、それ以外の場合に0となる第2関数を特定する(S23)。第2関数h1,h2についても、例えば、t=1〜Tまでの各区間について数式(4)及び(5)によってh1t,h2tを特定してよい。
探索装置10は、複数の時刻における関節の角度に対応する複数の量子ビットを量子コンピュータに設定する(S24)。具体的には、t=1〜Tまでの各区間について、n個の量子ビットの直積状態である|xt>を設定し、それらを全区間について直積した|x>=Πt=1 T|xt>を量子コンピュータ20に設定してよい。また、探索装置10は、カウンタ量子ビットを量子コンピュータ20に設定する(S25)。ここで、カウンタ量子ビットの数は、(log2(M×T))を切り上げた個数であってよい。
さらに、探索装置10は、第1関数及び第2関数に基づき構成されるユニタリ変換を量子コンピュータ20に設定する(S26)。ここで、第1ユニタリ変換は数式(6)で表されるものであってよく、第2ユニタリ変換は数式(7)で表されるものであってよい。
その後、量子コンピュータ20による処理を実行する(S27)。量子コンピュータ20による処理については、図6に示すものと同様である。
最後に、探索装置10は、複数の量子ビットの測定値に対応する角度の時間変化を算出する(S28)。この後、探索装置10は、算出した角度の時間変化をロボット制御装置30に送信してもよい。このようにして、エンドエフェクタの軌跡が目標軌跡となるような関節の角度の時系列を高速に探索することができる。以上により、探索処理が終了する。
(その他の実施形態)
既述の実施形態において、設定部12は、ロボットアームの関節が障害物と干渉するか否かに基づいて複数の量子ビット及びカウンタ量子ビットの直積状態の位相を反転させるか否かを決定していたがこれに限定されない。設定部12により設定されるユニタリ変換は、複数の量子ビットに対応するロボットアームの角度が所定の条件を満たし、かつ、カウンタ量子ビットが、ロボットアームの関節及びアームが障害物と干渉しないことに対応する場合に、複数の量子ビット及びカウンタ量子ビットの直積状態の位相を反転させ、複数の量子ビットに対応するロボットアームの角度が所定の条件を満たさないか、又は、カウンタ量子ビットが、ロボットアームの関節及びアームが障害物と干渉することに対応する場合に、複数の量子ビット及びカウンタ量子ビットの直積状態の位相を変えない、第1ユニタリ変換を含んでもよい。
この場合、例えば、第2関数はロボットアームにおけるアーム上の任意の点が障害物50と干渉しないことを表す条件を満たすか否かを識別するものでもよい。例えばアーム42を例に説明すると、この場合の第2関数は、任意の点がアーム42において関節C2から距離Lxの位置にあるとすると、数式(8)で表される。
Figure 0006606265
量子コンピュータ20は、アーム42上に第2関数の値を1とする点が存在する場合に、カウンタ量子ビットをインクリメントする。これによりアーム42が障害物50と干渉する場合、カウンタ量子ビットの値が1以上となる。一方、アーム42上に第2関数の値を1とする点が存在しない場合には、カウンタ量子ビットの値は0となる。
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
10…探索装置、10a…CPU、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、11…特定部、12…設定部、13…算出部、20…量子コンピュータ、30…ロボット制御装置、40…ロボット、41…第1アーム、42…第2アーム、43…エンドエフェクタ、50…障害物、100…探索システム

Claims (9)

  1. ロボットの姿勢が所定の条件を満たすか否かを識別する関数を特定する特定部と、
    前記ロボットの関節の角度に対応する複数の量子ビットに対して、前記関数に基づいて構成されるユニタリ変換を前記複数の量子ビットの数に応じた回数作用させて、前記所定の条件を満たす前記角度に対応する前記複数の量子ビットの状態を量子アルゴリズムによって探索するように、量子コンピュータを設定する設定部と、
    前記複数の量子ビットの測定値に対応する前記角度を算出する算出部と、
    を備える探索装置。
  2. 前記所定の条件は、前記ロボットに備えられたエンドエフェクタの位置が目標位置に最も近いことを表す条件を含む、
    請求項1に記載の探索装置。
  3. 前記所定の条件は、前記ロボットに備えられたエンドエフェクタの軌跡が目標軌跡に最も近いことを表す条件を含む、
    請求項1又は2に記載の探索装置。
  4. 前記所定の条件は、前記関節が障害物と干渉しないことを表す条件を含む、
    請求項1から3のいずれか一項に記載の探索装置。
  5. 前記設定部は、前記関節が前記障害物と干渉するか否かに対応するカウンタ量子ビットを前記量子コンピュータに設定する、
    請求項4に記載の探索装置。
  6. 前記ユニタリ変換は、
    前記複数の量子ビットに対応する前記角度が前記所定の条件を満たし、かつ、前記カウンタ量子ビットが、前記関節が前記障害物と干渉しないことに対応する場合に、前記複数の量子ビット及び前記カウンタ量子ビットの直積状態の位相を反転させ、
    前記複数の量子ビットに対応する前記角度が前記所定の条件を満たさないか、又は、前記カウンタ量子ビットが、前記関節が前記障害物と干渉することに対応する場合に、前記複数の量子ビット及び前記カウンタ量子ビットの直積状態の位相を変えない、第1ユニタリ変換と、
    前記複数の量子ビット及び前記カウンタ量子ビットの直積状態を所定の量子状態に関して反転させる第2ユニタリ変換と、を含む、
    請求項5に記載の探索装置。
  7. 前記角度は、CORDICアルゴリズムによってビット列で表される、
    請求項1から6のいずれか一項に記載の探索装置。
  8. ロボットの姿勢が所定の条件を満たすか否かを識別する関数を特定することと、
    前記ロボットの関節の角度に対応する複数の量子ビットに対して、前記関数に基づいて構成されるユニタリ変換を前記複数の量子ビットの数に応じた回数作用させて、前記所定の条件を満たす前記角度に対応する前記複数の量子ビットの状態を量子アルゴリズムによって探索するように、量子コンピュータを設定することと、
    前記複数の量子ビットの測定値に対応する前記角度を算出することと、
    を含む探索方法。
  9. 探索装置に備えられたプロセッサを、
    ロボットの姿勢が所定の条件を満たすか否かを識別する関数を特定する特定部、
    前記ロボットの関節の角度に対応する複数の量子ビットに対して、前記関数に基づいて構成されるユニタリ変換を前記複数の量子ビットの数に応じた回数作用させて、前記所定の条件を満たす前記角度に対応する前記複数の量子ビットの状態を量子アルゴリズムによって探索するように、量子コンピュータを設定する設定部、及び
    前記複数の量子ビットの測定値に対応する前記角度を算出する算出部、
    として機能させる探索プログラム。
JP2018241666A 2018-12-25 2018-12-25 探索装置、探索方法及び探索プログラム Active JP6606265B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018241666A JP6606265B1 (ja) 2018-12-25 2018-12-25 探索装置、探索方法及び探索プログラム
US16/724,515 US11602846B2 (en) 2018-12-25 2019-12-23 Search apparatus, search method, and search program
CN201911337273.4A CN111382872A (zh) 2018-12-25 2019-12-23 搜索装置、搜索方法及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018241666A JP6606265B1 (ja) 2018-12-25 2018-12-25 探索装置、探索方法及び探索プログラム

Publications (2)

Publication Number Publication Date
JP6606265B1 true JP6606265B1 (ja) 2019-11-13
JP2020099984A JP2020099984A (ja) 2020-07-02

Family

ID=68532293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018241666A Active JP6606265B1 (ja) 2018-12-25 2018-12-25 探索装置、探索方法及び探索プログラム

Country Status (3)

Country Link
US (1) US11602846B2 (ja)
JP (1) JP6606265B1 (ja)
CN (1) CN111382872A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11792839B2 (en) 2021-03-12 2023-10-17 Eagle Technology, Llc Systems and methods for controlling communications based on machine learned information
JP2024058946A (ja) * 2022-10-17 2024-04-30 キヤノン株式会社 量子駆動制御部を備えたアクチュエータ

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6354609A (ja) * 1986-08-25 1988-03-09 Hideki Egami ロボツトマニピユレ−タ制御用座標逆変換プロセツサの構成方式
JP2741869B2 (ja) 1988-06-24 1998-04-22 富士通株式会社 座標逆変換プロセッサ
JPH02145286A (ja) * 1988-11-21 1990-06-04 Mitsubishi Heavy Ind Ltd ロボットアームの動作シミュレーター装置
JPH09181500A (ja) * 1995-12-26 1997-07-11 Citizen Watch Co Ltd 部品の装着位置の補正方法及び部品装着装置
WO2008122127A1 (en) 2007-04-05 2008-10-16 D-Wave Systems Inc. Systems, methods and apparatus for anti-symmetric qubit-coupling
CN102495886A (zh) * 2011-11-28 2012-06-13 河南理工大学 基于量子算法的指纹数据库搜索方法
JP6143325B2 (ja) 2013-01-11 2017-06-07 大学共同利用機関法人情報・システム研究機構 イジングモデルの量子計算装置及びイジングモデルの量子計算方法
US9256834B2 (en) 2013-05-29 2016-02-09 Microsoft Technology Licensing, Llc Quantum computers having partial interferometric quantum gates
US9858531B1 (en) 2013-08-02 2018-01-02 University Of Maryland Fault tolerant scalable modular quantum computer architecture with an enhanced control of multi-mode couplings between trapped ion qubits
US20150100439A1 (en) * 2013-10-08 2015-04-09 Jason Lu Workflow System
JP6223838B2 (ja) 2014-01-16 2017-11-01 株式会社東芝 量子計算機及び量子計算方法
JP6377023B2 (ja) * 2015-07-17 2018-08-22 ヤフー株式会社 最適化装置、最適化方法および最適化プログラム
US9996801B2 (en) 2015-07-20 2018-06-12 University Of Maryland, College Park Microwave-free control of a superconductor-based quantum computer
CN105138000A (zh) * 2015-08-06 2015-12-09 大连大学 最优化基座位姿扰动的七自由度空间机械臂轨迹规划方法
US10565514B2 (en) 2016-03-31 2020-02-18 Board Of Regents, The University Of Texas System System and method for emulation of a quantum computer
US10044638B2 (en) 2016-05-26 2018-08-07 1Qb Information Technologies Inc. Methods and systems for quantum computing

Also Published As

Publication number Publication date
US11602846B2 (en) 2023-03-14
US20200198138A1 (en) 2020-06-25
CN111382872A (zh) 2020-07-07
JP2020099984A (ja) 2020-07-02

Similar Documents

Publication Publication Date Title
EP3195990B1 (en) Robot trajectory generation method, apparatus, computer program and computer readable storage medium
Li et al. Sparse methods for efficient asymptotically optimal kinodynamic planning
JP5011525B2 (ja) 逐次検索法による6自由度ロボットアームの逆運動学、およびそれを使用するロボットのシステム、制御方法、プログラム
Zha Optimal pose trajectory planning for robot manipulators
JP6606265B1 (ja) 探索装置、探索方法及び探索プログラム
CN103492133B (zh) 具有运动冗余臂的工业机器人和用于控制该机器人的方法
JP2021504805A (ja) 量子近似最適化におけるコスト関数の変形方法、システム、およびプログラム
JP6750909B2 (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
JP7018004B2 (ja) 製品設計装置および該方法
Huang Design of a planar parallel robot for optimal workspace and dexterity
JP2009134352A (ja) ロボットの動作経路作成装置及びロボットの動作経路作成方法
JP6550605B2 (ja) 動作の転移装置、動作の転移方法及びプログラム
JP5074658B2 (ja) 最適化方法、最適化装置、及びプログラム
Zhao et al. A learning-based multiscale modelling approach to real-time serial manipulator kinematics simulation
JP2009064216A (ja) 関数近似装置、強化学習システム、関数近似システムおよび関数近似プログラム
JP2021146411A (ja) 逆運動学演算装置及び逆運動学演算方法
WO2023168966A1 (zh) 并联机构的位姿确定方法及装置
Pikalov et al. Vector model for solving the inverse kinematics problem in the system of external adaptive control of robotic manipulators
JP6518982B2 (ja) 動作転移装置、動作転移方法及び動作転移プログラムが格納された非一時的なコンピュータ可読媒体
Andreev et al. Lyapunov functional method in the stability problem of Volterra integro-differential equations with infinite delay
Madrid et al. Numerical solution for designing telescopic manipulators with prescribed workspace points
JP2021122894A (ja) 逆運動学演算装置及び逆運動学演算方法
Sivamurugan et al. RRTPI: Policy iteration on continuous domains using rapidly-exploring random trees
JP4904107B2 (ja) 制御回転ゲート、その決定装置、その決定方法、そのプログラム及びその記録媒体
Yuan et al. 6-DOF Industrial Manipulator Motion Planning Based on RRT-Connect Algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190523

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190523

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190924

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: 20191008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191017

R150 Certificate of patent or registration of utility model

Ref document number: 6606265

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250